j2ee architecture overview mark hapner, lead architect j2ee bill shannon, distinguished engineer sun...

Post on 31-Mar-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

J2EE Architecture Overview

Mark Hapner, Lead Architect J2EEBill Shannon, Distinguished Engineer

Sun Microsystems

The J2EE Platform

Platform Specification

Defines JavaTM 2 Enterprise Edition (J2EE) requirements

Compatibility Test Suite

Validates JavaTM 2 Enterprise Edition (J2EE) compatibility

Reference Implementation

Operational JavaTM 2 Enterprise Edition (J2EE)

J2EE Blueprints

Describes how to build JavaTM 2 Enterprise Edition (J2EE) applications

Write Once, Run Anywhere

Develop With J2EE components

Package Universal J2EE application package

Deploy & Run On any J2EE product

J2EE Components and ContainersJN

DI

JND

I

J2SEJ2SE

JMS

JMS

RM

I/IIO

PR

MI/I

IOP

JDB

CJD

BC

DatabaseDatabase

AppAppClientClient

App Client App Client ContainerContainer

HTTP/HTTP/HTTPSHTTPS

J2SEJ2SE

RMIRMI

J2SEJ2SE

JND

IJN

DI

JMS

JMS

RM

I/IIO

PR

MI/I

IOP

JDB

CJD

BC

JTA

JTA JavaMailJavaMail

JAFJAF JND

IJN

DI

JMS

JMS

RM

I/IIO

PR

MI/I

IOP

JDB

CJD

BC

JTA

JTA JavaMailJavaMail

JAFJAF

HTTP/HTTP/HTTPSHTTPS

Applet ContainerApplet Container

AppletApplet JSPJSP ServletServlet EJBEJB

Web ContainerWeb Container EJB ContainerEJB Container

RMIRMI

J2SEJ2SE

JSP/Servlet Overview

Java Server Pages Merges HTML/XML template with content

dynamically generated with Java Extensible tag libraries Source is dynamically compiled on first use

Servlets Implement dynamic content with Java Built-in support for session and request management

EJB Overview

EJB Each EJB is an multi-user, transacted `service'

Session Bean Implements a `tool' or `application' service

Entity Beans Implements a service of long lived business entities

Container Managed Transactions Automatically wraps a method in a transaction

Session Beans

Stateful Session Beans Container manages client state in a bean's fields 'stateless' model is not forced on developers

Stateless Session Beans If there is no client state, container optimizes

management of EJB instances

Entity Beans

EJB defines model for 'persistent' beans Allows container to optimize their management Makes it easy to create a business object facade

Bean Managed Persistence Write your own SQL with JDBC/SQLJ

Container Managed Persistence Container handles moving data to/from bean Limited facility in EJB 1.1, enhancements in 2.0

J2EE Containers

Container vs Framework No complicated APIs Services are injected

Containers Manage Threads, transactions, administration, deployment,

distribution May also provide load balancing and fail-over All with no change to component code

Application Packaging

EJBEJB

ApplicationApplicationClient ModuleClient Module

EJBEJB

EJBEJB

WEBWEB

WEBWEB

Web Client Web Client ModuleModule

EJBEJBModuleModule

Deployment Deployment ToolTool

APPAPPDDDD

DDDD

DDDD

DDDD

DDDD

DDDD

DDDD

11

22

33

11

22

33

Application Life CycleCreation Assembly Deployment

Created by Component Developer

Assembledand Augmentedby Application

Assembler

Processed by Deployer

Deploy

EnterpriseComponents

J2EE Container

J2EE Application

J2EE Modules

J2EE Status

J2EE 1.2 Shipped 12/17/99 Specifications Reference Implementation Compatibility Test Suite J2EE Blueprints Beta

J2EE Blueprints Book Coming Soon!

Some J2EE Partners

Allaire BEA/Weblogic Bluestone Bull Forte Fujitsu Gemstone Haht

IBM Inline iPlanet Iona Luna Novera Oracle Persistence

ProgressSecantSiemensSilverStreamSybaseTradeXVersantVision

Some Users of J2EE

Air Canada Celera Genomics Countrywide Covad

Communications Electric Boat Equifax FAA

Nations Bank Qwest Ratheon Rorke Data Scottish Equitable Sparks.com Trip.com

J2EE Scenarios

Book Catalog Browser

Database contains catalog JSP generates catalog pages

Using HTML template Combined with catalog data

Book Purchase

Session contains shopping cart data Orders entered into Orders DB Purchase transaction programmed with JDBC

Book Purchase

JSP contains no Java code Written by presentation expert

JSP Tag Library provides Browse and Purchase Written by JDBC and database expert

Book Purchase

CatalogBrowse JSP

Purchase JSP

HTTPSOrders

Browse JSP Taglib

Purchase EJB

HTTP

Session EJB handles purchase transaction App Server pools DB connections App Server manages transactions

Book Purchase

Book and Order Entity EJBs Persistent business objects Hide database details

Catalog Management

App Client for `dedicated' catalog admin XML `raw' book data App Client provides more interactive GUI

J2EE 1.3 (JSR 58)

Connectors (JSR 16)

Standard SPI for integrating J2EE with other systems CICS, IMS, SAP, PeopleSoft, Baan, etc Connection pooling Transactions Security Common Client Interface Standard packaging for resource adapter

EJB 2.0 (JSR 19)

EJB Entity Container Managed Persistence Dependent objects, Relationships, Finder query lang

EJB/JMS Integration Message driven EJB

EJB Interoperability Home Methods

Other Additions

XML Parsing API (JSR 5) JSP 1.2/Servlet 2.3 (JSR 53) JSP Standard Tag Lib (JSR 52) JMS becomes required

More Info

http://java.sun.com/j2ee http://java.sun.com/xml http://java.sun.com/jcp

top related