1. Trang chủ
  2. » Công Nghệ Thông Tin

phát triển ứng dụng Client-Server đa tầng với EJB và J2EE

11 259 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 246,83 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Client Client Web Container JSP File, Servlets, HTML, XML JNDI, JMS, Java Mail Enterprise Bean Enterprise Bean Enterprise Bean EJB Container Information Systems / Database Server Lega

Trang 1

6.2 Phát tri n ng d ng Client/Server đa t ng v i EJB và J2EE

6.2.1 Khái ni m chung v EJB và J2EE

* EJB là gì ?

- Là ki n trúc đ đ nh ngh a / ch ra làm th nào đ xây d ng các thành ph n cho

ng d ng (application logic)

- Các thành ph n c a EJB có th s d ng đ xây d ng các ng d ng phân tán

* Mô hình EJB :

- EJB = Enterprise Java Bean

- Mô hình thành ph n nh m vào phát tri n Business Logic phía Server

- Giao di n đ giúp ng i l p trình ng d ng ph c t p trên n n (platform) các h

th ng giao d ch, CSDL, b o m t,

- EJB phát tri n d a trên n n t ng c a ngôn ng Java

* J2EE là gì ?

- Là n n chu n (Standard platform) đ phát tri n ch ng trình ng d ng có đ

ph c t p cao (business)

- EJB và J2EE l p trình Client/Server theo ki n trúc ng d ng đa t ng

+ M t ph n ng d ng s ch y trên Client

+ M t ph n ch y trên l p trung gian (d a trên Middleware – nh visiBroker) + Ph n còn l i s ch y trên Server : x lý CSDL hay tính toán ph c t p

- S d ng EJB và J2EE xây d ng các đ i t ng thành ph n đáp ng c phía Client và Server

* Ki n trúc J2EE :

- J2EE ki n trúc các thành ph n đ phát tri n Business Logic

Client

Client

Web Container JSP File, Servlets, HTML, XML

JNDI, JMS, Java Mail

Enterprise Bean

Enterprise Bean Enterprise

Bean

EJB Container

Information Systems / Database Server Legacy Application

J2EE Server

Trang 2

- Các thành ph n đ c cung c p các d ch v t các Container

- Container th hi n giao di n gi a thành ph n và các ch c n ng m c th p (low-level) đ h tr cho các thành ph n

- J2EE cung c p các d ch v sau :

HTTP - nh ngh a d ch v HTTP phía trình ng d ng Client s d ng gói

java.net

- Phía Server đ nh ngh a trong Servlet ho c JSP

- HTTP cho phép trình duy t Web truy c p các file Servlet và JSP Enterprise Java Bean

(EJB)

Mô hình thành ph n đ phát tri n ng d ng Enterprise Java Client tri u

g i các ph ng th c trên Enterprise Beans

Java Transaction API

(JTA)

Giao di n cho các thành ph n ng d ng J2EE đ đi u khi n các giao

d ch

RMI-IIOP Trình ng d ng s d ng RMI-IIOP khi truy c p các thành ph n EJB Java IDL Cho phép các ng d ng J2EE tri u g i đ i t ng CORBA s d ng giao

th c IIOP

JDBC Trình ng d ng truy c p CSDL

Java Messager Service

(JMS)

Trình ng d ng g i thông báo mô hình đi m - đi m

Java Naming and

Directory Interface

(JNDI)

Trình ng d ng s d ng Naming và Directory đ truy c p các ngu n tài nguyên J2EE

Java Mail Trình ng d ng g i/nh n e-mail

JavaBeans Activation

Framework (JAF)

Trình ng d ng đ c s d ng b i Java Mail

Java API for XML

parsing (JAXP)

Trình ng d ng phân tích các tài li u XML

J2EE Connector

Architecture

Cho phép các trình ng d ng k t n i v i h th ng k th a và các ng

d ng non-java

Java Authentication

and Authorization

Service (JAAS)

Trình ng d ng s d ng d ch v J2EE đ xác th c và ki m soát truy c p

c a các user

6.2.2 Mô hình Client/Server v i EJB s d ng J2EE

* Enterprise Java Bean : mô hình Client/Server v i EJB :

Client

Java Application XML

Parser

Java Beans XML

JDBC Connection

Business Logic XML

Parser

Database

Trang 3

* Mô hình ng d ng phân t ng EJB trong môi tr ng J2EE :

- xây d ng các ng d ng đa t ng, c n có c s h t ng (gi i thích ki n trúc và

c s h t ng ?)

+ H tr c a h th ng m ng

+ H đi u hành

+ Ngôn ng l p trình

+ Các công c phát tri n

+ Môi tr ng mà trình ng d ng ho t đ ng

+

- Các đ i t ng mu n ho t đ ng t t và hi u qu h n c n t n t i trong m t môi

tr ng có kh n ng ki m soát chúng

- Môi tr ng th c thi chu trình ho t đ ng c a đ i t ng (chu trình s ng c a đ i

t ng – life circle) :

+ Các tài nguyên

+ Ki m soát quá trình l u tr

+ Th c thi

+ Ch m d t ho t đ ng c a ch ng trình

- Enterprise Java Bean (EJB) là mô hình h tr cho các đ i t ng/Enterprise Bean

ho t đ ng k t h p v i nhau m t cách có đ nh h ng và hi u qu h n

- M i tr ng EJB : n i cung c p các d ch v Java h tr trình ch a

* EJB Container :

- i t ng Enterprise Bean ch y trong EJB Container

- Container là môi tr ng :

+ Ki m soát các Enterprise Bean

+ Cung c p cho chúng các di ch v m c h th ng

>>> l p trình viên ch t p trung vào các quy trình nghi p v (business method)

- Container cung c p các d ch v cho Enterprise Bean bao g m :

+ Qu n lý giao d ch

+ An toàn

J2EE SERVER Web Server

D ch v Web Servlet, JSP, CGI

JNDI, JDBC, JTS, JMS,

Môi tr ng EJB

Object Object

Container

M ng Web Browser

Client

Database

Server

M ng

M ng

Trang 4

+ Client k t n i t xa

+ Qu n lý chu k s ng

+ K t n i CSDL

- Trong m t môi tr ng EJB có th có nhi u Container cùng ho t đ ng

* Web Container :

- Web Container là môi tr ng ch y các file JSP và Java Servlet

- Các thành ph n Web đóng vai trò quan tr ng c a ng d ng J2EE

* Liên k t gi a Web Container và EJB Container

* Enterprise Bean :

- Các Enterprise Bean là các thành ph n Server đ c vi t b ng ngôn ng Java

- Enterprise Bean ch a các business logic đ i v i ng d ng

- Có hai ki u Enterprise Bean :

+ Session Bean

+ Entity Bean

* Các ph ng th c Container đi u khi n thành ph n bean :

- ejbCreate() : ph ng th c đ t o ra đ i t ng bean

- ejbRemote() : ph ng th c đ h y đ i t ng bean

- ejbPassivate() : thông báo đ i t ng bean s p b đ a ra vùng nh t m th i (

c ng)

- ejbSessionContext() :

+ i t ng bean đ a v tr ng thái kích ho t (khôi ph c t vùng nh t m th i) + Thành ph n bean nh n các thông tin t Container

* Session Bean :

- i t ng bean ch th c hi n các hành vi x lý, tính toán đ n thu n

- Các đ i t ng không đòi h i đ n th c thi d li u : tính toán, phân tích, th ng kê,

đ a ra gi i pháp t t p d li u m u t m

- Ch có nhi m v ph c v Client trong m t phiên k t n i

- Session Bean chia làm hai lo i :

+ Session Bean phi tr ng thái (Stateless Bean) : không l u l i tr ng thái

c a giao d ch tr c đó đ s d ng cho giao d ch l n sau

+ Session Bean l u v t tr ng thái (Stateful Bean) : các thành ph n bean

l u l i k t qu hay v trí giao d ch tr c đó đ ph c v cho l n giao d ch ti p theo (th ng qua nhi u b c tri u g i tr c khi tr l i k t qu cho Client)

* L a ch n gi a Session Bean phi tr ng thái và Session Bean l u v t tr ng thái :

- S d ng Session Bean l u v t tr ng thái (Stateful Bean) n u :

Browser

Web Container

JSP, Servlet

EJB Container

JMS JNDI Java Mail JDBC

Database HTTP

XML

Trang 5

+ Tr ng thái c a bean ph i đ c b t đ u khi kh i t o nó

+ Bean c n l u l i thông tin v Client t quá trình tri u g i ph ng th c + Client là m t trình ng d ng t ng tác

- S d ng Session Bean phi tr ng thái (Stateless Bean) n u :

+ Bean th c hi n m t nhi m v mà h th ng không c n quan tâm đ n m t Client c th

+ Bean không c n l u l i thông tin v Client khi tri u g i ph ng th c

* Chu trình s ng c a Stateful Bean :

* Chu trình s ng c a Stateless Bean :

* Entity Bean:

- Entity Bean - đ i t ng mô ph ng m t th c th - Entity

- Ánh x t ng dòng d li u thành đ i t ng bean – bean th c th (Entity Bean)

- C n đ a d li u t h CSDL vào trong đ i t ng bean

- Qu n lý Entity Bean chia thành 2 lo i :

+ Entity Bean t qu n lý : có kh n ng t truy v n các h CSDL đ l y d

li u th c thi (Ví d : dùng các câu l nh SQL : SELECT, INSERT – thông qua JDBC trong ph ng th c kh i d ng bean)

+ Entity đ c qu n lý b i trình ch a Container : đ i t ng bean ch c n khai báo các tr ng (field) hay c t d li u t ng ng v i b ng trong h CSDL, trình ch a Container t đ ng truy v n d li u giúp đ i t ng bean

* Chu trình s ng c a Entity Bean :

1 setSessionContext

2 ejbCreat

Ch a t n t i

i t ng đã

s n sàng

ejbRemote

1 Create

2 setSessionContext

3 ejbCreat

Ch a t n t i

Ch a t n t i

1 Remote

2 ejbRemote

Vùng t m l u đ i t ng

( c ng)

ejbPassivate

ejbActivate

Trang 6

- EJB Container kh i t o th c thi, ph ng th c setEntityContext đ c th c hi n

* So sánh gi a Session Bean và Entity Bean :

- C hai lo i Session Bean và Entity Bean đ u ch y trong môi tr ng EJB Container, nh ng chúng hoàn toàn khác nhau B ng so sánh s khác nhau đó :

M c

đích Th c hi n m t nghi p v cho m t Client

Th hi n m t đ i t ng th c th business

đ c l u tr trong kho d li u

Chia s

truy c p

Có th ch có m t Client Có th nhi u Client truy c p cùng m t lúc

Tính

liên t c

Không liên t c, khi truy c p c a

Client k t thúc thì session bean

không còn có hi u l c (đi u

khi n b i Container)

T n t i liên t c, th m chí khi container EJB

đã k t thúc, tr ng thái c a th uc th (Entity) v n t n t i trong CSDL

- L u ý : Java Bean và Enterprise Bean là khác nhau, m c d đ u đ c vi t b ng ngôn ng l p trình Java Java Bean t o ra các l p Java th hi n yêu c u c a khách hàng

b ng các tool thi t k , cho phép liên k t các đ i t ng theo yêu c u khách hàng qua các

s ki n Enterprise Bean cài đ t cho multi-user, các d ch v giao d ch

6.2.3 Phát tri n ng d ng J2EE

- ng d ng J2EE có th ch a m t ho c nhi u Enterprise Bean, các thành ph n Web, ho c các thành ph n Client ng d ng J2EE

- M i ki u ng d ng s đ c đóng gói vào m t format file c th

- Mô t th c hi n đóng gói (deployment descripter – DD) là m t file XML mô t thành ph n

1 Create

2 ejbCreatee

3 ejbPostCreat

Ch a t n t i

Pooled

(vùng l u đ i t ng v i

đi u khi n c a container

setEntityContext unsetEntityContext

i t ng đã s n sàng

1 Remote

2 ejbRemote ejbActivive ejbPassivate

Trang 7

* Các thành ph n c a ng d ng J2EE :

* Các File đ c s d ng trong ng d ng J2EE :

Ki u file

Mô t phát tri n ng d ng J2EE (J2EE App DD) xml

Mô t phát tri n ng d ng EJB (EJB App DD) xml

J2EE Application Client ( ng d ng Java ch y trong môi tr ng Container

cho phép truy c p d ch v J2EE)

.jar

Mô t phát tri n J2EE Appliaction Client (J2EE App Client DD) xml

J2EE Application J2EE App DD .ear file

J2EE App.Client

J2EE App.Client DD

Java App

Enterprise Bean

EJB DD EJB Class Remote Home

.jar file .jar file

Web Component

Web comp DD JSP file Servlet Class HTML File

.war file

Trang 8

* Quá trình xây d ng trình ng d ng EJB

- Ki n trúc Client/Server c a EJB :

- Cài đ t m t Enterprise Bean c n đ nh ngh a 2 giao di n và 1 ho c 2 l p :

+ Home Interface

+ Remote Interface

+ Bean Class

+ Primary key class (ch cho Entity Bean)

- Mô hình ng d ng liên k t Client - đ i t ng EJB trong Container :

+ Client s d ng d ch v JNDI đ tham chi u đ n l p EJB home

+ Client g i ph ng th c Creat() c a l p home interface yêu c u tham chi u

đ n l p Remote Interface

+ S d ng Remote Interface g i ph ng th c c a EJB Objject trong Container + Container nh n l i tri u g i t Remote đ g i thành ph n trong EJB Object

- Quá trình xây d ng trình ng d ng EJB v i JSP :

Client JSP và Enterprise Bean

EJB home stub

home interface

EJB object stub

remote interface

EJB Container

EJB home

EJB Object

bean class home interface

remote interface

Web Browser

J2EE Server

JSP Component (Web Comp.)

JavaBeans Component

JavaBeans Component

Client

JNDI, JDBC, JTS,

EJB home

EJB Object

Remote Interface

J2EE

1

3

2

4

Container

Trang 9

* Thành ph n Java Bean :

- Java Bean là đ i t ng Java đ c cài đ t d ng Interface Serializable (giao di n

tu n t hóa - đ i t ng có th l u tr l i tr ng thái ho t đ ng t m th i và khôi ph c l i

ho t đ ng)

- Java Bean s d ng các th t ng t nh HTML đ đ nh ngh a bean, thi t l p

ho c l y v giá tr c a bean

- M u chu n đ nh ngh a Java Bean :

public class YourBean implements java.io.Serializable {

protected int theValue ;

//ph ng th c kh i d ng bean

public MyBean {

//

//khai báo ph ng th c đ t giá tr cho thu c tính MyValue public void setBeanValue(int newValue) {

//khai báo ph ng th c nh n thu c tính c a MyValue

public int getBeanValue() {

}

- Biên d ch thành ph n bean t ng t nh biên d ch l p đ i t ng Java thông

th ng (s d ng javac.exe)

- Có th vi t đo n mã Java trong JSP đ tri u g i đ i t ng bean

<html>

<% YourBean bean = new YourBean() ;

%>

</html>

- K t h p JSP và JavaBean, JavaBean cho phép s d ng các th thay th mã Java (theo cú pháp c a XML) :

<html>

<jsp:useBean id = "bean" scope = "page">

<jsp:setProperty name"bean" property = "BeanValue" value =

"4+5">

<jsp:getProperty name"bean" property = "BeanValue">

</html>

- Các th chu n c a JavaBean trong trang JSP:

<jsp :useBean> // đ nh ngh a Bean

<jsp :setProperty> // đ t thu c tính cho Bean

<jsp:getProperty> //l y giá tr thu c tính c a Bean

* Xây d ng trình ng d ng J2EE v i các thành ph n c a JSP

Trang 10

Các thành ph n c a JSP đ cài đ t deploy ng d ng J2EE

* Quá trình phát tri n ng d ng J2EE:

- Các giai đo n phát tri n ng d ng J2EE:

+ Thi t k và l p trình Enterprise Bean

+ Thi t k các Web component

+ Thi t k và l p trình Client ng d ng J2EE

+ L p ráp/t h p ng d ng J2EE (J2EE Application Assembly)

+ Cài đ t ng d ng J2EE

Cài đ t và l p ráp ng d ng J2EE

- Nhi m v thi t k và l p trình Enterprise Bean (ng i phát tri n ph n m m): + L p trình và d ch mã ngu n Java theo ki n trúc thành ph n Enterprise Bean + a ra mô t deployment cho Enterprise Bean

+ óng gói các file class và mô t deplyment vào trong EJB.jar file

+ K t qu là file: EJB.jar ch a các Enterprise Bean

- Nhi m v thi t k các Web component (ng i thi t k Web):

+ L p trình và biên d ch các mã ngu n Java cho Servlet

+ Vi t các file JSP và HTML

+ a ra mô t deployment cho Web component

+ óng gói các file class, jsp, html và mô t deployment vào war file + K t qu : file war ch a các Web component

J2EE Application.ear EJB.jar

EJB.class HomeInterface.class RemoteInterface.class

Web Component.war App.jsp file

JavaBean.class

Web Component

(.war file)

Enterprise Bean (EJB.jar file)

J2EE Application (.ear file)

J2EE Server

giai đo n l p ráp

giai đo n cài đ t

Trang 11

- Nhi m v thi t k và l p trình Client ng d ng J2EE (ng i phát tri n ph n

m m)

+ L p trình và d ch mã ngu n Java theo yêu c u Client

+ a ra mô t deployment vào trong jar file cho Client

+ K t qu là file jar ch a J2EE Application Client

- L p ráp ng d ng J2EE (J2EE Application Assembly) (ng i phát tri n ph n

m m)

+ Ghép các Enterprise Bean (EJB.jar) và các Web Component (.war) thành file ng d ng J2EE(.ear)

+ a ra mô t deployment cho ng d ng J2EE

+ K t qu : file ear ch a ng d ng J2EE

- Nhi m v cài đ t ng d ng J2EE (ng i qu n tr h th ng):

+ Cài đ t ng d ng J2EE (.ear) t i J2EE Server

+ C u hình ng d ng J2EE cho môi tr ng ho t đ ng th c hi n b ng quá trình deployment

+ Deploy/Install ng d ng J2EE (.ear) trong J2EE Server

Ngày đăng: 18/10/2016, 08:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w