java beans and enterprise java beans l.
Skip this Video
Loading SlideShow in 5 Seconds..
Java Beans and Enterprise Java Beans PowerPoint Presentation
Download Presentation
Java Beans and Enterprise Java Beans

Loading in 2 Seconds...

play fullscreen
1 / 40

Java Beans and Enterprise Java Beans - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
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

Java Beans andEnterprise Java Beans

Kimble Cheron and

Prof. Steven A. Demurjian

Computer Science & Engr. Dept.

(860) 486 - 4818

Paul C. Barr

The Mitre Corporation

Eatontown NJ

changing perspectives
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?
  • 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)
  • 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
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
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
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
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
the ejb architecture
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
enterprise java beans session beans
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
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
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
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
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
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
















Who’s Announced EJB Support?
typical development and deployment scenario
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
EJB Component-Based Architecture

EJB Server

Invoke EJB Methods

Invoke EJB Container Methods

Enterprise Java Bean

EJB Client

EJB Container

two tier three tier four tier example architectures
Two-Tier, Three-Tier, Four-Tier Example Architectures


wombat securities
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
nocturnal aviation inc
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
santa cruz widgets
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
architecture comparisons
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
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
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
what is the java blend product
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 Tech@spree
javablend applications
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
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 software and enterprise javabeans technology
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
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!