You are on page 1of 39

Tng quan J2EE

ThS Vn Thin Hong

Mc ch
Gii thiu tng quan v cng ngh J2EE. Bit cc thnh phn J2EE

J2EE l g?
Challenges Portability Diverse Environments Time-to-market Core Competence Assembly Integration Key Technologies J2SE J2EE JMS Servlet JSP Connector XML Data Binding XSLT Products App Servers Web Servers Components Databases Object to DB tools

Legacy Systems Databases TP Monitors EIS Systems

J2EE l g?
Nn tng cng ngh chun v m cho vic:
Pht trin, trin khai, v qun l Cc ng dng ln da vo cc thnh phn, qun l tp trung, dng web, n tng.

Nn tng cng ngh Java

Java Technology Enabled Devices

Java Technology Enabled Desktop

Workgroup Server

High-End Server

Nn tng cng ngh Java


Java 2 Platform Micro Edition (J2METM)

Optional Packages Optional Packages

Java 2 Enterprise Edition (J2EE)

Java 2 Standard Edition (J2SE)

Personal Basis Profile

Personal Profile

Foundation Profile CDC

MIDP CLDC KVM


Java Card APIs CardVM

JVM

Ti sao s dng J2EE


Platform c gi tr cho nh pht trin. Platform h tr a dng cng ngh c gi tr i vi ngi s dng.

Java EE 4 APIs
J2SE 1.4 (improved) JAX-RPC (new) Web Service for J2EE J2EE Management J2EE Deployment JMX 1.1 JMS 1.1 JTA 1.0 Servlet 2.4 JSP 2.0 EJB 2.1 JAXR Connector 1.5 JASS JAXP 1.2 JavaMail 1.3 JAF 1.0

Java EE 5
JAX-WS 2.0 & JSR 181 Java Persistence EJB 3.0 JAXB 2.0 JavaSever Faces 1.2 new to Platform JSP 2.1 Unification w/ JSF 1.2 StAX Pull Parser new to Platform

Servlet l g?
Cc i tng Java m n k tha chc nng ca HTTPServer To ni dung ng. Mt s thay th tt CGI, NSAPI, ISAPI, ..
Hiu qu c lp Platform v server. Qun l Session Da trn ngn ng Java

Servlet v CGI
Request CGI1 Request CGI2 Request CGI1 Request Servlet1 Request Servlet2 JVM Request Servlet1 Servlet2 Child for CGI1

CGI Based CGI Child for CGI2 Based Webserver Webserver


Child for CGI1

Servlet Based Webserver


Servlet1

JSP l g?
Cho php tch bit x l nghip v vi vic trnh by giao din.
Trnh by dng HTML hoc XML. X l nghip v trnh by dng Java Bean hoc custom tag. C th duy tr v ci tin d dng.

M rng thng qua custom tag. Xy dng da trn cng ngh Servlet.

Cng ngh EJB l g?


Cng ngh server-side Pht trin v trin khai ng dng da trn cng ngh ny d dng. Gip th hin tin ch ca cng ngh pha server side. Tch bit vic x l nghip v vi h thng code. Cho php cu hnh trong thi gian trin khai.

Kin trc EJB

Java Beans
Enterprise JavaBeans

Synchronous communication Session Bean Entity Bean

Asynchronous communication Message-Driven Bean

Stateless

Stateful

Bean managed Persistence (BMP)

Container managed Persistence (CMP)

Java Message Service (JMS)


Cc h thng thng ip cung cp
Cc cuc giao tip dng cp. Giao tip ng b ha. ng vai tr l bu in trung tm.

Tin li ca h thng qun l thng ip.


Linh hot, tin cy, gn.

JMS l th vin chun cho qun l thng ip.

Kin trc Connector


nh ngha API chun cho vic tch hp cng ngh J2EE vi h thng EIS.
CICS, SAP, PeopleSoft, etc.

Trc khi c Connector, mi ng dng server phi cung cp b iu khin thuc tnh cho mi EIS.
m (# of App servers) x n (# of EIS's) Adaptors

Vi kin trc connector, cng mt adaptor c th thc hin vi nhiu container J2EE.
1 (common to all App servers) x n (# of EIS's) Adaptors

Bi ton mxn trc kin trc Connector

m
App Server1 App Server2 App Server3 App Server

n
SAP

EIS2

EIS3

EIS4

JAAS: Authentication
Gn framework cho vic chng thc
Userid/password Smartcard Kerberos Biometric

Lc chng thc kh chuyn.


Cung cp lc chng thc c lp API. Lc chng thc c c t bi tp tin cu hnh m n c c bi JAAS.

Chng thc - JAAS

JNDI
Giao din dch v Naming v Directory. Tin li cho ng dng J2EE xc nh ti nguyn v cc i tng.
ng dng s dng tn tham chiu n ti nguyn qua JNDI. Tn tng trng v tham chiu i tng pah c cu hnh bi qun tr khi ng dng c trin khai.

JDBC
Cung cp th vin lp trnh java cho c s d liu quan h.
S dng SQL

Nh cung cp JDBC driver (c gi thng qua cc hm chun ca Java).

Qun l J2EE
Mt platform cho php quan l J2EE server. JMX

Trin khai J2EE


Tools
IDEs

J2EE Platforms Standard Deployment API (Universal Remote)

Vendor Deploy Tools

Management Tools

JMX
JMX API into the J2EE 1.4 platform Dynamic Deployment

JMX JMX App J2EE App Server

JMX defacto

Cng ngh n gi cho Platform J2EE

Kin trc Plagform J2EE


B2B Applications Existing Applications

B2C Applications

Web Services

Wireless Applications

Application Server

Enterprise Information Systems

Kin trc N-tng

Web Tier

EJB Tier

J2EE Containers & Components


Applet Container Applet J2SE
HTTP/ HTTPS

Web Container JSP Servlet


RMI/IIOP

EJB Container RMI EJB


RMI/IIOP

JDBC

App Client Container App Client


HTTP/ HTTPS

JAF

JAF

J2SE

RMI
RMI/IIOP

J2SE

JDBC

JNDI

JMS

J2SE

Database

JDBC

JNDI

JMS

JTA

JNDI

JMS

JTA

JavaMail

JavaMail

Phn tch ng dng EJB


Web Server EJB Server
DB & EIS Resources

Browser

Web Server

EJB Server

Stand-alone

Phn tch ng dng EJB


4-tng
HTML client, JSP/Servlets, EJB, JDBC/Connector

3-tng
HTML client, JSP/Servlets, JDBC

3-tng
EJB standalone applications, EJB, JDBC/Connector

B2B
S dng JMS hoc thng nghip da vo XML.

Cng c thit lp mi trng


NetBean
IDE Glassfish JDK 1.6 IE

Kin trc kim sot s kin

Cng ngh ng dng web

Cc bc vit mt ng dng web


Vit v bin dch code cho cc thnh phn x l (Servlet or JSP) v cc lp b tr khc. To cc ngun ti nguyn tnh (v d: nh, HTML) To tp tin cu hnh miu t trin khai (web.xml). ng gi ng dng Web (tp tin *.war hoc th mc c deloyment). Trin khai ng dng web vo Web server. Web client truy cp ng dng URL.

Cu trc th mc
Th mc gc lu dng file *.war
build.xml src: source cc thnh phn dng servlets v JavaBeans web: cc trang JSP, trang HTML, cc nh. Hello2

V d: hello2

src/servlets GreetingServlet.java ResponseServlet.java web WEB-INF web.xml duke.waving.gif build.xml

Trin khai mt ng dng web


S dng cng c h tr deloy ca web server. Sao chp tp tin *.war vo th mc trin khai. Cu trc tp tin *.war.

URL v Alias
URL
http://[host]:[port]/[request path]?[query string]

URN-Alias
http://localhost:8080/hello1/greeting?username=Monica

Cu trc tp tin XML


<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSch ema-instance" xsi:schemaLocation="http://java.sun.com/xml /ns/javaee http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd"> <servlet> <servlet-name>ServletDemo</servlet-name> <servlet-class>ServletDemo</servlet-class> <init-param> <param-name>HelloStr</param-name> <param-value>Hello Servelet</param-value> </init-param> </servlet> <servlet> <servlet-name>FormServlet</servlet-name> <servlet-class>FormServlet</servlet-class> </servlet> <servlet> <servlet-name>UploadServlet</servlet-name> <servlet-class>UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletDemo</servlet-name> <url-pattern>/ServletDemo</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>FormServlet</servlet-name> <url-pattern>/FormServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/UploadServlet</url-pattern> </servlet-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

Cu hi

You might also like