Date post: | 31-Mar-2015 |
Category: |
Documents |
Upload: | tyler-doten |
View: | 218 times |
Download: | 0 times |
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