You are on page 1of 266

ĐẠI HC QUC GIA THÀNH PHHCHÍ MINH

TRƯỜNG ĐẠI HC KHOA HC TNHIÊN

HBO THANH

0112030

NGUYN HOÀNG LONG

0112141

NGHIÊN CU

KIN TRÚC HƯỚNG DCH V

(SERVICE-ORIENTED ARCHITECTURE)

NG DNG

LUN VĂN CNHÂN TIN HC

GIÁO VIÊN HƯỚNG DN

TH.S TRN MINH TRIT

Thành phHChí Minh - 2005

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
HỒ BẢO THANH
NGUYỄN HOÀNG LONG
0112030
0112141
NGHIÊN CỨU
KIẾN TRÚC HƯỚNG DỊCH VỤ

(SERVICE-ORIENTED ARCHITECTURE)

VÀ ỨNG DỤNG Chuyên ngành: CÔNG NGHỆ PHẦN MỀM LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO
VÀ ỨNG DỤNG
Chuyên ngành: CÔNG NGHỆ PHẦN MỀM
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN:
TH.S TRẦN MINH TRIẾT

Thành phHChí Minh - 2005

NH Ậ N XÉT C Ủ A GIÁO VIÊN H ƯỚ NG D Ẫ N ..................................................................................................................................

NHN XÉT CA GIÁO VIÊN HƯỚNG DN

NH Ậ N XÉT C Ủ A GIÁO VIÊN H ƯỚ NG D Ẫ N

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

NH Ậ N XÉT C Ủ A GIÁO VIÊN PH Ả N BI Ệ N ..................................................................................................................................

NHN XÉT CA GIÁO VIÊN PHN BIN

NH Ậ N XÉT C Ủ A GIÁO VIÊN PH Ả N BI Ệ N

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

Lời cảm ơn
Lời cảm ơn

Chúng em chân thành cám ơn Khoa Công NghThông Tin, trường Đại Hc Khoa Hc TNhiên, Đại hc Quc gia Tp. HChí Minh đã to điu kin thun li cho chúng em trong quá trình hc tp và thc hin đề tài tt nghip.

Chúng em xin nói lên lòng biết ơn sâu sc đối vi Th.S Trn Minh Triết. Chúng em xin chân thành cám ơn Thy đã luôn quan tâm, tn tình hướng dn chúng em trong quá trình hc tp, nghiên cu và thc hin đề tài.

Chúng em xin chân thành cám ơn quý Thy Cô trong Khoa Công NghThông Tin đã tn tình ging dy, trang bcho em nhng kiến thc quý báu trong sut quá trình hc tp và thc hin đề tài. Chúng em cũng xin gi lòng biết ơn đến thy cô và bn bè trong lp đã giúp đỡ, động viên tinh thn chúng em rt nhiu trong sut quá trình thc hin lun văn này.

Chúng em nhmãi công ơn gia đình đã chăm sóc, động viên và to mi điu kin thun li cho chúng em hoàn thành tt lun văn này.

Mc dù đã cgng hoàn thành lun văn trong phm vi và khnăng cho phép nhưng chc chn skhông tránh khi nhng thiếu sót, kính mong nhn được sgóp ý và tn tình chbo ca quý Thy Cô và các bn.

Mt ln na, xin chân thành cám ơn và mong luôn nhn được nhng tình cm chân thành ca tt cmi người.

Tp. HChí Minh, tháng 7 năm 2005

HBo Thanh - Nguyn Hoàng Long

Trang i

Mục lục TUChương 1 TỔNG QUANUT 1 TUThực trạng hiện tạiUT ....................................................................................................... 1 TU1.1UT TUPhân tích,
Mục lục
TUChương
1 TỔNG QUANUT
1
TUThực
trạng
hiện tạiUT
.......................................................................................................
1
TU1.1UT
TUPhân tích, đánh giá một số mô hình kiến trúc phân tán hiện tạiUT
3
TU1.2UT
TUCác vấn đề phát sinh, nguyên nhân và biện pháp khắc phụcUT
6
TU1.3UT
TUChương
2
GIỚI
THIỆU
VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ
(SERVICE-
ORIENTED ARCHITECTURE)UT
10
TUKiến
trúc hướng dịch vụ
gì ?UT
10
TU2.1UT
TUBốn
nguyên tắc chính của hệ thống
11
TU2.2UT
TU2.2.1UT
TUSự
phân
định
ranh giới rạch
ròi giữa các dịch vụUT
11
TU2.2.2UT
TUCác dịch vụ tự hoạt độngUT
12
TU2.2.3UT
12
TU2.2.4UT
..........................................................................................
TUTính tương thích của dịch vụ dựa trên chính sáchUT
12
TUCác tính chất của một hệ thống SOAUT
12
TU2.3UT
TU2.3.1UT
TULoose
12
TU2.3.2UT
TUSử
dụng
lại dịch vụUT
14
TU2.3.3UT
TUSử
dụng
dịch
vụ bất đồng bộUT
14
TU2.3.4UT
TUQuản
lý các chính sáchUT
14
TU2.3.5UT
TUCoarse
15
TU2.3.6UT
TUKhả
năng
cộng
tìm và ràng buộc độngUT
17
TU2.3.7UT
TUTự
động
17
TU2.3.8UT
TUTự
hồi
phụcUT
18
TULợi
ích của
SOAUT
19
TU2.4UT
TUMột
số
........................................................................................................
mô hình triển khai
23
TU2.5UT
TUKiến
trúc phân tầng
chi tiết
của
SOAUT
26
TU2.6UT
TU2.6.1UT
TUTầng
TU2.6.2UT
TUTầng
TU2.6.3UT
TUTầng
kết nốiUT
orchestrationUT
ứng dụng tổng
26
27
28
TUChương
3
XÂY DỰNG
HỆ THỐNG SOAUT.........................................................................31
TUNhững
thách thức
khi
xây dựng hệ thống SOAUT
.......................................................
31
TU3.1UT
TUXây
dựng hệ
thống SOAUT ...........................................................................................
34
TU3.2UT
TU3.2.1UT
TUGiới
thiệu
bài
toánUT
34
TU3.2.2UT
TUMột
..........................................................................................................
TUCác bước xây dựng hệ thống SOAUT
số
khái niệmUT
35
TU3.2.3UT
38
TUTriển
khai SOA trong thực
46
TU3.3UT
TU3.3.1UT
TUCác đặc trưng chính về kinh
doanhUT
47
TU3.3.2UT
TUCác đặc trưng chính về công nghệUT
48
TU3.3.3UT
TUCác
chuẩn
50
TU3.3.4UT
TUKiến
trúc hướng
dịch vụ
Thương
mại điện tử theo yêu cầuUT
50

Trang ii

TUChương 4 SOA VÀ VẤN ĐỀ BẢO MẬTUT...........................................................................52 TUCác thách thức về bảo mật trong hệ
TUChương
4
SOA VÀ VẤN ĐỀ
BẢO
MẬTUT...........................................................................52
TUCác
thách thức
về
bảo
mật trong hệ thống SOAUT
52
TU4.1UT
TU4.1.1UT
TUĐặt vấn đềUT
52
TU4.1.2UT
TUCác
vấn
đề bảo
mật liên quan cần quan tâmUT
53
TUGiới
thiệu về
kiến trúc bảo
mật hướng dịch vụUT
55
TU4.2UT
TU4.2.1UT
TUMột
số
yêu cầu đặt ra của kiến trúcUT
55
TU4.2.2UT TUKhái niệm về kiến trúc bảo mật hướng dịch vụ SOSA (service-oriented
security architecture)UT .................................................................................................................
TU4.2.3UT TUKiến trúc bảo mật hướng dịch vụ
58
60
TUGiới
thiệu
một số chuẩn
về bảo mật trong XMLUT
65
TU4.3UT
TU4.3.1UT
TUWS-SecurityUT
66
TU4.3.2UT
TUXML-SignatureUT
67
TU4.3.3UT
TUXML-EncryptionUT
..........................................................................................................
67
TU4.3.4UT
TUXML
Key Management Specification:UT
67
TU4.3.5UT
TUSecurity
Assertion Markup
Language
67
TUKhai
thác tính năng bảo
mật
web service của
bộ thư viện
WSE (Web
TU4.4UT
Services Enhancements)UT
68
TU4.4.1UT
TUNhững
tính năng chính của bộ thư viện
WSEUT
68
TU4.4.2UT
TUKiến
trúc
của
WSEUT
71
TUChương
5
SOA VÀ VẤN ĐỀ
TÍCH
HỢPUT
73
TUGiới
thiệu về
Enterprise Application IntegrationUT
73
TU5.1UT
TU5.1.1UT TUHiện
73
TU5.1.2UT
TUMột
số
lý do khiến các tổ chức doanh nghiệp phải quan tâm đến vấn đề tích
hợp (xét về mặt nghiệp vụ)UT
74
TU5.1.3UT
TUCác
vấn
đề kỹ
thuật gặp phải trong tích
hợp hệ
75
TU5.1.4UT
TUCác
yêu
cầu
cho một giải pháp tích hợpUT
76
TU5.1.5UT
TUViệc
tích hợp
76
TU5.2UT TUPhân tích một số kỹ thuật tích hợp sử dụng
78
TU5.2.1UT
TUKhái
niệm
78
TU5.2.2UT
TUCác
sản phẩm Middleware
sử dụng trong
tích hợp hệ thốngUT
78
TU5.3UT TUSOA và web service giải quyết vấn đề tích hợp như thế nàoUT
82
TU5.3.1UT
TUCông
nghệ
XML và web
serviceUT ..................................................................................
82
TU5.3.2UT
TUWeb
services
integration (WSI) và
Service-oriented
integration
84
TU5.4UT TUỨng dụng SOA và web service để tích hợp các hệ thống được xây dựng
trên .NET và J2EEUT ..............................................................................................................
87
TU5.5UT TUỨng dụng SOA và web service trong việc tích hợp các hệ thống cũUT
90
TUChương
6 SOA VÀ QUẢN LÝ TIẾN TRÌNH
NGHIỆP
VỤUT
95
TUMột
số
khái
niệm cơ bản về Quản lý tiến trình nghiệp vụUT
95
TU6.1UT
TU6.1.1UT
TUTiến
trình nghiệp
95
TU6.1.2UT
TUQuản
lý tiến
..........................................................................................................
lý tiến trình:UT
trìnhUT
96
TU6.1.3UT
TUHệ
quản
97
TUQuản
lý tiến
trình,
SOA và Web ServiceUT
98
TU6.2UT
TU6.2.1UT
TUQuản
lý tiến
trình, SOA và Web
Service
được kết hợp thế nàoUT
99
TU6.2.2UT
TUPhân
tích
một ví dụ kết hợp Quản lý tiến trình, SOA và web
102

Trang iii

TUThiết kế tiến trìnhUT 108 TU6.3UT TU6.3.1UT TUOrchestration và kỹ thuật khi thiết kế tiến trìnhUT
TUThiết
kế
tiến trìnhUT
108
TU6.3UT
TU6.3.1UT
TUOrchestration
kỹ thuật khi thiết kế tiến trìnhUT
108
TU6.3.2UT
TUCác
yêu
cầu
110
TU6.3.3UT
TUGiới
thiệu
một số ngôn ngữ đặc tả tiến
112
TUChương
7 ỨNG DỤNG “SOA SUITE” UT
125
TUGiới
thiệuUT
125
TU7.1UT
TU7.1.1UT
TUỨng
dụng
“SOA Suite”UT
125
TU7.1.2UT
TUCác
thành phần
126
TU7.2UT TUServiceBusUT
...............................................................................................................
126
TU7.2.1UT
TUVai
trò chức
năng
của ServiceBusUT
sở tri thứcUT
126
TU7.2.2UT
TUServiceBus
129
TU7.2.3UT
TUCác
thành phần
130
TU7.2.4UT
TUCơ
chế hoạt động của ServiceBusUT
134
TU7.2.5UT
TUServiceBus
tích hợp với
136
TUBpelEngineUT
..............................................................................................................
136
TU7.3UT
TU7.3.1UT
TUKiến
trúc
của
BpelEngineUT
136
TU7.3.2UT
TUCác
bước triển
khai
một business process trong
144
TUChương
8
THÀNH PHẦN BPEL DESIGNER CỦA SOA SUITEUT
145
TUGiới
thiệuUT
145
TU8.1UT
TUChức
145
TU8.2UT
TU8.2.1UT
TUTạo
mới, chỉnh sửa, thiết kế
một tiến trìnhUT
145
TU8.2.2UT
TUChức
năng
kết xuất
tiến trình ra
file ảnhUT
145
TU8.2.3UT
TUChức
năng
triển khai
một tiến trình
serverUT
146
TUThiết
kế
cài đặtUT
146
TU8.3UT
TU8.3.1UT
TUCấu
trúc chương trìnhUT
diện
146
TU8.3.2UT
TUGiao
147
TUHướng
dẫn
sử dụngUT
164
TU8.4UT
TU8.4.1UT
TUThiết
kế
một tiến trìnhUT
164
TU8.4.2UT
TUTriển
khai
169
TUChương
9 ỨNG DỤNG
SOA
ĐỂ THIẾT KẾ MỘT SỐ TIẾN TRÌNHUT
170
TUTiến
trình dịch tự
động
đa ngôn ngữUT
170
TU9.1UT
TU9.1.1UT
TUMô tảUT
170
TU9.1.2UT
TUSơ đồUT
171
TU9.1.3UT
TUMô
tả
luồng xử
172
TUTiến
trình thu thập
thông tin từ
bên ngoàiUT
172
TU9.2UT
TU9.2.1UT
TUMô tảUT
172
TU9.2.2UT
TUSơ đồUT
173
TU9.2.3UT
TUMô
tả
luồng xử
173
TUTiến
trình chấm thi
tự
động qua mạngUT
174
TU9.3UT
TU9.3.1UT
TUMô tảUT
174
TU9.3.2UT
TUSơ đồUT
175
TU9.3.3UT
TUMô
tả
luồng xử
176

Trang iv

TUChương 10 Kết luậnUT.......................................................................................................177 TU10.1UT TUMột số kết quả đạt đượcUT 177 TU10.2UT TUHướng phát triểnUT
TUChương
10 Kết luậnUT.......................................................................................................177
TU10.1UT
TUMột
số
kết
quả đạt đượcUT
177
TU10.2UT
TUHướng
phát
triểnUT
178
TUTài
liệu
tham khảoUT..........................................................................................................180
TUPhụ
lục AUT
TUĐẶC
TẢ
NGÔN NGỮ BPEL V1.1UT
182
TUĐịnh
nghĩa
một tiến trình nghiệp vụ (business
process)UT
182
TUA.1UT
TUA.1.1UT
TUCấu
trúc của
TUA.1.2UT
TUChu
kỳ
sống
một tiến trình nghiệp vụ:UT
của
182
187
TUPartner,
Partner Link Type, và Partner LinkUT
189
TUA.2UT
TUA.2.1UT
TUPartnerUT
.........................................................................................................................
189
TUA.2.2UT
TUPartner
Link
TypeUT
190
TUA.2.3UT
TUPartner
190
TUXử
lý dữ
191
TUA.3UT
TUA.3.1UT
TUBiểu
thứcUT
191
TUA.3.2UT
TUVariable
(biến)UT
193
TUPhép
195
TUA.4UT
TUCác
gánUT
xử lý cơ
197
TUA.5UT
TUA.5.1UT
TUCác
thuộc
tính cơ
sở của mỗi xử lýUT
197
TUA.5.2UT
TUCác
thành phần
............................................................................
cơ sở của mỗi xử lýUT
198
TUA.5.3UT
TUGọi
một phương thức của
Web Service (Invoke)UT
198
TUA.5.4UT
TUCung
cấp
các
200
TUA.5.5UT
TUCập
nhật
nội
phương thức của Web
dung của biếnUT
201
TUA.5.6UT
TUBáo
lỗi
201
TUA.5.7UT TUWaitingUT
202
TUA.5.8UT
TUKhông
làm
gì cảUT
202
TUCác
xử lý có
cấu trúc
(structure activity)UT
203
TUA.6UT
TUA.6.1UT
TUSequenceUT
.....................................................................................................................
203
TUA.6.2UT
TUSwitchUT..........................................................................................................................
204
TUA.6.3UT
TUWhileUT
205
TUA.6.4UT
206
TUA.6.5UT
TUFlowUT.............................................................................................................................
207
TUA.7UT TUScopeUT
215
TUA.7.1UT
TUXử
lý dữ liệu
data và Partner LinkUT
216
TUA.7.2UT
TUXử
lý lỗi trong tiến
trình
nghiệp vụUT ............................................................................
216
TUA.7.3UT
TUCompensation
handlerUT
217
TUA.7.4UT
TUXử
lý lỗiUT
......................................................................................................................
sự kiệnUT ...............................................................................................................
219
TUA.7.5UT
TUXử
221
TUPhụ
lục BUT
TUSOA
VÀ WEB SERVICESUT
225
TUKiến
trúc Web servicesUT
225
TUB.1UT
TUCác
đặt trưng của
Web
227
TUB.2UT
TUB.2.1UT
TULoosely
coupledUT
227
TUB.2.2UT
TUTính
đóng
góiUT
227

Trang v

TUB.2.3UT TUContractedUT 227 TUB.2.4UT TUGiao 227 TUB.2.5UT TUTự định nghĩaUT 228 TUB.2.6UT TUTìm kiếm và triệu
TUB.2.3UT
TUContractedUT
227
TUB.2.4UT
TUGiao
227
TUB.2.5UT
TUTự
định
nghĩaUT
228
TUB.2.6UT
TUTìm
kiếm và
triệu
gọi độngUT
228
TULợi
ích của
Web servicesUT
228
TUB.3UT
230
TUB.4UT
231
TUB.5UT
TUSOAPUT
TUWSDLUT ......................................................................................................................
TUUDDIUT
234
TUB.6UT
TUMột
số
chuẩn
Web services mớiUT
238
TUB.7UT
TUSOA
và Web ServiceUT
238
TUB.8UT
TUPhụ
lục CUT
TUĐỊNH
DẠNG
CÁC FILE TRONG
PROJECT BPEL DESIGNERUT
243
Trang vi Danh sách hình TUHình 1-1 – Tích hợp dạng điểm nối điểmUT 2 ...................................................................
Trang vi
Danh sách hình
TUHình 1-1 – Tích hợp dạng điểm nối điểmUT
2
...................................................................
TUHình 1-3 – Mô hình tương tác của đối tượng EJBUT......................................................................5
...................................................................................
TUHình 1-2 – Các thành phần của đối tượng CORBAUT
4
TUHình 1-4 – Mô hình tương tác của các đối tượng DCOMUT..........................................................6
TUHình 1-5 – Thực trạng cơ sở hạ tầng IT của hầu hết các tổ chức hiện nay.UT...............................8
TUHình 2-1 – Sơ đồ cộng tác trong SOAUT
.....................................................................................
10
TUHình 2-2 - Tính chất loose-couplingUT
........................................................................................
TUHình 2-3 – Các đối tượng fine-grainedUT
13
....................................................................................
TUHình 2-4 – Các đối tượng coarse-grainedUT
TUHình 2-5 – Các mức độ granularityUT
16
................................................................................
16
..........................................................................................
17
TUHình 2-6 - Mô hình service registryUT
TUHình 2-7 – Mô hình service brokerUT
.........................................................................................
23
..........................................................................................
24
TUHình 2-8 – Mô hình service busUT
...............................................................................................
TUHình 2-9 – Mô hình service bus phân tánUT
25
................................................................................
TUHình 2-10 – Kiến trúc phân tầng của hệ thống SOAUT
25
...............................................................
TUHình 2-11 – Một công thông tin cung cấp thông tin trong một vùng nhìn duy nhấtUT
26
..............
TUHình 2-12 – Các portlet truy xuất dữ liệu từ nhiều nguồn khác nhau được cung cấp
dưới dạng dịch vụUT .....................................................................................................................
29
29
TUHình 3-1 - Các bước cần thực hiện khi triển khai một hệ thống SOA.UT
...................................
35
TUHình 3-2 – Phân rã domain thành một dãy các vùng chức năng liên
quanUT.............................
38
TUHình 3-3 – Sơ đồ sử dụng của hệ thống bán hàngUT
...................................................................
39
TUHình 3-4 – Sơ đồ các use case và quy trình nghiệp vụUT
............................................................
39
TUHình 3-5 – Ví dụ về mô hình goal-serviceUT
...............................................................................
41
TUHình 3-6 – Các use case nghiệp vụ được “gắn” trên hệ thống conUT
........................................
43
TUHình 3-7 – Phân bổ dịch vụUT
......................................................................................................
TUHình 3-8 – Mẫu đặc tả thành phầnUT
44
...........................................................................................
TUHình 3-9 – Chọn lựa một giải pháp thực thi thích hợp.UT
45
...........................................................
46

Trang vii

TUHình 3-10 – Sơ đồ tổng quan về thương mại điện tử theo yêu cầuUT 46
TUHình
3-10 – Sơ đồ tổng quan về thương
mại
điện tử theo yêu cầuUT
46
TUHình
4-1
– Kiến trúc bảo
mật hướng dịch
vụ (SOSA)UT
60
TUHình
4-2 – Cấu trúc phân tầng của
Standard-based Security Info Exchange
61
TUHình
4-3 –
Security Token
Service.UT
63
TUHình
4-4 –
Các tầng
kỹ thuật bên dưới của
một
hệ thống bảo mật.UT
66
TUHình
4-5 – Xác nhận
số
một thông điệp.UT
69
TUHình
4-6 –
Mã hóa
một thông điệpUT
69
TUHình
4-7 –
Điều phối
thông điệp SOAP.UT
70
TUHình
4-8 – Cơ chế sử
dụng
bộ lọc của
WSEUT
72
TUHình
5-1 –
Vai trò cơ bản
của middleware.UT
78
TUHình
5-2 – Cơ chế hàng đợiUT
79
TUHình
5-3 – Cơ chế
Publish/SubscribeUT
Procedure CallUT ...........................................................................................
80
TUHình
5-4
- Remote
80
TUHình
5-5 – Distributed Object ModelUT
5-6 – Sử dụng web service trong vấn
81
TUHình
đề tích
hợp.UT
83
TUHình
5-7
– Web
services integration
85
TUHình
5-8 – Service-oriented integration
(SOI)UT
86
TUHình
5-9 – Sự khác
nhau giữa
kiến trúc .NET và
J2EEUT
88
TUHình
5-10 – Vai trò của
WSDL trong liên kết
các hệ thống.UT
89
TUHình
5-11
– WSDL mô tả cách các thông
điệp SOAP được xử
lýUT .........................................
89
TUHình
5-12 – Dịch
vụ hóa
một CORBA serverUT
92
TUHình
6-1 –
Minh họa
95
TUHình
6-2
– Các thành phần của
một
hệ thống quản lý tiến trình nghiệp vụUT
nhất”của các hệ thống doanh nghiệp.UT
97
TUHình
6-3 –
Thực trạng “không đồng
...........................
Web ServiceUT
99
TUHình
6-4 – Tầng dịch vụ
dựa trên mô hình SOA với công nghệ
100
TUHình
6-5 – Tầng tiến trình nghiệp
vụ sử dụng tầng dịch
100
TUHình
6-6 – Các hệ thống BPM khi không có tầng
101
TUHình
6-7 –
Ví dụ về
các hệ thống cũ cần được service hóa.UT
103
TUHình
6-8 –
Mô hình dữ
liệu, dịch vụ và
tiến trình.UT
103

Trang viii

TUHình 6-9 105 TUHình 6-10 – Xây dựng các service – Xây dựng các dịch đơn
TUHình
6-9
105
TUHình
6-10
– Xây dựng các service
– Xây dựng các dịch
đơn
vụ tích hợp.UT
106
TUHình
6-11
– Xây dựng các tiến trình nghiệp
107
TUHình
6-12 – Cung
cấp các tiến trình nghiệp
108
TUHình
6-13 – Sự
khác
nhau giữa orchestration và
choreography.UT
109
TUHình
6-14 – Tiến trình cung cấp khả năng tái sử
dụng.UT
111
TUHình
6-15 – Tiến trình
được
định
nghĩa
bằng
112
TUHình
6-16 – Sơ đồ luồng
trong WSFLUT
113
TUHình
6-17 – Sơ đồ tổng thể
trong WSFLUT
113
TUHình
6-18 –
Liên kết giữa các xử lý trong
WSFLUT
114
TUHình
6-19 – Một
ví dụ
về
các luồng thông điệp trong tương tác giữa các serviceUT
115
TUHình
6-20 – Minh
họa
Web Service
Cherography
116
TUHình
TUHình
6-21 – Một tiến trình
6-22 – Một tiến trình
được mô tả bằng
WSCIUT
117
đặc
tả bởi ngôn ngữ BPELUT
119
TUHình
6-23 – Mẫu xử lý
6-24 – Mẫu xử lý
WP2 và WP3UT
120
TUHình
WP4 và WP5UT
121
TUHình
6-25 – Mẫu xử lý WP8UT
122
TUHình
6-26 – Mẫu giao tiếp
6-27 – Mẫu giao tiếp
CP1 và
123
TUHình
124
TUHình
7-1
– Các thành phần của
126
TUHình
7-2 –
Môi trường trao đổi
127
TUHình
7-3 –
Liến kết
giữa
ServiceBus và WSE
127
TUHình
7-4 –
Qui trình xử lý
thông điệp của serviceBUS.UT
135
TUHình
7-5 – Sơ đồ
kiến trúc của
BpelEngine.UT
137
TUHình
TUHình
7-6 – Tạo các
7-7 – Sơ đồ
đối tượng activity implementation.UT
139
điều
141
TUHình
7-8 – Sơ đồ phân
143
TUHình
8-1 – Cấu trúc thư
phối thông điệp của
cấp của các xử
mục dùng triển khai
một tiến trình BPELUT
169
TUHình
9-1 –
Tiến trình dịch tự
độngUT.........................................................................................
171

Trang ix

TUHình 9-2 – Tiến trình thu thập thông tin và dịch tự độngUT ...................................................... TUHình 9-3
TUHình
9-2 –
Tiến trình thu thập thông tin và dịch tự
độngUT ......................................................
TUHình
9-3 –
Tiến trình chấm thi
tự độngUT .................................................................................
TUHình
B-1
– Một
SOAP Operation đơn giảnUT...........................................................................
TUHình
B-2
– Cấu trúc thông
điệp
SOAPUT ..................................................................................

173

175

231

231

Trang x

Danh sách các thuật ngữ và khái niệm dịch vụ có thể truy cập đến nó.
Danh sách các thuật ngữ và khái niệm
dịch vụ có thể truy cập đến nó.

Service Consumer : người sdng dch vụ ở đây có thlà mt ng dng, mt dch vhoc là các module phn mm khác yêu cu sdng dch v. Đây là thc ththc thi quá trình định vdch vthông qua service registry, liên kết vi dch vvà thc thi các chc năng ca dch v. Người sdng dch vthc thi chc năng dch vbng cách mt gi yêu cu theo đúng dnh dng được mô ttrong hp đồng.

Service provider : nhà cung cp dch vụ ở đây là mt dch vchp nhn và xlý nhng yêu cu tngười sdng dch v. Nó có thlà mt hthng mainframe, mt thành phn hoc các dng phn mm khác xlý yêu cu dch

v. Nhà cung cp gi hp đồng lên service registry để nhng người sdng

Service Registry : service registry là “thư mc” trên mng cha tt ccác dch vụ đăng ký. Service registry chp nhn và lưu trcác hp đồng gi đến tnhà cung cp dch vvà cung cp các hp đồng tùy theo yêu cu ca người sdng dch v.

Service contract : mt hp đồng (contract) là mt đặc tvcách thc bên sdng dch vtrao đổi liên lc vi bên cung cp dch v. Nó chrõ ra định dng yêu cu và đáp trca dch v.

Distributed computing : mt dng tính toán trong đó dliu và ng dng được phn tán trên nhiu máy hoc hthng tách bit nhưng li được liên kết và tích hp thông qua các dch vmng và chun tích hp để mà chúng có ththc thi chc năng như trong mt môi trường thng nht.

Enterprise application : mt sn phm phn mm được thiết kế để tích hp

các hthng máy tính bên trong doanh nghip li vi nhau. Mc tiêu là để tích

hp các xlý nghip vchính (ví dnhư bán l, kim toán, tài chính, qun lý nhân s, tn kho và sn xut). Enterprise application được dùng rng rãi trong

Trang xi

bối cảnh cần liên hệ chặt chẽ với nhà cung cấp, với đối tác kinh doanh
bối cảnh cần liên hệ chặt chẽ với nhà cung cấp, với đối tác kinh doanh và với
khách hàng.
Loose coupling: đây là một khái niệm trong tích hợp ứng dụng. Hai thành phần
trao đổi thông tin không kết nối trực tiếp với nhau mà qua một thành phần trung
gian được đặc tả rõ ràng từ trước. Các thành phần tham gia phải đảm bảo một
cơ chế ngữ nghĩa chung để các thông điệp chứa bên trong chúng một ngữ nghĩa
đủ để tự mô tả chính mình.
Tight coupling : ngược lại với loose coupling.
Interface : thành phần giao tiếp.
Coarse-grained : mô tả mức độ gom nhóm xử lý của một thành phần xử lý
thông tin. Các thành phần có tính coarse-grained thường truyền nhận và xử lý
theo từng khối dữ liệu có thông tin ngữ cảnh lớn và số lần trao đổi thông tin
trong một giao tác là ít. Xem Hình 2-4 để hiểu rõ hơn.
• Fine-grained : ngược lại với coarse-grained. Các thành phần có tính fine-
grained truyền nhận và xử lý theo từng đơn vị nhỏ và có ngữ cảnh ngầm định,
cần nhiều lần trao đổi thông tin trong một giao tác dẫn đến tăng băng thông sử
dụng và kéo dài thời gian hồi đáp. Xem hình Hình 2-3 để hiểu rõ hơn.
• Legacy system : các hệ thống ứng dụng được cài đặt từ trước nhưng vẫn còn
được sử dụng. Thông thường đây là những hệ thống sử dụng công nghệ đã lỗi
thời nhưng vẫn quan trọng và còn hoạt động tốt. Đây là thành phần nền tảng
cung cấp xử lý cho các dịch vụ hoạt động ở cấp cao hơn.
Granularity : khái niệm mô tả độ phức tạp của tiến trình hoặc dịch vụ.
Granularity được chia làm hai loại là “fine-grained” và “coarse-grained”. Khái
niệm granularity được hiểu một cách trừu tượng không phần biệt hai loại trên và
tùy ngữ cảnh mà có cảnh hiểu khác nhau.
• Interoperability : khả năng cộng tác, trao đổi thông tin giữa các hệ thống phân
tán

Trang xii

Trang xii • Orchestration : s ự k ế t h ợ p, đ i ề

Orchestration : skết hp, điu phi hot động ca nhng Web Service theo mt quy trình mong mun.

Chereography : tương tnhư orchestration nhưng chtp trung vào quan hgia các thành phn dch vvi nhau theo mô hình peer-to-peer.

Middleware : Khái nim middleware dùng để mô tphn mm liên kết các phn mm khác li vi nhau.

BPEL : Business Process Execution Language, mt ngôn ngXML được thiết kế nhm cho phép kết hp các xlý trên mt môi trường tính toán phân tán li vi nhau theo mt lung xlý hoc quy trình nghip vcó cu trúc định trước.

Trang xiii

MỞ ĐẦU
MỞ ĐẦU

Nhu cu ng dng các sn phm ca ngành

Ngày nay, công nghthông tin đang là nn công nghmũi nhn trong chiến lược phát trin kinh tế, xây dng đất nước ca hu hết các quc gia. Các sn phm công nghthông tin đã và đang được ng dng rng rãi trong mi lãnh vc ca đời sng kinh tế, xã hi và hu hết đều đem đến nhng giá trthiết thc.

Đối tượng phc vchyếu ca ngành công nghthông tin hin nay chính là các

tchc, các cơ sdoanh nghip,

... công nghmũi nhn này để htrtin hc hóa các qui trình nghip v, mà vn ttrước đến nay chỉ được thc hin mt cách thcông, đang ngày trnên mt nhu cu cp thiết. Các sn phm dng này đều có chung các đặc đim là độ phc tp ln, chi phí sn xut và bo trì cao, mc độ cthcòn tùy thuc vào độ

ln ca tchc cũng như độ phc tp ca các qui trình nghip vcn xlý.

Vi sphát trin ca internet và vi xu thế hi nhp chung ca toàn thế gii, các tchc, các cơ sdoanh nghip cn bt tay, phi hp hot động và chia stài nguyên vi nhau để nâng cao hiu quhot động. Lúc này các sn phm sđộ phc tp ln hơn, từ đó kéo theo các vn đề liên quan như chi phí sn xut, chi phí qun lý và bo trì. Bên cnh đó, ngành công nghphn mm còn phi đối mt vi các khó khăn trong xu thế mi như vn đề an ninh bo mt, vn đề tái sdng và mrng các hthng sn có, vn đề vskhông tương thích gia các hthng khác nhau ca nhiu tchc …

Để gii quyết các vn đề trên, nhiu gii pháp đã được nghiên cu và ng dng. Nhưng hu hết các gii pháp này không gii quyết các khó khăn mt cách trit để và kết quả đạt được cũng không như mong đợi. Hin nay, mt gii pháp mi đang được cng đồng công nghthông tin rt quan tâm, đó là “Kiến trúc hướng dch v” (Service-oriented Architecture - SOA). Gii pháp này bước đầu đã được ng dng trong mt sdán và đều đem li nhng kết qukhquan. Và người ta tin rng SOA có thgii quyết tt nhng thách thc đã nêu trên, và s

Trang xiv là “xu thế trong tương lai”. Thế thì “Kiến trúc hướng dịch vụ” là
Trang xiv
là “xu thế trong tương lai”. Thế thì “Kiến trúc hướng dịch vụ” là gì? Cách giải
quyết vấn đề cũng như là những lợi ích đạt được của kiến trúc này như thế nào?
Đây chính lý do để chúng em thực hiện đề tài
“NGHIÊN CỨU KIẾN TRÚC HƯỚNG DỊCH VỤ
(SERVICE-ORIENTED ARCHITECTURE) VÀ ỨNG DỤNG”
Mục tiêu của đề tài
Đề tài sẽ tập trung vào tìm hiểu các vấn đề sau:
• Nghiên cứu các cơ sở lý thuyết của kiến trúc hướng dịch vụ (SOA) thông qua
việc tìm hiểu khái niệm về “kiến trúc hướng dịch vụ”, các tính chất cùng với
những lợi ích đạt được của hệ thống SOA.
• Tìm hiểu các vấn đề liên quan đến xây dựng hệ thống SOA, bao gồm những
thách thức gặp phải, những nguyên tắc thiết kế và các bước cần thực hiện khi
triển khai hệ thống SOA.
Ứng dụng SOA trong xây dựng kiến trúc bảo mật hướng dịch vụ. Tìm hiểu một
số chuẩn bảo mật trong XML và khai thác tính năng bảo mật web service của
bộ thư viện lập trình WSE (Web Services Enhancements).
• Tìm hiểu về nhu cầu và các thách thức gặp phải trong việc tích hợp hệ thống.
Từ đó, ứng dụng SOA và Web service để giải quyết vấn đề tích hợp.
• Tìm hiểu khái niệm về tiến trình nghiệp vụ, quản lý tiến trình, mối quan hệ của
tiến trình nghiệp vụ trong hệ thống SOA. Xem xét các nguyên tắc thiết kế và
khảo sát một số ngôn ngữ đặc tả tiến trình nghiệp vụ.
• Xây dựng ứng dụng SOASuite nhằm hỗ trợ trong việc thiết kế, xây dựng và
triển khai hệ thống kiến trúc hướng dịch vụ. Ứng dụng cung cấp môi trường
linh hoạt để quản lý các dịch vụ có trong hệ thống dựa trên cơ chế thông điệp.
Ngoài ra, SOASuite còn cung cấp môi trường phát triển cho phép người dùng

Trang xv

có thể thiết kế, xây dựng và thực thi và quản lý các tiến trình nghiệp
có thể thiết kế, xây dựng và thực thi và quản lý các tiến trình nghiệp vụ từ
những web services đã được xây dựng sẵn thông qua các thao tác kéo thả mà
không cần viết mã lệnh xử lý.
Nội dung luận văn
Nội dung của luận văn được trình bày gồm:
• Chương 1: trình bày, phân tích về một số khó khăn của ngành công nghệ phần
mềm hiện nay. Từ đó giới thiệu một số mô hình kiến trúc phân tán được xây
dựng để giải quyết các khó khăn trên như là CORBA, EJB, DCOM.
• Chương 2: giới thiệu khái niệm về kiến trúc hướng dịch vụ SOA, các nguyên
tắc cũng như là tính chất của hệ thống SOA; phân tích một số lợi ích đạt được
và khảo sát một số mô hình của kiến trúc hướng dịch vụ. Chương này cũng trình
bày về kiến trúc phân tầng của hệ thống SOA.
Chương 3: trình bày các vấn đề liên quan đến việc xây dựng hệ hống SOA, bao
gồm phân tích các thách thức gặp phải và xem xét qui trình các bước nên thực
hiện khi triển khai hệ thống SOA.
Chương 4: trình bày về các khó khăn gặp phải trong việc bảo vệ hệ thống SOA.
Từ đó xem xét, phân tích một giải pháp đó là mô hình kiến trúc bảo mật hướng
dịch vụ. Chương này cũng giới thiệu một số chuẩn bảo mật trong XML như
WS-Security, XML-Signature, XML-Encryption, XML Key Management
Specification, SAML và bộ thư viện WSE (Web Services Enhancements) hỗ trợ
lập trình bảo mật web services.
• Chương 5: trình bày và phân tích về nhu cầu và một số khó khăn gây trở ngại
trong vấn đề tích hợp hệ thống. Qua đó xem xét môt số giải pháp được sử dụng
trong tích hợp, bao gồm giải pháp sử dụng các sản phẩm middleware và giải
pháp ứng dụng SOA và Web services: Web Service Integration (WSI) và
Service-Oriented Integration (SOI). Sau đó, xem xét cụ thể giải pháp ứng dụng

Trang xvi

khai và thực thi cho các tiến trình nghiệp vụ.
khai và thực thi cho các tiến trình nghiệp vụ.

SOA và Web services trong tích hp các hthng xây dng trên nn .NET và J2EE và trong tái sdng li các hthng cũ.

Chương 6: trình bày mt skhái nim liên quan vqun lý tiến trình. Phân tích mi quan hkết hp gia qun lý tiến trình, SOA và Web services. Xem xét các vn đề liên quan đến thiết kế tiến trình nghip v. Ngoài ra, chương này cũng sgii thiu vmt sngôn ngữ đặc ttiến trình hin đang được sdng phbiến, như là Web Service Flow Language (WSFL), XLANG, Web Service Choreography Interface (WSCI) và Business Process Execution Language For Web Service (BPEL4WS)

Chương 7: gii thiu tng quát về ứng dng SOASuite. Trình bày vhai thành phn ServiceBus và BpelEngine. ServiceBus cung cp môi trường qun lý các dch vda trên cơ chế thông đip và BpelEngine cung cp môi trường trin

Chương 8: gii thiu vthành phn thba ca SOASuite, bcông c“BpelDesigner” cung cp môi trường trc quan htrngười dùng xây dng, thiết kế các tiến trình nghip vChương 9: gii thiu mt smu tiến trình được thiết kế bng bcông cBpelDesigner. Chương 10: trình bày mt skết lun và hướng phát trin ca đề tài.

Trang 1

Chương 1 TỔNG QUAN Thực trạng hiện tại
Chương 1
TỔNG QUAN
Thực trạng hiện tại

Ni dung ca chương 1 trình bày vmt skhó khăn ca ngành công nghphn mm hin nay. Từ đó gii thiu, phân tích các ưu khuyết đim ca mt smô hình kiến trúc phân tán được xây dng để gii quyết các khó khăn trên như là CORBA, EJB, DCOM…

1.1

Phn mm ngày nay đang ngày càng trnên phc tp và dường như đang vượt khi khnăng kim soát ca các mô hình phát trin phn mm hin có. Albert Einstein đã nói :“Mi vic nên thc hin theo cách đơn gin đến mc có th…” , mt thc trng đáng bun là có rt nhiu hthng phn mm được xây dng vi kiến trúc quá phc tp, chi phí phát trin và bo trì cao, đặc bit là vi các hthng phn mm cao cp. Hàng chc năm qua, nhiu kiến trúc phn mm đã được xây dng và trin khai nhm gii quyết các vn đề này. Thế nhưng độ phc tp phn mm vn ctiếp tc tăng và dường như đã trnên vượt quá khnăng xlý ca các kiến trúc truyn thng. Nguyên nhân khiến cho độ phc tp ca các hthng phn mm không ngng tăng cao như thế là do sxut hin ca nhiu công nghmi to nên môi trường không đồng nht, trong khi nhu cu vtrao đổi, chia s, tương tác gia các hthng không thể đáp ng được trong mt môi trường như vy. Làm sao có thdung hòa được nhng cách bit gia cái cũ và cái mi? Các hthng cũ (legacy systems) cn được sdng li thay vì phi gbvà thay mi bi vì chi phí thc hin li từ đầu chc chn scao hơn vic chi phí chuyn đổi cái cũ rt nhiu ln. Vn đề này liên quan đến mt khái nim và cũng là mt thách thc mà các tchc phi đối mt, đó là “tích hp hthng” (Enterprise Architecture Integration - EAI). Hin các dán dng này đang được rt nhiu tchc quan tâm đến, vi mc đầu tư vchi phí đang dn đầu so vi các dng dán khác.

Trang 2

Hình 1-1 – Tích hợp dạng điểm nối điểm
Hình 1-1 – Tích hợp dạng điểm nối điểm

Mt nguyên nhân khác cũng góp phn dn đến tình trng khó khăn như thế chính là vn đề lp trình dư tha không thtái sdng. Hãy xét mt ví d, mt ngân hàng có nhiu chi nhánh khác nhau – mi chi nhánh có mt hthng tách bit và cn kết ni vi các hthng khác ca ngân hàng để phc vkhách hàng được hiu quhơn. Gisrng các hthng này đều được thiết kế rt tt. Thế nhưng các hthng này được xây dng trong nhng khong thi gian khác nhau, trong nhng dán độc lp và khác nhau. Thông thường chc năng “ly sliu thng kê tài khon” blp li trong mi hthng ATM, mi chi nhánh và trong hthng lưu trtài khon, và ngay ckhi người dùng truy cp vào cùng mt tài khon trong cùng mt cơ sdliu. Bây ginếu ngân hàng đó cn phát trin mt hthng cung cp dch vgi tin hay cho vay tin qua mng để tăng cht lượng phc vcho các khách hàng. Hthng mi này sẽ được xây dng thế nào? Nếu gii pháp chn xây dng li hthng mi, thì li tiếp tc mc li sai lm trước đó: dư tha, không đồng nht … Còn nếu chn gii pháp là sdng li các chc năng sn có, thì ta phi đối mt vi chuyn thiết lp các mi liên kết vi toàn bcác hthng trước.

Hu như mi tchc đều phi đối mt vi vn đề tích hp vì nhiu lý do, đặc bit là trong thtrường ngày nay, sthay đổi luôn din ra vi tc độ chóng mt; có thlà mrng thêm chi nhánh, mt hthng bn hàng mi, hoc chỉ đơn gin là cn kết ni các hthng có sn. Nếu có n hthng ng dng cn được kết ni trc tiếp vi nhau, thì cn n*(n-1) kết ni, hoc là interface.

Trang 3

...
...

CORBA – Common Object Request Broker Architecture:

Tương t, nếu có thêm mt hthng ng dng th(n+1) cn đựơc tích hp thêm vào hthng, thì nó đòi hi 2*n interface mi, bao gm cvic thu thp sưu liu , kim th, và bo trì. Theo như Hình 1-1 trên thì 5 ng dng đòi hi 20 kết ni trc tiếp, mt ng dng th6 tích hp thêm vào syêu cu thêm 10 kết ni mi! Thơn na, mã ngun ca các ng dng cũ phi được chnh sa để thêm vào các kết ni, từ đó kéo theo chi phí kim th, bo trì.

Nhng vn đề trước chưa gii quyết, mà nay các tchc li phi đối mt vi nhng thách thc mi: đáp ng nhanh chóng các sthay đổi, gim chi phí phát trin, tăng

tính tương thích và khnăng tái sdng, vi các nhà phát trin phn mm.

Tt cả đã to nên mt áp lc nng nề đối

1.2

Phân tích, đánh giá mt smô hình kiến trúc phân tán hin ti

Ba kiến trúc phân tán phbiến nht hin này là CORBA, DCOM và EJB. Các kiến trúc này là smrng ca các hthng hướng đối tượng bng cách cho phép phân tán các đối tượng trên mng. Đối tượng đó có thcó không gian địa chbên ngoài ng dng, hoăc mt máy khác vi máy cha ng dng trong khi vn được tham chiếu sdng như mt phn ca ng dng.

CORBA được định nghĩa bi Object Management Group (OMG), là mt kiến trúc phân tán m, độc lp nn tng và độc lp ngôn ng.

CORBA Component Model (CCM) là mt ci tiến đáng knhm định nghĩa các mô hình thành phn so vi CORBA. Nó định nghĩa ra quy trình thiết kế, phát trin, đóng gói, trin khai và thc thi các thành phn phân tán. CCM định nghĩa khái nim Ports cho các thành t. Các port này được sdng để kết ni các thành phn có sn vi nhau, to các hthng phân tán phc tp hơn. Mi

thành phn CCM có mt đối tượng Home chu trách nhim qun lý chu k

sng ca đối tượng và được trin khai bên trong mt trình cha (container).

Trang 4

Hình 1-2 – Các thành phần của đối tượng CORBA
Hình 1-2 – Các thành phần của đối tượng CORBA

EJB - Enterprise Java Bean:

► Ưu đim ca CORBA là các lp trình viên có thchn bt kngôn ng, nn tng phn cng, giao thc mng và công nghệ để phát trin mà vn thocác tính cht ca CORBA. Tuy nhiên CORBA smt nhược đim là nó là ngôn nglp trình cp thp, rt phc tp, khó hc và cn mt đội ngũ phát trin có kinh nghim. Ngoài ra các đối tượng CORBA cũng khó có thtái sdng.

Trang 4 Hình 1-2 – Các thành phần của đối tượng CORBA • EJB - Enterprise

Kiến trúc EJB là mt kiến trúc thành tbên phía máy chdùng cho vic phát trin và trin khai các ng dng phân tán hướng đối tượng cva và ln.

Kiến trúc EJB có 3 tng vi tng đầu tiên là tng trình din, tng thhai là tng xlý nghip v, và tng thba là các tài nguyên như cơ sdliu máy ch. Truyn thông gia các đối tượng EJB thông qua Remote Method Invocation (RMI). Các client không bao gitương tác trc tiếp vi các bean.

Thay vì vy chúng ssdng các phương thc được định nghĩa trong các

interface Remote Home. Mi bean tn ti bên trong trình cha, chu trách

nhim vic to thhin mi, lưu trdliu và các qun lý khác. Trình cha striu gi các phương thc callback ca mi thhin bean khi có skin tương

Trang 5

Hình 1-3 – Mô hình tương tác của đối tượng EJB ký đối tượng.
Hình 1-3 – Mô hình tương tác của đối tượng EJB
ký đối tượng.
Trang 5 Hình 1-3 – Mô hình tương tác của đối tượng EJB ký đối tượng.

DCOM – Distributed Component Object Model:

ng. Không ging như CCM, EJB không định nghĩa các port kết ni trc tiếp gia các thành phn liên quan bi vì mi bean bên trong trình cha là mt thc thể độc lp không có bt kràng buc nào bên ngoài.

EJB là mt kiến trúc tt cho vic tích hp các hthng vì nó độc lp nn tng nhưng nó cũng gp vn đề là nó không phi là mt chun m, khnăng giao tiếp vi các chun khác vn còn hn chế.

DCOM là mt mô hình phân tán dtrin khai vi chi phí thp, htrtigh coupling gia các ng dng và hệ điu hành. Mô hình Component Object Model (COM) định nghĩa cách thc các các thành phn và client liên lc trao đổi vi nhau trên cùng mt máy. DCOM mrng COM bng cách sdng các giao thc mng chun khi cn trao đối dliu vi máy khác trên mng. DCOM htrkết ni gia các đối tượng và nhng kết ni này có thể được thay đổi lúc đang chy. Các đối tượng DCOM được trin khai bên trong các gói nhphân cha các mã lnh qun lý chu ksng ca đối tượng và vic đăng

DCOM mang đến nhiu ưu đim như tính n định, không phthuc vtrí địa

lý, qun lý kết ni hiu quvà ddàng mrng, là mt la chn tt cho các doanh nghip sdng công nghca Windows để chy các ng dng có yêu

Trang 6

Hình 1-4 – Mô hình tương tác của các đối tượng DCOM
Hình 1-4 – Mô hình tương tác của các đối tượng DCOM

cu cao vschính xác và n định. Tuy nhiên, các công nghca Microsoft có mt nhược đim ln là chúng bgii hn trên nn tng Windows.

Trang 6 Hình 1-4 – Mô hình tương tác của các đối tượng DCOM c ầ

Các kiến trúc trên đều hướng đến vic xây dng mt hthng “hướng dch v” tuy nhiên chúng vn còn gp phi mt svn đề.

Đầu tiên là chúng tighly coupled, nghĩa là kiến trúc trin khai cài đặt bên phía nhà cung cp dch vvà phía sdng dch vphi ging nhau. Điu này đồng nghĩa vi khó khăn mi khi có sthay đổi tmt trong 2 phía bi vì mi thay đổi cn được đánh giá, lên kế hoch và sa cha c2 phía.

Tiếp đến nhng chun trên đa phn là chun đóng, chúng hu như không thkết hp, hot động vi chun khác. Ví dnhư bt đối tượng Java trao đổi dliu trc tiếp vi mt đối tượng DCOM là không th. Cui cùng các đối tượng ca các mô hình trên là fine grained, nghĩa là lượng thông tin gia trong mi ln thc hin giao dch là ít, và được thc hin nhiu ln dn đến chiếm dng băng thông sdng và tăng thi lượng đáp trdliu.

1.3

Các vn đề phát sinh, nguyên nhân và bin pháp khc phc

Ngày nay áp lc đặt lên các doanh nghip ngày càng ln: gim chi phí đầu tư cơ shtng, khai thác có hiu qucác công nghcó sn, phi cgng phc vyêu cu ca khách hàng ngày càng tt hơn, đáp ng tt các thay đổi nghip v, khnăng tích

Trang 7

Trang 7 ra các s ả n ph ẩ m có tính c ạ nh tranh

ra các sn phm có tính cnh tranh liên tc xut hin trên thtrường. Ci tiến công nghdn đến thay đổi các thành phn liên quan

hp cao vi các hthng bên ngoài… Nguyên nhân chính ca mi khó khăn trên đó là: skhông đồng nht và sthay đổi.

Hu hết các doanh nghip ngày nay đều shu nhiu hthng, ng dng, vi nhng kiến trúc khác nhau, xây dng vào nhng khong thi gian khác nhau và da trên nhng công nghkhác nhau. Vào nhng năm 1990, các doanh nghip chn gii pháp trn gói, mua hn mt vài gói ph