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

NGHIÊN CỨU KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE-ORIENTED ARCHITECTURE) VÀ GIẢI PHÁP CỦA ORACLE

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 (716.32 KB, 41 trang )


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

Kin trỳc SOA v gii phỏp ca Oracle

TRNG I HC S PHM H NI
KHOA CễNG NGH THễNG TIN



OBO
OK S
.CO
M



BO CO NCKH
TI:

NGHIấN CU KIN TRC HNG DCH V
(SERVICE-ORIENTED ARCHITECTURE)
V GII PHP CA ORACLE

GIO VIấN HNG DN: NGUYN MNH HNG

KIL

SINH VIấN THC HIN: PHNG TH THAO
K54A-CNTT-HSPHN


H NI, THNG 4 2008

Khoỏ lun tt nghip

1

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kiến trúc SOA và giải pháp của Oracle

Lời cảm ơn

KIL
OBO
OKS
.CO
M

Em xin chân thành cảm ơn khoa CNTT trường ĐHSPHN đã tạo điều kiện giúp em
hồn thành khố luận này.
Em xin gửi lời biết ơn sâu sắc đến Tiến sĩ Nguyễn Mạnh Hùng. Thầy đã tận tình
hướng dẫn và chỉ bảo cho em trong suốt q trình học tập và nghiên cứu thực hiện đề
tài
Em xin chân thành cảm ơn tới các q thầy cơ trong khoa CNTT đã tận tình giảng
dạy và trang bị kiến thức cho em và các bạn sinh viên khác trong suốt thời gian học tập
tại khoa.

Xin chân thành cảm ơn bạn bè và gia đình đã ủng hộ rất lớn về mặt tinh thần để em
có thêm quyết tâm hồn thành đề tài này.
Mặc dù đã cố gắng hồn thành luận văn trong phạm vi cho phép, nhưng do kiến thức
và thời gian còn thiếu nên đề tài chắc chắn sẽ còn nhiều thiếu sót. Vì vậy kính mong các
thầy cơ và các bạn tận tình đóng góp và chỉ bảo để em hồn thiện đề tài hơn nữa
Một lần nữa em xin chân thành cảm ơn và mong ln nhận được tình cảm chân
thành của tất cả mọi người.

Hà Nội, tháng 4 năm 2008
Sinh viên

Phùng Thị Thao

Khố luận tốt nghiệp

2

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS
.CO
M


MC LC

Chng 1: Tng quan v SOA
1.1.

Thc trng hin ti v mt s mụ hỡnh trong h thng phõn tỏn

1.1.1. Thc trng

1.1.2. Mt s mụ hỡnh trong h thng phõn tỏn
1.2.

Gii thiu kin trỳc hng dich v SOA

1.2.1.

Kin trỳc hng dch v l gỡ?

1.2.2.

Cỏc nguyờn tc chớnh ca h thng SOA

1.2.3.

Cỏc tớnh cht ca h thng SOA

1.2.4.

Li ớch ca SOA


1.2.5.

Kin trỳc phõn tng chi tit ca SOA

1.2.6.

Mt s mụ hỡnh trin khai SOA

1.3.

Xõy dng mt h thng SOA

1.3.1.

Chu trỡnh phỏt trin ca mt h thng SOA

1.3.2.

Cỏc k thut h tr

1.3.3.

Dch v v nguyờn tc thit k mt dch v

1.4.

Vn bo mt trong SOA

1.4.1.


t vn

1.4.2.

Gii thiu mt s kin trỳc hng dch v

1.4.3.

Gii thiu mt s chun trong XML

1.5.

Vn tớch hp trong SOA

1.6.

Qun lý tin trỡnh nghip v

Khoỏ lun tt nghip

3

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle


1.7.

Kt lun

KIL
OBO
OKS
.CO
M

Chng 2: B gii phỏp v SOA ca Oracle
2.1.

Oracle SOA Suite hin thc Web service vi Jdeveloper

2.2.

Gii thiu v SOA Suite

2.2.1. ng dng ca SOA Suite
2.2.2. Service Bus

2.2.3. BPEL engine

2.2.4. BPEL Designer
2.3.

Kt lun


Chng 3: Th nghim thc t phn mm BPEL ca Oracle
Th nghim phn mm SOA suite

Xõy dng mt s service trong website bỏn hng cho mt book_cafe.
Chng 4. Kt lun chung
4.1.

Kt qu t c

4.2.

Hng phỏt trin

Ph lc tham kho
Danh sỏch hỡnh

Danh sỏch cỏc thut ng v khỏi nim

Khoỏ lun tt nghip

4

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kiến trúc SOA và giải pháp của Oracle


KIL
OBO
OKS
.CO
M

Lời mở đầu

Ngày nay, cơng nghệ thơng tin đang ngày càng phát triển, trở thành ngành mũi nhọn
trong chiến lược phát triển kinh tế của mỗi quốc gia. Đối tượng phục vụ chủ yếu hiện
nay của CNTT là các tổ chức, các cơ sở doanh nghiệp. Với sự phát triển của Internet và
với xu thế hội nhập chung của tồn thế giới, các tổ chức, doanh nghiệp cần bắt tay, phối
hợp hoạt động và chia sẻ tài ngun với nhau để nâng cao hiệu quả hoạt động. Khi đó
các sản phẩm sẽ ngày càng phức tạp, kéo theo chi phí sản xuất, quản lý và bảo trì. Đặc
biệt, ngành cơng nghệ phần mềm còn đối mặt với vấn đề hóc búa là bảo mật, và tái sử
dụng lại các hệ thống sẵn có, vấn đề khơng tương thích về hệ thống giữa các tổ chức
hợp tác với nhau.
Để giải quyết vấn đề trên người ta đã đưa ra nhiều giải pháp và hiện nay, một giải
pháp đang được quan tâm là kiến trúc hướng dịch vụ (Service Oriented Architecture –
SOA).
Các ứng dụng khi sử dụng dịch vụ này chỉ cần gửi thơng điệp u cầu đến một dịch
vụ (service) khác và chờ nhận kết quả từ dịch vụ đó và dịch vụ này khơng phụ thuộc
vào mơi trường hệ điều hành, ví dụ như các dịch vụ WEB hiện nay chẳng hạn, nó thể
hiện rất rõ ý tưởng này. Cơng nghệ SOA giúp chúng ta trong việc phát triển các
services này rất hiệu quả. Hiện nay nhiều cơng ty phần mềm lớn trên thế giới đều quan
tâm phát triển hệ thống này ví dụ như Oracle, IBM, Microsoft,… Mong muốn tìm hiểu
một cách khái qt về cơng nghệ SOA và những lợi ích đạt được của kiến trúc này
chính là lý do em thực hiện đề tài:

Kiến trúc hướng dịch vụ


(Service Oriented Architecture - SOA)
và giải pháp của Oracle.

Khố luận tốt nghiệp

5

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS
.CO
M

Mc tiờu ca ti:
Gm nhng vn sau:

1. ti tp trung vo vic nghiờn cu mt cỏch tng quan v SOA
- Nghiờn cu c s lý thuyt ca kin trỳc SOA, cỏc tớnh cht v li ớch ca kin
trỳc ny.
- Tỡm hiu nhng vn liờn quan n xõy dng h thng SOA v cỏc nguyờn tc
thit k h thng ny.

- ng dng vn bo mt trong kin trỳc hng dch v. Tỡm hiu mt s chun
bo mt trong XML v Web Service
- Kh nng tớch hp h thng v qun lý cỏc quy trỡnh nghip v

2. Gii phỏp ca Oracle, c th vi phn mm SOA Suite

- Tỡm hiu thc t phn mm SOA Suite v cỏc thnh phn liờn quan.
- Mụi trng phỏt trin v cỏch thit k, xõy dng ng dng, thc thi v qun lý cỏc
tin trỡnh nghip v

3. Vit mt vi servies s dng cụng ngh SOA trờn ngụn ng BPEL ca Oracle,
bng phn mm SOA Suite
- Xõy dng mt ng dng nh dựng phn mm SOA Suite

Khoỏ lun tt nghip

6

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS
.CO

M

2. Chng 1: Tng quan v SOA
1.1 Thc trng hin ti v mt s mụ hỡnh trong h thng phõn tỏn.
1.1.1. Thc trng

Phn mm ngy nay ang dn tr nờn phc tp v dng nh ang vt quỏ s
kim soỏt ca cỏc mụ hỡnh hin cú. Theo Albert Einstein: Mi vic nờn thc hin theo
cỏch n gin n mc cú th . Hin nay, cú nhiu h thng phn mm ang c
xõy dng vi kin trỳc khỏ phc tp vi chi phớ phỏt trin v bo trỡ cao, c bit l
nhng phn mm cao cp. phc tp ca cỏc h thng kin trỳc phn mm ngy mt
tng do mt s nguyờn nhõn sau:
S xut hin ca nhiu cụng ngh mi to nờn mụi trng khụng ng nht trong
khi nhu cu chia s, tng tỏc, trao i ca cỏc h thng khụng th tin hnh trong mụi
trng nh th. Gii quyt vn ny ngha l cỏc doanh nghip cn phi thay i h
thng theo mt chun thng nht chung no ú. iu ch yu l h thng c cn c
s dng li ch khụng phi l g b thay mi bi vn chi phớ cho thit lp mt h
thng qun lý mi tn kộm hn nhiu so vi chuyn i cỏi c. Vn ny a n
mt khỏi nim l Tớch hp h thng (Enterprise Architecture Intergration - EAI)
ang c nhiu t chc quan tõm u t vi mc chi phớ cao dn u hin nay cho cỏc
d ỏn dng ny.
Vn lp trỡnh d tha v tỏi s dng. Chng hn, mt doanh nghip cú nhiu chi
nhỏnh khỏc nhau, mi chi nhỏnh li cú mt h thng tỏch bit v xõy dng nhng thi
im khỏc nhau v cn kt ni li vi nhau s khụng trỏnh khi vic s dng d tha ti
nguyờn, d liu khụng ng nht
Hu nh mi t chc u phi i mt vi vn tớch hp vỡ nhiu lớ do nh m
rng thờm chi nhỏnh, thờm h thng bn hng mi, hoc l cn kt ni cỏc h thng cú
sn Vn kộo theo l chi phớ thay i mó ngun c, kim th, bo trỡ
Thc trng ny to thờm mt ỏp lc nng n vi cỏc doanh nghip v t chc, cỏc
nh phỏt trin phn mm.

Khoỏ lun tt nghip

7

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS
.CO
M

1.1.2. Mt s mụ hỡnh trong h thng phõn tỏn
Ba kin trỳc phõn tỏn ph bin nht hin nay l DCOM, CORBA v EJB.
Cỏc kin trỳc ny l s m rng ca h thng hng i tng bng cỏch cho phộp
phõn tỏn cỏc i tng trờn mng. i tng ú cú th khụng nm trong vựng khụng
gian ng dng, hoc nm trờn mt mỏy khỏc khụng cha ng dng nhng vn c
tham chiu s dng nh mt phn ng dng.
CORBA - Common Object Request Broker Architecture
CORBA c nh ngha bi Object Managerment Group (OMG), l mt kin
trỳc phõn tỏn m, c lp nn tng v c lp ngụn ng.
CORBA Common Model (CCM) nh ngha ra qui trỡnh thit k, phỏt trin,
úng gúi, trin khai v thc thi cỏc thnh phn phõn tỏn. CCM nh ngha khỏi
nim Ports cho cỏc thnh t. Cỏc Ports ny c dựng kt ni cỏc thnh phn

cú sn vi nhau, to cỏc h thng phõn tỏn phc tp hn.
u im ca CORBA: cú th tho món mi ngụn ng, nn tng phn cng,
giao thc mng v cụng ngh phỏt trin CORBA.
Nhc im: l ngụn ng lp trỡnh cp thp, khú hc v cn i ng phỏt trin
cú kinh nghim. Cỏc i tng CORBA khú cú th tỏi s dng.
DCOM Distributed Component Object Model

DCOM l mụ hỡnh phõn tỏn d dng trin khai vi chi phớ thp, h tr tigh
coupling gia cỏc ng dng v h iu hnh. Mụ hỡnh Component Object
Model (COM) nh ngha cỏch thc cỏc thnh phn clien liờn lc v trao i vi
nhau trờn mt mỏy. DCOM m rng COM bng cỏch s dng cỏc giao thc
mng chun khi cn trao i d liu vi cỏc mỏy khỏc trong mng.
u im: tớnh n nh, khụng ph thuc v trớ a lý, qun lý kt ni hiu qu v
d dng m rng. Thun li cho cỏc doanh nghip s dng cỏc ng dng cựng
chy trờn nn Windows.
Khoỏ lun tt nghip

8

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS

.CO
M

Nhc im: tt nhiờn cỏc cụng ngh ny ch chy c trờn nn windows

Hỡnh 1: Mụ hỡnh tng tỏc ca cỏc i tng trong kin trỳc DCOM

EJB Enterprise Java Bean

L kin trỳc dựng bờn phớa mỏy ch dựng cho vic trin khai cỏc ng dng
phõn tỏn hng i tng c va v ln
Kin trỳc EJB cú 3 tng vi tng u l tng trỡnh din, tng th hai l tng x
lý nghip v, tng th 3 l cỏc ti nguyờn nh c s d liu mỏy ch.
EJB l mt kin trỳc tt cho tớch hp h thng vỡ nú c lp trờn nn tng,
nhng nú khụng phi l mt chun m v kh nng giao tip vi cỏc chun
khỏc cũn hn ch.

Khoỏ lun tt nghip

9

Phựng Th Thao-K54A-CNTT-HSPHN



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

KIL
OBO
OKS

.CO
M

Kin trỳc SOA v gii phỏp ca Oracle

Hỡnh 2: Mụ hỡnh tng tỏc ca cỏc i tng trong kin trỳc EJB

Túm li, cỏc kin trỳc trờn u hng n vn xõy dng kin trỳc hng dch v
nhng chỳng cũn gp phi mt s vn nh:
Tigh coupling: kin trỳc trin khai ci t phớa nh cung cp v phớa s dng dch v
phi ging nhau.
Nhng chun trờn a phn l nhng chun úng. Vớ d: i tng java trong mụ
hỡnh EJB ch trao i c vi cỏc i tng cựng mụ hỡnh v khụng th trao i c
vi cỏc i tng DCOM.
Lng thụng tin trong mi ln giao dch l ớt, c thc hin nhiu ln vỡ vy dn
n chim dng bng thụng s dng v thi gian ỏp tr d liu nhanh.
Mt vn t ra l lm th no cỏc h thng phõn tỏn phỏt trin trờn cỏc cụng
ngh khỏc nhau cú th giao tip c vi nhau? Cỏch tip cn mi ny ỏp ng c
yờu cu ú. ú l cỏch tip cn theo kiu kin trỳc hng dch v.

Khoỏ lun tt nghip

10

Phựng Th Thao-K54A-CNTT-HSPHN



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


Kin trỳc SOA v gii phỏp ca Oracle

1.2.

Gii thiu kin trỳc hng dich v SOA
Kin trỳc hng dch v l gỡ

KIL
OBO
OKS
.CO
M

1.2.1.

Kin trỳc hng dch v (Service Oriented Architecture) l mt hng tip cn vi
vic thit k v tớch hp cỏc phn mm, chc nng h thng theo dng module, trong ú
mi module úng vai trũ l mt dch v cú tớnh loose coupling v cú kh nng truy
cp thụng qua mụi trng mng. Mt cỏch n gin thỡ mt h thng SOA l tp hp
cỏc dch v c chun hoỏ trờn mng, trao i vi nhau trong ng cnh mt tin trỡnh
nghip v.
SOA cú ba i tng chớnh minh ho trong hỡnh sau:

2. Hỡnh 3: S cng tỏc trong SOA hin nay
Nh cung cp dch v (Service Provider) cn cung cp thụng tin v nhng dch v
ca mỡnh trong mt dch v lu tr thụng tin dch v (Service Registry). Ngi s dng
(Service Consumer) tỡm kim thụng tin v dch v cn thit trong Service Regisstry sau
ú xõy dng kờnh giao tip vi nh cung cp.

Khoỏ lun tt nghip


11

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kiến trúc SOA và giải pháp của Oracle

KIL
OBO
OKS
.CO
M

SOA cung cấp các giải pháp để giải quyết các vấn đề tồn tại của các hệ thống hiện
nay như: phức tạp, khơng linh hoạt và khơng ổn định. Một hệ thống triến khai theo mơ
hình SOA có khả năng dễ mở rộng, liên kết tốt. Đây chính là điều kiện cơ sở, nền tảng
để tích hợp, tái sử dụng những tài ngun hiện có.
Thật ra, tư tưởng về một kiến trúc hướng dịch vụ khơng phải là mới mà CORBA,
DCOM (mơ hình của Microsoft), EJB (mơ hình của java) đã thực hiện từ lâu, tuy nhiên
cách tiếp cận này còn gặp nhiều hạn chế (như đã nói ở trên). SOA khơng chỉ cải tiến
đáng kể mà còn đem đến nhiều ưu điểm nổi trội hơn
1.2.2.

Các ngun tắc chính của hệ thống SOA

Một hệ thống SOA phải đảm bảo đủ 4 ngun tắc chính sau:

• Sự phân định rạch ròi giữa các dịch vụ

Do có sự tách biệt giữa thành phần giao tiếp và thành phần thực hiện dịch vụ
trong kiến trúc hướng dịch vụ.
Các dịch vụ này sẽ thực hiện q trình tương tác chủ yếu thơng qua thành phần
giao tiếp. Thành phần này sẽ quy định những dạng thơng điệp trong q trình trao đổi:
thơng điệp nào sẽ được chấp nhận và thơng điệp nào sẽ khơng được xử lý. Và đây chính
là cách duy nhất để các đối tượng bên ngồi có thể truy cập vào thơng tin và chức năng
của dịch vụ. ta chỉ cần gửi thơng điệp được định dạng đến trước để u cầu dịch vụ mà
khơng cần biết thơng điệp đó sẽ được xử lý như thế nào.
• Các dịch vụ tự hoạt động

Các dịch vụ cần được triển khai và hoạt động như một thực thể độc lập mà khơng
phụ thuộc vào các dịch vụ khác.
Dịch vụ phải có tính bền vững cao, nghĩa là nó khơng bị sụp đổ khi có sự cố.
Để thực hiện điều này, các dịch vụ cần duy trì đầy đủ thơng tin cần thiết cho q
trình hoạt động của mình để có thể tiếp tục hoạt động trong trường hợp dịch vụ cộng tác
của nó bị hỏng, đồng thời sử dụng các biện pháp bảo mật để tránh các cuộc tấn cơng ồ
ạt từ bên ngồi vào như gửi thơng điệp lỗi hoặc thơng điệp ồ ạt.

Khố luận tốt nghiệp

12

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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


Kiến trúc SOA và giải pháp của Oracle

Đây chính là ý nghĩa của khái niệm Loose coupling

KIL
OBO
OKS
.CO
M

• Các dịch vụ chia sẻ lược đồ
Các dịch vụ nên cung cấp thành phần giao tiếp (Interface) của nó ra bên ngồi và
hỗ trợ chia sẻ các cấu trúc thơng tin, các ràng buộc dữ liệu thơng qua các lược đồ dữ
liệu (Schema) chuẩn. Như thế hệ thống sẽ có tính dễ liên kết và dễ dàng mở rộng
• Tính tương thích của các dịch vụ dựa trên chính sách
Một dịch vụ muốn tương tác với các dịch vụ khác thì phải thoả mãn các chính
sách (Policy), các u cầu (Requirements) của dịch vụ đó như: mã hố, bảo mật. Mỗi
dịch vụ phải cung cấp cơng khai các chính sách và các u cầu bảo mật của mình.
1.2.3.

Các tính chất của hệ thống SOA

• Loose coupling

Vấn đề kết nối ám chỉ các ràng buộc giữa một số module với nhau. Có hai loại kết
nối là rời (loose) và chặt (tigh). Các module có tính loose coupling có một số ràng buộc
được mơ tả rõ ràng, trong khi các module có tính tigh coupling thì lại có một số ràng
buộc khơng được biết trước. Hầu hết các phần mềm đều hướng đến tính loose coupling.
SOA sử dụng loose coupling thơng qua việc sử dụng hợp đồng và liên kết
(contract and binding). Một người sử dụng truy vấn đến nơi lưu trữ và cung cấp thơng

tin dịch vụ (Registry) để lấy thơng tin về loại dịch vụ cần sử dụng. Registry sẽ trả về
mọi dịch vụ thoả mãn tiêu chuẩn tìm kiếm. Từ đó người dùng chỉ việc chọn dịch vụ
mình cần, thực thi phương thức trên đó theo mơ tả để nhận dịch vụ từ Registry. Bên sử
dụng dịch vụ khơng cần phụ thuộc trực tiếp vào tin cài đặt của dịch vụ mà chỉ dựa trên
hợp đồng dịch vụ đó hỗ trợ.
Tính loose coupling giúp gỡ bỏ những ràng buộc điều khiển giữa những hệ thống
đầu cuối. Mỗi hệ thống có thể tự quản lý độc lập làm tăng hiệu suất, khả năng mở rộng
và khả năng đáp ứng cao. Loose coupling làm tách biệt giữa bên cung cấp và bên sử
dụng, nhưng nó đòi hỏi các interface phải theo một chuẩn và cần một thành phần trung
gian quản lý để trung chuyển u cầu giữa các hệ thống đầu cuối

Khố luận tốt nghiệp

13

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kiến trúc SOA và giải pháp của Oracle

• Tái sử dụng dịch vụ

KIL
OBO
OKS
.CO
M


Những dịch vụ được dùng chung bởi tất cả các ứng dụng của một hệ thống SOA
gọi là shared infrastructure service. Tái sử dụng dịch vụ loại bỏ thành phần trùng lặp,
tăng độ vững chắc trong cài đặt và đơn giản hố việc quản trị
• Sử dụng dịch vụ bất đồng bộ

Phương thức triệu gọi bất đồng bộ như sau: bên gọi gửi một thơng điệp với đầy
đủ thơng tin ngữ cảnh tới bên nhận. Bên nhận xử lý thơng tin và trả về kết quả cho bên
gọi thơng qua một kênh thơng điệp. Bên gọi khơng phải chờ cho đến khi thơng điệp
được xử lý xong.
Phương thức đồng bộ:

Trên lý thuyết, SOA có thể sử dụng cả phương thức đồng bộ và bất đồng bộ.
• Quản lý các Policy

Khi sử dụng các dịch vụ trên mạng, tuỳ theo mỗi ứng dụng sẽ có một luật kết hợp
riêng gọi là các Policy. Việc quản lý các Policy tăng khả năng tạo ra các đặc tính tái sử
dụng dịch vụ vì các Policy được thiết kế tách biệt và tuỳ vào mỗi ứng dụng nên giảm tối
đa các thay đổi phần mềm đồng thời có thể chia các nhóm làm việc mà khơng cần phụ
thuộc vào nhau (nhóm phát triển phần mềm và nhóm điều hành,nhóm hỗ trợ).
• Coarse granularity

Khái niệm Granularity trong dịch vụ có thể hiểu theo 2 cách: trong phạm vi tồn
bộ kiến trúc của dịch vụ hoặc trong phạm vi từng phương thức của từng interface triển
khai. Mức độ granularity cũng có hai loại: coarse – grained (ví dụ dịch vụ cài đặt tất cả
các chức năng của một ngân hàng) và fined – grained (ví dụ dịch vụ chỉ hỗ trợ chức
năng rút tiền tự động…). Một hệ thống có chứa các đối tượng fined – grained thì phức
tạp hơn là hệ thống coarse – grained.
• Khả năng cộng tác


SOA nhấn mạnh đến khả năng cộng tác (interoperability), khả năng mà các hệ
thống khác nhau có thể giao tiếp trên nhiều nền tảng ngơng ngữ khác nhau. Mỗi dịch vụ
Khố luận tốt nghiệp

14

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS
.CO
M

cung cp mt interface cú th c triu gi thụng qua mt dng kt ni. Mt kt ni
gi l interoperable cha trong nú mt giao thc v mt nh dng d liu m mi
client kt ni n nú u hiu. Interoperability t c bng cỏch h tr cỏc giao thc
v nh dng d liu chun ca dch v v client H thng ỏnh x mi tớnh cht v ngụn
ng qua mt c t trung gian. c t ny s chu trỏch nhim ỏnh x gia nh dng d
liu kh kt (interoperable) n nh dng ca d liu tu thuc vo h thng. Vớ d
Wrb Service l mt c t trung gian cho giao tip gia cỏc h thng JAX-RPC, JAXM
chuyn cỏc i tng dng Java thnh SOAP.
T ng dũ tỡm v rng buc ng


SOA h tr khỏi nim dũ tỡm dch v (Service discovery). Mt ngi s dng
cn mt dch v no ú cú th tỡm kim dch v theo nhng tiờu chun khi cn. Ngi
s dng dch v ch cn hi mt Registry v dch v tho món yờu cu ca h.
Vớ d, mt h thng chuyn khon (Consumer) yờu cu Registry tỡm kim tt c
cỏc dch v cú kh nng kim tra th tớn dng. Registry tr v mt tp cỏc thụng tin tho
món yờu cu. Cỏc entry cha thụng tin v dch v bao gm c phớ dch v. Bờn s dng
s chn mt dch v cú chi phớ thp nht v kt ni n nh cung cp dch v ú da
trờn thụng tin ca entry m registry tỡm c yờu cu s dng dch v kim tra th
tớn dng. Trong phn mụ t dch v kốm theo ó cú tt c cỏc tham s cn thit thc
thi dch v. Bờn s dng ch cn nh dng d liu cn thit theo mụ t ca nh cung
cp dch v v gi i. Nh cung cp s thc thi kim tra th tớn dng v tr v kt qu l
mt thụng ip theo ỳng nh dng nh trong phn mụ t dch v. Mi rng buc duy
nht gia nh cung cp v ngi s dng l bn hp ng c cung cp bi Registry
trung gian. Mi rng buc ny l rng buc trong thi gian chy ch khụng phi l rng
buc trong thi gian biờn dch. Tt c cỏc thụng tin cn thit v dch v c ly v v
s dng trong khi chy.
Vi SOA, bờn s dng khụng cn bit nh dng ca thụng ip yờu cu cng
nh thụng ip tr v, hay a ch dch v khi gi n. Bờn s dng triu gi mt cỏch
ng.
T hi phc
Khoỏ lun tt nghip

15

Phựng Th Thao-K54A-CNTT-HSPHN



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


Kiến trúc SOA và giải pháp của Oracle

KIL
OBO
OKS
.CO
M

Một hệ thống tự hồi phục (Self - healing) là một hệ thống có khả năng tự hồi
phục sau khi bị lỗi mà khơng cần đến sự can thiệp của con người. Đây là một yếu tố
quan trọng trong các ứng dụng hệ thống phân tán.
Độ tin cậy (reliability) là mức độ đo khả năng một hệ thống xử lý tốt như thế nào
trong tình trạng hỗn loạn. Trong SOA, mỗi dịch vụ có khả năng hoạt động hoặc ngừng
bất cứ lúc nào, nhất là những ứng dụng tổ hợp của nhiều dịch vụ thuộc nhiều tổ chức
khác nhau. Độ tin cậy phụ thuộc vào khả năng phục hồi của phần cứng sau khi gặp lỗi.
Hạ tầng mạng phải cho phép các kết nối động từ nhiều hệ thống khác nhau kết nối đến
trong khi chạy. Một kiến trúc hỗ trợ kết nối và thực thi động như thế sẽ có khả năng tự
phục hồi cao hơn kiến trúc khơng hỗ trợ tính năng này.
Một tính chất cơ bản khác của hệ thống hướng dịch vụ là: có sự tách biệt giữa
interface và cài đặt, nên có thể có nhiều cài đặt khác nhau cho một interface. Nếu một
thể hiện dịch vụ nào đó khơng hoạt động thì một thể hiện khác vẫn có thể hồn tất giao
dịch cho khách hàng mà khơng bị ảnh hưởng gì. Khả năng này có được nghĩa là client
chỉ tương tác với interface của dịch vụ chứ khơng tương tác trực tiếp tới cài đặt của dịch
vụ.
1.2.4.
(a)

Lợi ích của SOA

SOA là một giải pháp hiệu quả và tiết kiệm chi phí

• Sử dụng lại những thành phần có sẵn

Một trong những lợi ích rõ ràng nhất của SOA là giúp cơng ty sử dụng lại được
những tài ngun có sẵn, kết quả là giảm chi phí cho phần kiến trúc và tích hợp. Ngồi
ra nó còn giúp giảm chi phí mua phần mềm mới.
Việc tái sử dụng có lợi ích to lớn, thứ nhất là giảm tính dư thừa, thứ hai là sử
dụng lại được những thành phần sẵn có để thiết kế phần mềm mới, giảm chi phí phát
triển cho từng phần độc lập của mỗi tính năng mới chưa có. Với SOA, thay vì phải
“thay đổi”, chúng ta chỉ cần tạo các cầu nối liên hệ giữa các ứng dụng và hệ thống trên
mơi trường khác nhau.
• Giải pháp ứng dụng tổ hợp cho doanh nghiệp
Khố luận tốt nghiệp

16

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kiến trúc SOA và giải pháp của Oracle

KIL
OBO
OKS
.CO
M

SOA mang đến khả năng tổng hợp một lớp các ứng dụng mới bằng cách kết hợp

chức năng từ các hệ thống có sẵn, cung cấp cho người cuối những chức năng liên kết.
Tức là một số tiến trình cũ có khả năng được kết hợp với nhau bên trong một cổng
thơng tin (portal) giúp cho người dùng có thể truy cập một lần mà vẫn có thể có hàng
loạt thơng tin về các sản phẩm của các doanh nghiệp. Với SOA, một ứng dụng tổng hợp
có thể được tổng hợp dễ dàng bất kể sự khác nhau về địa lý hoặc cơng nghệ phát triển
dịch vụ đó. Điều này cho phép doanh nghiệp phản ứng nhanh theo u cầu, giảm chi
phí và tăng hiệu quả kinh doanh.
• Tăng tính linh hoạt và triển khai cài đặt nhờ tính loose coupling
Tính loose coupling đem lại lợi ích cho SOA là phía triệu gọi dịch vụ khơng cần
quan tâm đến địa chỉ hay cơng nghệ cài đặt dịch vụ. Việc triệu gọi dịch vụ thơng qua
một giao diện chuẩn nên giúp cho các lập trình viên tránh được việc phải lặp lại các
cơng việc tạo mới các service có khả năng hiểu được mọi cơng nghệ sử dụng trong cùng
một hệ thống.
Lợi ích thứ hai mà Loose coupling đem lại là với một hệ thống SOA, các doanh
nghiệp dễ dàng cung cấp các dịch vụ ra bên ngồi cho một đối tác nào đó sử dụng. Đối
tác đó khơng cần biết cách thức cài đặt và cơng nghệ của dịch vụ như thế nào. Tương
tự, nếu đối tác đó cũng cài đặt hệ thống SOA thì việc tích hợp và sử dụng các dịch vụ
cũng dễ dàng hơn nhiều.
Cuối cùng, tính loose coupling tăng khả năng triển khai. Chỉ cần bọc những thành
phần sử dụng interface ứng dụng lại thành một dịch vụ, ta đã có một thành phần dịch vụ
độc lập trong hệ thống SOA như những dịch vụ khác.
• Thích ứng với những thay đổi trong tương lai
• Hỗ trợ đa thiết bị và đa nền tảng

SOA cung cấp một tầng giao tiếp trừu tượng từ các nền tảng bên dưới. Điều này
cho phép hỗ trợ nhiều loại thiết bị đầu cuối khác nhau như các Browser, thiết bị di động
như điện thoại, pager, PDA… sử dụng cùng một chức năng mà vẫn có thơng tin trả về
tuỳ theo dạng thiết bị. Tính chất độc lập về cơng nghệ này của SOA tiết kiệm rất nhiều

Khố luận tốt nghiệp


17

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

cho cỏc cụng ty v mt chi phớ, c bit l giai on cỏc cụng ngh phỏt trin a dng
nh hin nay.

KIL
OBO
OKS
.CO
M

Tng kh nng m rng v kh nng sn sng cung cp
Nh tớnh c lp a ch ca SOA, ta cú th tng kh nng m rng bng cỏch
thờm nhiu th hin (instance) ca mt service. Cụng ngh chia ti (load - balancing) t
ng tỡm v nh tuyn yờu cu n th hin service thớch hp. Tng t, SOA cú th
chuyn tip cỏc yờu cu n mt th hin khỏc khi cn, nh ú tng kh nng sn sng
phc v
1.2.5.

Kin trỳc phõn tng chi tit ca SOA


tng thp nht, tng kt ni (Connectivity), nhng dch v c mụ hỡnh hoỏ
da trờn nhng ng dng enterprise bờn di. Tng ny cha cỏc dch v nh ly
thụng tin chi tit sn phm hoc cp nht thụng tin khỏch hng, chỳng tng tỏc trc
tip vi cỏc h thng phi dch v bờn di. cỏc dch v ny l c trng cho mi ng
dng enterprise.
Phớa bờn trờn tng kt ni l mt s dch v Orchestration c thờm vo to
ra cỏc dch v tht s x lý cỏc chc nng nghip v c lp da trờn nhng ng dng
enterprise bờn di. Nhng dch v ny cũn gi l nhng dch v tng hp (Composite
service).
Tng trờn cựng ca service orchestrstion l tng ng dng tng hp s dng cỏc
service v cung cp giao din c th cho ngi s dng

Khoỏ lun tt nghip

18

(b)

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

(c)
Hỡnh 3. Kin trỳc phõn tng ca SOA

KIL

OBO
OKS
.CO
M

(d)
Tng kt ni

Mc ớch ca tng kt ni l kt ni cỏc ng dng enterprise hoc ti nguyờn bờn
di v cung cp chỳng thnh dng nhng dch v. Tng ny l tng chuyờn giao tip
vi cỏc nh cung cp, hot ng nh mt b chuyn i (adapter) gia cỏc ng dng
phi dch v v mng cỏc dch v khỏc. Tu vo ng dng c th m b chuyn i
tng ng c s dng.
V c bn, tng ny cú th c dựng thc hin kt ni n cỏc h CSDL.
Nhng ngụn ng lp trỡnh hin i cung cp cỏc tp hm API cho phộp truy cp n
hu ht cỏc h CSDL thụng dng. Vi cỏc ng dng enterprise thỡ li khỏc vỡ mi nh
cung cp cung cp tp hm API khỏc nhau.
Tng Orchestration

Tng Orchestration cha cỏc thnh phn n úng vai trũ va l nhng dch v
s dng, va l nhng dch v cung cp. Nhng dch v ny s dng dch v ca tng
kt ni v cỏc dch v orchestration khỏc kt hp nhng chc nng cp thp hn
thnh nhng dch v hot ng cp cao hn, cú hnh vi gn vi chc nng nghip v
thc hn.
Simple composite service

L nhng dch v n thun kt hp vi nhng li triu gi gi ti cỏc dch
v bờn di, hot ng nh mt mu mt tin. Chỳng giỳp n gin hoỏ quy
trỡnh tng tỏc vi cỏc dch v cp thp v che du i tớnh phc tp vi nhng
ngi s dng dch v tng cao.

Process service

L nhng dch v nh ra mt tin trỡnh kt ni cỏc dch v cp thp hn.
iu ny rt hu dng vi vic thit k cỏc dch v kt ni n nhiu h thng
enterprise bờn di sau ú thc thi nh mt tin trỡnh.

Khoỏ lun tt nghip

19

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kiến trúc SOA và giải pháp của Oracle

KIL
OBO
OKS
.CO
M

Ví dụ, dịch vụ “Submit New Order” có thể được xem như một process service
thực hiện tương tác với CSDL khách hàng để lấy thơng tin khách hàng, quyết
định dựa trên thơng tin tài khoản của khách hàng, tương tác hệ thống lưu kho và
hệ thống tài chính để hồn tất đơn đặt hàng.
Process service có rất nhiều đặc tính phù hợp quy trình nghiệp vụ của doanh
nghiệp nên có rất nhiều nỗ lực để chuẩn hố cách thức định nghĩa ra chúng. Tổ

chức OASIS đã đưa ra chuẩn WS – BPEL (Web Service Business Process
Execution Language) cho process service
Data service

Là những dịch vụ cung cấp dữ liệu thu thập được từ nhiều nguồn dữ liệu khác
nhau. Trong nhiều trường hợp, dữ liệu cùng tồn tại trên nhiều CSDL và ứng dụng
khác nhau. Ví dụ thường thấy là thơng tin về khách hàng. Doanh nghiệp thường
lưu thơng tin về khách hàng trong hệ thống đặt hàng, hệ thống tài chính và hệ
thống CRM. Mỗi hệ thống chỉ chứa một phần dữ liệu trong tồn bộ dữ liệu về
khách hàng
Data service thường khơng chỉ được xem như một dịch vụ orchestration mà
nó còn chịu trách nhiệm tương tác trực tiếp với CSDL bên dưới thơng qua những
phương thức truy cập phi dịch vụ (non – service oriented access) như JDBC hoặc
J2CA. Chúng cung cấp dữ liệu từ những ứng dụng độc lập và kết hợp dữ liệu từ
nhiều nguồn khác nhau.
Data service thường sử dụng một số ngơn ngữ truy vấn và cơ chế mơ tả khác
để xác định quan hệ giữa những lược đồ dữ liệu (data schema). Các cơng nghệ
phổ biến hiện nay là SQL, XSLT và Xquery trong đó XSLT và Xquery là hai
cơng nghệ thuần về việc truy vấn dữ liệu trong bối cảnh Web service vì chúng xử
lý và kết xuất dữ liệu dạng XML
• Tầng ứng dụng tổng hợp

Khố luận tốt nghiệp

20

Phùng Thị Thao-K54A-CNTT-ĐHSPHN




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

Kiến trúc SOA và giải pháp của Oracle

KIL
OBO
OKS
.CO
M

Dữ liệu truyền qua lại giữa những dịch vụ cuối cùng cũng định hướng đến người
sử dụng theo nhiều dạng giao diện khác nhau. Tầng này được xem là tầng tích hợp cuối
cùng của q trình tích hợp.
Tầng ứng dụng tổng hợp là tầng đơn thuần sử dụng các dịch vụ, nó cung cấp các
ứng dụng cho người dùng cuối. Nhờ tính linh hoạt của SOA và đặc tính của các dịch vụ
được tổng hợp từ tầng orchestration, các ứng dụng có khả năng biểu diễn mọi loại thơng
tin từ mọi nguồn thơng tin, thậm chí cho phép người sử dụng gửi thơng tin tổng hợp mà
thơng tin đó sẽ được phân phối lại cho các hệ thống bên dưới.
Tầng ứng dụng tổng hợp chia làm hai tầng nhỏ hơn là portal và portlet. Một
Portlet được định nghĩa như một ứng dụng chạy trong một cửa sổ thành phần trong một
ngữ cảnh với sự tách biệt rõ ràng giữa Portlet và ngữ cảnh của nó. Portlet là thành phần
cung cấp và sử dụng dịch vụ. Có điều là chúng cung cấp một dạng dịch vụ giao diện
đặc biệt được thiết kế đặc biệt để sử dụng bởi một bộ UI Framework consumer (một
Portal). Mỗi Portlet sử dụng một số dịch vụ liên quan của tầng orchestration bên dưới
và cho phép người sử dụng gửi thơng tin bổ sung. Cơng nghệ web hiện nay như Java
Server Faces (JSF) và ASP.NET đều hỗ trợ xây dựng portlet. Portal là một bộ khung
tích hợp sử dụng các Portlet, trang bị cho chúng một vẻ ngồi thống nhất và thể hiện
chúng thành một giao diện hồn chỉnh cho người dùng cuối.
1.2.6.


1.3.

Một số mơ hình triển khai SOA
(e)

Mơ hình Service Registry

(f)

Mơ hình Service Broker

(g)

Mơ hình Service Bus

Xây dựng một hệ thống SOA

Có hai phương pháp để thiết kế một hệ thống SOA là Top-down và Bottom-up
Phương pháp Top-down: là phương pháp mà ddiem xuất phát của nó là từ các
u cầu nghiệp vụ để xác định các u cầu chức năng các tiến trình và các tiến trình
con, các trường hợp sử dụng (use cases) để tiến tới việc xác định các thành phần hệ
thống. (component) và các dịch vụ…
Khố luận tốt nghiệp

21

Phùng Thị Thao-K54A-CNTT-ĐHSPHN




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

Kiến trúc SOA và giải pháp của Oracle

Bottom-up: dựa trên phân tích tình trạng các tài ngun của hệ thống hiện có và
sẽ tái sử dụng các tài ngun này trong việc xây dựng các dịch vụ mới

KIL
OBO
OKS
.CO
M

1.3.1. Chu trình phát triển của SOA:
develop-->integrate-->orchestrate-->deploy-->manage-->secure-->access
1. Develop
Giai đoạn này ta tập trung phát triển các service và tạo web service
Mơ hình: webservice<=>myservice
- web service: để bên ngồi tương tác với service chúng ta
- myservice: hiện thực service bằng Java class hoặc EJB
Trong q trình hiện thực myservice thì có thể service của chúng ta cần giao tiếp
với cơ sở dữ liệu. Bình thường thì chúng ta có thể tự mở CSDL và query sau đó đóng
gói dữ liệu vào trong class Java. Điều này dễ dàng thực hiện trong các ứng dụng nhỏ.
Vì người làm database và ứng dụng rất gần với nhau, đơi khi chỉ là một. Nhưng với
những vấn đề lớn, thì hầu như là người phát ứng dụng khơng biết hoặc biết rất ít về
database. Do đó, chúng ta nên mapping giữa CSDL và đối tượng Java, khi bạn mapping
xong thì bạn chỉ cần read hoặc write 1 đối tượng thì hệ thống runtime sẻ lo cơng việc
query CSDL.
2. Integrate
Bạn có thể tích hợp component hoặc tích hợp rule.

Rule: nhằm để tách giữa ứng dụng và nghiệp vụ, do đó bạn có thể thay đổi
nghiệp vụ 1 cách đễ dàng mà khơng cần phải code lại chương trình
3. Orchestrate
Đây là giai đoạn tích hợp các service. Khi bạn có qui trình nghiệp vụ thì bạn đưa
ra được business workflow. Từ business workflow bạn phân tích ra các service. Bạn sẻ
hiện thực hoặc sử dụng lại các service. Khi có đầy đủ các service thì chúng ta phải tích
hợp lại. Cơng việc tích hợp này chúng ta dùng ngơn ngữ BPEL để tích hợp các service.
Bạn có thể sử dụng BPEL của IBM hoặc của Oracle. Với bộ design của BPEL chúng ta
có thể tích hợp các service 1 cách nhanh chóng và dễ dàng.

Khố luận tốt nghiệp

22

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kiến trúc SOA và giải pháp của Oracle

KIL
OBO
OKS
.CO
M

Business process được tích hợp xong cũng được xem là một service và nó tương
tác với bên ngồi thơng qua web service. Và nó có thể được tích hợp bởi các business

process khác.
4. Deploy
Khi các service đã được tạo xong. Bạn test nó cẩn thận và đạt rồi thì chúng ta tiến
hành đóng gói các service và sau đó deploy nó lên server đích.
5. Manage và Secure
Đối với các hệ thống phát triển theo mơ hình SOA thì hệ thống ngày càng phức
tạp dần, và càng ngày có nhiều service hơn do đó thì u cầu quản lí và bảo mật các
Web service được đặt ra. Hiện nay bạn có thể sử dụng Oracle Web service Manager cho
cơng việc bảo mật này. Với bộ này chúng ta có thể đưa ra những chiến lược cho việc tổ
chức và bảo mật một cách dễ dàng.
6. Access
Chúng ta bắt đầu truy xuất vào trong hệ thống.
1.3.2.
-

Các kỹ thuật hỗ trợ SOA
Giao thức vận chuyển SOAP
Định dạng WSDL
Định dạng UDDI và ebXML
Kiến trúc service

1.3.3. Dịch vụ và các ngun tắc thiết kế một dịch vụ
Service: là những ứng dụng mà mình muốn cho bên ngồi sử dụng.
Thí dụ: Chương trình chỉ có 1 class Java đơn giản như sau
Class HelloWorld {
public HelloWorld() {
super();
}
public String sayHello(String str) {
Return “Hello, “ + str;

}

Khố luận tốt nghiệp

23

Phùng Thị Thao-K54A-CNTT-ĐHSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL
OBO
OKS
.CO
M

}
Khi ngi khỏc s dng chng trỡnh ca chỳng ta v h truyn vo 1 chui str,
thỡ chỳng ta s tr li cho h chui Hello, + str.
Chun thit k cú th theo cỏc bc sau:
1. Apply naming standards.
Vỡ mt interface miờu t cho bn cht ca service nờn cn phi cú nhng
nguyờn tt t tờn cho nú:
+ Tờn ca service.
+ Tờn ca phng thc( operation).
+ Giỏ tr message (message value).

Thng thỡ s t tờn ging nh cỏch t tờn ca hng i tng(OO): Object
thng l
danh t, method thng l ng t.
Vớ d: service Employee thỡ cú cỏc phng thc l: GetID, GetName.
2. Apply a suitable level of interface granularity.
Tớnh cht ht ca interface l th hin mc mn hay thụ (coarse-grained, finergrained ). Mc mn hay thụ l ph thuc vo tớnh reuse ca service. C th nu mt
service tng business process thỡ s thụ hn nhng service tng application
3. Design service operations to be inherently extensible
Bờn cnh tớnh reusability, composability thỡ trong sut quỏ trỡnh thit k phi
m bo c tớnh extensibility (tớnh cú th m rng c).
Mt iu quan trng nht cho vic thit k nhng phng thc v nhng thụng
ip l m bo tớnh hot ng c lp cao nht.
1. Identify known and potential service requestors.
S hu ớch v thc t hn nu trong quỏ trỡnh thit k ta oỏn trc nhng tớnh
nng s phc v cho nhng yờu cu mi trong tng lai, t ú kt hp vi nhng yờu
cu hin ti ỏp dng cho vic thit k cho service ca mỡnh.

Khoỏ lun tt nghip

24

Phựng Th Thao-K54A-CNTT-HSPHN



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

Kin trỳc SOA v gii phỏp ca Oracle

KIL

OBO
OKS
.CO
M

iu ny s dn n thờm vo mụt s phng thc cú th khụng cn thit cho
nhng yờu cu hin ti so vi phm vi, ngõn sỏch, hay nhng yờu cu cú liờn quan. Vỡ
vy cng phi sng lc li khụng nh hng nhiu n project hin ti.
5. Consider using modular WSDL documents
S dng nhng file XSD schema nh ngha nhng kiu d liu phc tp, t
ú ta cú th s dng cựng mt file XSD schema cho nhiu file WSDL.
Khai bỏo import c s dng trong th types ca file WSDL khai bỏo cho
mt file XSD schema hay mt file WSDL khỏc.
(d liu nờn t trong file .xsd hay . wsdl)
6. Use namespaces carefully.
Chun WS-I Basic Profile yờu cu t thuc tớnh targetNamespace nh ra mt
namespace cho mt file WSDL hocmt file XSD schema c nhỳng trong nhng file
WSDL
7. Use the SOAP document and literal attribute values
Cú hai thuc tớnh quan trng trong SOAP message l stype trong phn
soap:binding v use trong phn soap:body. Nú liờn quan n dng format v kiu d
liu trỡnh by ca SOAP message.
Thuc tớnh stype cú hai giỏ tr l document v rpc.
Thuc tớnh use cú hai giỏ tr l literal v encoded.
Ngi ta thng dựng kt hp 3 thuc tớnh nh sau:
+ style:RPC + use:encoded
+ style:RPC + use:literal
+ style:document + use:encoded
+ style:document + use:literal
8. Use WS-I Profiles even if WS-I compliance isn't required

Giỳp ớch cho ta trong phn bo mt cỏc service thụng qua gateway hoc agent

Khoỏ lun tt nghip

25

Phựng Th Thao-K54A-CNTT-HSPHN


×