DAXH MỤC CÁC BẢNG Bảng 2-1: Phân loại thành nhóm thuộc tính chất lượng địch vụ trong địch vụ Web L4 Bang 3-1: Méi quan hé gitta phân cấp ngữ cảnh và phân cấp mô tả trong mồ hình Bang 4
Trang 1ĐẠI HỌC QUỐC GIÁ HÀ NỘI
TRUONG DAI HỌC CÔNG NGHỆ
HOANG XUAN HUY
XAY DUNG KHUNG DAM PHAN
CHAT LUQNG DICH VU CHO DICH VU WEB
LUAN VAN THAC SI CONG NGHE THONG TIN
Ha Noi- 2014
Trang 2ĐẠI HỌC QUOC GIA HA NOL 'TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOANG XUAN HUY
XÂY DỰNG KHUNG ĐÀM PHAN
CHÁT LƯỢNG DỊCH VỤ CHO DỊCH VỤ WEB
Ngành: Công nghệ thông tin Chuyên ngành: K$ thuật phần mềm
Mã số: 60.48.01.03
LUẬN VĂN THẠC SI CONG NGHE THONG TIN
NGUOI HUONG DAN KHOA HOC: TS VO DINH HIẾU
Hà Nội - 2014
Trang 3LỜI CAM ĐOAX
Tôi xin cam đoan rằng, đây là kết quả nghiên cứu của tôi trong đó có sự giúp đỡ rất
lớn của thầy hướng dẫn Các nội đụng nghiên cứu và kết quả trong để tải nay hoàn toàn trung thực
Trong luận văn, tôi có tham khảo dến một số tài liệu của một số tảe giá đã dược liệt
*ẽ tại phân tài liệu tham khảo ở cuối luận văn
Hà Nội, tháng năm Học viên thực biện
Hoàng Xuân Huy
Trang 4LỜI CẢM ƠN
Trước tiên, Lôi xin dược gửi lời cảm ơn dến tật cả quý thầy cô đã giảng day trong chương Trình Cao học khỏa 18, ngành công nghệ phần mễm, khoa công nghệ
thông tỉn trường đại học Công Nghệ Đặc biệt, tôi xin cảm on TS Phạm Ngọc
‘Hime đã nhiệt tình chỉ bảo tôi trong suốt quá trình học
Tôi xin chân thành cắm ơn sâu sắc TS Võ Dinh liễu, thấy đã tận tỉnh và tâm huyết hướng dẫn cho tôi trong suốt thời gian làm luận văn
1o thời gian có hạn và kinh nghiệm trong nghiên củu khoa học chưa nhiều nên hiận văn vẫn còn những thiếu xót, tôi rất mong nhận được ý kiến góp ý của Thây/Cô và các anh chị học viên
Hà Nội, thắng năm Học viên thực hiện
Hoàng Xuân Huy
Trang 52.1.1 Các thuộc tính chất lượng dịch vụ cec vvvvevvecirirrrirree
2.1.2 Phương pháp cùng cấp chất lượng, dịch vụ oococsssce con
22
Giới thiệu về dich Va Web cavssesssssa sentence stneeieeene
Kiến trúc dịch vụ WGb con eeriiee
SOAP WSDT
TUDDT
Mô hình phân lớp dang ngăn xếp trong địch vụ Web Phương nháp xây dung địch vụ Web kết hợp
Tổng kết Chất lượng dịch vụ
Đảm phán dich vu Web 2.3.1 Chỉnh sách dâm phan
22.2 Thông điệp dâm phán
323 Giao thức đảm phán
23 Tổng kết
Chương3: TÌM HIBU VE AXIS2
31
3.11 Các đặc điểm chính của Axi:
Giới thiệu Axi82 co ser ssussentseeseneenetstnteneeeeie
Trang 633.1 Xửlý trong Axis2 (1landier) - - 28 33.2 Giai đoạn trong Axis2 - - - 30
33.3 Đặc điểm hưởng trong Axis2 (Flow) - - 32
3.4.2 Triển khai nóng vả cập nhật nóng ¬—.ˆ
3.4.3 Mô dunuiÖnkhai, c.eeeceeeeieeeeeoeiooooo3S
3.5 MO dum thông tm "— 3.6 Mô dưn giao điện lập trinh ứng dựng khách hàng (Client APD) 36
4.3.1 Các phương thức của địch vụ kết họp Travel WS - 44 4.3.2 Biểu đồ tuần tự quả trình đâm phán - - 48 4.3.3 Lược đồ hoạt động của quá trình đảm phán 48 4.3.4 Thời gian giới hạn sử dựng của địch vụ kết hợp s2
44 Dịch vụ Web thánh phân trong khumg dam phán s2 4.4.1 Thông tin cầu hình của các địch vụ Web thành phẩn, 2)
44.2 Phương thức dâm phản của địch vụ Web thành phần BookingHotel 53
Trang 74.4.3 Phuong thie dam phản của địch vụ Web thành phân BookingTour ,.55 4.4.4 Thời gian giới hạn sử dụng của các dịch vụ thành phản Š7 4.5 Các giao diện của dịch vụ thành phản cceeoeeeeeieo.Ð
461 tựa chọn hàm chức năng đựa vào phương pháp tính tổng 58 4.62 tựa chọn hàm chức nang dua vào phương pháp chuẩn hóa 59 4.63 Lựa chọn hàm chức năng đựa vào phương pháp gan trong số 6
4.64 Áp dụng phương pháp gán trọng số để so sánh các hảm chức năng,
TÀI LIỆU THAM KHẢO nen ereeeeeeeseeoeoeo.OÐ)
PHL LUC A: GIAO DIBN WSDL CUA BOOKINGHOEHL 7] PHL LUC B: GLAO DIEN WSDL CUA BOOKING TOUR .
Trang 8DANH MUC TU VIET TAT
Chữ viết tắt 'Tiếng Anh
XML eXtensible Markup Language
SOẠP Simple Object Access Protocol
WSDL Web Services Description Language
UDDI Universal Description, Discovery and Integration
JSON JavaScript Object Notation
REST Representalional State Transfer
AXIOM AXis Object Model
TITTP LlyperText Transfer Protocol
SMTP Simple Mail Transfer Protocol
FTP File Transfer Protocol
JMS Java Message Service
TCP Transmission Control Protecol
MEPs Message Exchange Patlerns
Trang 9
DANH MỤC CÁC HÌNH
Hinh 1-1 Mö hinh JAXRPC [18], ào
Hình 1-2 Mö hình phân lớp dạng ngăn xếp trong công nghệ của địch vu Web |8| 11
Hình 1-3 Vòng dời địch vụ Web kết hợp |12| 12 Hình 3-1 Mô tả cầu trúc đữ liệu trong UDDI | 1ó 16
Tình 3-2 Tược đồ miền của chính sách đêm phan [10] - - 21
Tình 3-1 Các thành phân chính trong kiến trúc của Axix2 []] - 24
Hình 3-2 Mô hình xử lý thông điệp SOÁP [3] - - 37
Hinh 3-3 Cầu trúc thông điệp mở rộng với một vài tiên đề [3] 29
Hình 3-4 Các giai đoạn của luông xử lý trong kiến trúc Axis2 [S] 30
linh 3-6 Lời gọi dịch vụ Web bất đẳng bộ [2] 137
THình 4-5 Lược đổ hoạt đêng của quả tinh đảm phán giữa dich vu kết hợp
Tình 4-6 Thông tín cầu hình của dịch vụ thành phần BookingHotel 32 Tình 4-7 Thông tín cầu hình chất lượng địch vụ của địch vụ Web kết hợp, 61
Trang 10DAXH MỤC CÁC BẢNG
Bảng 2-1: Phân loại thành nhóm thuộc tính chất lượng địch vụ trong địch vụ Web L4
Bang 3-1: Méi quan hé gitta phân cấp ngữ cảnh và phân cấp mô tả trong mồ hình
Bang 4-1: Minh hoa phuong pháp s 30 5 sinh dua t trên tổng các thuộc tinh chit Tượng
Bang 4-6: Bing biéu diễn tổng cóc thuộc tính chất lượng dich vụ của các hâm chức
Bang 4-7: Bang biểu diễn tổng các tiuộc tính chất lượng dich vụ e hàm chức
Bang 4-8: Bang biểu diễn tổng cáo thuộc tính chất lượng dịch vụ của địch vụ thành
Trang 11MO DAT
Ngày nay, công nghệ dịch vụ Web được áp dung phổ biển và trở một phân quan trong trong các hệ thống thòng tin Dịch vụ Web dược áp dụng trên nhiều
miễn ủng dụng khác nhau như trong thương mại diện tử, du lịch, giáo dục Có
được điều này do địch vụ Wcb cung cấp phương tiền cho phép các ứng dụng phân xuêm chạy trên nhiều nên lãng khác nhau trao đối với rhau lrên môi trưởng mạng
Số lượng nhà cũng cấp địch vụ Web vả người sử đụng dịch vu Web ciing ting nhanh, đồng thời các yêu cầu của người ding ngay cảng trở nên phúc tạp hơn Trong công nghệ dịch vụ Web, một địch vụ Web mới có thể được xây đựng bằng
cách sử dụng các địch vụ Web đã tổn tại Dịch vụ Web mới được gọi là địch vụ
Web kết hợp Các dịch vụ Web có sẵn là dịch vụ Web thành phân Dịch vụ Web kết
hợp không, chỉ phụ thuộc vào chức năng của các địch vụ thánh phản mà còn phụ thuộc vào chất lượng dịch vụ của các dịch vụ đó
Tuan van nay tập trưng vào khía cạnh chất lượng dịch vụ của địch vụ Web
kết hợp Cụ thế, luận văn tìm tiểu về van dé dam phan giữa địch vụ Web kết hợp và các dịch vụ Web thành phần dé chọn các thông số chất lượng địch vụ cho phù hop với yêu cầu của người đùng Bài toán sẽ là: người dựng đưa ra yêu cầu chất lượng, dich vụ cho địch vụ Web kết hợp là WS, làm thé nao dé WS dam phan va chon ra dịch vụ Web thành phần théa man yéu cau dưa ra Luận văn đề xuất một khung dàm phán chất lượng địch vụ cho dịch vụ Web kết hợp Dịch vụ Web kết hợp trong,
khung duợc cung cấp các giá trị thuộc tính chất lượng dịch và các ràng buộc của nó
từ phía người dùng Số luợng thuộc tính chất lượng dịch vụ trong khung đàm phán
nay không bị giới han Khung này sử dụng phương pháp gán trợng lrọng số dé phân tiệt độ ưu tiên của các thuộc tỉnh chat hong địch vụ
Nội dung chính của luận vấn được chia thành bến chương Chương 1 trình
‘bay tổng quan về địch vụ Web, kiến trúc của địch vụ Web, mô hình phân tầng trong dịch vụ Web, các phương, pháp tiếp cận xây dựng dịch vụ Web kết hợp
Chương 2 trình bảy về chất lượng dịch vụ trong địch vụ Web, các thuộc tính chất lượng dịch vụ, các phương pháp cung cấp chất lượng dich vy Van dé dam
phán trong địch vụ Wơb như chính sách đảm phán, giao thúc đầm phản, thông điệp dim phan cũng được trình bảy trong chương này
Chương 3 trình bảy tống quan về Axis2, các đặc điểm của Axis2, giới thiệu cáo mô đưn trong Axis2 bao gầm: mô đưn xử lý XML, mô đun thông tin, mô dun
xử lý thông điệp SOAP, mé đun triển khai, mé dun client API Cac mé dun nay 1a
Trang 12by
những thành phần chính trong kiến trúc Axis2 Mỗi mỏ đun có một chức nắng nhiệm vụ riêng và chúng liên kết với nhau tạo thành hệ thống trong Axis2
Chương 4 đưa ra mô hình khung đầm pháu chất lượng dich vu dich vu Web,
các địch vụ được triển khai trên Axis2, cài đặt thử nghiệm bằng ngôn ngữ Tava và
sử dụng các tư viện cũa Axis?
Phần cuối của luận văn lả kết luận và hưởng phát triển
Trang 13Chuwong 1: TONG QUAN VE DICH VU WEB
Chương này giới thiệu tổng quan vẻ dịch vụ Web Mục 1.1 trình bảy khái
niệm và đặc điểm của địch vụ Web Kiến trúc của dịch vụ Web được trình bày ở
xmục 1.2 và các đặc điểm quan trọng của dịch vụ Web như SOAP, W§DL, UDDI
được trình bảy ở mục 1.3, 1.4 và 1.5 Mục 1.6 trình bảy tổng quan về mô hình phân tang trong dịch vụ, điều này giúp chúng ta hiểu được kiểu trúc vả các khá năng phat triển của địch vu Web Muc 1.7 trình bảy về các vẫn đề xây dựng địch vụ Web kếL
hợp
1.1 Giới thiệu về dịch vụ Web
Có nhiều định nghĩa về địch vụ Web, theo định nghĩa của [8] “Một dich vu Web là phần mềm mà làm cho bản thân nỗ luôn sẵn sang trén Internet va sit dung
kệ thông thông diệp dựa các tiểu chuẩn XML XML dược sử dụng, dễ mã hóa tắt cả giao tiếp với địch vụ WGb, Ví đụ, một khách hang goi mat dich vu Web bằng cách
gửi thông điệp XMI,
trên dich vụ Web là XMI, nên các địch vụ Web không gắn bãi kỳ với hệ thống hệ
au đó chờ XMI, phần hỏi Lương ứng Bởi vì tất cả giáo liếp
điền hành hoặc ngôn ngĩt lập trình nảo Các ứng đựng có thế giao tiếp với nhau mà
không phục thuộc vào hệ điều hành và nên tảng của nhau." Dịch vụ Web cưng cẤp giao thức và các định dạng đữ liệu phổ biển như IITTP, XML, SOAP, RUST, WSDL, 1SON dễ cho phép cáo ứng dụng trao dỗi với nhau thông qua dich vu Web Dưới dây là một số đặc diém chính của dịch vu Web [6]
Dich vu Web co tính đẳng bộ và bất đồng bộ Tính đồng bộ hơi
bộ được đề cập trong lời gọi của khách bảng khi muốn thực hiện một địch vụ WWchb
ặc bất đẳng
Tỉnh đồng bộ là khối khách hàng phải chờ cho các hoạt động trước nó phải hoàn
thành trước khi nã muốn được thực hiện Tính bát đồng bộ cho phép khách hàng gọi
xmột dịch vụ sau đỏ thực hiện chức năng khác Tính Không đồng bộ là yêu tố quan
trọng đề giúp hệ thông địch vụ Web có mềm đềo và linh hoạt hơn
Dich vụ Web hỗ trợ các lời gọi từ xa (RPC) Dịch vụ Web cho phép khách
hang gọi các hằm, các thủ tục vá phương thức trên di tượng diều khiển từ xa thông
qua giao thúc đựa trên XMIL Cả hai công nghệ Buterprisc JavaBenns (RJBS) mm NET được phân phối và truy cập thông qua một loạt các cơ chế RPC Hình 11 dưới đây mô tả mô hình JAX- RPC, IAX- RPC là thư viện phổ biến trên
java hỗ trợ cho việc trao đổi thông điệp giữa người sử đụng địch vụ (client) và nhà cung cấp địch vụ Web (Web servioe)
ôn ngữ
Trang 14Dịch vụ Web hỗ trợ cấu trúc dữ liệu dạng văn bản XML được sử dụng
để biểu diễn dữ liệu cho tất cả giao thức và thông điệp của dịch vụ Web Nên dich
vụ Web có khả năng hỗ trợ cầu trúc dữ liệu đạng văn bản Điều này cho phép dịch
vụ Web biểu diễn các trúc dữ liệu từ đơn giản đến phức tạp và làm cho dịch vụ Web trở nên mềm đẻo và lĩnh hoạt hơn trong trao đôi dữ liệu
xây dựng dịch vụ Web và làm cho dịch vụ đỏ luôn ở trạng thái sẵn sảng được sử
dụng Nhà yêu cầu dịch vụ Web là đối tượng cần sử dụng dịch vụ Web, các đổi tượng nảy sẽ gọi dịch vụ Web bằng cách gửi một thông điệp yêu cầu SOAP Đăng,
ký dịch Web là một nơi tập trung chứa thông tin các dịch vụ, cho phép các nhà phát
triển hoặc nhà cung cập có thẻ xuất bản một dịch vụ Web mới hoặc tìm ra một dịch
vụ đã tổn tại Trong dịch vụ Web cỏ ba thành phần chỉnh la SOAP, WSDL va
UDDI
Trang 15- SOAP được quy ước theo một định dạng, được đóng gói và được hướng, dẫn định tuyển giảng như dạng phong bị thư Dạng phong bì thư có ý nghĩa cho mô
tả nội dụng của thông điệp Cầu trúc thông điệp SOAP bao gồm hai thành phần chính là phần tiêu để và phản thân và chủng được gói trong phân phong bì thư
- SOAP cé mét phương tiện vận chuyên hoặc một giao thức ràng buộc để
cung cấp ruột cơ chế chưng cho phép gữi một phong bỉ SOÁP thông qua một giao
thúc ở mức thấp như HTTP.,
-_ SOAP có quy lắc mã hỏa cung cấp muội quy ước biểu diễn các thể dụa trên
XML
- SOAP có cơ chế gọi các thủ tục từ xa (Remote Procedure Call) kí hiệu lã
RPC, nghĩa là SOAP hỗ trợ các lởi gọi hảm từ xa Một trong những mục tiểu của
SOAP là xây dựng cơ chế đóng gói thông điệp vả thực hiện trao đổi thông qua các
lời hỏi bàm từ xa Sứ dụng SOAP cho RPC không bị giới hạn giao thức nhung, thông thường lay sử dụng giao thức HTTP
Một vẫn để đặt ra là, làm thể ảo phân biệt cầu trúc dữ liệu XMT, và
dữ liệu SOAP, khi nào dữ liệu XMI, trở thành SOAP Giả sử chúng ta có cầu trúc
đữ liệu về một don hang dang XML nhu 4 vi du 1.1, cấu trúc đữ liệu này không
phải lả một tài liệu SOAP, nó chỉ đơn giản là một tài liêu XML Các bước chuyển cấu trủc đữ liệu XML cua vi dy 1.1 thành một tài liệu SOAP theo những bước sau: gói dữ liệu XML 6 vao bén trong một phân thân của SOAP Gói phản thân của
SOAP vào bên trong phòng bì thư SOAP Dưa tùy chọn vào phẩn tiêu đề của
SOAP, khai báo không gian tên (namespacc), mã hỏa đữ liêu XMIL, thiết lập các rang bude wong SOAP Khi dé, ta có cấu trúc dữ liệu một tải ligu SOAP như ở ví dụ
1.2,
sâu trúc
Ví dụ 1.1: mô tả cầu trúc đứ liệu XML về thông tin một đơn hàng
¿ vergion="_.0" encoding="UTF 8" standzlone="ne"?2
<PurchaseOrder xmlsn "u„rn:xwl~samplz"">
ipTo vounley=
<nane>hoang auan hoy</neme>
Trang 16<zkrooL>123 xuan Lhuy2/sLreei>
<ema11>huyhztgmai1 ecm</ ema.i1>
<nama>Fcanz xuan hi</name>
<zLreoL>13 xuân Lhuy</øLroeL>
Trang 17Ngôn ngĩt miêu tả dịch vụ Web (Web Services Description Language) durgc
viết tắt là WSDL WSDT, là một định dang XML, WSDL dinh nghia các củ pháp XML để miều tả trừu trượng các thành phần của một địch vụ Web Theo [7] WSDL duge chia fam hai phan
Phan mé tả triu trong
Phan nay chỉ cung cấp thông tin về dặc diễm giao diện của dich vy Web ma
không có bất kỳ sự mồ tả hoặc các thông lin Bên quan đến công nghệ sử dụng để cải
đặt địch vụ Web Điều nay làm cho địch vụ Web không phải thay đổi phần mô tã
khi nên tăng công nghệ triển khai địch vụ Web bị thay đối Phân má †ã trừu tượng
của WSDL bao gdm cac phan tir †ypes, message và partType
Phan tit types định nghĩa các kiêu đữ liệu liên quan đến các thông điệp nhận
và thông điệp gửi của dịch vụ Web, Phần tử types sử dụng dịnh nghĩa lược dễ XML (XML schema definitions) viét tắt XSD dé mô tá các kiểu đữ liệu cho phan tit types
Ví dụ 1.3 mö tả câu trúc phần tử types trong một WSDL,
'Ví dụ 1.3: Câu trie phan tt types trong mat WSDL
Trang 18Phan tử message dễ biểu diễn tru tượng cảu trúc của thông diệp Thông điệp
là phương tiện dễ trao dỗi giữa bên yêu cầu dịch vụ và bên cung cấp dịch vụ Một thông điệp bao gồm một hoặc nhiều phần tử part Một phan tử part miều tả một
dữ liệu và kiểu dữ lệu của thông điệp Ví dụ 1.4 mê lâ cầu trde 2 thông điệp
phì
có lên là GellastTradePriceInput, ŒfeT.astTradePriceOulp Thông điệp
GelT.astTradePricelnpul chứa phan tử có têu là boẩy và kiến đữ Hiểu TradePriceReqnest, kiểu này được mô tả ở ví dụ 13
Thông điệp GetLastTradePriceOutput cũng chứa phần tử có tên là body và
kiểu đũ liệu TradePrice, kiểu này cũng được mồ tả ở vị dụ 1.3
Ví dụ 1.4: ví dụ nnô lâ dâu Irie phan ti message Irong WSDIT,
“message nane "GetLastlraclePr: mut 3
Trang 19Phan nay bao gồm cac phan ui binding, port va service Trong do, phan Lit
bìndĩng đặc tả định đạng thông điệp và một giao thức cụ thể như 8OAP, HTTP, 'MIMRE cho các hoạt động
Ví dụ 17: Câu trúc liên kết giữa các phần tứ service và port trong WSDL,
Trang 20<pert name="SLuckGuslePerl” binding="Las :SLochQ.ole@inding™>
<soap:addrese locaticn="http: //example,com/steckquote"/>
=L>
</service>
Kết hợp các phần của các ví dụ từ 1.3 đến vị dụ 1.7 ta có mô tả đây di cla WSDL
về một dịch Web cung cấp giá cổ phiếu
và cho phép tim kiếm dịch vụ Một số đặc diểm chính của UDDI bao gồm: UDDI là
xmột tiêu chuẩn dựa trên XML đễ mô tả, xuat ban va tim kiểm các địch vụ Web
UDDI là một nền lãng độc lập và mội khung mở ƯDDI có thễ giao liếp trên các
giao thức SOAP, CORBA và sử đụng WSDL để miều tả giao điện cho các địch vụ Web
1.6 Mô hình phân lớp dạng ngăn xếp trong dịch vụ Web
Trong kiến trúc dịch vụ Web bao gồm hai thành phần là thành phần lõi và thành phần mở rộng Trong đó, thành phần lõi là thành phẩn bắt buộc cửa một dịch
vu Web bao gồm các lớp ray sau: lớp giao thức giao tiếp, lớp thông điệp, lớp miều
1ä địch vụ Web (WSDL) và lớp khám phá dịch vụ Web (UDDID) Lớp giao thức giao
tiếp có thế sử đụng một số giao thức HTTP, SMTP, FTP trong địch vụ Web Lớp
thông điệp gồm các đữ liệu đạng XML và giao thức SOẠT
"Thành phần mớ rộng bao gềm lớp chất lượng dịch vụ và lớp xứ lý logic
'Thánh phần mở có vai trò hễ trợ phát triển các yêu cầu cao cắp trong xây dựng dịch
vụ Web Vì vậy các mô hình của thành phần mở rộng này được xây đựng tủy thuộc
vào như cầu tổ chức phát triển Hình 1.2 mô tả tất các lớp ở dang ngắn xép trong
công nghệ dịch vụ Wcb Từ đó chúng ta thấy được một khả năng quan trọng của dịch vụ Web là cho phép kết hợp các địch vụ đơn lẽ để tạo thành một địch mới, để
có thể đáp ứng các yêu câu phúc tạp của người đùng
Trang 21Choreography Bonne Proce
Hinh 1-2 Mé hinh phan lép dạng ngăn xếp trong công nghệ của dịch vụ Web [8]
1.7 Phương pháp xây dựng dịch vụ Web kết hợp
Dich vụ Web kết hợp lả sự kết hợp của hai hay nhiều dịch vụ Web thành phần đề tạo thảnh một địch vụ mới thỏa mãn các yêu cầu hay nghiệp vụ phức tạp của người đủng Có hai loại dịch vụ Web kết hợp lả địch vụ Web kết hợp bằng tay
vả dịch vụ Web kết hợp tự động Nhược điểm của dịch vụ Web kết hợp bằng tay lả
mắt nhiều thời gian đẻ tổng hợp, dễ bị lỗi và không khó có khả năng mở rộng Vi
vậy, các nghiên cứu về xây dựng hợp dịch vụ Web kết hợp chủ yếu tập trung cho
dịch vụ Web kết hợp tự động Xây dựng dịch vụ Web kết hợp tự động có hai
phương pháp tiếp cân chỉnh lả: phương pháp dựa trên quy trình công việc
(workflow) va phuong pháp dựa vào lập kế hoạch trí tué nhân tạo [12
Phương pháp lâp kế hoạch dựa trí tuệ nhân tạo bao gồm các yêu tô sau: mô tả trạng thải của các địch vụ Web, xác định mục tiêu mong muồn của trạng thải, mô tả tập hợp các hoạt động có thể đẻ chuyên đổi từ trạng thái này sang trạng thái khác Cac thành phân lập kẻ hoạch có mục đích tìm ra chuối các hành động đề làm thay
đổi trạng thải của thế giới thực từ trạng thải ban đầu đến trạng thải mục tiêu Các kỹ thuật lập kẻ hoạch dựa trên trí tuệ nhân tạo trong xây dựng dịch vụ Web kết hợp đã
được nghiên cứu khoảng hơn 10 năm Tuy nhiên, các kỹ thuật này không đạt được thành công đối với các ứng dụng trong thực tế
Trang 22
Phương pháp xây dựng dịch vụ Web kết hợp dựa quy trình làm việc được thực hiện dựa vào việc trừu tượng quy trình thực tế và chúng có khả năng cao đẻ
chuyên hóa từ mỏ hình thực tế sang mô hình dịch vụ Web kết hợp Một quy trình
làm việc thường không phù hợp ngay với dản các dịch vụ Web bởi một số lý do
các dịch vụ Web không thẻ ngay lập tức phủ hợp với các thành phản trong quy trinh
làm việc, các dịch vụ Web trong giàn nhạc cỏ tính ràng buộc với nhau nhưng không
phải dễ dàng có thể ứng dụng trong quy trình kinh doanh
‘Stage 1:Goal Specification
On -} =)
Service Requester
+E ce ClassesafCindidare se Web Services Stage'S: Service Maintenance
CenaeteWss chage3; ServiceSeleclon and Monitoring
~ Giai đoạn đặc tả mục tiêu: trong đỏ các mục tiêu và các sở thích của nhà
yêu cầu dịch vụ được xác định Sau đỏ mục tiêu nảy được phân rã tự động hoặc bán
tự động thành các quả trình kinh doanh Quá trình kinh doanh bao gồm các nhiệm
vu (task), méi nhiém vụ có một chức năng rõ ràng cùng với kiểm soát luỏng dữ liệu
qua lại giữa các nhiệm vụ
~_ Giai đoạn phát hiện dịch vụ: các dịch vụ Web cu thể phủ hợp với yêu câu
chức năng vả phi chức năng của nhiệm vụ được tìm kiểm ở nơi đăng ky dich vụ như UDDI Kết quả của tìm kiếm cỏ khả năng trả ra nhiều hơn một dịch vụ
~ Giai đoạn lựa chọn dịch vụ: giai đoạn nảy được thực hiện sau khi phát
hiện ra các dịch vụ Trong giai đoạn nảy, rất nhiều phương pháp được đề xuất đề
Trang 23lựa chọn ra dịch vụ Web thành phân tối ưu nhất Từ đó, dịch vụ Web kết hợp dược tạo ra từ sự kết hợp các địch vụ thành phản này,
~_ Giai đoạn thực hiện và giảm sắt dịch vụ: khi lựa chọn địch vụ thành phần được hoàn thánh, thì có thể sử dụng được dịch vụ kết hợp này bằng cách thực hiện dich vu (Service execution) Qua trinh stt dung dich vu két hop được theo đối và
giảm sát để kiểm soát sự thay đổi các trạng thái hay kiểm soát sự thất bại của các địch vụ trong quá trình kết hợp
1.8 Tổng kết
Chương này đã Irình bay long quan về dich vu Web, vé kiến trúc dịch vụ
Web, về các thành phần chinh trong mét dich vu Web 1A SOAP, WSDL va UDDI,
é m6 hinh phan ting các lớp dạng ngăn xếp trong dich vụ Web Ngoài ra, chương
nảy cũng trình bảy các vẫn để xung quanh xây dụng dịch vụ Web kết hợp và đặc biệt là xây dựng dịch vụ Web kết hợp tự động
Trang 24Chương 2: CHÁT LƯỢNG DỊCH VỤ VA DAM PHAN DICH
VỤ WEB
Chương này trinh bảy tống quan về chất lượng địch vụ của địch vụ Web và
các thuộc tính chất lượng địch vụ ở mục 2.1.1 Mục 2.12 trình bảy các phương,
pháp cung cấp thông tin chất lượng dich cho địch vụ Web, Mục 2.2 trình bảy các vấn đẻ liên quan đến đảm phản dich vu Web
2.1 Chất lượng dịch vụ
Ngày nay, sự phát triển của địch vụ Web như là một giải pháp kinh doanh được tích hợp vào các ứng đụng của đoanh nghiệp nên chất lượng địch vụ cho địch
vụ Weh ngày cảng trở nên quan trọng đổi với nhà cưng cấp dịch vụ và khách hảng
Chất lượng dich vụ của dịch vụ Web bị ảnh hưởng bởi nhiều yêu tổ như: sự thực hiện của chính các dịch vụ Web, nên táng, lưu trữ vả đường truyền mang Cac nha cung cấp dịch vụ cần phải đảm bảo chất lượng dịch vụ để cỏ khả năng duy trí, khả
cho dich vu Web
wing canh Iranh và đạt được liệu suất tốt nh bụng cấp chất
lượng dich vụ Wcb tốt hơn, các nhà cung cấp đâu tiên cân phải xác định các yêu
chất lượng dịch vụ có thể cho dịch vụ Web, Ở mục 2.1.1 s
yếu cần chất lượng địch vụ cho địch vụ Web [L7]
UL
nỗ tả chỉ tiệt hon ve eae
2.1.1 Các thuộc tính chất lượng địch vụ
Cao yêu cầu chất lượng dịch vụ cho địch vụ Web chủ yêu dễ cập dến các khía cạnh chất lượng của một dịch vụ Web Chất lượng địch vụ của dịch vụ Web
bao gồm: độ sang, độ tin „ tỉnh an nình, thời gim đáp ứng, chỉ phí, thông
lượng, khả năng tương lắc và các yêu cầu chất lượng địch vụ liên quan đến mạng
Tiện suất Thời gian phân hêi | I.à khoâng thời gian trỗi giữa sự bắt đân yêu câu địch vụ và hoàn thành phản hồi của dịch
vụ Thời gian phan héi = Thời gian thực hiện
+ thgi gian chờ
Trang 25
dich vu
Thông lượng dịch vụ = So yêu cau tối da / Bon vị thời gian
Độ tin cậy Lá khả năng chức năng yêu câu trong dich va
Web duge thực hiện:
Giá cả là bên yêu cầu dịch vụ phái trả khi gọi
một hoạt động đặc biệt của dịch vụ Web Giá
cả của chức năng trong dịch vụ Wcb cảng cao
Tinh toan ver, ‘Trong dịch vụ Web, để ngăn không cho kế
trộm nghe lén thông diệp trong dich vu Web
Phương pháp mã hóa thông điệp trước gũi và giải mã thông điệp nhận dem lại tính tin cậy
trong bão mật cửa dich vu Web
Trơng một số trường hợp trao đổi thông điệp,
dữ liệu này quan trọng Vì vậy bộ phận nhận thông điệp xáo nhận thông điệp không bị sửa
đổi trong quá trình tuyên Điểu này đâm bảo
kẽ xâm nhập không thế thay thẻ thông điệp
bat hợp pháp 1lay nói cách khác, nó chính là tỉnh toàn vẹn trong, trao đổi thông điệp
Trang 26
2.1.2 Phương pháp cung cấp chất lượng dịch vụ
Cung cấp thông tin chất lượng dịch vụ của các dịch vụ Web thành phan dong vai trò quan trọng trong việc xây dựng dich vu Web kết hợp Đổi với môi dịch vụ
Web thành phan da co nhieu giải pháp được đề xuất để cung cap thong tin chat
luong dich vu
Phuong phap 1: cung cap thong tin chat lượng dich vụ dwa vao UDDI
UDDI ngoài các chức năng chính chứa thông tin dịch vụ Web, cung cấp xuất bản và tìm kiểm dịch vụ Web thì UDDI có khả năng chứa thông tin chất lượng dịch vu cho
dịch vụ Web Câu trúc của UDDI cho phép mô tả thêm các thông tin chất lượng
=blndingTcmplatc> ¬
‘Technical information of ete bate Specification implement by
Hình 2-1 Mô tả cầu trúc dữ liệu trong UDDI [16]
Hình 2.1 thể hiện cầu trúc dữ liêu của UDDI, bao gồm năm thảnh phản như
Trang 27~ Thành phần bmdingTemplate chứa một văn bản mô tả vả địa chỉ của điểm
truy cập của dịch vụ Web Ngoài ra bindingTemplate đóng vai trỏ là một con trỏ đề
trồ đến thành phan tModel
~ Thảnh phản tModel chửa thông tin mô tả đặc điểm của dịch vụ Web đề con trỏ của tModel có thể tham chiêu đến dịch vụ đó Hơn nữa, thành phan {Model cho
phép chửa chứa thông tin chất lượng dịch vụ Thông tin của chất lượng dịch vụ
trong tModel bao gồm: name, value, unit Như vậy, thông ti chất lượng dịch vụ cỏ
thể chứa trong mô hình tModel Ví dụ 2.1 dưới đây minh họa thông tỉn chất lượng
dich vụ chứa trong UDDI
Ví dụ 2.1: Lưu trữ thông tin chất lượng địch vụ ở UDDI
<tModel tModelKey="uuid: 17620754-09E4-4930-AA19-70%C62E52166">
Phương pháp 2: cung câp thông tin chất lượng dịch vụ dựa vào SOAP Do
SOAP có khả năng hỗ trợ tìm kiểm dịch vụ Web, nên chúng ta có thẻ đỉnh kèm
thông tin chất lượng dịch vụ trong mục tìm kiểm này Việc này được thực hiện bằng,
cach mở rộng cấu trúc của thông điệp SOAP Giả sử chúng ta cỏ một thông điệp
SOAP chứa thông tin truy vẫn đề tìm một địch vụ đặt xe chứa thông tin chất lượng
dịch vụ với đồ sẵn sảng là 0.9 được mô tả như vỉ dụ 2.2 [17]
Ví dụ 2.2: Lưu trữ thông tin chất lượng dịch vụ 6 UDDI
<?xml version="1.0" encoding="UTF-8"?>
<envelop xmlns= "http: //schmas.xmlsoap.org/soap/envelop/">
<body>
Trang 28<Lind service busines 0"
tuzn:udđi org: api" maxRows="5"'>
Thương pháp 3: dịch vụ Web thành phân chứa các hàm chất lượng dịch vụ
Trong phương pháp này, địch vụ Web thanh phản xây đựng thêm các hàm chất lượng địch vụ, các ham nay có chúc nắng chỉ cung cắp thông tin chất lượng địch vụ
cha các hàm chức năng trong địch vụ Web, Vì vậy, các hảm chất lượng dich vu nay
cũng được mô tá ở rên WBDL của dịch vụ Web Trước khi người dùng muốn sứ
dụng một hảm chức năng, người dùng có kiểm tra thông tia chất lượng địch vụ của
Trên đây là ba phương pháp để thế hiện chất lượng địch vụ trong địch vụ
Web Mỗi phương pháp đều có ưu điểm ra nhược điểm riêng, Trong néi dung luận văn này, tác giả chọn phương phép 3 để chwa thông tín chất lượng dịch vụ cho dich
vụ Web thành phản Phương pháp nảy sẽ được trình bảy cụ thể ong chương 4 của
luận văn
2.2 Đàm phản dịch vụ Web
Dam phan là sự tương tác giữa cáo bên trong một nỗ lực đạt được một số thỏa thuận về một khía cạnh cụ thể Một quá trình đám phán có thể gởm một hoặc nhiều vòng dàm phán Trong mỗi vong dam phan, bên khởi tạo (mitiator) gửi n
đẻ nghị tới bên khác, Nếu dẻ nghị này dược chấp nhận thi vòng dam phan này kết
Trang 29Các cuộc dâm phán của các bên có thẻ là song phương hoặc da phương, Các
bên giao tiếp với nhau bằng sử dụng các giao thức đàm phán cho đến khi dạt dược
sự thổa thuận với nhau Trong đâm phán được chỉa làm hai loại Loại đầu tiên là đảm phán phân phối hay thường gọi là đàm phán thẳng thua (win-lose) Nghĩa là khi hai bên thực hiện đảm phản thì một bên đạt được mục đích của minh và bên còn lại thi bị hỏng và không nhận ra chính nó Loại thứ hai lả đảm phán tích hợp hay
thường gọi là dam phan thắng thắng (win-win) Dàm phán tích hợp để cập đến quá
trình mà cả hai bền đều xác định được mục tiêu cho minh thông qua việo hai bên thỏa thuận cùng đạt được một tiện ¡ch chung Một ưu diễm chính của đàm phán tích hợp là luôn giảm khả năng dàm phán sẽ thất bại Vì vậy đảm phản tích hợp được sử dung nhiều hơn
Trong tổng hợp chất lượng địch vụ của địch vụ Web thuờng sử dụng đàm phán về hiệp định ở raức độ địch vụ (Service Level Agreements) được viết tắt là SLAs Các xử lý đàm phản liên quan đến các đặc điểm kỹ thuật của tham số đàm phản, sự trao đối giữa các thành phần trong quả trình đâm phán và cuối cùng tạo ra SLAs néu các bên đàm phán đi đến một sự đẳng thuận Dễ xây đụng mô hình dam phản thöa thuận ở mức dộ dịch vụ của dịch vụ Web thường dựa vào một số dic điểm sau: dựa vào các thuộc tính của địch vụ, đựa vào đặc điểm yêu cầu của người
đùng, dựa vào mức độ ưu tiên
Pam phán địch vụ Web là một trong những vẫn để được quan tâm rhiển, tiến
có rất nhiều nghiên cửu về đàm phán địch vụ Web TNSPTEE [19] là khung đảm phan dich vụ Web hỗ trợ trong lĩnh vực văn hóa INSPTRT có thể tiến hành đảm
phản nặc đanh (nepotiatian anonvmousiy), đánh giá các lời đề nghị và xem lại lịch
s& cla qué trinh dam phan INSPIRE hé tro nhiệm vụ ưu tiên, phân tích các đề nghị, thay thể dễ nghị, dành giả các phần hồi cung cấp và đánh gia hiệu quả của sự thỏa hiệp bằng cách sử dụng tôi ưu Pareto
xnột vẫn đề đại điện, để cung cấp thông tín, để duy trì một câu trúc cho phép đẳng
nhất và có hợp lệ của một mô hình được xác minh NegoPlan tập trưng vẻ chiến lược cho các hoạt động đảm phán, nên NegoPlan không hỗ trợ cho các khía cạnh
khảo của hoạt động đâm phán
Tete-a-Tete [21] là một ứng dụng bản lẽ và Tete-a-Lete dã tích hợp hương pháp đàm phản vào ứng dung Dai ly mua hang va ban hang thương lượng qua
nhiều điều khoản của giao dịch bao gồm cảnh báo, thời gian giao địch, hợp đẳng,
địch vụ, chính sách trả, tùy chọn cho vay, địch vụ quả lặng, các địch vụ gia tăng
Trang 30Các khung đàm phản được nêu ở trên da số chỉ tập trung giải quyết một bài toán cụ thể, nếu muốn áp dụng bài toán khác vào trong khung thì vẫn dé này clta
thấy đề cập đến Vi vậy, muc dich trong khung dam phan dich vu Web của luận văn sẽ tập trung xây đụng khung đàm phán về khia chất lượng địch vụ, khung đâm
bảo có tính mềm đềo, có thể áp đụng được nhiều toán khác nhau
2.2.1 Chính sách dam phan
Chính sách được hiêu cơ bắn lả đặt ra các quy tắc trong đó xác định một
nhận được thực hiện khi muội điệu kiện nhi định nào dó
chọn và một số yếu tổ khác như ở hình 2-2
Yếu tổ ngữ cảnh: có ba loại ngữ cảnh được để cập trong chỉnh sách đảm phản Một là ngữ cánh dam phan (Negohation Context), ngữ cảnh nay ding dé cập một bối cánh cụ thể mà chỉnh sách sẽ áp dụng, liai là ngữ cảnh người tiêu dừng,
độ cao như: độ sẵn sảng cúa dịch vụ, thời gian phản hếi hay chỉ phí phái trá khi sử
dụng dịch vụ Căn cứ vao nức độ của mục tiêu mà các nhà cung cấp dịch vụ có thễ đưa ra bang phân cấp các đặc điểm kỹ thuật về chính sách đảm phản
Các vẫn dễ và tùy chọn: các vấn dễ là những tham số dâm phản trong một nhà cung cấp dịch vụ và các Lùy chọn là các giá trị khác nhau rnà các tham số đâm
thải xác định giá trị tốt nhất, giả trị lồi nhất,
giá trị chấp nhận được đối với rừng tùy chọn
Trang 31vẻ thông điệp trong xử lý đảm phán thuê xe ô tô
Vi dụ 2.3: Thông điệp đàm phản thuê xe ô tô
<negotiationMessage id="1954" ref="None" type="Offer">
<sender>user example com</sender>
Trang 32Giao thức đâm phán sử dưượt để mô tã cơ chế và quy Lắc của các bên dam
phán Các giao thức này xác định các bên có thể tương lắc với nhau và trả ra ảnh thưởng quyết định chứng Các địch vụ đàn phán này thường là một dịch vụ Web,
địch vụ đàm phán xác định một tập các giao thức đâm phán nguyên thủy để nhà yêu cầu dịch vụ và nha cung cấp địch vụ có thẻ giao tiếp vã hoạt động cùng nhau Dưới
đây là các giao thức cơ bản thường đùng trong đàm phán [9]
-_ Giao thức Call For Proposal (CEP) thường dùng đẻ gợi một dễ nghị
- Giao thie Propose dung dé dé xuất một dễ nghị hoặc mời truy cập với bền
dam phan khác
~_ Giao thức AccpL dùng để chấp nhận một dé nghi hay mét loi moi tham gia
từ bên đầm phán khác
~_ Giao thức Terminate dừng đề chấp đút quả trình dam phan
~_ Giao thức Reject dùng để từ chỗi một lời để nghị hoặc lời mời tham gia từ
bên đàm phán Tuy nhiên bên sẵn sảng sẽ phải xem xét lời để nghị hoặc lời mời tham gia
- Giao thite Acknowledge dimg, dé xac nhận việc tiếp nhận lời dẻ nghị hay
lai mời (lan gia
~_ Giao thức Modify dùng để thay đổi lời để nghị hay lời mời ham gia trước
khi phân hỗi cho bên đầm phán kia
Giao thức đâm phán có nhiều ngữ nghĩa hơn thông điệp đảm phán Mỗi giao thức đâm phán có tiền điều kiện vả hậu điều kiện, một số giao thức trơng đương
với thông điệp Tuy nhiên các giao thức phải tưần theo cáo quy định và cáo rằng buộc của các bên đàm phán
2.3 Lỗng kết
Chương này đã trình bày tổng quan về chất lượng địch của địch vụ Web Các
thuộc tính chất lượng địch vụ chính là thành phân cơ bản vẻ chất lượng địch vụ của
địch vụ Web Ngoài ra, chương này đã giới thiệu một sẽ kÿ thuật có thể biểu diễn chất lượng địch vu cho dịch vụ Web Phân còn lại của chương này đã trình bảy về van dé dam phan địch vụ Web như: thông điệp đảm phản, giao thức đàm phán và
chính sách dâm phan
Trang 33
Chương 3: TÌM HIEU VE AXIS2
Axis? la khung chương trình để triển khai địch vụ Web Tất cả các địch vụ
Web trong khung đàm phán của luận văn được triển khai trên Axis2 Mục 3.1 giới
thiệu tổng quan về Axis2 Lhành phân chính trong kiến trúc của Axis2 là bao gồm
các mô đun: mổ đun xứ lý XMIL, mô đun xử lý thông điệp SOAP, mô đưn giao vận,
xô đun triển khai, mô đun thông tin, m6 dun giao diện lập trình ủng dung cho
khách hàng Mục 3.2, 3.3, 3.4, 3.5, 3.6 số lần lượi giới thiệu vi
c trổ dun nay, 3.1 Giới thiệu Axis2
Thể hệ đâu tiên của khung chương trình địch vụ Web là Apache SOAP Thế
hệ thứ hai là Apache Axis, các đặc điểm của Axis tham khảo tại [1] Axis trở thành
„một trong những dự ản thành công nhất của Apache và dược sử dụng nhiều trong, công nghiệp Do sự phát triển nhanh của ngành công nghiệp dịch vụ Web nên rất nhiều ác lỗ chức đá chuyển sang sử dụng địch vụ Web, từ đỏ phát sinh ra các liều chuẩn mới về địch vụ Web Đặc biệt, sự phat triển của điện toán đám mây (Cloud computing) cing diva ra mdt sé thach thức với công nghệ dịch vụ Web Vì vậy
Apache Axis không thể đáp ứng được hết các yêu cầu hiện tại
Một dự án phát triển Apache Axis2 được ra đời vào năm 2004 Axis2 là thể
hệ tiếp theo của Axisl, Axis? được xây dựng trên một kiến trúc mới thỏa mãn tính mềm déo, hiệu quả hơn Axis] Một số tình năng mới và sự cãi tiến được giới thiệu
ở Axis2 như là AXIOM, dịch vụ Web bất dòng bộ, MTOM, hỗ trợ MHPS
3.1.1 Các dặc điểm chính của Axis2
- Axis2 cung cấp một khung chương trình dé xứ lý các thâng điệp SOAP Khung chương trình này có thể được mở rộng trong các xử lý thông điệp SOAP
hoặc trong các hoạt động cơ sở Liơn nữa, Axis2 cho phép mö hình hóa các dạng
trao đổi thông điệp khác nhau (MIĐS) để được sứ dụng ở trong khung xứ lý
(processing framework) [3]
- Axis? co kha nang tién khai mét dich vu Web véi su hé tro cia WSDL
hoặc không can WSDL
~_ Axis2 cưng
ấp giao điện thao tác người đừng (ChenL APD) sử dựng đề gọi
các địch vụ Web Giao điện thao tác người dùng có thể hỗ trợ cho các hai mô hình
đồng bộ và bất đồng bộ
- Axis? cho phép thay đổi thông tin cấu hình hoặc ở các thành phản của nó trong triển khai địch vụ Web
Trang 34~_ Axis2 cung cập khả năng nhân vả gửi các thông điệp SOAP với nhiều giao thức khác nhau
3.12 Ưu điểm của Axis2
Axis2 đã cải thiện tốc độ xử lỷ XML bằng việc sử dụng công nghệ phân tich
cú pháp, khả năng linh hoạt trong mở rộng kiến trúc, hỗ trợ các tiêu chuân kỹ thuật
của dịch vụ Web hiện tại cũng như các tiêu chuẩn kỹ thuật trong tương lại Ngảy nay, Apache Axis2 là một mã nguồn mở của khung chương trình dịch vụ Web cho
ngôn ngữ lava và Axis2 được sử dụng, nhiều trong ngành công nghiệp vả cả trong giới học thuật
Sự tách biệt giữa logic (logic) và trạng thái (states) trong Axis2, nên các đoạn mã xử lý không có trạng thái bèn trong Axis2 Điều nảy cho phép các đoạn mã
cỏ thể thực hiện tự do bởi các luồng song song (pararellel threads),
Tat cả các thông tin của Axis2 được giữ trong một mỏ đun thông tin, điều nảy cho phép hệ thông bị đình chỉ hay tiếp tục sử dụng Khả năng mở rộng các hỗ trợ cho các dịch vụ Web mã không cần câu hình phức tạp ở phia kiến trúc lõi
Core Modules Taformation
Processing Model SOAP Processing Model
Transport Model
Hình 3-1 Các thành phần chính trong kiến trúc của Axis2 [1]
Axis2 được xây dựng trên kiến trúc mô đưn (Module) bao gồm các mô đun
lõi tạo nên kiến trúc cốt lõi của Axis2, các module không lõi là một lớp trên của các
mô đụn lõi như ở hình 3.1
3.1.3 Các mô đun lõi của Axis2
M6 dun xix ly XML (XML Processing model): m6 dun nay quản lý hoặc xử
lý thông điệp SOAP là một trong những phân khó khăn nhất trong việc thực hiện một thông điệp Vấn đẻ nâng cao hiệu suất trong xử lý thông điệp mả một trong
Trang 35tạ a
những nhân tổ quan trọng nhất để quyết dịnh hiệu suất của một hệ thông dịch vụ Web Axis xử dung DOM dé biéu diễn lược đổ của thông điệp thì Axis2 sit dung kỹ thuật XMI, TnfoSet để triều diễn thông điệp SOAT, kỹ thuật ráy được biết đên trong,
Mô đun mô hình thông tỉ (Information model): mô dun này dễ quản lý xứ lý
thông tin Mö hình này có một số đặc diém chính sau như: khả năng lưu trữ hai trạng thái tĩnh và động, có muội thành phan riêng biệt để xô lý các thông tín logic
tương ứng, quản lý phiên làm việc và quân lý vòng đời của một dịch vụ
‘M6 dum triển khứ: tuô dun mày cho phép người dùng dé dàng triển khai các địch vụ, thực hiện câu hình và mở rộng mê hình xử lý SOAP Mô hình này hỗ trợ
cơ chế triển khai nóng, cập nhật nóng nghĩa là cho phép cập nhật thông tin mới nhất
trên môi trường đang chạy
Mô dun giao điện thao tác phía người dùng (Client API): mé dun nay cung cấp một giao diện thao tác thuận tiện cho người đủng tương tác với các dịch vụ Web Khi sú dụng Axis2
Mô đầm giao thie van chuyển định nghĩa một khung vận chuyển cho phép người dùng sử dựng và liếp xúc với các địch vụ lương Lự nhau trong nhiều giao thức vận chuyên khác nhau Các giao thức vận chuyển đó phù hợp với cho những nơi cụ thể trong mô hình xử lý SOAP Axis2 cung cắp mệt vài phương thức
vận chuyên như: IITTP, SMTP, JMS, TCP Ngoài ra, người cùng có thể viết thêm
hoặc tủy chính giao thức vận chuyên trọng trường, hợp cần thiết
3.1.4 Các mô dun khác của Axis2 (Mô dưn không lõi)
Mô đưn sinh mã: Axis? cung cấp một cung cụ sinh mã được tạo từ phía mây
chủ (Server) và phía máy khách (CHenr) củng với một mô tả Công cụ này giúp đơn
giản hòa việc triển khai dịch vụ và gợi dịch vụ, từ đỏ tăng khả năng sử dụng của
Trang 363.2 Mô đun xử lý XML
Axis] sit dung DOM để thể hiện lược đồ XML và toản bộ cầu trie phan cấp đây đủ của đổi tượng DOM được lưu trữ trong, bộ nhớ Điều nảy không có vẫn đề g1
khi kích thước của thông điệp là nhỏ Những khí kích thước của thông điệp lớn, nên
đây là một vẫn để của Axis1 Axis2 đã khắc phụ điều này bằng cách sử dụng mội kỹ thuật mới gọi là trục xnô hình đối tượng (AXXTs Objccl Model) viết tắt là AXIOM để
thể hiện lược đồ XMIL,
3.2.1 Trục mô hình đổi tượng (AXIOM)
Trục mỏ hình dối tượng sử dụng mô hình XML Infoset đẻ thể hiện lược dé XML Ngoài ra, AXIOM sử dụng kỷ thuật phân tích cu phap kéo (PULL), trong khi
các kỹ thuật biểu diễn lược đồ MT, khác đều sử dụng kỹ thuật phân tích củ pháp
đây (PUSR) Ưu điểm của kỹ thuật kéo (PULT,) hơn kỹ thuật đẩy (PUSR) là các lời
gọi có loàn quyền kiểm soát trong phân tích cú pháp, trong hành động và
sự kiện tiếp theo chỉ thị của người dùng Người dũng có thế quyết định lưu trữ hoặc
loại bỏ các sự kiện được tạo ra từ phân tích cú pháp Dan đản AXIOM được phát
triển như là một thành phan của Apache Axis2 Tuy nhiên, san đó nó trở thành một
dy an WS Component để cáo dự án khảo Axis2 có thé kế thừa được Đặc diễm chính của trục mồ hình dối tượng (AXIOM) [1]
~_ Tính trợng lượng nhẹ trong biểu diễn XMI (Lightweight) ATXOM 161 ưu hoa trong biểu điển XMI, Tnfoset bằng cách giảm độ sâu của hệ thông phân cấp,
‘ac thud
giảm số lượng các phương thức v tinh trong các đối tượng
-_ Tính tri hoãn (Deferred bưilđing): đây là một trong những đặc điểm nhất
của AXIƠM Diễu này có nghĩa lä xây đụng mô hình đổi tượng chỉ khi nó hoàn
toàn cân thiết Các đối tượng không thực hiện trừ khi cân một nhu câu cho chính họ
-_ Sử dụng kỹ thuật phân tịch kéo: AXIOM xây dụng các aiao điện lập trình từng dụng (APU) cho kỹ thuật phân tích kéo trong xứ lý đữ liệư XML,
Phương pháp truyền thông trong xử lý dứ liệu XMI thường xây dựng giao
điện lập trình ứng dụng dựa trên cây (Tree bascd APIs) bing cach sir dung DOM
Vẻ cơ bản của phương pháp này thường tải loàn bộ dữ liệu XMI, vào bệ nhớ và xử
lý nó Nên các mô hình DOM khi được xây đựng thường lớn hơm so với tài liệu XMH, ban đâu, áo đó gây lăng phí bộ nhớ và ảnh hưởng đến tốc độ truy cập
Một phương pháp mới hơn trong xử lý đữ liệu XMIL lả xây dựng giao diện lập trinh ứng dụng dựa trên sự kiện (Events base APIs ) Khi có một loại phân tích
cu phap duge dua ra cho m6t XML xi ly, no sẽ gửi sự kiện tương từng với các mục
thông tin mà nó tìm thấy Phương pháp nay sử dụng SAX là một tiêu chuẩn phân
Trang 37tích củ pháp đẻ xử lý XML Phuong phap nảy hiệu qua hon DOM vẻ bô nhớ Nhưng cả hai phương pháp này vẫn gặp phải nhược điểm là không kiểm soát tốt
được tất cả sự kiện trong quá trình phân tích dữ liệu XML Khi một quả trình phân tích XML bắt đầu, phương pháp dựa trên mô hình cây hoặc dựa trên mô hình sự kiện đều phải tiêu thụ toàn bộ luỏng dữ liệu củng một lúc
Vi vay một phương pháp mới phân tích dữ liệu XML của AXIOM sử dụng
mô hình kéo trực tuyển hay gọi tắt la StAX( Streaming API for XML ) đề xử lý dữ liệu XML khắc phục những nhược điểm của các phương pháp trên Trong mô hỉnh nảy, người dùng có thẻ bắt đầu, tiến hảnh, tạm dừng và tiếp tục quả trình phân tích
dữ liệu XML Viée nay hoàn toản được kiêm soát Kiền trúc của trục mô hình đối tuong (AXIOM Architecture) la rat don gian bao gồm
- Giao điện lập trình ứng dung cho AXIOM goi tat la AXIOM API
AXIOM API cung cap cac thu viên cho người dùng
- B6 xay dung (Builder); xay dung mé hinh déi twong XML dua trén kỹ
thuật phân tích củ pháp của SLAX Mô hình đổi tượng nay cung cấp các sự kiện
được tạo bởi từ việc phân tích củ pháp dữ liệu XML Ngoài ra bộ xây dựng này
đóng vai trỏ như một bộ nhớ đêm trong kiến trúc của AXIOM
- XML Stream: dit ligu XML này được lưu ở dạng nhị phân
3.3 Mô đun xử lý thông điệp SOAP
Nhận vả gửi thông điệp SOAP có thể coi là hai trong số những công việc chủ
yếu của máy xử lý SOAP Trong kiến trúc Axis2 cung cấp hai đường ống đề thực
hiện hai hành đông cơ bản là nhân và gửi thông điệp SOAP Hai đường éng này có
tên là InPipe và OutPipe Các mẫu tin nhắn trao đổi phức tạp kỷ hiệu MEPs, nó
được xây dựng bởi kết nồi hai loại ông InPipe và OutPipe Ngoài ra còn hai đường
Hình 3-2 Mô hình xử lý thông điệp SOAP [2].
Trang 38Khả năng mở rộng của mô hình xử lý SOAP dược cung cấp thông qua cơ chế
xt by (handler), Khi một thông điệp dang dược xử lý, thi các diều khiển này dã
được đăng ký để sẽ thực hiện Các điển khiến này được đã
ý ở mức độ toàn cục, địch vụ, hoặc trong một phạm vi hoạt động giới hạn của máy chủ Axis2 Cuỗi cùng,
Axis? két ndi cac điều khiển của các phạm vi trên thành một chuỗi điêu khiến Các điều khiển có thể hoạt động như một máy đánh chặn, nghĩa là chúng xử lý một phân thông điệp và sau đỏ cung cấp các tiện ích dịch vu (add on services) cho hé thing
khác, Mô tả các bước truyền thông điệp trong mô hình xử lý thông điệp SOAP ở hin 3-2
~_ Khi một thông diệp được gửi đến thông qua Client API, éng OutPipe trên
vùng người dùng được kích hoại Ông OulPipe sẽ gọi các xữ lý (handlers)
- Bộ giao vận gửi thông điệp (Transport sender) trén ving người dùng sẽ
gửi thông điện SOAP Loi dng InPipe trén vung dich vu Thing diép SOAP nay cudi cùng được bộ giao vận gửi thông điệp(Transport sender) trên vừng dịch vụ chuyển tới cuối điểm myc tigu( endpoint) trén ving dich vu
- Théng điệp SOAP này sau đó được nhận bởi bộ giao vận nhận (Transport
reviever) cua vùng, người đảng ở diém muc tiéu (endpoint) Thông digp SOAP tiếp
tạ dược chuyển vào ống InPipe ở vùng người dùng Trong ống InPipe này bao gồm các ao các xử lý( handlers) và kết thúc việc nhận thông điệp SOAT Đồng thời
kết thúc quả trình gửi và nhận thông diép phan hdi SOAP cho Client APT
Quả trình trao đổi thông điệp ở trên xây ra với mỗi thông điệp tại một thời
điểm và với mọi thông điệp Sau khi xử lý xong một thông điệp, Axis2 có thẻ quyết
định tạo ra một thông điệp SOAP khác Axis2 luận luôn xem các thông điệp SOAP
ở dạng xử lý đơn Sự quản lý và kết nối các thông điệp được thục hiện ở lớp trên của khung (framework) Hai dng InPipe và OutPipe không cỏ sự phan biệt khác
nhau giữa vũng máy chú và vùng người đúng,
3.3.1 Xi ly trong Axis? (Handler)
Trong hệ thông truyền thông điệp, các máy bay đánh chin có ý nghĩa thực tế trong ngữ cảnh truyền thông điệp, máy bay đánh chặn có nhiệm vụ chặn dòng chấy
sửa các thông điệp và thực hiện chen ngang các nhiệm vụ mới được phân công Trong thục tế, một máy bay đánh chặn lá một đơn vị thực hiện nhỏ nhất trong hệ thống truyền thông diệp Vi vậy Axis2 cũng sử dụng khải niệm xứ lý hay bộ xử lý (handlers) déng vai trỏ là một máy bay dánh chăn Việc Axis2 xây đựng cơ chế xử
lý (handlors) làm tăng khả nắng mở rộng mềm đẻo trong mô hình xử lý thông điệp SOAP Ngoài việc bộ xứ lý đóng vai trò là máy bay đánh chăn, thì nó còn cưng cấp thêm các tiện ich dich vu (Add on services) cho nhiém vu hay hé théng khéc [3]
Trang 39Header Block
Hình 3-3 Cấu trúc thông điệp mở rộng với một vài tiêu đề [3]
Xử lý trong Axis2 lả không trạng thải, nghĩa là Axis2 không giữ các trạng thải đã qua thực hiện của chúng trong bộ nhớ Câu trúc thông điệp SOAP một xử lý
thường tiếp xúc với tiêu đẻ của thông điệp SOAP, cỏ thẻ đọc tiêu đề (header), thêm
tiêu de (add a header) hoặc loại bỏ tiêu đề (remove header) như ở hình 3-3 Ngoài
ra, xử lý đó có thê tiếp xúc với thân của thông điệp SOAP giổng như tiếp xúc với tiêu đề Trong suốt thời gian xử lỷ (handlers) tiếp xúc với tiêu đẻ hoặc thân của
thông điệp SOAP, nêu quá trình không thực thi đúng do các thông điệp có thể bị
lỗi Khi đó chúng ta nên đưa vào một ngoại lê và bộ phận lái tiếp theo trong chuỗi của Axis2 sẽ có những hành động cân thiết đề giải quyết tỉnh huồng này
Bat kỳ một xử lý trong Axis2 có thẻ đừng thực thi thông điệp, nghĩa là xử lý
có thể kết thúc luỏng thông điệp nẻu nó không tiếp tục Vì vậy chúng ta có thẻ xây
dựng ra các thông điệp có chất lượng tin cây, hoặc một ngữ cảnh tin cây bằng cách
tạm dừng dòng chạy thông điệp dựa trên một số tiền điều kiện hoặc hậu điều kiện
Viết một xử lý trong Axis2 rất đơn giản Nêu bạn muốn viết một xử lỷ bạn có thể kế
thừa lớp AbstractHandler hoặc viết một Interfaee Handler Một xử lý đơn giản kế
thừa AbstractHandler như ở ví dụ 3.1
Ví dụ 3.1: Đoạn mã mô tả xử lý trong Axis2
public class SimpleHandler extends AbstractHandler
Trang 40Ching ta có thê có ba giá trị trả ra của phương thức mvoke như sau Invoke
trả ra giá tri “Continue”, nghĩa là xử lý (handler) nghĩ rằng thông điệp sẵn sảng
được đi kế tiếp Invoke trả ra giả trị “Suspend”, nghĩa là xử lý nghĩ rằng thông điệp
không thể được gửi vẻ phía trước vì một số điều kiện không hải lòng Vì vậy, thực
thi bi dinh chi Invoke tra ra gia tri “Abort”, nghĩa là xử lý nghĩ rằng cỏ một cải gì
đã đã sai với thông điệp đo đó thông điệp không được phép đi tiếp
3.3.2 Giai đoạn trong Axis2
Khải niệm giai đoạn (phase) được giới thiệu trong Axis2, giai đoạn la noi dat các xử lý (handlers) trong một chuỗi dây chuyển của các thực hiện Giai đoạn cỏ
nhiệm vụ hồ trợ việc thứ tự đông của các xử lý Có một số định nghĩa về giai đoạn
trong Axis2:
~_ Giai đoạn có oi là một tập hợp lôgic của các xử lý (handlers)
~_ Giai đoạn có thể coi là một thời gian cụ thể trong việc thực hiện các xử lý
(handlers),
- Giao doan cé thé coi la mét thủng nơi đỏ đẻ đặt xử lý
~_ Có thẻ xem xét giai đoạn như một xử lý (handlers)
Hình 3-4 Các giai đoạn của luồng xử ly trong kien trite Axis? [5]
Trong kiên trúc Axis2 có một tập các giai đoạn được xác định trước Chúng được lưu trong tệp câu hình axis2xml Có hai loại giai đoạn là dòng chảy vao (InFlow) va dong chảy ra (OutFlow) Trong đó dòng chảy vào (InFlow) gồm tập các