Java beans and enterprise java beans l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 40

Java Beans and Enterprise Java Beans PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Java Beans and Enterprise Java Beans. Kimble Cheron and Prof. Steven A. Demurjian Computer Science & Engr. Dept. [email protected] (860) 486 - 4818. Paul C. Barr The Mitre Corporation Eatontown NJ [email protected] Changing Perspectives.

Download Presentation

Java Beans and Enterprise Java Beans

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Java beans and enterprise java beans l.jpg

Java Beans andEnterprise Java Beans

Kimble Cheron and

Prof. Steven A. Demurjian

Computer Science & Engr. Dept.

[email protected]

(860) 486 - 4818

Paul C. Barr

The Mitre Corporation

Eatontown NJ

[email protected]

Changing perspectives l.jpg

Changing Perspectives

  • Computers are Guilty of Creating More Disorder then Simplicity

  • Current Software Systems are Relics

    • Built Largely By and For Technical Computer Users

    • Never Intended to Operate in Today’s Environment

  • Designer’s Need to Break Out of Old Mold

    • Consider Total Design Space

    • Design Should Help Manage Complexity, Not Add to It

  • What is Available to Assist in Changing Times?

Components l.jpg


  • Reusable Software Building Blocks

  • Pre-Constructed from Encapsulated Application Code

    • Easily Combined with Other Components

    • Seamlessly Merged with Custom Code

    • Rapid Prototyping of Complete Applicaiton

  • What is a Component?

    • GUI Widget (Button, Window, etc.)

    • Combination of Components (Window with Elevator Bars and Pull-Down Menus)

    • Application Service (Account Management Function)

Overview l.jpg


  • A First Look at Java Beans

    • What are They and How are They Utilized?

  • Enterprise Java Beans

    • Not Just for Clients Anymore!

    • Capabilities and Usage

    • Relationship to “New” and “Old” Technologies

    • Component-Based Client/Server Model

  • Multi-Tiered Architecture and EJB

    • Tiered Development for Extensibility

    • Comparisons of Approaches

  • Java Blend for Database Interoperability

  • Overall Concluding Remarks

Java beans l.jpg

Java Beans

  • Extends "Write Once, Run Anywhere (WORA)TM" to Include "Reuse Everywhere”

  • What is a Bean?

    • Independent Reusable Software Component

    • Visually Manipulated in Builder Tools

    • Can Be Visible Object:

      • AWT Components

    • or Invisible Objects:

      • Queues and Stacks

    • or Composed Objects:

      • Calculator Ops + Keys + Display

Java beans6 l.jpg

Java Beans

  • Bean vs. Component

    • Source Code Inaccessible

    • Customizable to Suit Application Needs via External Properties

    • Powerful Means of Reuse

  • Examples

    • GUI Button with Property to Allow Button Name to be Set

    • Account Management Component that Allows Account Database Location to be Set

  • Properties Can be Very Complex and Offer Significant Power to Application Builders

What are enterprise java beans l.jpg

What are Enterprise Java Beans ?

  • Expansion of Java Beans (Client-side) to Support Server Side Reusable Components

    • Server Components Run on Application Server

    • EJB Integral Part of Java Technology

  • Component Architecture for Distributed Systems

    • Multi-Tier Distributed Architecture

    • Movement of Application Logic from Client to Server Side

    • Creation of “Thin”, Easier to Maintain Clients

  • Framework for Creating Middle Ware

    • Integration of “New” and “Old” Technologies

    • RMI, IIOP, CORBA, RPC, Active X, etc.

Designer and developer roles in enterprise java beans ejb l.jpg

Designer and Developer Roles in Enterprise Java Beans (EJB)

  • Towards “Highly Scalable, Highly Available, Highly Reliable, Highly Secure, Transaction Distributed Applications”

  • Enterprise Bean Provider

    • Creates and Sells EJBs

  • Application Assembler

    • Uses EJBs to Build an Application

  • EJB Server Provider

    • Creates and Sells EJB Server

  • EJB Container Provider

    • Creates and Sells EJB Containers

    • Server Provider Will Likely Provide Containers

Ejb roles deployment l.jpg

EJB Roles & Deployment

Utilizing ejb technology l.jpg

Utilizing EJB Technology

The ejb architecture l.jpg

The EJB Architecture

  • EJB Servers: Analogous to CORBA ORB

    • Server Software

    • Provides Naming and Transaction Services

    • Makes Containers Visible

  • EJB Containers: Interface Between EJB Bean and Outside World

    • Client Never Accesses Bean Directly

    • Access via Container-Generated Methods

    • These Methods Then Call the Bean’s Methods

  • EJB Clients

    • Locate EJB Containers Via JNDI

    • Make Use of EJB Beans

  • Enterprise Java Beans - Discussed Shortly

Ejb container l.jpg

EJB Container

Enterprise java apis l.jpg

Enterprise Java APIs

Enterprise java beans session beans l.jpg

Enterprise Java Beans Session Beans

  • Associated With a Particular Client

  • Performs Operations on Behalf of Client

    • Accessing a Database

    • Performing Calculations

  • Created and Destroyed by a Client

  • Can be Transactional - But, Do Not Survive System Shutdown

  • Can be Stateless or Maintain Conventional State Across Methods and Transactions

  • Must Manage Own Persistent Data

Enterprise java beans entity beans l.jpg

Enterprise Java Beans Entity Beans

  • Object Representation of Persistent Data Maintained in Permanent Store (Database

  • Identifiable by Primary Key

  • Shared by Multiple Clients

  • Persist Across Multiple Invocations

  • Survive System Shutdown

  • Created by

    • Inserting Data into Database

    • Creating an Object Instance

Model for persistence passivation activation l.jpg

Model for PersistencePassivation/Activation

  • Programmatic Model for Managing Persistent Objects

  • EJB Server has the Right to Manage its Working Set

  • Passivation

    • Saves State of a Bean to Persistent Storage

    • Then Swaps Bean Out

  • Activation

    • Restores State of a Bean From Persistent

    • Storage,Then Swaps Bean in

  • Applies to Both Session and Entity Beans

Stateless vs stateful session beans l.jpg

Stateless vs. Stateful Session Beans

  • Stateless

    • No Internal State

    • Do Not Need to Be "Pass-ivated"

    • Can Be Pooled to Service Multiple Clients

  • Stateful

    • Possess Internal State

    • Need to Handle Passivation/Activation

    • One Per Client

Entity bean persistence l.jpg

Entity Bean Persistence

  • Container-Managed

    • Container is Responsible for Saving State

    • In Deployment Descriptor, Specify Container-Managed Fields

    • Persistence Independent of Data Source

  • Bean-Managed

    • Bean is Responsible for Saving its Own State

    • Container Doesn’t Need to Generate DB Calls

    • Less Adaptable; Persistence is Hard-Coded

Deploying ejbs l.jpg

Deploying EJBs

  • EJBs Deployed As .SER Files: Serialized Instance

  • Manifest File Used to List EJBs

  • Must Also Provide a “Deployment Descriptor”

  • Sample Entry

    • Name: paul.RestaurantDeployment.ser

    • Enterprise-Bean: True

  • “Name” Line

    • Describes a Serialized Deployment Descriptor

  • “Enterprise-Bean” Line

    • Indicates Whether the Entry Should Be Treated as an EJB

      • (Not All Entries Need to Be EJBs)

Who s announced ejb support l.jpg

















Who’s Announced EJB Support?

Typical development and deployment scenario l.jpg

Typical Development and Deployment Scenario

  • EJB Server Provider

    • Creates and Sells an EJB Server

    • Provides EJB Containers That Will Run on These Servers

  • EJB Providers

    • Individuals Responsible for Developing the EJBs

    • Provide “Tools” and “Components” for Down-Stream Usage

  • Application Assemblers

    • Individuals that Utilize Pre-Built EJBs to Construct Their Domain-Specific Applications

    • Utilize “State-of-Art-Tools” for EJB and JB

Ejb component based architecture l.jpg

EJB Component-Based Architecture

EJB Server

Invoke EJB Methods

Invoke EJB Container Methods

Enterprise Java Bean

EJB Client

EJB Container

Client server component model l.jpg

Client-Server Component Model

Two tier three tier four tier example architectures l.jpg

Two-Tier, Three-Tier, Four-Tier Example Architectures


Wombat securities l.jpg

Wombat Securities

  • Web Access to Brokerage Accounts

  • Only HTML Browser Required on Front End

  • "Brokerbean" EJB Provides Business Logic

  • Login, Query, Trade Servlets Call Brokerbean

  • Use JNDI to Find EJBs, RMI to Invoke Them

  • Order and History Records from Java Blend Product

  • Records Mapped to Oracle Tables, JDBC Calls

Four tier architecture example l.jpg

Four-Tier Architecture Example

Nocturnal aviation inc l.jpg

Nocturnal Aviation, Inc.

  • Passenger Check-in for Regional Airline

  • Local Database for Seating on Today's Flights

  • Clients Invoke EJBs at Local Site Through RMI

  • EJBs Update Database and Queue Updates

  • JMS Queues Updates to Legacy System

  • DBC API Used to Access Local Database

  • JTS Synchs Remote Queue With Local Updates

Three tier example l.jpg

Three-Tier Example

Santa cruz widgets l.jpg

Santa Cruz Widgets

  • Small Manufacturer Previously on C++

  • New Order Entry, Inventory, and Invoicing Applications in Java Programming Language

  • Existing Customer and Order Database

  • Most of Business Logic in Stored Procedures

  • Tool-generated GUI Forms for Java Objects

  • Located Company on Web Using Widgets and Tcl, but Not Widgets and Java

Santa cruz widgets 2 tier l.jpg

Santa Cruz Widgets (2-tier)

Architecture comparisons l.jpg

Architecture Comparisons

  • Two-tier Through JDBC API: Simplest

  • Multi-tier: Separate Business Logic, Protect Database Integrity, More Scaleable

  • JMS Queues Vs Synchronous (RMI or IDL):

    • Availability, Response Time, Decoupling

  • JMS Publish & Subscribe: Off-line Notification RMI IIOP Vs JRMP Vs Java IDL:

    • Standard Cross-language Calls or Full Java Functionality

  • JTS: Distributed Integrity, Lockstep Actions

Further api comparisons l.jpg

Further API Comparisons

  • Servlets: Simplifies HTML, Connections, Web Front-Ending Legacy Systems

  • EJBs: Simplifies Components, Scalability, Transactions, Multi-threading, Security, State


    • Programming Simplicity, Portability, SQL Knowledge

  • JNDI: Standardized Name Service Access

  • Enterprise Java APIs vs. Proprietary:

    • Multi-Platform, Multiple Providers

Summary key messages l.jpg

Summary & Key Messages

  • Enterprise Java APIs: EJB, JNDI, Java IDL, RMI, JDBC, ODMG, SQLJ, JMS, JTS, JMAPI, Servlets

  • Wide Variety of Architectural Alternatives:

    • Synchronous/Asynchronous, Multi-Tier, Transactional, HTTP/JRMP/IIOP

  • Benefits:

    • WORA Portability

    • Multiple Vendors

    • Legacy Connectivity

    • Java Programming Language Productivity

Ejb roadmap l.jpg

EJB Roadmap

What is the java blend product l.jpg

What Is the Java Blend Product?

  • Product That Integrates Java Programming Language Objects With Enterprise Data

  • Provides a Single Object Model Based on Java Programming Language Classes

    • Automatic Persistent Storage for Java Application Objects

    • Easy, Automatic Access to Existing Relational Databases From Java Applications

  • Result of Joint Development by the Javasoft Division, Baan and [email protected]

Javablend applications l.jpg

JavaBlend Applications

  • JavaBlend Software Provides Mapping Capability Between Database Tables and Java Application Classes

  • Programmer Deals Only With Java Programming Language Objects, and Does Not Need to Know SQL or Database Representation

Java blend components l.jpg

Java Blend Components

  • Flexible Development Tool for Automatic Bi-Directional Mapping

    • Objects to Relational

    • Relational to Objects

  • Powerful Runtime Environment

    • Transaction Management System

    • Query Processor

    • Cache Management System

Java blend runtime architecture l.jpg

Java Blend Runtime Architecture

Java blend software and enterprise javabeans technology l.jpg

Java Blend Software and Enterprise JavaBeans Technology

  • EJB Technology Provides Scaleable Component Architecture for Business Applications

  • Java Blend Product Provides Transparent Persistence for Enterprise Javabeans Technology

    • Beans Implementing Business Logic Use Java Blend for Database Access

    • Java Blend Product Works With the Enterprise Javabeans API Transaction Mechanisms

Concluding remarks enterprise computing interoperability l.jpg

Concluding RemarksEnterprise Computing/Interoperability

  • Technologies Continue to Emerge and Mature

  • Complex Problem for Companies and Organizations

    • What are “Good” and “Stable” Technologies?

    • How can they be Leveraged for Gain?

    • Which Technologies Will Emerge in Short-Term and Long-Term?

    • How will Technologies Interact?

      • CORBA vs. DCOM vs. EJB

      • Java vs. Component Design/Programming

      • Heterogeneous Agent Platforms

  • Future Difficult to Predict!

  • Login