Java beans and enterprise java beans
Download
1 / 40

Java Beans and Enterprise Java Beans - PowerPoint PPT Presentation


  • 118 Views
  • Updated On :

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

Related searches for Java Beans and Enterprise Java Beans

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Java Beans and Enterprise Java Beans' - libitha


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.

steve@engr.uconn.edu

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

(860) 486 - 4818

Paul C. Barr

The Mitre Corporation

Eatontown NJ

poobarr@mitre.org


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




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




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



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



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



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



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



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 Tech@spree


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 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 Remarks TechnologyEnterprise 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!