Component-based Applications - PowerPoint PPT Presentation

About This Presentation
Title:

Component-based Applications

Description:

We need an application architecture that works well in the new E-commerce, ... with this specification: BEA systems, IONA, IBM, Oracle, Sybase, Gemstone. ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 19
Provided by: kumarm8
Learn more at: https://cse.buffalo.edu
Category:

less

Transcript and Presenter's Notes

Title: Component-based Applications


1
Component-based Applications
  • Bina Ramamurthy

2
Introduction
  • Issues Basic object-technology could not fulfill
    the promises such as reusability and
    interoperability fully in the context internet
    and enterprise level applications. Deployment was
    still a major problem and as a result portability
    and mobility are impaired.
  • Does component technology address these issues?

3
Component Technology
  • We need an application architecture that works
    well in the new E-commerce, e-science age.
  • Programmer productivity, cost-effective
    deployment, rapid time to market, seamless
    integration, application portability,
    scalability, security are some of the challenges
    that component technology tries to address head
    on.
  • Enterprise Java Beans is Suns server component
    model that provides portability across
    application servers, and supports complex systems
    features such as transactions, security, etc. on
    behalf of the application components.
  • EJB is a specification provided by Sun and many
    third party vendors have products compliant with
    this specification BEA systems, IONA, IBM,
    Oracle, Sybase, Gemstone.

4
J2EE Application Programming Model for Web-based
applications
Business Logic
Web Service
Web client
5
J2EE Application Programming Model for Three-tier
Applications
6
J2EE Application Programming Model for Web-based
Applets
Business Logic
Web Service
Browser
Applet
internet
7
Roles in EJB Development
  • Bean developer Develops bean component.
  • Application assembler composes EJBs to form
    applications
  • Deployer deploys EJB applications within an
    operation environment.
  • System administrator Configures and administers
    the EJB computing and networking infrastructure.
  • EJB Container Provider and EJB server provider
    Vendors specializing in low level services such
    as transactions and application mgt.

8
Enterprise Java Bean (EJB)
  • Deployable unit of code.
  • At run-time, an enterprise bean resides in an EJB
    container.
  • An EJB container provides the deployment
    environment and runtime environment for
    enterprise beans including services such as
    security, transaction, deployment, concurrency
    etc.
  • Process of installing an EJB in a container is
    called EJB deployment.

9
Enterprise Application with many EJBs
EJB4
EJB2
WebClient
EJB1
EJB5
EJB3
EJB6
ApplClient
Lets consider a shopping front application and
figure out the possible components (EJBs)
10
Deployment with Multiple EJB Clients
EJB Container2 Deploys EJB4
Web Container1 Deploys WebApp1
EJB Container1 Deploys EJB1,EJB2,EJB3
Client Container1 Deploys Client1
Client Container3 Deploys EJB5,EJB6
11
Business Entities, Processes and Rules
  • EJB Applications organize business rules into
    components.
  • Components typically represent a business entity
    or business process.
  • Entity is an object representing some
    information maintained in the enterprise. Has a
    state which may be persistent.
  • Example Customer, Order, Employee,
  • Relationships are defined among the entities
    dependencies.

12
Process
  • Is an object that typically encapsulates an
    interaction of a user with business entities.
  • A process typically updated and changes the state
    of the entities.
  • A business process may have its own state which
    may exist only for the duration of the process
    at the completion of the process the state ceases
    to exist.
  • Process state may be transient or persistent.
  • States ate transient for conversational processes
    and persistent for collaborative processes.

13
Rules
  • Rules that apply to the state of an entity should
    be implemented in the component that represents
    the entity.
  • Rules that apply to the processes should be
    implemented in the component that represents the
    processes.

14
EJB Types
  • There are two types of EJBs
  • Entity, session and message
  • We will discuss messaging bean in a separate
    discussion.
  • The syntax of the session bean and entity bean
    client-view API is almost identical.
  • But they have different life cycle, different
    persistence management, etc.
  • EJBs can be stateless and stateful beans.

15
Life Cycle Differences
  • Session Bean
  • Object state
  • Maintained by container
  • Object Sharing
  • No sharing per client
  • State Externalization
  • State is inaccessible to other programs
  • Transactions
  • Not recoverable
  • Failure Recovery
  • Not guaranteed to survive failures
  • Entity Bean
  • Maintained by DB
  • Shared by multiple client
  • Accessible to other programs
  • State changed transactionally and is recoverable.
  • Survives failures and restored when the container
    restarts.

16
Choosing Entity or Session Bean
  • Entity (business entity) is typically implemented
    as entity bean or a dependent object of an entity
    bean.
  • Conversational (business) process as a session
    bean.
  • Collaborative bean as an entity bean.
  • Any process that requires persistence is
    implemented as an entity bean.
  • When exposure to other applications are not
    needed for an entity or process (local/private
    process) then they are implemented as bean
    dependent objects.

17
Parts of EJB
  • EJB class that implements the business methods
    and life cycle methods uses other helper classes
    and libraries to implement.
  • Client-view API consists of EJB home interface
    and remote interface.
  • Home interface controls life cycle create,
    remove, find methods
  • Remote interface to invoke the EJB object methods

18
Parts of EJB (contd.)
  • Deployment Descriptor XML document for bean
    assembler and deployer
  • A declaration about EJB environment needed for
    customizing the bean to the operating
    environment.
  • Container Runtime services include transactions,
    security,distribution,load balancing,
    multithreading, persistence, failure recovery,
    resource pooling, state amnagement, clustering..
Write a Comment
User Comments (0)
About PowerShow.com