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


  • 51 Views
  • Updated On :
  • Presentation posted in: General

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

Related searches for Java Beans and Enterprise Java Beans

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]

http://www.engr.uconn.edu/~steve

(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

Components

  • 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

Overview

  • 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

WebLogic

IBM

Oracle

GemStone

BEA

Borland

Netscape

Lotus

Forte

Progress

Novell

Novera

Borland

Informix

IONA

More...

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

From: http://java.sun.com/javaone/javaone98/sessions/T400/index.html


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

  • JDBC Vs ODMG Vs SQLJ API:

    • 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