Tải bản đầy đủ (.docx) (22 trang)

Tóm tắt luận văn: XÂY DỰNG KHUNG ĐÀM PHÁN CHẤT LƯỢNG DỊCH VỤ CHO DỊCH VỤ WEB

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

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG XUÂN HUY

XÂY DỰNG KHUNG ĐÀM PHÁN
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

TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2014
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG XUÂN HUY

XÂY DỰNG KHUNG ĐÀM PHÁN
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
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. VÕ ĐÌNH HIẾU

Hà Nội - 2014




3

CHẤT LƯỢNG DỊCH VỤ CHO DỊCH VỤ WEB
Hoàng Xuân Huy
Đại học Công Nghệ
Luận văn thạc sĩ ngành: Công nghệ thông tin. Mã số: 60.48.01.03
Người hướng dẫn khoa học: TS. Võ Đình Hiếu
Abstract: Luận văn tìm hiểu các kiến thức liên quan đến dịch vụ web XML,
SOAP, WSDL, UDDI. Đặc điểm thuộc tính chất lượng dịch vụ trong dịch vụ web,
các phương pháp so sánh dịch vụ web dựa vào nhiều thuộc tính chất lượng dịch vụ và
các phương pháp biểu diễn chất lượng dịch vụ. Ngoài ra, luận văn đưa ra các vấn đề
về tổng hợp dịch vụ, đàm phán dịch vụ web, tìm hiểu các nội dung về mã nguồn mở
Axis2. Trên cơ sở đó, tác giả trình bày một khung đàm phán chất lượng dịch vụ cho
dịch vụ web trong lĩnh vực du lịch. Khung đàm phán này là công cụ sử dụng cho
nghiên cứu và giảng dạy. Ngoài ra, sản phẩm khung đàm phán này được hoàn thiện
như mong muốn của tác giả thì nó có thể được đem vào ứng dụng thực tế trong lĩnh
vực du lịch.
Keyword: dịch vụ web, SOAP, WSDL, UDDI, chất lượng dịch vụ web, tổng
hợp dịch vụ, đàm phán dịch vụ web, Axis2.


4

LỜI MỞ ĐẦU
1.

Đặt vấn đề, định hướng nghiên cứu
Ngày nay, công nghệ dịch vụ Web được áp dụng phổ biến và trở một phần quan

trọng trong các hệ thống thông tin. Dịch vụ Web được áp dụng trên nhiều miền ứng
dụng khác nhau như trong thương mại điện tử, du lịch, giáo dục …. Có được điều này
do dịch vụ Web cung cấp phương tiện cho phép các ứng dụng phần mềm chạy trên
nhiều nền tảng khác nhau trao đổi với nhau trên môi trường mạng. Số lượng nhà cung
cấp dịch vụ Web và người sử dụng dịch vụ Web cũng tăng nhanh, đồng thời các yêu cầu
của người dùng ngày càng trở nên phức tạp hơn. Trong công nghệ dịch vụ Web, một
dịch vụ Web mới có thể được xây dựng bằng cách sử dụng các dịch vụ Web đã tồn tại.
Dịch vụ Web mới được gọi là dị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 dị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ụ đó.
Luận văn này tập trung vào khía cạnh chất lượng dịch vụ của dịch vụ Web kết
hợp. Cụ thể, luận văn tìm hiểu về vấn đề đám phán giữa dịch vụ Web kết hợp và các
dịch vụ Web thành phần để chọn các thông số chất lượng dịch vụ cho phù hợp với yêu
cầu của người dùng. Bài toán sẽ là: người dùng đưa ra yêu cầu chất lượng dịch vụ cho
dịch vụ Web kết hợp là WS, làm thế nào để WS đàm phán và chọn ra dịch vụ Web
thành phần thỏa mãn yêu cầu đưa ra. Luận văn đề xuất một khung đàm phán chất lượng
dịch vụ cho dịch vụ Web kết hợp. Dịch vụ Web kết hợp trong khung đượ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ố lượng
thuộc tính chất lượng dịch vụ trong khung đàm phán này không bị giới hạn. Khung này
sử dụng phương pháp gán trọng trọng số để phân biệt độ ưu tiên của các thuộc tính chất

2.


lượng dịch vụ.
Nội dung của luận văn
Luận văn được chia thành các phần chính như sau:
Mở đầu: Phần đặt ra vấn đề đưa mục tiêu và giải pháp cho bài toán.
− Chương 1: trình bày tổng quan về dịch vụ Web, kiến trúc của dị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.


5

− Chương 2: trình bày về chất lượng dịch vụ trong dị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 dịch vụ. Vấn đề đám
phán trong dịch vụ Web như chính sách đàm phán, giao thức đàm phán, thông
điệp đàm phán 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ác mô đun trong Axis2 bao gồm: mô đun xử lý XML, mô đun thông tin, mô
đun xử lý thông điệp SOAP, mô đun triển khai, mô đun client API. Các mô
đun này là 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án chất lượng dịch vụ dịch vụ Web,
các dịch vụ được triển khai trên Axis2, cài đặt thử nghiệm bằng ngôn ngữ


Java và sử dụng các thư viện của Axis2.
Kết luận & định hướng: tổng kết lại những kiến thức tìm hiểu và trình bày trong luận
văn, đánh giá kết quả làm được. Đưa ra các hướng phát triển trong tương lai.


6

Chương 1. TỔNG QUAN VỀ DỊCH VỤ WEB
1.1 Giới thiệu về dịch vụ web
Dịch vụ web là một thiết kế hệ thống phần mềm để cung cấp các phương tiện

cho các phần mềm giao tiếp với nhau trên môi trường mạng hoặc internet. Dịch vụ
web dựa trên các chuẩn XML, nên dịch vụ web cho phép các ứng dụng truy cập trên
nó thông qua các giao thức và định dạng dữ liệu phổ biến như HTTP, XML,
SOAP,REST, WSDL, JSON. Vì vậy các ứng dụng trao đổi dữ liệu với nhau trên dịch
vụ web không cần quan tâm đến các vấn đề hệ điều hành, nền tảng của ứng dụng của
nhau
1.2 Kiến trúc dịch vụ web
Có ba vai trò trong kiến trúc dịch vụ web bao gồm: Nhà cung cấp dịch vụ, nhà
yêu cầu dịch vụ, đăng ký dịch vụ.
1.2.1 SOAP
SOAP là một giao thức đóng gói các thông điệp dựa trên XML. SOAP cung
cấp cơ chế đơn giản và nhẹ trao đổi thông tin giữa các ứng dụng trong môi trường
phân tán sử dụng XML.
Cấu trúc của thông điệp SOAP bao gồm : Phong bì thư SOAP, trong phong bì
thư SOAP bao gồm các thành phần sau: Phần tiêu đề, phần thân, phần lỗi.
1.2.2 WSDL
Ngôn ngữ miêu tả dịch vụ web được viết tắt là WSDL. WSDL là một định
dạng XML, nó định nghĩa các cú pháp XML để miêu tả trừu trượng các thành phần
của một dịch vụ web. Các phần tử sau được định nghĩa trong tài liệu WSDL để miêu
tả các dịch vụ: Types, Message, PortType, Binding, Port, Service.
1.2.3 UDDI
Mô tả và khám phá dịch vụ web được viết tắt là UDDI. UDDI được xây dựng
dựa trên một số tiêu chuẩn công nghệ, bao gồm các thành phần sau: HTTP, XML,
XSD, SOAP và WSDL. Vì vậy nó là nơi chứa thông tin về dịch vụ, cho phép đăng ký
dịch vụ và cho phép tìm kiếm dịch vụ.
1.3 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: 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 vụ web.
Nó bao gồm các lớp sau: Lớp giao thức giao tiếp, lớp thông điệp gồm các dữ liệu
dạng XML và giao thức SOAP, lớp miêu tả WSDL và lớp khám phá UDDI.



7

Thành phần mở 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.
1.4 Phương pháp tiếp cận để tổng hợp dịch vụ tự động
Có hai loại tổng hợp dịch vụ là tổng hợp dịch vụ bằng tay và tổng hợp dịch vụ
tự động. Trong tổng hợp dịch vụ 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) và phương pháp dựa vào lập
kế hoạch trí tuệ nhân tạo.


8

Chương 2. CHẤT LƯỢNG DỊCH VỤ
VÀ ĐÀM PHÁN CHẤT LƯỢNG DỊCH VỤ
2.1 Chất lượng dịch vụ
Ngày nay, các dịch vụ web ngày càng phát triển. Chúng không chỉ được phát
triển trên nền tảng web mà chúng còn đang được phát triển mạnh mẽ trên nền tảng di
động. Vì vây, vấn đề chất lượng dịch vụ đang rất được quan tâm.
2.1.1 Các thuộc tính chất lượng dịch vụ
Chất lượng dịch vụ có thể được sử dụng để xác định các thuộc tính phi chức
năng của dịch vụ. Các thuộc tính chất lượng dịch vụ được định nghĩa cụ thể cho các
dịch vụ web chẳng hạn như: Độ sẵn sàng, an ninh, thời gian đáp ứng, chi phí, thông
lượng, độ tin cậy.
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ụ thành phần đóng vai trò
quan trọng trong việc tổng hợp chất lượng dịch vụ web. Đối với mỗi dịch vụ web
thành phần đã có nhiều giải pháp được đề xuất để cung cấp thông tin chất lượng dịch

vụ
Sử dụng UDDI để chứa thông tin chất lượng dịch vụ, bằng cách đăng ký thông
tin chất lượng dịch vụ tại UDDI. Bởi vì cấu trúc của nó cho phép mô tả các thông tin
chất lượng dịch.
Sử dụng SOAP để lưu trữ thông tin chất lượng dịch vụ. 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.
Dịch vụ Web thành phần cung cấp các hàm chất lượng dịch vụ. Trong phương
pháp này, dịch vụ Web thành phần xây dựng thêm các hàm chất lượng dịch vụ, các
hàm này có chức năng chỉ cung cấp thông tin chất lượng dịch vụ cho các hàm chức
năng trong dịch vụ Web. Vì vậy, các hàm chất lượng dịch vụ này cũng được mô tả ở
trên WSDL 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 tin chất lượng dịch vụ của các hàm này thông
qua một số hàm chất lượng dịch vụ. Ưu điểm của phương pháp này có tính mềm dẻo,
tính tiện dụng trong kiểm tra thông tin chất lượng dịch vụ cho dịch vụ Web thành
phần, trong xây dựng dịch vụ Web kết hợp dựa trên thông tin chất lượng dịch vụ.
2.2. Đàm phán dịch vụ web


9

Đàm phán là một sự tương tác giữa hai hay nhiều 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ể. Khía cạnh về đàm phán có thể một
mức giá của một hàng hóa trong thương mại điện tử hoặc chi phí phải trả để sử dụng
một dịch vụ.
2.2.1 Chính sách đàm phán
Chính sách được hiểu cơ bản là đặt ra các quy tắc trong đó xác định một hành
động hay một sự xác nhận được thực hiện khi một điều kiện nhất định nào đó được
đáp ứng, khi đó dẫn đến các quyết định được hiện để đạt mục tiêu nhất định. Mỗi
chính sách đàm phán thường có một đặc tả miền cụ thể khác nhau. Các yếu tố chính

trong miền là: Ngữ cảnh, mục đích, ràng buộc, vấn đề ưu tiên hay vấn đề tùy chọn và
một số yếu tố khác như ở hình dưới đây.
2.2.2 Thông điệp đàm phán
Các thành phần đàm phán sử dụng thông điệp để trao đổi với nhau trong quá
trình đàm phán. Khi dịch vụ A đàm phán dịch B thì một thông điệp yêu cầu (Request
message) được gửi từ dịch A tới dịch vụ B, dịch vụ B sẽ phản hồi cho thông điệp A
với một thông điệp phản hồi (Respone message).
2.2.3 Giao thức đàm phán
Giao thức đàm phán sử dụng để mô tả cơ chế và quy tắc của các bên đàm phán.
Các giao thức này xác định các bên có thể tương tác với nhau và trả ra ảnh hướng
quyết định chúng. Hệ thống hỗ trợ đàm phán được viết tắt là NSS là một kiến trúc
dịch vụ web cho phép trao đổi thông điệp đàm phán của nhà cung cấp dịch vụ hoặc
nhà yêu cầu dịch vụ với dịch vụ đàm phán thứ ba. Các dịch vụ đàm phán này thường
là một dịch vụ web, dị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à nhà cung cấp dịch vụ có thể giao tiếp và hoạt
động cùng nhau


10

Chương 3. TÌM HIỂU VỀ MÃ NGUỒN MỞ AXIS2
3.1. Giới thiệu về Axis2
Axis2 là khung chương trình triển khai dịch vụ web. Ngoài ra Axis2 là mã
nguồn mở cho phép các phát triển thêm các tính tiện ích xung quanh dịch vụ web.
Axis2 cung cấp một khung chương trình để xử lý các thông điệp SOAP. Khung
chương trình này có thể được mở rộng và người dùng có thể mở rộng trong các xử lý
thông điệp SOAP hoặc trong các hoạt động cơ sở. Axis2 có khả năng triển khai một
dịch vụ web với sự hỗ trợ của WSDL hoặc không cần WSDL. Axis2 cung cấp giao
diện thao tác người dùng (Client API) sử dụng để gọi các dịch vụ web. Giao diệ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ộ.

3.2. Mô đun xử lý XML
Axis1 sử dụng DOM để thể hiện lược đồ XML và toàn bộ cấu trúc phân cấp
đầy đủ của đối tượng (tương ứng với các thông điệp đến) được lưu trữ trong bộ nhớ.
Điều này không có vấn đề gì khi kích thước của thông điệp là nhỏ. Nhưng khi 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ột kỹ thuật mới gọi là trục mô hình đối tượng (AXIs Object
Model - AXIOM) để thể hiện lược đồ XML.
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 ống
khác có mục đích hỗ trợ cho các thông điệp gửi đến và gửi đi bị lỗi.
Xử lý, giai đoạn, luồng trong Axis2.
Axis2 xây dựng cơ chế xử lý (handlers) làm tăng khả năng mở rộng mềm dẻo
trong mô hình xử lý thông điệp SOAP, cơ chế xử lỳ này còn cung cấp thêm các tiện
ích dịch vụ (Add on services) cho các nhiệm vụ hay hệ thống khác.
Xử lý (handler) 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ớ. Một xử lý (handler) có thể có
quyền đọc hoặc viết vào ngữ cảnh thông điệp ( Message context) hoặc một thông
điệp SOAP đến.


11

Khái niệm giai đoạn (phase) được giới thiệu trong Axis2, giai đoạn là nơi đặt
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ý (handlers).
Dòng chảy hay gọi là luồng (flow) là tập hợp các giai đoạn và thứ tự các giai

đoạn theo một dòng chảy xác định được định nghĩa ở tập tin cấu hình axis2.xml. Có
bốn loại dòng chảy được định nghĩa trong Axis2: Dòng chảy InFlow, dòng chảy
InFaulFlow, dòng chảy OutFlow, dòng chảy OutFaultFlow.
3.4 Mô đun giao vận và mô đun triển khai
Axis2 được thiết kế để khắc phục các nhược điểm trên và cung cấp một cách
linh hoạt, thân thiện, và một mô hình cấu hình triển khai khá dễ dàng.
Axis2 có hai loại giao vận là giao vận gửi (Transport Senders) và giao vận
nhận ( Transport Receivers). Chúng được truy cập thông qua tệp cấu hình trên Axis2.
Giao vận nhận có nhiệm vụ nhận thông điệp, giao vận gửi có nhiệm vụ gửi thông
điệp ra ngoài. Hơn nữa giao vận gửi và giao vận nhận là hoàn toàn độc lập.
Axis2 sẽ coi như là một bản cập nhật nóng. Khi Axis2 tìm thấy một tệp mới,
nó sẽ đối xử như một triển khai nóng. Triển khai nóng là triển khả năng triển khai các
dịch vụ mới trong khi hệ thống đang chạy ở thời gian thực. Trong hệ thống quản trị
của Axis2 nếu bạn không muốn triển khai nóng, bạn có thể thay đổi dễ dàng ở tệp cấu
hình axis2.xml.
3.5. Mô đun xử lý thông tin
Các ứng dụng đòi hỏi khả năng hỗ trợ hai loại dữ liệu tĩnh và dữ liệu động
trong khi sử dụng một khung của dịch vụ web (Web service framework). Hiện nay
một số khung dịch vụ web có thể đáp ứng được điều này. Axis2 có hai hệ thống phân
cấp các đối tượng để hỗ trợ dữ liệu tĩnh cũng như dữ liệu động. Mô hình thông tin có
hai hệ thống phân cấp chính là ngữ cảnh (context) và sự mô tả ( description). Trong
đó hệ thống phân cấp mô tả (Description) biểu diễn dữ liệu tĩnh. Dữ liệu tĩnh này
được nạp từ một tập tin cấu hình . Mặt khác, hệ thống phân cấp ngữ cảnh (Context)
chứa nhiều thông tin động về một đối tượng và nó có thể có nhiều hơn một thể hiện.
3.6 Mô đun giao diện lập trình ứng dụng khách hàng (Client API)
Axis2 rất mềm dẻo và linh hoạt trên khía cạnh triển khai một dịch vụ Web.
Axis2 có khả năng cung cấp các tiện ích cho việc gọi các dịch Web, sử dụng các dịch
vụ Web. Nghĩa là chúng ta có các dịch vụ Web triển khai ở máy chủ, người dùng hay
ứng dụng thực hiện gọi các dịch vụ Web để sử dụng chúng. Vì vậy, Axis2 cung cấp
một mô đun giao diện lập trình ứng dụng cho khách hàng hay gọi tắt là Client API để



12

xử lý việc gọi các dịch vụ Web. Một số nội dung chính được Axis2 để cập đến trong
mô đun ClientAPI bao gồm các dạng trao đổi thông điệp, cơ chế đồng bộ hay bất
đồng bộ trong các lời gọi của dịch vụ Web, ServiceClient, OperationClient.

Chương 4. XÂY DỰNG KHUNG ĐÀM PHÁN CHẤT LƯỢNG DỊCH VỤ
CHO DỊCH VỤ WEB
Chương này trình bày việc xây dựng khung đàm phán chất lượng dịch vụ cho
dịch vụ Web. Mục tiêu của khung đàm phán là xác định các thông số chất lượng dịch
vụ mà các dịch vụ Web thành phần cần cung cấp. Khung đàm phán này sử dụng miền
ứng dụng trong du lịch như là ngữ cảnh cụ thể để minh họa cách giải quyết bài toán.
Các dịch vụ Web thành phần trong khung này có vai trò thực hiện các nghiệp vụ như
đặt phòng khách sạn hay đặt tour du lịch, …. Ngoài ra, đặc điểm của các dịch vụ
thành phần này cung cấp nhiều hàm chức năng có chức năng giống nhau và phân biệt
nhau dựa vào chất lượng dịch vụ.
4.1 Mô tả bài toán
Trong lĩnh vực dụ lịch chúng ta đang có các dịch vụ đặt tour, dịch vụ đặt phòng,
dịch vụ đặt vé máy bay, dịch vụ đặt xe, dịch vụ tra cứu thời tiết… Ký hiệu là
Book_WSi là dịch vụ Web thành phần trong khung đàm phán, với (i= 1, 2) tương


13

ứng là dịch vụ Web đặt phòng BookingHotel và đặt tour BookingTour. Đặc điểm của
các dịch vụ thành phần này là:
-


Các dịch vụ này là riêng lẻ, độc lập, được cung cấp bởi các nhà cung cấp dịch vụ

-

khác nhau.
Các dịch vụ này có nhiều hàm chức năng tương tự nhau, chúng được phân biệt nhau

-

dựa vào thông tin chất lượng dịch vụ.
Các dịch vụ này có hàm chất lượng dịch vụ, hàm này có nhiệm vụ cung cấp thông tin
chất lượng dịch vụ cho hàm chức năng. Hàm chất lượng dịch vụ hỗ trợ cho người
dùng có thể hỏi thông tin chất lượng dịch của các hàm chức năng, từ đó người dùng
sẽ quyết định nên sử dụng hàm chức năng nào cho phù hợp.
Ký hiệu là Travel_WS là dịch Web kết hợp trong khung đàm phán. Dịch vụ
Travel_WS được tạo ra từ sự kết hợp của các thành phần Book_WSi và được cung
cấp các giá trị chất lượng dịch vụ đầu vào từ phía người dùng như (const_cost,
const_time, const, availability, …).
Nội dung khung đàm phán của luận văn là xây dựng dịch vụ Web kết hợp
WS_Travel, dịch vụ này thực hiện đàm phán với các dịch vụ thành phần Book_WSi
và chọn lựa các cặp (FuncHotelj, FuncTourk) của các dịch thành phần Book_WSi sao
cho thỏa mãn biểu thức (4.1) sau:
<=

.

(4.1)

4.2 Kiến trúc khung đàm phán
Mô tả như hình vẽ dưới đây



14

Hình 4-1: Kiến trúc khung đàm phán
4.3 Giao thức đàm phán giữa dịch vụ tổng hợp Travel_WS với các dịch vụ thành
phần
Dịch vụ Travel_WS sẽ đàm phán với tất cả các dịch vụ thành phần và sử dụng
phương pháp đàm phán tuần tự. Nghĩa là Travel_WS sẽ lần lượt đàm phán với các
dịch vụ thành phần. Quá trình đàm phán được kết thúc khi Travel_WS đàm phán
xong với tất cả các dịch vụ thành phần và đưa ra kết quả, hoặc sẽ kết thúc khi thời
gian đàm phán quá giới hạn, hoặc phát sinh lỗi không thể kiểm soát bắt buộc phải kết
thúc đàm phán.
4.3.1 Biểu đồ tuần tự về đàm phán giữa Travel_WS với một dịch vụ thành phần

Hình 4-2: Biểu đồ tuần tự đàm phán dịch vụ giữa Travel_WS với các dịch vụ
thành phần
4.3.2 Biểu đồ hoạt động trong đàm phán dịch vụ


15

Hình 4-3: Lược đồ trạng thái của quá trình tổng hợp dịch vụ giữa Travel_WS
với các dịch vụ thành phần.
4.4 Vai trò các dịch vụ web thành phần BookHotel, BookTour trong khung đàm
phán
4.4.1 Thông tin chất lượng dịch vụ của các dịch vụ web thành phần
Các dịch vụ thành phần như BookTour, BookHotel đọc tệp tin cấu hình để xác
định số lượng và tên các thuộc tính chất lượng dịch vụ, để trả về cho dịch vụ tổng
hợp. Khi số lượng thuộc tính trên tệp cấu hình thay đổi thì số lượng thuộc tính chất

lượng dịch vụ của dịch vụ thành phần trả về cho dịch vụ tổng hợp cũng thay đổi.
4.4.2 Các giao thức đàm phán của các dịch vụ web thành phần
Bảng các giao thức của dịch vụ đặt phòng khách sạn BookHotel
Tên giao thức
ACK_ProposalOK
ACK_Reject
FuncHotel1
FuncHotel2
FuncHotel3
Counter_Confirm
Refuse
Bảng các giao thức của dịch vụ đặt vé BookTour
Tên giao thức


16

ACK_ProposalOK
ACK_Reject
FuncTour1
FuncTour2
FuncTour3
Counter_Confirm
Refuse
4.5 Một số phương pháp chọn dịch vụ tối ưu dựa trên chất lượng dịch vụ trong
đàm phán dịch vụ
Phương pháp so sánh đặc điểm thuộc tính chất lượng dịch vụ
Đây là phương pháp so sánh đơn giản, so sánh các thực thể với nhau trên cùng
một thuộc tính chất lượng dịch vụ. Thực thể nào có thuộc tính chất lượng tốt nhất thì
xếp thứ 1, thực thế tốt thứ nhì xếp thứ 2, thực thể tốt thứ ba thì xếp thứ 3. Sau đó đối

với mỗi thực thể thực, hiện tính tổng thứ tự các thuộc tính chất lượng dịch vụ. Nếu
thực thể nào có tổng nhỏ nhất thì thực thể đó được chọn. Ký hiệu FuncTour1,
FuncTour2 và FuncTour3 là ba hàm chức năng với ba thuộc tính Cost, Time và
Availability như ở bảng 4.1.
Bảng 4-1: Minh họa phương pháp so sánh dựa trên tổng các thuộc tính chất lượng
dịch vụ
FuncTour1

Cost
1

Time
2

Availability
3

Tổng
6

FuncTour2

2

1

1

4 (*)


FuncTour3

3

3

2

8

Mặc dù đây là phương pháp đơn giản, nhưng phương pháp này có một vài hạn
chế. Một là khi giá trị tổng của các thực thể bằng nhau thì chọn hàm chức năng nào.
Hai là phương pháp này chưa phân biệt mức độ khác nhau giữa các thuộc tính chất
lượng dịch vụ.
Phương pháp chuẩn hóa
Phương pháp chuẩn hóa khắc phục hạn chế của các mức độ khác nhau của các
thuộc tính. Trong phương pháp này, giá trị của các thuộc tính được bình thường hóa


17

bằng cách gán 1 cho dịch vụ có giá trị thuộc tính lớn nhất và 0 cho dịch vụ có giá trị
thuộc tính nhỏ nhất. Tất cả các giá trị của thuộc tính chỉ thuộc trong đoạn [0,1] và
được phân bổ tỉ lệ thuận với giá trị thực của nó. Tổng của các xếp hạng bình thường
cho mỗi dịch vụ được tính toán và dịch vụ nào có tổng lớn nhất được coi là tốt nhất.
Hình vẽ dưới đây mô tả cách chuyển giá trị thực của thuộc tính sang giá trị mới sử
dụng phương pháp chuẩn hóa.
Bảng 4-2: Bảng minh họa giá trị gốc trong phương pháp chuẩn hóa
FuncTour1


Cost
80

Time
0.4

Availability
90%

FuncTour2

90

0.2

99%

FuncTour3

60

0.9

95%

Bảng 4-3: Bảng minh họa các giá trị đã được chuyển đổi trong phương pháp chuẩn
Cost

Time


Tổng

0.71

Availabilit
y
0

FuncTour1

0.67

FuncTour2

1

0

1

2 (*)

FuncTour3

0

1

0.55


1.55

1.38

Nhược điểm của phương pháp này là không giải quyết được vấn đề độ ưu tiên của
các thuộc tính trong mỗi dịch vụ.
Phương pháp gán trọng số
Sự hạn chế của các thuộc tính có độ quan trọng như nhau trong mỗi bên đàn
phán được khắc phục bằng gán cho thuộc tính đó với một trọng số thích hợp. Một
thuộc tính có trọng số cao hơn là có tầm quan trọng hơn. Một vấn đề đặt ra làm thế
nào xác định được những trọng số và xác định được dịch vụ tối ưu nhất. Phương pháp
gán trọng số này đã mượn lý thuyết giả tương đương và phương pháp bất tương
đương (Hypothetical Equivalents and Inequivalents Method) ký hiệu là HEIM để gán
trọng số cho các thuộc tính. Xét một ví dụ cụ thể sau để mô tả phương pháp HEIM.


18

Gọi FuncTour1, …, FuncTour4 là 4 hàm chức năng đặt tour và mỗi hàm chức
năng có 3 thuộc tính là Cost, Time và Availability với các giá trị được gán như ở
trong bảng 4.4.
Bảng 4-4: Bảng minh họa các giá trị thuộc tính chất lượng dịch vụ trong phương
pháp gán trọng số.
W1
Cost
1
0.5
1
0.5


FuncTour1
FuncTour2
FuncTour3
FuncTour4

W2
Time
0.5
0
0.5
0.5

W3
Availability
1
0.5
0.5
1

Mỗi thuộc tính được gán trọng số Wi và tổng các trọng số thỏa mãn biểu thức
sau (4.2). Tổng giá trị các thuộc tính trong mỗi hàm chức năng được tính theo công
thức FuncTouri = (4.3).
Vj, Wj tương ứng là giá trị và trọng số của thuộc tính thứ j. Khi đó, tổng giá trị các
thuộc tính có gán trọng số của các hàm chức năng như ở bảng 4.5. Thực hiện tính
tổng của từng hàm chức năng, hàm nào có tổng lớn nhất thì được chọn và coi là tối
ưu nhất.
Bảng 4-5: Bảng minh họa tính tổng giá trị thuộc tính chất lượng dịch vụ trong
phương pháp gán trọng số
W1
Cost

FuncTour1 1
FuncTour2 0.5
FuncTour3 1

W2
Time
0.5
0
0.5

W3
Availability
1
0.5
0.5

FuncTour4 0.5

0.5

1

Tổng
W1+0.5W2+W3
0.5W1+W3
W1+0.5W2+0.5W
3
0.5W1+0.5W2+W
3


Áp dụng phương pháp gán trọng số để tổng hợp nhiều thuộc tính chất lượng dịch của
dịch vụ web thành phần trong khung đàm phán.
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU
Dưới đây là các kết quả mà khung đàm phán đã đạt được.


19

-

Xây dựng được một dịch vụ Web kết hợp. Dịch vụ Web kết hợp này
thực hiện đàm phán với các dịch vụ thành phần và chọn ra các hàm chức

-

năng sao cho thỏa mãn yêu cầu đưa ra.
Khung cho phép tổng hợp nhiều thuộc tính chất lượng dịch vụ, phân loại
mức độ ưu tiên các thuộc tính chất lượng dịch vụ. Việc cập nhật các
thuộc tính chất lượng dịch vụ được thực hiện trên tệp cấu hình, hệ thống

-

tự động ghi nhận điều này.
Trong thiết kế của khung đàm phán đã tính toán đến việc thêm mới hoặc

-

bỏ các dịch vụ Web thành phần.
Các hàm chức năng của dịch vụ thành phần hay dịch vụ Web kết hợp
đều có thời gian giới hạn. Nếu thời gian xử lý của các dịch vụ quá thời

gian giới hạn thì kết quả của dịch vụ Web kết hợp được coi là thất bại và

-

không có ý nghĩa.
Khung được xây dựng trên mô ngôn ngữ Java và giao diện console.

Sau đây là một số hướng phát triển của luận văn.
-

Xây dựng cách tính chất lượng dịch vụ dựa trên một số thuật toán và

-

nghiên cứu đã báo cáo trong các hội nghị khoa học.
Xây dựng mô hình và cơ chế cho phép người dùng và nhà phát triển có

-

thể tùy biến chọn phân loại hay độ ưu tiên chất lượng dịch.
Xây dựng một mô đun chất lượng dịch triển khai trên Axis2, nó là nơi
cung cấp đầu vào thông tin chất lượng dịch vụ. Việc này phục cho các
nhà phát triển và nhà cung cấp dịch vụ


20

Tài liệu tham khảo
[1] Deepal Jayasinghe & Afkham Azeez, Apache Axis2 Web Services 2nd Edition,
February 2011

[2] Buda Claudio, Web Services & Axis2 Architecture & Tutorial, June 2007
[3] Kent Ka Iok Tong, Developing Web Services with Apache Axis2, Second edition
March 2008
[4] Deepal Jayasinghe, Quickstart Apache Axis2, May 2008
[5] Apache Axis2: Architecture Guide Apache Axis2, Version: 1.6.2(2012).
/>[6]
Apache
Axiom:
Axiom
User
Guide,Version:
1.2.14
/>[7]
Eran
Chinthaka,
Introduction
to
StAX,

July

20,

(2012).
2006.

/>[8] Deepal Jayasinghe, December 13, 2006, Invoking Web Services using Apache
Axis2.
/>[9] Eran Chinthaka,Introducing AXIOM - The Axis Object Model,10-2005.
/>[10] Samisa Abeysinghe, Flows- Phases - Handlers and Modules, Feb - 2007.

/>[11] Patrick C.K.Hung, Haifei Li, Jun-Jang Jeng. An Overview of Research Issues
WS-Negotiation. Proceedings of the 37th Hawaii International Conference on System
Sciences - 2004.
[12] O'Reilly, Programming Web Services with SOAP, December 2001
[13]O'Reilly, Java Web Services, First Edition March 2002
[13] ABDALDHEM AL BRE SHNE - PATRIK FUHRER - JACQUE S
PASQUIER, Web Services Technologies: State of the Art, September 2009
[14] Yutu Liu- Anne H.H. Ngu - Liangzhao Zeng, QoS Computation and Policing in
Dynamic Web Service Selection, WWW2004, May 17–22, 2004, New York, USA.
[15] Farhana Zulkernine and Patrick Martin,Chris Craddock-SVP, Kirk Wilson-Ph.D.
A Policy-based Middleware for Web Services SLA Negotiation
[16] Mahboobeh Moghaddam, Joseph G. Davis1. Service Selection in Web Service
Composition: A Comparative Review of Existing Approaches, 1-2011
[17] W3C: SOAP 1.2, April 2007.


21

/>[18] W3C: WSDL 1.1, March 2001.
/>[19] W3C: XML 1.0, November 2008
/>[20] w3schools: UDDI,
/>[21] Abhishek Srivastava, Paul G. Sorenson. Service Selection based on Customer
Rating of Quality of Service Attributes. 2010 IEEE International Conference on Web
Services
[22] D. Luenberger, Linear and Nonlinear Programming,Addison-Wesley, Reading
(MA), 1984.
[23] C. L. Hwang, J. L.Williams, and L. T. Fan, Introduction to the generalized
reduced gradient method, Institute for Systems Design and Optimization, Kansas
State University (Manhattan),1972.




×