Tải bản đầy đủ (.pdf) (72 trang)

Xây dựng ứng dụng J2EE với Rational Rose và UML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.65 MB, 72 trang )


THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

OBO
OK S
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

LỜI NĨI ĐẦU

Nếu như trước đây phần mềm (software) được bán kèm theo máy tính, phần
mềm coi như được cho khơng thì ngày nay hồn tồn khác, giá cả phần cứng hạ
xuống và phần mềm dần dần trở nên thống lĩnh. Máy tính trở nên hữu dụng trong
mọi mặt của cuộc sống, sản xuất kinh doanh, khoa học kỹ thuật, quản lý, giáo dục
... Để có thể áp dụng máy tính vào những nhu cầu của đời sống xã hội ta phải có
các chương trình điều khiển, quản lý, tính tốn và thực hiện các chức năng như
mong muốn mà ta gọi đó là phần mềm. Quy trình để sản xuất được một phần
mềm gồm nhiều cơng đoạn từ phân tích thiết kế, đặc tả u câu khách hàng cho
tới lập trình, bảo trì...Mỗi cơng đoạn là cả q trình đòi hỏi kỹ sư phần mềm phải
khảo sát tỉ mỉ, chính xác trong từng thao tác. Chất lượng phần mềm do khâu phân
tich thiết kế quyết định là chủ yếu, do vậy phân tích thiết kế và đặc tả các u cầu
là giai đoạn quan trọng nhất.
Nói đến cơng nghệ phần mềm chúng ta phảI kể đến các hệ thống phân tán.
Trong thời kỳ phát triển mạnh của mạng tồn cầu – Internet, các ứng dụng phân
tán phát triển rất mạnh và mang tính cấp thiết. Nó đem lại lợi ích vơ cùng to lớn
cho con người. Nhằm tìm hiểu theo hướng phát triển này, đồ án của em tiếp cận
một cơng nghệ xây dựng ứng dụng phân tán, đa tầng có tính bảo mật cao. Đó là
cơng nghệ J2EE- Java 2 Platform, Enterprise Edition, nó tương đối mới. Cùng với
cơng nghệ này, ngơn ngữ mơ hình thuần nhất(UML- Unified Modeling Language)


là ngừời bạn đồng hành để mơ hình hóa, hiện thực hố ứng dụng trong q trình
phân tích và thiết kế hướng đối tượng.
Trong đồ án tốt nghiệp em phát triển ứng dụng J2EE với UML (Unified
Modeling Language) và Rational Rose. Trong thời gian ngắn cũng như khả năng,
trong đồ án còn nhiều sai sót, rất mong sự chỉnh sửa của thầy hướng dẫn và sự
góp ý từ phía người đọc. Một lần nữa em xin cảm ơn thầy Nguyễn Thanh Tùng đã
tận tình hướng dẫn cho em hồn thành đồ án này.
Nha Trang tháng 07/ 2003
Sinh viên thực hiện:

KIL

Lê Quang Dung

Trang 1



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

KIL
OBO
OKS
.CO
M

PHẦN I


GIỚI THIỆU CƠNG NGHỆ
CHƯƠNG 1

GIỚI THIỆU VỀ PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML
Mơ hình hóa và thiết kế hướng đối tượng là một cách suy nghĩ về vấn đề sử
dụng các mơ hình được tổ chức xung quanh các khái niệm thế giới thực. Cấu trúc
nền tảng là đối tượng, nó kết hợp cả cấu trúc dữ liệu và hành vi vào trong một
thực thể đơn. Các mơ hình hướng đối tượng là có ích cho việc hiểu vấn đề, việc
trao đổi với người dùng, mơ hình hố các tổ chức kinh doanh, chuẩn bị tài liệu và
thiết kế chương trình cùng cơ sở dữ liệu.
1.1. Các ngun tắc cơ bản của OO-Object Orientation
1.1.1. Trừu tượng hóa (Abstraction)

Trừu tượng hóa bao gồm việc tập trung vào các khía cạnh bản chất cố hữu
của một thực thể và lờ đi các đặc tính phụ của nó. Trong phát triển hệ thống, điều
này có nghĩa là tập trung vào đối tượng là cái gì và làm cái gì, trước khi quyết định
nó được cài đặt như thế nào. Sử dụng trừu tượng hố giữa quyền thực hiện các
quyết định lâu dài nhằm tránh các ràng buộc vội vã tới các chi tiết. Việc sử dụng
trừu tượng hóa trong khi phân tích có nghĩa là chỉ giải quyết với các khái niệm lĩnh
vực ứng dụng, khơng thực hiện các quyết định thiết kế và cài đặt trước khi hiểu
vấn đề. Sử dụng chính xác trừu tượng hố cho phép cùng một mơ hình được sử
dụng cho cả phân tích, thiết kế mức cao, cấu trúc chương trình, cấu trúc dữ liệu
và tài liệu.
1.1.2. Bọc kín (Encapsulation)

Bọc kín (che giấu thơng tin) bao gồm việc phân tách các khía cạnh bên ngồi
của đối tượng, từ các chi tiết cài đặt bên trong của đối tượng. Bọc kín ngăn ngừa
một chương trình trở nên q phụ thuộc lẫn nhau đến nỗi một thay đổi nhỏ cũng
có các hiệu ứng lớn. Việc cài đặt một đối tượng có thể bị thay đổi mà khơng ảnh
hưởng đến các ứng dụng có dùng đến nó. Việc bọc kín là khơng duy nhất đối với

các ngơn ngữ hướng đối tượng, nhưng khả năng kêt hợp cấu trúc dữ liệu và hành
vi trong một thực thể đơn thực hiện việc bọc kín là kỳ diệu hơn so với các ngơn
ngữ truyền thống.
1.1.3. Kết hợp dữ liệu và hành vi(data - behavior)

Nơi gọi một thao tác khơng cần xem xét việc thực hiện thao tác đã cho tồn tại
như thế nào. Đa hình đã di chuyển gánh nặng của việc quyết định sử dụng cài đặt
nào từ việc gọi mã tới phân cấp lớp. Trong một hệ thống hướng đối tượng, phân
cấp cấu trúc dữ liệu là đồng nhất với phân cấp kế thừa thao tác.

Trang 2



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML
1.1.4. Phõn chia

KIL
OBO
OKS
.CO
M

K thut hng i tng xng vic phõn chia ti vi mc khỏc nhau.
Vic k tha c cu trỳc d liu v hnh vi cho phộp cu trỳc chung c chia s
trong vi lp con ging nhau m khụng d tha. Vic phõn chia mó s dng k
tha l mt trong nhng tin b chớnh ca ngụn ng hng i tng.
Phỏt trin hng i tng khụng ch cho phộp chia s thụng tin trong ng

dng m cũn a ra trin vng ca vic s dng li cỏc thit k v mó trong cỏc
ỏn tng lai. Phỏt trin hng i tng cung cp cỏc cụng c nh l tru
tng bc kớn, k tha xõy dng cỏc th vin ca cỏc thnh phn cú th dựng
li c.
1.2. Cỏc khỏi nim c bn ca hng i tng

Khi núi v hng i tng, cỏc khỏi nim c bn sau õy cn c hiu rừ:


i tng (Object)



Lp (Class)



Thuc tớnh (Atribute)



Thao tỏc (Operation)



Giao tip a hỡnh (Interface - Polymorphism)



Thnh phn (Component)




úng gúi (Package)



H thng con (Subsystem)



Quan h (Relationship)

Tt c cỏc khỏi nim ny c trỡnh by trong phn tng quan v UML
phn sau.
1.3. Phỏt trin hng i tng l gỡ?

Phỏt trin hng i tng l mt cỏch suy ngh mi v phn mm t c s
trờn nhng khỏi nim tru tng ang tn ti trong th gii thc. Bn cht ca
vic phỏt trin hng i tng l nhn bit v t chc cỏc khỏi nim thuc lnh
vc ng dng.
1.3.1. Cỏc khỏi nim mụ hỡnh hoỏ

Cỏc ngụn ng lp trỡnh hng i tng l cú ớch trong vic loi b cỏc hn
ch do tớnh khụng mm do ca cỏc ngụn ng lp trỡnh truyn thng.
Phỏt trin hng i tng l quỏ trỡnh nhn thc c lp vi ngụn ng lp
trỡnh cho n cỏc bc cui cựng. Phỏt trin hng i tng l hng suy ngh
mi v khụng l k thut lp trỡnh. Li ớch ca vn ny l giỳp cỏc chuyờn gia,
phỏt trin viờn v khỏch hng biu l cỏc khỏi nim tru tng mt cỏch rừ rng
v truyn gi chỳng ti ni khỏc. Nú cú th phc v nh l mt trung gian cho

vic xỏc nh, phõn tớch, lp ti liu v giao tip cng nh vic lp trỡnh.
1.3.2. Phng phỏp hng I tng

Chỳng ta a ra phng phỏp phỏt trin hng i tng v cỏc ký hiu
ha cho vic biu din cỏc khỏi nim hng i tng. Phng phỏp bao gm
vic xõy dng mt mụ hỡnh ca lnh vc ng dng, sau ú thờm cỏc chi tit vo
nú trong khi thit k h thng.
Trang 3



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML

KIL
OBO
OKS
.CO
M

Cú nhiu phng phỏp phõn tớch v thit k hng i tng khỏc nhau
tiờu biu l cỏc phng phỏp Booch ca Grady Booch, phng phỏp OMT
(Object Modeling Technique) ca James Rumbaugh, phng phỏp OOSE (Object
Oriented Software Engineering) ca Ivar Jacobson. Nhỡn chung, mt cỏch chc
chn rng cỏc phng phỏp ny u bao gm cỏc bc: phõn tớch, thit k h
thng, thit k i tng, ci t. Mc dự vy, mi phng phỏp cú cỏch thc mụ
hỡnh hoỏ khỏc nhau.
Trong ỏn ny, em s trỡnh by phng phỏp hng i tng vi vic s
dng ký phỏp ca UML mụ hỡnh hoỏ.

1.4. Li ớch v sc mnh ca OO

Cỏch tip cn hng chc nng

Trc kia chỳng ta thng hay s dng phng phỏp hng chc nng
xõy dng h thng. Vi phng phỏp ny, d liu v chc nng(hnh vi hay x
lý) c tỏch ra riờng r. ú, chc nng c coi nh l nhng hnh vi cú tớnh
ch ng, cũn d liu l b phn nm gi thụng tin mt cỏch b ng v c tỏc
ng bi cỏc chc nng. H thng c chia thnh cỏc chc nng nh dn cho
ti khi nú cú th d dng cho vic mó hoỏ, cũn d liu c gi gia cỏc chc
nng ny. Mt h thng c phỏt trin theo cỏch ny thng tr nờn khú bo trỡ.
Mt vn quan trng vi phng phỏp hng chc nng l tt c cỏc chc
nng phi bit lm th no d liu c lu tr, cu trỳc d liu ca nú. Cỏc kiu
khỏc nhau ca d liu cú nhng nh dng khỏc nhau, vỡ th vic mó hoỏ chng
trỡnh tr nờn rc ri. Hn na, khi ta thay i cu trỳc d liu, dn n ta phi thay
i tt c cỏc chc nng liờn quan n cu trỳc ny. H thng c phỏt trin
theo phng phỏp ny tr nờn cú tớnh n nh kộm. Mt chỳt thay i s gõy nờn
hu qu nghiờm trng.
Mt vn khỏc i vi phng phỏp hng chc nng l chỳng ta thng
khụng cú nhng t duy mt cỏch t nhiờn v cu trỳc ca vn nú c cu to
nh th no. Do vy vic xõy dng h thng tr nờn khú khn hn.
Mt nguyờn nhõn khỏc i vi phng phỏp hng chc nng l h thng rt
khú sa i, tớnh kh chuyn kộm, nhy cm vi s thay i, vỡ d liu v
hnh vi b tỏch riờng.
Cỏch tip cn hng i tng

Vic phỏt trin h thng theo cỏch tip cn hng i tng s mang li cho
ta nhiu li ớch, tiờu biu l:
- Gim chi phớ bo trỡ: bi vỡ hu ht cỏc x lý trong h thng c bc kớn d liu v hnh vi c gom chung li, cỏc hnh vi cú th c s dng li v kt
hp thnh cỏc hnh vi mi.

- Mụ hỡnh th gii thc: h thng hng i tng l nh hng mụ hỡnh
th gii thc. Cỏc i tng c t chc thnh cỏc lp i tng, v cỏc i
tng c kt hp vi cỏc hnh vi. Mụ hỡnh da trờn i tng hn l da trờn
d liu v x lý. Cỏch thc ny gn gi vi t duy con ngi, do vy vic xõy
dng d dng hn.
- Tớnh tin cy cao: bi vỡ cỏc hnh vi mi c xõy dng t cỏc i tng ó
cú sn.
- Kh nng s dng li mó ngun cao: bi c ch kt hp d liu vi hnh vi
vo mt i tng riờng bit, c ch úng gúi, c ch bc kớn. Do vy, d dng
cho vic k tha, hay s dng li.
Trang 4



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML
1.5. Tng quan v UML

UML c vit tt ca cm t Unified Modeling Language, tm dch l ngụn
ng mụ hỡnh hp nht.

KIL
OBO
OKS
.CO
M

UML l th h k v ca ln súng phõn tớch v thit k hng i tng (OOA
& D) xut hin trong nhng nm u 80 v cui nhng nm 90. UML phỏt trin

trờn s hp nht trong cỏc phng phỏp ca tỏc gi Booch, Rumbaugh (OMT) v
Jacopson, v ó c chun húa bi OGM.

Hỡnh 1.1: s hp nht ca UML

UML c gi l mt ngụn ng mụ hỡnh húa dựng c t, trc quan húa
dựng xõy dng v lm su liu cho cỏc h thng phn mm
Mụ hỡnh húa : giỳp cho chỳng ta hiu c th gii thc, mụ hỡnh húa th
gii thc cú th hiu c nhng c trng, tớnh toỏn cỏc thụng s v d
oỏn kt qu s t c.
Ngụn ng : Chc nng ca UML nh l mt phng tin by t v trao
i tri thc (giao tip)
Trc quan húa h thng : c s dng din t h thng mt cỏch trc
quan trc khi nú c thc hin.
Xõy dng h thng : c s dng hin thc húa h thng.
Lm su liu : c s dng nm bt kin thc v h thng thụng qua
vũng i ca nú.
UML khụng phi l :

Mt ngụn ng lp trỡnh trc quan, m nú l mt ngụn ng mụ hỡnh.
Mt cụng c, m nú l mt ngụn ng c t mụ hỡnh
Mt x lý, m nú cho phộp x lý

UML thớch hp vi vic gii quyt vn hng i tng. Bt kỡ ai quan tõm
n UML u quen thuc vi nguyờn lý c bn v vic gii quyt vn hng
i tng, bt u vi vic xõy dng mụ hỡnh. Mụ hỡnh (model ) l s tru tng
hoỏ vn c bn. Phm vi (domain ) l th gii thc m vn ú mang n.
Trang 5




THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Mô hình chứa các đối tượng (objects) tác động lẫn nhau bằng cách gởi các
thông tin (messages) khác nhau. Nếu một đối tượng đang tồn tại thì đối tượng đó
có thuộc tính (attributes) và có các hành vi (behaviors hoặc operations). Giá trị của
các thuộc tính trong đối tượng được xác định bởi trạng thái của nó (state).
Lớp (Classes) là bảng thiết kế cho các đối tượng. Lớp bao gồm các thuộc tính
(dữ liệu) và các hành vi (phương thức hoặc hàm) trong một thực thể riêng biệt
đơn giản. Các đối tượng là các thể hiện (instance) của các lớp.
1.5.1. Các đặc điểm của UML

Bốn đặc điểm chính của UML để có thể phân biệt với các ngôn ngữ mô hình
khác :


Đa năng (general-purpose)



Khả năng ứng dụng rộng rãi (broadly applicable)




Được hỗ trợ bởi các công cụ (tool- supported)



Là một chuẩn công nghiệp (industrial standerdized)

1.5.2 Kiến trúc tổng quát của UML
a)Các mô hình .

Xét về đặc điểm tĩnh, các mô hình nắm bắt một số đặc điểm và hành vi của hệ
thống.
Xét về đặc điểm động, nắm bắt các đặc điểm của hệ thống, về cơ bản chúng
lưu trữ các tri thức về mặt ngữ nghĩa.
b) Cấu trúc View

Ngày nay các hệ thống phần mềm càng trở nên phức tạp, khó khăn do vậy ta
không thể mô hình hóa chúng chỉ bằng một lược đồ hay mô hình. Hệ thống phải
được phân tích dưới nhiều góc độ khác nhau. UML đưa ra định nghĩa về cấu trúc
View. Mỗi View là một thể hiện của hệ thống dưới một khía cạnh nào đó. Mỗi
View có thể bao gồm nhiều loại lược đồ khác nhau (xem hình 1.2)

Use Case View hay còn gọi là Use model view thể hiện các vấn đề về
giải pháp liên quan đến chức năng tổng quát của hệ thống.

Logical View hay còn gọi là Structure Model view hoặc Static view: thể
hiện các vấn đề liên quan đến cấu trúc thiết kế hệ thống.

Trang 6




THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.2 : cấu trúc View trong UML


Process View hay còn gọi là bihavioral model view, Dynamic hay
Collaboration View thể hiện các vấn đề liên quan đến xử lý giao tiếp và
đồng bộ trong hệ thống.



Deployment View hay còn gọi là Environment model View : thể hiện các
vấn đề liên quan đến việc triển khai hệ thống.



Một số model View khác có thể được sử dụng khi cần thiết.

c) Các lược đồ. Lược đồ miêu tả các tri thức về mặt cú pháp được miêu tả quanh

cấu trúc, Hình 1.3

Hình 1.3 : Các lược đồ của UML

Trang 7



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

♦ Use Case View

KIL
OBO
OKS
.CO
M

Lược đồ người sử dụng (Use Case Diagram) : Mô tả các chức năng của hệ
thống. Lược đồ Use Case diễn tả các Use Case trong hệ thống và các quan hệ
ràng buộc…
♦ Logical View

Lược đồ lớp (Class Diagram) : mô tả cấu trúc tĩnh của hệ thống thể hiện các
phần mà hệ thống có thể xử lý được.
Lược đồ đối tượng (Object Diagram): mô tả cấu trúc tĩnh của hệ thống tại một
thời điểm, nó có thể xem như một thể hiện của lược đồ lớp.
♦ Process View


Lược đồ tuần tự ( Sequence Diagram ) :Mô tả sự tương tác giữa các thành
phần trong hệ thống theo thời gian.
Lược đồ cộng tác (Collaboration Diagram) : mô tả sự tương tác giữa các thành
phần trong hệ thống theo thời gian và không gian.
Lược đồ trạng thái (State Diagram) : mô tả trạng thái, sự hồi đáp của một
thành phần trong hệ thống khi có những tác động vào nó.
Lược đồ hoạt động (Activity Diagram) : mô tả sự hoạt động của các thành
phần trong hệ thống.
♦ Implementation View

Lược đồ thành phần (Component) : mô tả tổ chức của các thành phần thực thi
trong hệ thống.
♦ Invironmen View

Lược đồ triển khai (Deployment Diagram) : mô tả cấu hình của các thành phần
môi trường và trình tự của các thành phần thực thi trên đó.
1.5.3. Các lược đồ trong UML

Trọng tâm của việc giải quyết vấn đề hướng đối tượng là xây dựng một mô
hình. Mô hình trừu tượng hóa các chi tiết cần thiết của vấn đề cơ bản về thế giới
thực. Trọng tâm của UML được thể hiện qua 8 loại lược đồ khác nhau :


Use case diagrams (Lược đồ Use case)



Class diagrams (Lược đồ lớp)




Sequence diagrams (Lược đồ tuần tự)



Collaboration diagrams (Lược đồ cộng tác)



Statechart diagrams (Lược đồ trạng thái)



Activity diagrams (Lược đồ hoạt động)



Component diagrams (Lược đồ thành phần)



Deployment diagrams (Lược đồ triển khai)

1.5.3.1. Use case diagrams (Lược đồ use case)
Use case diagrams mô tả hệ thống làm gì từ quan điểm của người quan sát
tổng quan. Điều quan trọng là nhấn mạnh hệ thống làm gì hơn là làm như thế nào.
Trang 8




THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Lược đồ Use case quan hệ gần gũi đến các sự kiện. Sự kiện (scenario) là
những gì xảy ra khi ai đó tương tác với hệ thống. Đây là sự kiện về một khoa y
học: một bệnh nhân gọi phòng khám để hẹn gặp cho việc kiểm tra hàng năm.
Người tiếp tân tìm thời gian trống gần nhất trong sổ hẹn gặp và lịch hẹn gặp cho
thời qian đó.

KIL
OBO
OKS
.CO
M

Use case là tập hợp các sự kiện về một công việc đơn giản hoặc mục đích
của nó. actor là người tham gia vào các sự kiện trong phiên làm việc. Actor đóng
vai trò là người hoặc đối tượng hoạt động. Hình dưới là mô tả use case là Make
Appointment, actor là Patient. Mối liên hệ giữa use case và actor là mội quan hệ
kết hợp ( communication association ) (gọi tắt là communication ).

Hình 1.4: actor và use case

Actor có hình que, Use case có hình bầu dục, mối quan hệ là đường thẳng liên
kết giữa actor và use case.
Lược đồ use case là tập hợp các actor, các use case, các mối quan hệ giữa
chúng. Hình vẽ dưới cho ta 4 use case và 4 actor. Chú ý rằng một use case đơn
giản có thể có nhiều actor.


Hình 1.5: lược đồ use case

Lược đồ Use case hổ trợ 3 phạm vi sau :

• Xác định các đặc trưng : Use case mới thường thường phát sinh các yêu
cầu mới khi hệ thống phân tích và đưa ra các mô hình.
• Giao tiếp với clients : các kí hiệu đơn giản giúp cho lược đồ use case có
thể giao tiếp với client.
• Phát sinh các trường hợp test : tập hợp các sự kiện cho một use case
có thể đề nghị các trường hợp cho các sự kiện này.

Trang 9



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML
Chi tit lc Use case

Lc Use case phỏt ho tng quan ca h thng. Mi lc Use case cú
cỏc actor, cỏc use case, cỏc quan h. Mt lc Use case n gin c m
rng vi cỏc c trng thờm vo hin th thụng tin hn (hỡnh 1.6).

KIL
OBO
OKS
.CO
M


Cỏc c trng ca lc Use case


system boundaries (kt hp h thng)



generalizations (tng quỏt hoỏ)



includes (bao hm)



extensions (m rng)

Hỡnh 1.6: lc use case m rng

Lc Use case m rng lc vi cỏc c trng thờm vo.
Hỡnh ch nht kt hp h thng ( system boundary ) phõn chia h thng t
cỏc actor m rng.
Tng quỏt hoỏ (generalization) use case biu din rng mt use case l mt
loi c bit n gin khỏc.Pay Bill l use case cha v Bill Insurance l use case
con .Use case con c thay th bi use case cha bt c khi no cn thit. S
tng quỏt hoỏ xut hin nh mt dũng vi mi tờn hỡnh tam giỏc u hng v
use case cha.
Quan h bao hm ( Include ) qun lý use case thnh use case thờm vo.Quan
h bao hm hu ớch khi cựng use case c phõn chia thnh hai use case khỏc

nhau. C Make Appointment v Request Medication quan h bao hm vi nh
cụng vic con. Trong lc , kớ hiu bao hm l ng gch t, bt u use
case c s v kt thỳc vi mi tờn n use case bao hm. ng gch t c
gỏn nhón <<include>>.
Quan h m rng (extend) ch ra mt use case l mt bin i ca use case
khỏc. Kớ hiu quan h m rng l ng gch t, cú nhón l <<extend>> v mt
Trang 10



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

mũi tên hướng về use case cơ sở. Điểm mở rộng (extension point) được xác định
khi use case mở rộng là thích hợp và được viết bên trong use case cơ sở.
1.5.3.2. Class diagrams (Lược đồ lớp)

KIL
OBO
OKS
.CO
M

Class diagram đưa ra tổng quan hệ thống bằng cách hiển thị các lớp và quan
hệ giữa chúng.
Lược đồ lớp là lược đồ tĩnh, hiển thị những gì tác động nhưng khơng xảy ra
những gì khi chúng tác động.
Lược đồ lớp dưới đây mơ tả một khách hàng đặt hàng. Lớp chính là Order, kết
hợp với nó là Customer và Payment. Payment là một trong 3 loại : Cash,

Check, hoặc Credit. Order chứa OrderDetails và kết hợp với Item.

Hình 1.6:lược đồ lớp

Lược đồ lớp có 3 loại quan hệ :

• association (quan hệ kết hợp) -- một quan hệ giữa các thể hiện của 2 lớp.
Đây là một quan hệ kết hợp giữa hai lớp nếu một thể hiện của một lớp phải biết
đến thể hiện khác làm việc với nó. Trong một lược đồ, một quan hệ kết hợp là một
liên kết, kết nối đến hai lớp.
• aggregation (quan hệ thu nạp)-- mối kết hợp trong một lớp thuộc về một
tập hợp. Một quan hệ thu nạp có một hình thoi cuối điểm được xem là tồn thể.
Trong lược đồ này,Order có một tập hợp là OrderDetails.
• generalization (quan hệ tổng qt hố)-- mối liên kết kế thừa diển tả một
lớp là một lớp cha (superclass) của lớp khác. Quan hệ tổng qt hố có một hình
tam giác biểu diễn lớp cha. Payment là lớp cha của Cash, Check, và Credit.
Một mối kết hợp có hai đầu giới hạn. Một đầu có thể có một tên vai trò (role
name) để lọc ra tính tự nhiên của mối kết hợp. Ví dụ,OrderDetail là một đường
mẫu của Order.
navigability (tính định hướng) : mũi tên trong quan hệ kết hợp hiển thị hướng
quan hệ có thể xem xét và truy vấn. OrderDetail có thể truy vấn về mẫu (Item)
của nó nhưng khơng thơng qua cách khác. Trong trường hợp này, OrderDetail có
Item. Quan hệ kết hợp có mũi tên có tính định hướng .
Trang 11



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML


multiplicity (bn s ) ca mt u quan h l s th hin ca lp kt hp vi
mt u khỏc. Bn s l mt s hoc mt dóy s. Vớ d : mt Order ch cú mt
Customer, nhng mt Customer cú nhiu Orders.

0..1
0..* hoc *
1

Gii thớch

KIL
OBO
OKS
.CO
M

Bn s

1..*

0 hoc 1 th hin.

Khụng gii hn s th hin
Chớnh xỏc 1 th hin
t nht 1 th hin

Hỡnh 1.7: bn s trong lc lp

Mi lc lp cú cỏc lp, cỏc quan h, v cỏc bn s. Tớnh nh hng v

cỏc vai trũ l cỏc mu tu chn t trong lc lm sỏng t.
Chi tit lc lp Lc lp gm cỏc lp, cỏc liờn kt, cỏc bn s. Lc
lp cú th biu din nhiu thụng tin.


compositions (thnh phn)



class member visibility and scope (phm vi v tm vc ca lp thnh viờn)



dependencies and constraints (ph thuc v rng buc)



interfaces (giao din)

Composition and aggregation (Thnh phn v thu np)

Quan h kt hp trong i tng l phn m rng ca quan h thu np.
Thnh phn (Composition ) l quan h kt hp vi phn (part) thuc v ton b
(whole), phn khụng tn ti nu khụng cú ton b. Thnh phn c hin th bi
hỡnh thoi c phớa cui ton b.
Trong lc ny biu din rng, mt BoxOffice thuc v mt
MovieTheater.Nu b MovieTheater thỡ s hu BoxOffice. T

Hỡnh 1.8:lc thnh phn v thu np


Lp thụng tin: tm vc (visibility) v phm vi (scope)
Trang 12



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

KIL
OBO
OKS
.CO
M

Chú thích lớp là một hình chữ nhật gồm 3 phần : tên lớp, thuộc tính
(attributes) và phương thức (operations). Thuộc tính và phương thức được gán
theo phương thức truy xuất và phạm vi.

Hình 1.9 : lớp thông tin tầm vự và phạm vi

Ví dụ minh hoạ cách sử dụng theo qui ước UML.


Thành viên tĩnh được gạch dưới. Thành viên làm ví dụ thì không.

• Phương
thức
được
trình

bày
như
<access specifier> <name> ( ) : <return type>

sau

:

• Danh sách thông số (parameter list) hiển thị mỗi kiểu thông số sau dấu hai
chấm
Dependencies and constraints (Phụ thuộc và ràng buộc)

Phụ thuộc (dependency ) là mối quan hệ giữa hai lớp mà thay đổi lớp này có
thể ảnh hưởng đến lớp khác. Phụ thuộc được vẽ như đường gạch đứt. Trong
lược đồ lớp Co op dưới đây phụ thuộc vào Company. Nếu thay đổi Company thì
phải thay đổi Co op.

Trang 13



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML

Hỡnh 1.10: quan h ph thuc v rng buc trong lc lp

KIL
OBO
OKS

.CO
M

Rng buc ( constraint ) l iu kin m mi thc thi v thit k phi hon
thnh. Rng buc c biu din di hai du ngoc mc {}. Rng buc trong
lc trờn ch ra rng mt Section cú th l mt phn ca CourseSchedule..
Interfaces (Giao din) v stereotypes (Khuụn mu)

Giao din (interface) l mt tp hp cỏc kớ hiu hot ng. Trong C++, giao
din c thc hin nh cỏc lp tru tng vi cỏc thnh viờn o. Trong Java
chỳng c thc hin trc tip.
Lc lp di õy l mt mụ hỡnh v hi ngh ngh nghip. Lp liờn quan
n hi ngh l SessionTalk (mt bng trỡnh by n gin) v Session (tp hp
liờn quan n SessionTalk). ShuttleSchedule vi danh sỏch cỏc ShuttleStop l
phn quan trng ng kớ ti khỏch sn. Trong lc cú mt rng buc,
ShuttleStop c phõn cp.
Cú ba giao din trong lc : IDated, ILocatable, v ITimed. Tờn ca giao
din bt u bng kớ t I v i kốm vi cỏc phng thc tru tng c vit
bng ch nghiờng.
Mt lp nh lp ShuttleStop, vi cỏc phng thc kt hp trong giao din
nh ILocatable, l implementation ( hoc realization ) ca giao din.
Lp ShuttleStop cú kiu mu ( stereotype ) << place>>. Kiu mu qui nh
phng phỏp m rng UML, l thnh phn mụ hỡnh mi c to t cỏc kiu tn
ti. Tờn kiu mu c vit trờn tờn lp. Giao din l mt loi c bit ca kiu
mu.
Cú hai cỏch kớ hiu giao din trong UML : mt l kớ hiu nh trờn, hai l kớ hiu
hỡnh que hoc hỡnh trũn.
Trong hỡnh trũn chỳ thớch, giao din l hỡnh trũn vi ng thng kt ni n
lp thi hnh.


Hỡnh 1.11:cỏc lp giao din trong lc .

Trang 14



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.12: các lớp giao diện và khuôn mẫu
Packages (Gói) và objects (Đối tượng)

Để tổ chức các lược đồ lớp phức tạp, ta có thể nhóm các lớp phức tạp vào
trong các gói (packages). Một gói là một tập hợp các thành phần UML liên quan.
Lược đồ dưới đây là một mô hình nghiệp vụ với các lớp được nhóm vào các gói.
Các gói có dạng hình chữ nhật với các nhãn (tab)ở đầu. Tên gói trong nhãn hoặc
trong hình chữ nhật. Đường gạch nối là quan hệ phụ thuộc (dependencies). Một
gói phụ thuộc vào một gói khác nếu sự thay đổi của gói khác có ảnh hưởng đến
sự thay đổi ngay lúc đầu.

Hình 1.13: lược đồ thành phần

1.5.3.3. Object diagrams (Lược đồ đối tượng) là một loại đặc biệt của lược đồ

lớp, biểu diễn các thể hiện thay vì các lớp. Chúng dùng để giải thích các mối quan
hệ phức tạp, đặc biệt là quan hệ đệ qui.
Lược đồ lớp dưới đây hiển thị một Department có thể chứa nhiều
Departments khác.
Trang 15



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.14: lược đồ lớp thể hiện quan hệ đệ qui

Lược đồ đối tượng dưới đây giải thích lược đồ lớp.

Hình 1.15: lược đồ đốI tượng

Mỗi hình chữ nhật trong lược đồ tương ứng với một thể hiện. Tên thể hiện
được gạch dưới trong lược đồ UML. Tên lớp hoặc tên thể hiện có thể được loại
bỏ từ lược đồ đối tượng nhưng ý nghĩa lược đồ vẫn rõ.
1.5.3.4. Sequence diagrams (Lược đồ tuần tự)

Lược đồ lớp và lược đồ đối tượng là các cấu trúc (view) mô hình tĩnh. Lược đồ

tương tác (Interaction diagrams) là cấu trúc động, mô tả các đối tượng cộng tác
như thế nào.
Lược đồ tuần tự (sequence diagram ) là lược đồ tương tác diễn tả các
phương thức (operations ) hoạt động như thế nào, thông điệp nào được gởi đến
và khi nào. Lược đồ tuần tự được tổ chức theo thời gian. Các đối tượng liên quan
đến phương thức được liệt kê từ trái sang phải khi chúng tham gia vào thông điệp
tuần tự.
Dưới đây là lược đồ tuần tự cho việc đặt chổ khách sạn. Đối tượng bắt đầu
các thông điệp tuần tự là Reservation window.

Trang 16



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.16: lược đồ tuần tự

Reservation window gởi một thông điệp makeReservation()đến HotelChain.
Sau đó HotelChain gởi một thông điệp makeReservation() đến Hotel. Nếu Hotel
có phòng, thì nó sẽ đặt chỗ (Reservation) thừa nhận việc đặt chổ này
(Confirmation ).

Đường nét đứt gọi là lifeline, biểu diễn thời gian mà đối tượng đang tồn tại.
Mỗi mũi tên là một thông điệp gọi. Mũi tên đi từ người gởi đến đỉnh activation bar
của thông điệp trong lifeline của người nhận. Activation bar biểu diễn khoảng thời
gian thực thi thông điệp.
Trong lược đồ ví dụ, Hotel sử dụng selfcall để quyết định nếu có phòng. Khi
đó Hotel tạo công việc đặt chổ (Reservation) và thừ nhận việc đặt chổ này
(Confirmation). Dấu hoa thị trong self call có nghĩa lặp lại ( iteration ) để chắc
chắn rằng có phòng để ở mỗi ngày trong khách sạn. Biểu thức trong dấu ngoặc
đơn là điều kiện ( condition ).
Lược đồ có một thông báo (note) để giải thích, đó là đoạn văn bản ở trong
hình chữ nhật có nếp quăn ở góc. Thông báo có thể đặt vào trong bất kì lược đồ
UML nào.
1.5.3.5. Collaboration diagrams (Lược đồ cộng tác)

Collaboration diagrams cũng là lược đồ tương tác. Chúng chuyển thông tin
giống nhau như lược đồ tuần tự, nhưng chúng tập trung vào vai trò đối tượng thay
vì thời gian mà thông điệp đó gởi đến. Trong lược đồ tuần tự, vai trò đối tượng là
các đỉnh và thông điệp được kết nối.

Trang 17



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

KIL
OBO
OKS
.CO
M


ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML

Hỡnh 1.17: lc cng tỏc

Hỡnh ch nht ca vai trũ i tng c ghi trong lp hoc tờn i tng
hoc c hai. Tờn lp c t trc du hai chm ( : ).
Mi thụng ip trong lc cng tỏc cú s tun t (sequence
number).Thụng ip u tiờn c ỏnh s 1.
1.5.3.6. Statechart diagrams (Lc trng thỏi)

Cỏc i tng cú cỏc hnh vi v trng thỏi. Trng thỏi ca i tng ph thuc
vo hot ng hoc iu kin hin hnh. Lc trng thỏi (statechart diagram)
hin th cỏc trng thỏi ca i tng v cỏc bin i trong trng thỏi.
Trong lc vớ d, mụ hỡnh ng nhp vo h thng ngõn hng trờn
mng.Trc ht, ng nhp vo s mt khu v s ID ca ngi ú, sau ú
submit thụng tin xỏc nhn.
ng nhp cú th thc hin trong 4 trng thỏi khụng trựng lp sau :Getting
SSN, Getting PIN, Validating (tớnh hp l), v Rejecting (loi b). T mi trng
thỏi n mt s chuyn tip(transitions) hon ton, xỏc nh c trng thỏi k
tip.

Trang 18



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL
OBO

OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.18: lược đồ trạng thái

Các trạng thái được khoanh tròn trong hình chữ nhật. Các chuyển tiếp theo
hướng mũi tên từ trạng thái này đến trạng thái khác. Các sự kiện hoặc các điều
kiện được viết bên cạnh mũi tên.
Trạng thái ban đầu (hình tròn đen) là một động tác giả để bắt đầu hoạt động.
Trạng thái cuối cùng cũng là trạng thái giả để kết thúc hoạt động.
Hoạt động diễn ra khi kết quả của một sự kiện hoặc điều kiện được nhấn mạnh
trong phần trình bày hay trong hành động. Trong khi ở trạng thái hợp lệ (), đối
tượng khơng chờ một sự kiện bên ngồi đến một trigger chuyển đổi thay vì trình
bày một hoạt động. Kết quả của hoạt động được xác định ở trạng thái kế tiếp.
Tiến trình khơng đồng bộ hoặc trùng lắp

Lược đồ tuần tự, lược đồ cộng tác, lược đồ hoạt động, lược đồ trạng thái là
các cấu trúc mơ hình động. Chúng cho ta thấy được cấu trúc bên trong mơ hình.
Lược đồ tuần tự và lược đồ cộng tác tập trung vào các thơng điệp liên quan đến
việc hồn tất một tiến trình đơn lẻ. Lược đồ trạng thái tập trung vào một đối tượng
đơn lẻ. Lược đồ hoạt động tập trung vào luồng hoạt động trong cơng việc đơn lẻ.
Sau đây là phần trình bày về các hoạt động khơng đồng bộ hoặc trùng lắp của
lược đồ tuần tự và lược đồ trạng thái .
Lược đồ tuần tự với thơng điệp khơng đồng bộ

Thơng điệp gọi là khơng đồng bộ (asynchronous ) nếu nó cho phép gởi thêm
các thơng điệp trong khi thơng điệp ban đầu vẫn còn đang xử lý. Thời gian của

một thơng điệp khơng đồng bộ độc lập với thời gian các thơng điệp xen vào.
Lược đồ tuần tự dưới đây minh hoạ hoạt động của một y tá u cầu kiểm tra
chuẩn đốn ở phòng mạch. Có hai thộng diệp khơng đồng bộ từ Nurse :

Trang 19



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

KIL
OBO
OKS
.CO
M

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML

Hỡnh 1.19 : lc tun t vi thụng ip khụng ng b
1) yờu cu phũng mch (MedicalLab) ng kớ ngy kim tra.
2) yờu cu cụng ty bo him (InsuranceCompany) chp thun kim tra.
Yờu cu ca cỏc thụng ip ny c gi hoc c thc hin khụng thớch
hp. Nu InsuranceCompany chp nhn kim tra thỡ s lờn lch kim tra trong
ngy c cung cp bi MedicalLab.
UML s dng cỏc qui c thụng ip sau :
Biu tng

í ngha

Thụng ip cú th ng b hoc khụng

ng b
Thụng ip phn hi (khụng bt buc)
Thụng ip ng b

Thụng ip khụng ng b

Hỡnh 1.20: cỏc qui c thụng ip ca UML

Trựng lp v khụng ng b trong lc trng thỏi

Cỏc trng thỏi trong lc trng thỏi cú th lng nhau. Quan h cỏc trng
thỏi cú th nhúm cựng trong mt trng thỏi hon chnh (composite state) n l.
Cỏc trng thỏi lng nhau thỡ cn thit khi mt hot ng lin quan n cỏc hot
ng con trựng lp hoc khụng ng b.
Lc trng thỏi di õy cú hai tiu trỡnh trựng lp dn vo hai trng thỏi
con ca trng thỏi hon chnh Auction: Bidding v Authorizing Credit. Bidding
l trng thỏi hon chnh vi ba trng thỏi con.Authorizing Credit cú hai trng thỏi
con.
Trang 20



THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ỏn tt nghip - Xõy dng ng dng J2EE vi Rational Rose v UML

KIL
OBO
OKS
.CO

M

Auction yờu cu phõn nhỏnh u vo thnh hai tiu trỡnh riờng bit. Tr khi
cú mt tn ti khỏc thng (nh Cancelled hoc Rejected), s tn ti t trng
thỏi hon chnh Auction din ra khi c cỏc trng thỏi con ang tn ti.

Hỡnh 1.21: trựng lp v khụng ng b trong lc trng thỏi
1.5.3.7. Activity diagrams (Lc hot ng)

activity diagram l mt biu tin trỡnh (flowchart). Lc hot ng v
lc trng thỏi cú quan h vi nhau. Khi lc trng thỏi tp trung vo mt
i tng thụng qua mt quỏ trỡnh, lc hot ng tp trung vo lung hot
ng liờn quan n mt tin trỡnh n. Lc hot ng biu din cú nhiu hot
ng ny ph thuc vo nhiu hot ng khỏc.
Vớ d chỳng ta s dng theo tin tỡnh:"Rỳt tin ra khi ngõn hng thụng qua
ATM "
Ba lp liờn quan n hot ng Customer, ATM, v Bank.Tin trỡnh bt u
hỡnh trũn en u tiờn phớa trờn v kt thỳc hỡnh trũn trng trng tõm l mu en
phớa di.
Lc hot ng cú th phõn chia thnh i tng swimlanes xỏc nh
i tng no liờn quan n hot ng ny. Mt chuyn i (transition) n gin
ra khi hnh ng kt ni n hnh ng khỏc.
Mt chuyn i cú th tỏch ra thnh hai hay nhiu chuyn i riờng bit qua
li. Biu thc chn (Guard expressions) bờn trong du [] chuyn i ra khi mt
nhỏnh. Mt nhỏnh v nhỏnh k tip ca nú kt hp ỏnh du nhỏnh cui xut
hin trong lc di dng hỡnh thoi rng.
Mt chuyn i cú th phõn nhỏnh thnh hai hay nhiu hot ng song song.
S phõn nhỏnh v s kt hp cỏc tiu trỡnh tip theo ra khiphõn nhỏnh xut hin
trong lc nh thanh rn.


Trang 21



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình 1.22: lược đồ hoạt động

Trang 22



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

CHƯƠNG 2

KIL
OBO
OKS
.CO

M

GIỚI THIỆU VỀ J2EE

(Java 2 Platform Enterprise Edition)

2.1. Giới thiệu sơ lược về J2EE System

J2EE là nền để phát triển các ứng dụng phần mềm phân tán của hãng. Từ lúc
bắt đầu của ngôn ngữ java, nó đã thích nghi và phát triển tốt. Ngày càng nhiều
công nghệ đã trở thành một phần của nền Java, các API và các chuẩn mới được
phát triển đến nhiều địa chỉ cần thiết. Sau cùng, Sun và 1 nhóm nhà lãnh đạo
công nghiệp, dưới sự bảo trợ của open Java Community Process(JCP) hợp nhất
tất cả các chuẩn liên quan đến hãng vào nền J2EE
Một hệ thống J2EE về tổng quát có thể bao gồm 3 máy logic như sau: máy
dùng cho Client, máy J2EE Server, máy dùng cho Database Server. Xét về các
lớp để xây dựng ứng dụng thì bao gồm 4 lớp chính: client tier, web tier, business
tier và EIS tier.(hình 2.1)

Hình 2.1:tổng quát các máy logic của J2EE
Client tier:

Application clients: là ứng dụng client thực thi trên máy client (logic) và
chuẩn bị trước một số cách thức để cho user có thể giao tiếp hệ thống J2EE để
thực hiện một công việc nào đó. Cách thức giao tiếp có thể là thông qua giao diện
đồ họa hoặc dòng lệnh.
Application client có thể truy xuất trực tiếp đến các EJB của lớp Business hoặc
có thể thể thiết lập một kết nối HTTP đến các servlet của lớp Web.
Web Browsers: là môi trường để thực thi các ứng dụng trên web của máy
logic client

Trang 23



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Applets: cũng là một hình thức của application client nhưng được thiết kế để
được download xuống và thực thi trên Java VM của Web Browser, do đó khả
năng của Applet được khống chế bởi Web Browser.

KIL
OBO
OKS
.CO
M

JavaBeans component: client cũng có thể bao gồm một số JavaBean để
quản lý dòng data giao tiếp giữa các application client hoặc applet để giao tiếp với
các component thực thi trên J2EE server.
Sau đây là sơ đồ giao tiếp giữa Client tier và J2EE server:

Hình 2.2: sơ đồ giao tiếp giữa Client tier và J2EE server
Web tier:

Bao gồm các trang JSP và các servlet và có thể có các JavaBean để quản lý
các dòng dữ liệu giữa các web components và business tier của hệ thống J2EE.

Hình2.3:sơ đồ tầng Web tier

Business tier:

Business tier là một lớp logic dùng để thực hiện việc xử lý của hệ thống J2EE
server.
Trang 24



THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Hình2.4: sơ đồ tầng Business tier.

Hình vẽ minh họa cho ta thấy 1 Enterprise Bean có thể nhận dữ liệu từ client,
xử lý nó (nếu cần thiết) và gửi nó đến EIS tier (Enterprise Information System tier)
để lưu trữ. 1 Enterprise Bean cũng có thể nhận dữ liệu từ EIS tier, xử lý dữ liệu
đó (nếu cần thiết) và sau đó là gửi nó trở lại các chương trình client.
Có 3 loại Enterprise Bean: session bean, entity bean, message-driven bean.
Session Bean thể hiện cho một phiên dao dịch với client, với 1 client sẽ có 1
instance của session bean tương ứng, và instance này có thể lưu giữ các thông
tin của client đó. Tuy nhiên, khi phiên giao dịch kết thúc (client kết thúc việc thực
thi), các instance này cũng sẽ bị hủy. Ngược lại với session bean, entity bean có
thể lưu giữ lâu dài các thông tin về client. Còn message-driven bean là sự kết hợp

giữa sesssion bean và JMS message listener.
Enterprise Information System tier (EIS tier):

Lớp này thực hiện việc lưu trữ dữ liệu cho hệ thống J2EE, bao gồm cả các
interface để giao tiếp với các Database khác nhau, và giữa các OS khác nhau
trong việc quản lý và lưu trữ file…
Kiến trúc tổng thể của một hệ thống J2EE:

EJB container (Enterprise JavaBean container) quản lý việc thực thi của tất
cả các enterprise bean cho một ứng dụng J2EE. Các enterprise bean và container
của nó đều được chạy trên J2EE server.
Web container quản lý và thực thi của tất cả các trang JSP và các servlet cho
một ứng dụng J2EE. Các web component và container của nó đều được chạy trên
J2EE server.
Application client container quản lý và thực thi của tất cả các thành phần
application client cho một ứng dụng J2EE. Các application client và container của
nó đều được thực thi trên máy client.
Applet container chính là web browser (có các Java Plug-in) chạy trên máy
client.

Trang 25


×