LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN: XÂY DỰNG KHUNG ĐÀM PHÁN CHẤT LƯỢNG DỊCH VỤ CHO DỊCH VỤ WEB - Pdf 38

ĐẠ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

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

1


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
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. VÕ ĐÌNH HIẾU

Hà Nội - 2014
LỜI CAM ĐOAN
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 dung nghiên cứu và kết quả trong đề tài này hoàn
toàn trung thực.

4


DANH MỤC TỪ VIẾT TẮT
Chữ viết tắt

Tiếng Anh

XML

eXtensible Markup Language

SOAP

Simple Object Access Protocol

WSDL

Web Services Description Language

XSD

XML Schema Definition

UDDI

Universal Description, Discovery and Integration

RPC


JMS

Java Message Service

TCP

Transmission Control Protocol

MEPs

Message Exchange Patterns

DANH MỤC CÁC HÌNH

5


6


DANH MỤC CÁC BẢNG

7


8

MỞ ĐẦ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

xử lý thông điệp SOAP, mô đun triển khai, mô đun client API. Các mô đun này là


9

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.
Phần cuối của luận văn là kết luận và hướng phát triển.


10

Chương 1: TỔNG QUAN VỀ DỊCH VỤ 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 dịch vụ Web. Kiến trúc của dịch vụ Web được trình bày ở
mục 1.2 và các đặc điểm quan trọng của dịch vụ Web như SOAP, WSDL, 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
tầng trong dịch vụ, điều này giúp chúng ta hiểu được kiến trúc và các khả năng phát
triển của dịch vụ Web. Mục 1.7 trình bày về các vấn đề xây dựng dịch vụ Web kết
hợp.

1.1 Giới thiệu về dịch vụ Web
Có nhiều định nghĩa về dịch vụ Web, theo định nghĩa của [8] “Một dịch vụ
Web là phần mềm mà làm cho bản thân nó luôn sẵn sàng trên Internet và sử dụng
hệ thống thông điệp dựa các tiểu chuẩn XML. XML được sử dụng để mã hóa tất cả
giao tiếp với dịch vụ Web. Ví dụ, một khách hàng gọi một dịch vụ Web bằng cách
gửi thông điệp XML, sau đó chờ XML phản hồi tương ứng. Bởi vì tất cả giao tiếp


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ụ và đăng ký dịch vụ. Trong đó, nhà cung cấp dịch vụ có vai trò
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 là SOAP, WSDL và
UDDI.


12

1.3 SOAP

-

-

-

SOAP (Simple Object Access Protocol) cung cấp cơ chế đơn giản để 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. SOAP đưa
ra các quy tắc để đặc tả các loại dữ liệu, các kiểu dữ liệu. Cụ thể nó cho phép đặc tả
các kiểu dữ liệu như : String, Interger, Float, Enum, Array, Struct [14]. Dưới đây là
các đặc điểm kỹ thuật của SOAP [7].
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

13

<city>Ha Noi</city>
Ha Noi</province>
<zip>1000</zip>
</shipTo>
<items>
<item id="124">
Java Web Services </productName>
<quantity>1</quantity>
25$</price>
<comment>I want to buy this book</comment>
</items>
</PurchaseOrder>

Ví dụ 1.2: Cấu trúc dữ liệu một tài liệu SOAP về thông tin một đơn hàng.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<SOAP-ENV:Header>
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<PurchaseOrder xmlsn="urn:xml-sample">
<shipTo country="VN">
<name>hoang xuan huy</name>
<street>123 xuan thuy</street>
<email>[email protected]</email>

Phần tử types định nghĩa các kiểu dữ 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 định nghĩa lược đồ XML
(XML schema definitions) viết tắt XSD để mô tả các kiểu dữ liệu cho phần tử 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 trúc phần tử types trong một WSDL.
<types>

<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>


15

<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>

Phần tử message để biểu diễn trừu tượng cấu trúc của thông điệp. Thông điệp

</portType>

Phần mô tả cụ thể.
Phần này bao gồm các phần tử binding, port và service.Trong đó, phần tử
binding đặc tả định dạng thông điệp và một giao thức cụ thể như SOAP, HTTP,
MIME cho các hoạt động.
Ví dụ 1.6: ví dụ mô tả cấu trúc phần tử binding trong WSDL.


<operation name="GetLastTradePrice">

<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>

Phần tử port để định nghĩa một thiết bị đầu cuối bằng cách xác định một địa
chỉ duy nhất cho ràng buộc ở binding. Phần tử service một tập hợp các thiết bị đầu
cuối liên quan, nghĩa là phần tử service chứa một danh sách các cổng. Phần tử
service là nơi để giao tiếp của dịch vụ Web với bên ngoài [15].
Ví dụ 1.7: Cấu trúc liên kết giữa các phần tử service và port trong WSDL.
<service name="StockQuoteService">

tiếp có thể sử dụng một số giao thức HTTP, SMTP, FTP trong dịch vụ Web. Lớp
thông điệp gồm các dữ liệu dạng XML và giao thức SOAP.
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 dựng tùy thuộc
vào nhu cầu tổ chức phát triển. Hình 1.2 mô tả tất các lớp ở dạng ngăn xếp trong
công nghệ dịch vụ Web. 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 dịch vụ đơn lẻ để tạo thành một dịch mới, để
có thể đáp ứng các yêu cầu phức tạp của người dùng.


18

Hình 1-2. Mô hình phân 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
Dịch 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 dị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 dùng. Có hai loại dịch vụ Web kết hợp là dị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. Vì
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) và phương 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 dị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.
Các 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ỹ

thành các quá trình kinh doanh. Quá trình kinh doanh bao gồm các nhiệm vụ (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 cụ 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 ký dịch 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 để lựa chọn ra


20

-

dịch vụ Web thành phần tối ưu nhất. Từ đó, dich vụ Web kết hợp được tạo ra từ sự
kết hợp các dị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 dị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 dịch
vụ (Service execution). Quá trình sử dụng dịch vụ kết hợp được theo dõ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 dịch vụ
trong quá trình kết hợp.

1.8 Tổng kết
Chương này đã trình bày tổng quan về dịch vụ Web, về kiến trúc dịch vụ
Web, về các thành phần chính trong một dịch vụ Web là SOAP, WSDL và UDDI,
về mô hình phân tầng các lớp dạng ngăn xếp trong dịch 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.



Bảng 2.1 dưới đây phân loại thành từng nhóm thuộc tính chất lượng dịch vụ của
dịch vụ Web.
Bảng 2-1: Phân loại thành nhóm thuộc tính chất lượng dịch vụ trong dịch vụ Web

Nhóm
chất Thuộc tính chất Mô tả
lượng dịch vụ lượng dịch vụ
Hiệu suất

Thời gian phản hồi

Là khoảng thời gian trôi giữa sự bắt đầu yêu cầu
dịch vụ và hoàn thành phản hồi của dịch vụ.
Thời gian phản hồi = Thời gian thực hiện + thời
gian chờ.
Thời gian thực hiện là khoảng thời gian thực


22

hiện chức năng của dịch vụ. Thời gian chờ là
tổng thời gian cho tất cả các sự kiện gián tiếp
như thời gian thông điệp được chuyển đổi giữa
người sử dụng dịch vụ và nhà cung cấp dịch vụ.
Thông lượng

Thông lượng dịch vụ = Số yêu cầu tối đa / Đơn
vị thời gian.

Độ tin cậy

thông điệp nhận đem lại tính tin cậy trong bảo
mật của dịch vụ Web.

Tính toàn vẹn

Trong 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ác nhận thông điệp không bị sửa đổi trong
quá trình truyền. Điều này đảm bảo kẻ xâm nhập
không thể thay thế thông điệp bất hợp pháp. Hay
nói cách khác, nó chính là tính toàn vẹn trong
trao đổi thông điệp.

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 phần đóng
vai trò quan trọng trong việc xây dựng dịch vụ Web kết hợp. Đố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ụ.
Phương pháp 1: cung cấp thông tin chất lượng dịch vụ dựa vào 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 vụ cho


23

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
dịch vụ khi cần thiết.

Hình 2-4. Mô tả cấu trúc dữ liệu trong UDDI [16]


<name>uudi-org:qosInfo</name>
<description xml:lang="en">Quality of Service Information
</description>
<overviewDoc>
<description xml:lang="en"></description>
<overviewURL>http://www.uddi.org/specification.html
</overviewURL>
</overviewDoc>
<categoryBag>

</categoryBag>
</tModel>

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
cách 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 dị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ụ ở UDDI.
<?xml version="1.0" encoding="UTF-8"?>
<envelop xmlns= "http://schmas.xmlsoap.org/soap/envelop/">
<body>

<name>car reservation</name>
<qosInfo>
<availability> 0.9 </availability>

thúc và quá trình đàm phán chỉ cần thực hiện một vòng đàm phán. Ngược lại, đề
nghị này không được chấp nhận thì bên khởi tạo (initiator) gửi một đề nghị mới cho
các bên đàm phán và quá trình đàm phán phải thực hiện một vòng đàm phán mới.
Quá trình đàm phán được kết thúc khi các bên đạt được một sự thỏa thuận về một
khía cạnh cụ thể [11].
Các cuộc đàm phán của các bên có thể là song phương hoặc đa 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 đạt được
sự thỏa thuận với nhau. Trong đàm phán được chia 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 mình và bên còn
lại thì 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à đàm phán thắng thắng (win-win). Đà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 mình thông qua việc hai bên
thỏa thuận cùng đạt được một tiện ích chung. Một ưu điểm chính của đàm phán tích
hợp là luôn giảm khả năng đàm phán sẽ thất bại. Vì vậy đàm phán tích hợp được sử
dụng nhiều hơn.



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status