Nội dung nghiên cứu cần thực hiện là tìm hiểu về kiến trúc web services, các mô hình chất lượng dịch vụ web và cách sử dụng phần mềm soapUI để đo lường tham số, đánh giá chất lượng dịch
Trang 1HÀ QUANG HỒNG
KIẾN TRÚC DỊCH VỤ WEB-MÔ HÌNH CHẤT LƢỢNG VÀ ÁP DỤNG CHO HỆ THỐNG TRẮC NGHIỆM THEO CHUẨN QTI
Ngành: Công nghệ thông tin
Trang 2Tôi cũng xin cảm ơn gia đình, cơ quan, bạn bè, đồng nghiệp đã cổ vũ động viên tôitrong suốt thời gian học tập vừa qua Tuy đã có nhiều cố gắng nhƣng do thời gian và trình
độ có hạn nên chắc chắn luận văn vẫn còn những thiếu sót và hạn chế nhất định Kínhmong nhận đƣợc sự góp ý của thầy cô và các bạn để luận văn đƣợc hoàn thiện hơn
Tôi xin chân thành cảm ơn!
Học viên
Hà Quang Hồng
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan: Bản luận văn “Kiến trúc Web Service – Mô hình chất lượngdịch vụ và áp dụng cho hệ thống trắc nghiệm theo chuẩn QTI” là công trình nghiên
cứu của tôi dưới sự hướng dẫn khoa học của PGS.TS Nguyễn Đình Hóa, tham khảo
các nguồn tài liệu đã chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo Các nộidung công bố và kết quả trình bày trong luận văn này là trung thực và chưa từng được
ai công bố trong bất cứ công trình nào
Học viên
Hà Quang Hồng
Trang 4LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CÁC HÌNH
DANH MỤC CÁC BẢNG
DANH MỤC CÁC TỪ VIẾT TẮT
GIỚI THIỆU
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICE
1.1 Kiến trúc hướng dịch vụ SOA
1.1.1Khái niệm kiến trúc hướng dịch vụ SOA
1.1.2Nguyên tắc thiết kế của SOA
1.2 Công nghệ Web Service
1.2.1Khái niệm dịch vụ Web
1.2.2Đặc điểm của Web Service
1.2.3Cơ chế hoạt động của Web Service
1.2.4Kiến trúc phân tầng của Web Service
1.3 Các công nghệ của dịch vụ Web
1.3.1Ngôn ngữ XML – RPC
1.3.2Giao thức truyền thông điệp SOAP
1.3.3Ngôn ngữ mô tả dịch vụ Web - WSDL
1.3.3.1 Khái niệm cơ bản về WSDL
1.3.3.2 Các thành phần của WSDL
1.3.4Đăng ký dịch vụ UDDI
1.3.4.1 Khái niệm cơ bản về UDDI
1.3.4.2 Mô hình dữ liệu của UDDI
Chương 2: MÔ HÌNH CHẤT LƯỢNG DỊCH VỤ WEB
2.1 Mô hình chất lượng dịch vụ Web
2.2 Các yếu tố chất lượng của dịch vụ Web
2.3 Liên kết chất lượng của dịch vụ Web
2.3.1Người đặt hàng (Stakeholder)
Trang 5Chương 3: TỔNG QUAN VỀ CHUẨN IMS QTI 3.1
Tổng quan về IMS QTI (Question & Test Interoperability)
Mô hình User Case:
Chương 4: XÂY DỰNG MỘT SỐ DỊCH VỤ WEB TRONG HỆ THỐNG SÁT HẠCH TRẮC NGHIỆM THEO CHUẨN QTI VÀ ĐO ĐẠC THÔNG SỐ
CHẤT LƯỢNG DỊCH VỤ WEB 4.1
Xây dựng một số dịch vụ web cung cấp tiện ích phục vụ trắc nghiệm bằngmáy tính theo chuẩn QTI
Trang 6Xây dựng hệ thống sát hạch trắc nghiệm theo kiến trúc hướng dịch vụ
4.3
Sử dụng công cụ soapUI để đo chất lượng Web Service
4.3.14.3.24.3.34.3.4KẾT LUẬN TÀI LIỆU THAM KHẢO
Trang 7DANH MỤC CÁC HÌNH
Hình 1 1: Web Service cho phép truy cập tới các code ứng dụng
Hình 1 2 Web Service cung cấp một tầng trừu tƣợng giữa
Hình 1 3 Cơ chế hoạt động của dịch vụ Web
Hình 1 4 Phân tầng công nghệ dịch vụ Web
Hình 1 5 Mô tả cấu trúc của một thông điệp XML
Hình 1 6 Mô tả cấu trúc của một thông điệp SOAP
Hình 1 7 Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP
Hình 2 1 Mô hình chất lƣợng web service
Hình 2 2 Các yếu tố chất lƣợng Web Service
Hình 2 3 Các liên kết chất lƣợng của web services
Hình 3 1 Các thành phần tham gia hệ thống đặc tả IMS QTI
Hình 3 2 Cấu trúc bài thi trong đặc tả IMS QTI
Hình 4 1 Giao diện web service đã tạo
Hình 4 2 Giao diện trang web phía client sử dụng webservice đã tạo
Hình 4 3Kết quả kiểm thử tải của TestCase 1
Hình 4 4 Kết quả kiểm thử tải của TestCase 2
Hình 4 5 Sơ đồ kết quả kiểm thử tải của chức năng createSimpleChoice
Hình 4 6 Sơ đồ kết quả kiểm thử tải của chức năng createTextQuestion
Hình 4 7 Sơ đồ kết quả kiểm thử tải của chức năng createYesNoQuestion
Hình 4 8 Sơ đồ kết quả kiểm thử tải của chức năng validateQti
Hình 4 9 Sơ đồ kết quả kiểm thử tải của TestCase1
Trang 8DANH MỤC CÁC BẢNG
Bảng 1 1 Các thành phần chính trong tài liệu WSDL
Bảng 1 2 Các kiểu thao tác đƣợc WSDL định nghĩa
Bảng 4 1 Bảng kết quả kiểm thử tải của chức năng createSimpleChoice 51
Bảng 4 2 Bảng kết quả kiểm thử tải của chức năng createTextQuestion 52
Bảng 4 3 Bảng kết quả kiểm thử tải của chức năng createYesNoQuestion 53
Bảng 4 4 Bảng kết quả kiểm thử tải của chức năng validateQti 54
Bảng 4 5 Bảng kết quả kiểm thử tải của TestCase1 55
Trang 9DANH MỤC CÁC TỪ VIẾT TẮT
API1
CORBA2
DARPA3
DCOM4
EDI5
HTML6
IEEE7
IETF8
LCMS9
LMS10
NASSL12
OASIS13
QTI15
Trang 10SCORM18
Trang 11TCP/IP21
UDDI22
24 WDS
WSDL25
XML26
Trang 12GIỚI THIỆU
Kiến trúc hướng dịch vụ nói chung và dịch vụ Web nói riêng là một mô hình pháttriển ứng dụng Web tiên tiến, cho phép xây dựng một hệ thống hoàn chỉnh từ nhiềuthành phần dịch vụ khác nhau Tuy nhiên, hiệu năng của hệ thống tổng thể phụ thuộcrất nhiều vào chất lượng của từng dịch vụ thành phần Đã có nhiều nghiên cứu đề cậpđến mô hình chất lượng dịch vụ web (Web Services Quality Model), thỏa thuận chấtlượng ở mức dịch vụ và đo lường đánh giá chất lượng dịch vụ web
Trong lĩnh vực giáo dục đào tạo, các ứng dụng web rất hữu ích vì tính tiện lợi vàphổ biến của công nghệ web Nhiều hệ thống eLearning là ứng dụng trên nền web.Việc đánh giá kết quả học tập cũng được thực hiện thông qua ứng dụng web Nhiều hệthống sát hạch trắc nghiệm bằng máy tính đã được xây dựng Tương tự như chuẩnSCORM đối với các hệ thống eLearning quản trị học tập, nội dung học tập(LMS/LCMS), chuẩn IMS QTI nhằm tạo điều kiện thuận lợi để chia sẻ nguồn tàinguyên câu hỏi và bài thi trắc nghiệm giữa các hệ thống sát hạch bằng máy tính
Chúng tôi chọn đề tài: “Kiến trúc dịch vụ web – Mô hình chất lượng và áp dụngcho hệ thống sát hạch trắc nghiệm theo chuẩn QTI” với mục tiêu nghiên cứu về đánhgiá hiệu năng của hệ thống sát hạch trắc nghiệm bằng máy tính dựa trên kiến trúc webservices Nội dung nghiên cứu cần thực hiện là tìm hiểu về kiến trúc web services, các
mô hình chất lượng dịch vụ web và cách sử dụng phần mềm soapUI để đo lường tham
số, đánh giá chất lượng dịch vụ Nội dung thực hành sẽ là thử nghiệm áp dụng chomột số dịch vụ web liên quan đến sát hạch trắc nghiệm bằng máy tính theo chuẩn QTI
Bố cục của luận văn được trình bày như sau:
GIỚI THIỆU
Đặt vấn đề về ý nghĩa, tính cấp thiết và tính thực tế của đề tài
CHƯƠNG 1: CÔNG NGHỆ DỊCH VỤ WEB
Chương này trình bày về kiến trúc hướng dịch vụ SOA, tập trung vào tìm hiểucông nghệ Web service, các thành phần kiến trúc của Web Service cũng như các lợiích khi sử dụng công nghệ này Sau đó đi sâu tìm hiểu mô hình và các chuẩn côngnghệ áp dụng trong vòng đời của dịch vụ Web, từ bước phát triển cho đến bước xuấtbản, sẵn sàng cung cấp dịch vụ
CHƯƠNG 2: MÔ HÌNH CHẤT LƯỢNG DỊCH VỤ WEB VÀ ĐO LƯỜNG CÁC YẾU TỐ CHẤT LƯỢNG
Chương này trình bày mô hình chất lượng dịch vụ Web (WSQM) do tổ chứcOASIS [8] đưa ra, đây là mô hình chất lượng dịch vụ đang được sử dụng phổ biếnnhất hiện nay trên thế giới và là tài liệu cực kỳ hữu ích cho những ai quan tâm đến vấn
đề chất lượng web service (người phát triển, người sử dụng, người giám sát và người
Trang 13quản trị chất lượng dịch vụ ) cũng như là tài liệu quý giá cho những ai muốn pháttriển các công cụ đo và giám sát chất lượng Web Service vì WSQM là tài liệu toàndiện và có hệ thống về chất lượng dịch vụ web từ nhiều khung nhìn khác nhau màđược sử dụng bởi các bên liên quan mật thiết.
CHƯƠNG 3: TỔNG QUAN VỀ CHUẨN IMS QTI
Chương này trình bày tổng quan về chuẩn IMS QTI, lợi ích của việc sử dụngchuẩn IMS QTI, đi sâu vào phân tích các đối tượng cơ bản trong chuẩn IMS QTI vàcấu trúc của AssessmentItem (Câu hỏi), Assessment (bài kiểm tra), là những nộidung kiến thức quan trọng cần hiểu rõ khi muốn xây dựng hệ thống sát hạch trắcnghiệm theo chuẩn IMS QTI
CHƯƠNG 4: XÂY DỰNG MỘT SỐ DỊCH VỤ WEB TRONG HỆ THỐNG SÁT HẠCH TRẮC NGHIỆM THEO CHUẨN QTI VÀ ĐO ĐẠC THÔNG SỐ CHẤT LƯỢNG
Chương này trình bày việc xây dựng một số dịch vụ web có thể sử dụng trong
hệ thống sát hạch trắc nghiệm bằng máy tính theo chuẩn IMS QTI và với mục tiêunâng cao hiệu năng hệ thống tổng thể, chúng tôi sẽ thử nghiệm việc áp dụng mô hìnhchất lượng dịch vụ web, đo lường tham số, đánh giá chất lượng dịch vụ cho một sốdịch vụ đã tạo ra bằng công cụ soapUI
Phần kết luận, tóm tắt các kết quả đã đạt được và gợi mở những hướng nghiên cứu tiếp theo
Trang 14CHƯƠNG 1: CÔNG NGHỆ WEB SERVICE
Chương này bắt đầu bằng việc trình bày về kiến trúc hướng dịch vụ SOA, tập trung vào tìm hiểu công nghệ Web service, các thành phần kiến trúc của Web Service cũng như các lợi ích khi sử dụng công nghệ này Sau đó đi sâu tìm hiểu mô hình và các chuẩn công nghệ áp dụng trong vòng đời của dịch vụ Web, từ bước phát triển cho đến bước xuất bản, sẵn sàng cung cấp dịch vụ.
1.1 Kiến trúc hướng dịch vụ SOA
1.1.1 Khái niệm kiến trúc hướng dịch vụ SOA
SOA - viết tắt của thuật ngữ Service Oriented Architecture (kiến trúc hướng dịchvụ) là “Khái niệm về hệ thống trong đó mỗi ứng dụng được xem như một nguồn cungcấp dịch vụ” [10]
Dịch vụ là yếu tố then chốt trong SOA Có thể hiểu dịch vụ như là hàm chức năng(module phần mềm) thực hiện quy trình nghiệp vụ nào đó, một cách cơ bản, SOA làtập hợp các dịch vụ kết nối mềm dẻo với nhau (nghĩa là một ứng dụng có thể nóichuyện với một ứng dụng khác mà không cần biết các chi tiết kĩ thuật bên trong), cógiao tiếp (dùng để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng
hệ thống, và có thể tái sử dụng SOA là cấp độ cao hơn của phát triển ứng dụng, chútrọng đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp của
kĩ thuật bên dưới
Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi dịch
vụ Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách sử dụng dịch vụ bấtchấp công nghệ thực hiện dịch vụ Thay vì xây dựng các ứng dụng đơn lẻ và đồ sộ,nhà phát triển sẽ xây dựng các dịch vụ có tính linh hoạt có thể triển khai và tái sử dụngtrong toàn bộ quy trình nghiệp vụ Điều này cho phép tái sử dụng phần mềm tốt hơn,cũng như tăng sự linh hoạt vì nhà phát triển có thể cải tiến dịch vụ mà không làm ảnhhưởng đến khách hàng sử dụng dịch vụ
Thực ra khái niệm SOA không hoàn toàn mới DCOM và CORBA cũng có kiếntrúc tương tự Tuy nhiên các kiến trúc cũ ràng buộc các thành phần với nhau quá chặt,
ví dụ các ứng dụng phân tán muốn làm việc với nhau phải đạt đuợc thoả thuận về chitiết tập hàm API, một thay đổi mã lệnh trong thành phần COM sẽ yêu cầu những thayđổi tương ứng đối với mã lệnh truy cập thành phần COM này
Ưu điểm quan trọng nhất của SOA là khả năng kết nối mềm dẻo (nhờ sự chuẩn hoágiao tiếp) và tái sử dụng Các dịch vụ có thể được sử dụng với trình khách chạy trênnền tảng bất kì và được viết bởi ngôn ngữ bất kì
Trang 151.1.2 Nguyên tắc thiết kế của SOA
SOA dựa trên hai nguyên tắc thiết kế quan trọng [9]:
Mô-đun: đó là tách các vấn đề lớn thành nhiều vấn đề nhỏ hơn
Đóng gói: che đi dữ liệu và lô-gic trong từng mô-đun đối với các truy cập
từ bên ngoài
Hai tính chất này sẽ dẫn đến đặc điểm thiết kế của kiến trúc SOA đó là các dịch vụtương tác với nhau qua các thành phần giao tiếp Tuy nhiên các dịch vụ đó vẫn hoạtđộng độc lập với nhau, chia sẻ các lược đồ dữ liệu cho nhau và tuân thủ các chính sáchcủa kiến trúc chung nhất
1.2 Công nghệ Web Service
1.2.1 Khái niệm dịch vụ Web
Web Service là một giao diện truy cập mạng đến các ứng dụng chức năng, được xây dựng từ việc sử dụng các công nghệ chuẩn Internet [7] Được minh hoạ trong hình dưới đây
Hình 1 1: Web Service cho phép truy cập tới các code ứng dụng 1.2.2 Đặc điểm của Web Service
Web Service cho phép các ứng dụng khác nhau từ các nguồn khác nhau có thể giaotiếp với các ứng dụng khác mà không đòi hỏi nhiều thời gian viết mã Do tất cả cácquá trình giao tiếp đều tuân theo định dạng XML, cho nên dịch vụ Web không bị phụthuộc vào bất kì hệ điều hành hay ngôn ngữ lập trình nào Web Service cho phép phíakhách và phía chủ có thể tương tác được với nhau trên các nền tảng khác nhau màkhông cần bất cứ thay đổi hay yêu cầu đặc biệt nào Ví dụ, chương trình viết bằngngôn ngữ Java cũng có thể trao đổi dữ liệu với các chương trình viết bằng Perl; cácứng dụng chạy trên nền Windows cũng có thể trao đổi dữ liệu với các ứng dụng chạytrên nền Linux Công nghệ dịch vụ Web không yêu cầu phải sử dụng trình duyệt vàngôn ngữ HTML, đôi khi Web Service còn được gọi là Application Services
Phần lớn kỹ thuật của Web Service được xây dựng trên mã nguồn mở và đượcphát triển từ các chuẩn đã được công nhận Nó tích hợp các ứng dụng trên nền web lạivới nhau bằng cách sử dụng các công nghệ XML, SOAP, WSDL và UDDI trên nềntảng các giao thức Internet với mục tiêu tích hợp ứng dụng và truyền thông điệp XMLđược sử dụng để đánh dấu dữ liệu; SOAP được dùng để truyền dữ liệu; WSDL được
sử dụng để mô tả các dịch vụ có sẵn và UDDI được sử dụng để liệt kê những dịch vụnào hiện tại đang có sẵn để có thể sử dụng Web Service cho phép các tổ chức có thể
Trang 16Web Service khi được triển khai sẽ hoạt động theo mô hình khách-chủ Nó có thểđược triển khai bởi một phần mềm ứng dụng phía máy chủ như PHP, JSP, ASP.NET,
… Không giống như mô hình khách-chủ truyền thống, chẳng hạn như hệ thống máychủ Web – trang web, Web Service không cung cấp cho người dùng một giao diện đồhoạ nào Web Service đơn thuần chỉ là việc chia sẻ các dữ liệu và logic xử lý các dữliệu đó thông qua một giao diện chương trình ứng dụng được cài đặt xuyên suốt trênmạng máy tính Tuy nhiên nguời phát triển Web Service hoàn toàn có thể đưa WebService vào một giao diện đồ hoạ người dùng (chẳng hạn như là một trang web hoặcmột chương trình thực thi nào đó) để có thể cung cấp thêm các chức năng đặc biệt chongười dùng
Như Hình 1.1 và Hình 1.2 đã minh họa, Web Service là một giao diện ứng dụngđược đặt giữa mã lệnh của ứng dụng và người sử dụng các mã lệnh đó Nó có thểđược ví như một tầng trừu tượng, phân tách giữa nền tảng hệ thống và ngôn ngữ lậptrình Nó mô tả cách thức mà các mã lệnh ứng dụng được triệu gọi như thế nào Điềunày có nghĩa nếu bất kì một ngôn ngữ lập trình nào hỗ trợ Web Service đều có thể truycập các chức năng ứng dụng của nhau
Hình 1 2 Web Service cung cấp một tầng trừu tượng giữa
ứng dụng client và ứng dụng cần gọi tới
Tính tương thích (Inteoperability) là một lợi thế vô cùng mạnh mẽ của dịch vụWeb Thông thường, các công nghệ Java và công nghệ của Microsoft rất khó có thểtích hợp được với nhau, nhưng với dịch vụ Web thì các ứng dụng và trình khách sửdụng 2 công nghệ trên hoàn toàn có khả năng tương tác với nhau thông qua dịch vụWeb Nhiều nhà cung cấp ứng dụng như IBM và Microsoft đều đã hỗ trợ dịch vụ Webtrong các sản phẩm của họ IBM hỗ trợ dịch vụ Web thông qua gói WebSphere, Tivoli,Lotus và DB2 và Microsoft cũng đã hỗ trợ dịch vụ Web với NET
1.2.3 Cơ chế hoạt động của Web Service
Cơ chế hoạt động của dịch vụ Web yêu cầu phải có 3 thao tác đó là: Tìm kiếm(Find), Xuất bản (Public), Kết buộc (Bind) [7]
Trang 17Trong kiến trúc dịch vụ Web, bên cung cấp dịch vụ (Service Provider) công bố các
mô tả về các dịch vụ thông qua Đăng ký dịch vụ (Service Registry) Bên tiêu dùngdịch vụ (Service Consumer) tìm kiếm trong các Đăng ký dịch vụ để tìm ra các dịch vụ
mà họ cần sử dụng Bên tiêu dùng dịch vụ có thể là một người hoặc cũng có thể là mộtchương trình
Hình 1 3 Cơ chế hoạt động của dịch vụ Web
Kĩ thuật mô tả dịch vụ là một trong những thành phần chủ chốt của kiến trúc dịch
vụ Web Các thông tin mô tả đầy đủ nhất về kiến trúc dịch vụ Web được thể hiện tronghai tài liệu riêng biệt, đó là NASSL (Network Accessible Service SpecificationLanguage) và WDS (Web Defined Service) NASSL là một tài liệu XML tiêu chuẩncho các dịch vụ chạy trên nền mạng Nó được sử dụng để chỉ ra các thông tin hoạtđộng của dịch vụ Web, chẳng hạn như danh sách các dịch vụ, các mô tả dịch vụ, ngàyhết hạn của dịch vụ và các thông tin liên quan đến các bên cung cấp dịch vụ như tên,địa chỉ Tài liệu WDS là một tài liệu bổ sung cho NASSL Khi kết hợp hai tài liệu nàyvới nhau, ta sẽ có được mô tả một cách đầy đủ về các dịch vụ để cho phía yêu cầu dịch
vụ có thể dễ dàng tìm kiếm và gọi các dịch vụ đó
1.2.4 Kiến trúc phân tầng của Web Service
Mô hình kiến trúc phân tầng của dịch vụ Web tương tự với mô hình TCP/IP
được sử dụng để mô tả kiến trúc Internet [7] :
Hình 1 4 Phân tầng công nghệ dịch vụ Web
Trang 18Các tầng truyền thống như Đóng gói (Packaging), Mô tả (Description), và Pháthiện (Discovery) trong mô hình tầng công nghệ dịch vụ Web là những tầng cung cấpkhả năng tích hợp và cần thiết cho mô hình ngôn ngữ lập trình trung lập
Tầng Phát hiện (Discovery) : Cung cấp cơ chế để cho người dùng có khả năng lấy
các thông tin mô tả về các bên cung cấp dịch vụ Công nghệ được sử dụng tại tầng nàychính là UDDI – Universal Description, Discovery and Integration
Tầng Mô tả (Description) : Khi dịch vụ Web được thực thi, nó cần phải đưa ra các
quyết định về các giao thức trên các tầng Mạng (Network), Vận chuyển (Transport),Đóng gói (Packaging) mà nó sẽ hỗ trợ trong quá trình thực thi Các mô tả dịch vụ sẽđưa ra phương pháp, làm thế nào để bên tiêu dùng dịch vụ có thể liên kết và sử dụngcác dịch vụ đó Tại tầng Mô tả, công nghệ được sử dụng ở đây chính là WSDL (WebService Desciption Language – Ngôn ngữ mô tả dịch vụ Web) Ngoài ra, ít phổ biếnhơn, chúng ta còn có 2 ngôn ngữ khác được định nghĩa bởi tổ chức W3C Đó là ngônngữ mô tả tài nguyên RDF (Resource Desciption Framework) và ngôn ngữ đánh dấu
sự kiện DARPA Cả hai ngôn ngữ này đều có khả năng cung cấp mô tả dịch vụ Webmạnh hơn ngôn ngữ WSDL Tuy nhiên do tính phức tạp của chúng nên không đượcphát triển rộng rãi
Tầng Đóng gói (Packaging) : Việc thực hiện vận chuyển các dữ liệu dịch vụ Web
được thực hiện bởi tầng Vận chuyển Tuy nhiên trước khi được vận chuyển, các dữliệu cần phải được đóng gói lại theo các định dạng đã định trước để các thành phầntham gia vào mô hình dịch vụ Web có thể hiểu được Việc đóng gói dữ liệu được thựcthi bởi tầng Đóng gói Đóng gói dữ liệu bao gồm việc định dạng dữ liệu, mã hóa cácgiá trị đi kèm dữ liệu đó và các công việc khác
Các dữ liệu có thể được đóng gói dưới dạng các tài liệu HTML, tuy nhiên tài liệuHTML thường không thuận tiện cho yêu cầu này bởi vì HTML chỉ mạnh trong việcthể hiện dữ liệu hơn là trình bày ý nghĩa dữ liệu đó XML là một định dạng cơ bản nhấtcho việc trình bày ý nghĩa dữ liệu Do đó XML có thể được sử dụng để trình bày
ý nghĩa dữ liệu được vận chuyển, và hơn thế nữa, hiện tại đa số các ứng dụng chạy trên nền Web đều hỗ trợ các bộ phân tích cú pháp XML
SOAP là công nghệ chủ yếu được sử dụng tại tầng này Nó là một giao thức đóng gói dữ liệu phổ biến dựa trên nền tảng XML
Tầng Vận chuyển (Transport) : có vai trò đảm nhiệm việc vận chuyển các thông
điệp dịch vụ Web Ở đây có vài công nghệ khác nhau cho phép giao tiếp trực tiếp ứngdụng – tới – ứng dụng dựa trên tầng Mạng Mỗi công nghệ bao gồm các giao thức như
tcp, http, smtp và jabber v.v.
Việc lựa chọn giao thức vận chuyển dựa trên từng nhu cầu giao tiếp của các dịch
vụ Web Ví dụ, giao thức HTTP là một giao thức vận chuyển khá phổ biến được sửdụng cho các ứng dụng trên nền Web, nhưng nó không cung cấp cơ chế giao tiếp bất
Trang 19đối xứng Jabber, xét trên phương diện khác, nó không phải là một chuẩn nhưng cókhả năng cung cấp tốt các kênh giao tiếp bất đối xứng.
Tầng Mạng (Network) : Trong công nghệ dịch vụ Web tầng Mạng chính xác giống
như tầng Mạng trong mô hình giao thức TCP/IP Nó cung cấp khả năng giao tiếp cơbản, định địa chỉ và định tuyến
1.3 Các công nghệ của dịch vụ Web
1.3.1 Ngôn ngữ XML – RPC
XML : được viết tắt của cụm từ Extensible Markup Language – Ngôn ngữ đánh dấu dữ liệu
RPC – được viết tắt của cụm từ Remote Procedure Call – Thủ tục gọi từ
xa RPC cung cấp cho người phát triển kĩ thuật để định nghĩa ra một giao diện
mà có thể được gọi từ xa thông qua môi trường mạng máy tính Giao diện này
có thể là một hàm đơn giản nhưng cũng có thể là một thư viện API khổng lồ
XML – RPC là một hướng tiếp cận dễ và rõ ràng nhất cho Web Service, nócung cấp phương thức gọi một ứng dụng từ một máy tính local đến một máytính từ xa thông qua môi trường mạng
XML – RPC cho phép chương trình có khả năng tạo ra các hàm hoặc các thủ tục gọi hàm thông qua mạng máy tính
XML – RPC sử dụng giao thức HTTP để vận chuyển thông tin từ Client đến Server
XML – RPC sử dụng ngôn ngữ XML để mô tả các thông điệp yêu cầu và các thông điệp đáp ứng gần gũi với ngôn ngữ tự nhiên
XML – RPC Client chỉ ra cụ thể các thông tin về tên thủ tục, các tham biếntrong thông điệp XML request, và Server trả về lỗi hoặc trả về thông điệpresponse trong thông điệp XML response
Các tham số của XML-RPC đơn giản chỉ là kiểu dữ liệu và nội dung, tuynhiên các cấu trúc dữ liệu phức tạp như struct, array cũng được hỗ trợ bởi XML –RPC
1.3.2 Giao thức truyền thông điệp SOAP
SOAP viết tắt cho cụm từ - Simple Object Access Protocol nghĩa là giao thức truycập đối tượng đơn giản Trong kiến trúc phân tầng của dịch vụ Web, SOAP nằm ở tầngđóng gói (Packaging) SOAP là một giao thức đóng gói các dữ liệu chia sẻ chung giữacác ứng dụng Xét về cơ bản, SOAP là XML hay nói chính xác hơn SOAP là một ứngdụng cụ thể của XML, được xây dựng lên từ các chuẩn XML như XML Schema vàXML Namespaces Ứng dụng cụ thể này phục vụ cho việc định nghĩa SOAP và cácchức năng của nó [7] Các thành phần cơ bản của SOAP gồm có:
1.3.2.1 Thông điệp XML
Trang 20XML : viết tắt của cụm từ Extensible Markup Language – Ngôn ngữ đánh dấu mởrộng đƣợc Thông điệp XML là các tài liệu XML đƣợc dùng để trao đổi thông tin
Trang 21giữa các ứng dụng Nó cung cấp tính mềm dẻo cho các ứng dụng trong quá trình giaotiếp với nhau và là một dạng cơ bản của SOAP.
Các thông điệp này có thể là bất cứ thứ gì: Hóa đơn thanh toán, yêu cầu về giá cổphiếu, một truy vấn tới một công cụ tìm kiếm hoặc có thể là bất kì thông tin nào cóquan hệ tới từng thành phần của ứng dụng
Hình 1 5 Mô tả cấu trúc của một thông điệp XML
Bởi vì XML không phụ thuộc vào một ứng dụng cụ thể, hệ điều hành hay ngôn ngữlập trình nào, cho nên các thông điệp XML có thể sử dụng trong tất cả các môi trường.Một chương trình Windows Perl có thể tạo ra một thông điệp XML, trình bày thôngđiệp đó và gửi đến cho một chương trình cài đặt bằng ngôn ngữ Java được triển khaitrên nền Unix
1.3.2.2 RPC và EDI
Sử dụng thông điệp XML, đương nhiên SOAP có 2 ứng dụng liên quan: RPC vàEDI Thủ tục gọi hàm từ xa RPC (Remote Procedure Call) là một dạng tính toán phântán cơ bản, mô tả cách thức để một chương trình tạo ra một thủ tục gọi hàm hoặcphương thức tới một máy tính khác, truyền đối số và lấy giá trị trả về Trao đổi tài liệuđiện tử EDI (Electronic Document Interchange) là một dạng transaction cơ bản choquy trình thương mại nó định nghĩa các chuẩn định dạng và thông dịch của các tàiliệu, thông điệp tài chính và thương mại
Nếu sử dụng SOAP cho EDI, khi đó thông điệp XML có thể là các hóa đơn thanhtoán, trả tiền thuế, hoặc các tài liệu tương tự Nếu sử dụng SOAP cho RPC khi đóthông điệp XML có thể trình bày các đối số hoặc các giá trị trả về
1.3.2.3 Thông điệp SOAP
Thông điệp SOAP bao gồm phần tử gốc envelope bao trùm toàn bộ nội dung thôngđiệp SOAP, và các phần tử header và body Phần tử header chứa các khối thông tin cóliên quan đến cách thức các thông điệp được xử lý như thế nào Nó bao gồm việc địnhtuyến và các thiết lập cho việc phân phối các thông điệp Ngoài ra phần tử Header còn
có thể chứa các thông tin về việc thẩm định quyền, xác minh và các ngữ cảnh cho cáctransaction Các dữ liệu thực sự được lưu trữ tại phần tử body Bất cứ thứ gì có thểtrình bày cú pháp XML đều nằm trong phần tử body của một thông điệp SOAP[7]
Trang 22Hình 1 6 Mô tả cấu trúc của một thông điệp SOAP
Tất cả các phần tử envelope đều chứa chính xác một phần tử body Phần tử body cóthể chứa các nốt con theo yêu cầu Nội dung của phần tử body là các thông điệp Nếuphần tử envelope mà chứa phần tử header, nó chỉ chứa không nhiều hơn một phần tửheader và phần tử header này bắt buộc phải là phần tử con đầu tiên của phần tửenvelope Mỗi một phần tử chứa header đều được gọi là header block Mục đích củaheader block cung cấp giao tiếp các thông tin theo ngữ cảnh có liên quan đến quy trình
xử lý các thông điệp SOAP
1.3.2.4 SOAP Faults
SOAP faults là một dạng thông điệp SOAP đặc biệt được dùng để thông báo lỗitrong quá trình trao đổi thông tin, SOAP faults có thể xuất hiện trong quá trình xử lýcác thông điệp SOAP [7]
Các thông tin về SOAP faults được diễn tả dưới đây:
Fault code: Các thuật toán phát hiện lỗi sẽ tự sinh ra các giá trị dùng để phân biệt các kiểu lỗi xuất hiện Các giá trị này phải là các XML Qualified
Name,
Trang 23điều đó có nghĩa là các tên của các mã lỗi chỉ có ý nghĩa duy nhất trong vùng định nghĩa XML Namespace.
Fault string: Diễn tả các lỗi mà người dùng có thể đọc hiểu được.
Fault actor: Đây là dấu hiệu nhận dạng duy nhất của các nốt xử lý các thông điệp nơi mà các lỗi có khả năng xuất hiện.
Fault details: Được sử dụng để trình bày các thông tin cụ thể của ứng dụng về lỗi mà nó xuất hiện Nó phải được trình bày nếu có lỗi xuất hiện trực
tiếp có liên quan đến các vấn đề về phần thân của thông điệp Fault details cóthể không cần sử dụng, tuy nhiên sẽ cần thiết khi ta cần trình bày cụ thể vềthông tin lỗi xuất hiện trong mối quan hệ tới các phần còn lại của quy trình xử
lý các thông điệp SOAP
1.3.2.5 Vận chuyển SOAP
SOAP nằm ở tầng đóng gói (Packaging) trong kiến trúc phân tầng của dịch vụWeb SOAP nằm trên tầng Mạng (Network) và tầng Vận chuyển (Transport) Vì thếSOAP không quan tâm đến việc giao thức vận chuyển nào được sử dụng trong quátrình trao đổi các thông điệp Điều đó làm cho giao thức thực sự mềm dẻo tại bất kìmôi trường triển khai SOAP nào Tính mềm dẻo của SOAP được thể hiện qua việcSOAP có thể sử dụng các giao thức vận chuyển khác nhau để trao đổi các thông điệpnhư HTTP, FTP, SMTP, POP3, MQUERY và Jabber [7]
Hiện nay, HTTP là giao thức được sử dụng phổ biến trên Internet Chính vì thếnên HTTP hiện tại đang là giao thức vận chuyển phổ biến nhất cho việc vận chuyểncác thông điệp SOAP
SOAP thông qua HTTP rất thuận tiện cho SOAP RPC trong việc gọi yêu cầu vànhận các thông điệp đáp ứng bởi vì bản chất HTTP chính là giao thức dựa trên nềntảng gọi các yêu cầu và nhận các đáp ứng (request-response-base protocol) Các thôngđiệp yêu cầu (request) được gửi tới máy chủ HTTP dùng phương thức POST và máychủ HTTP trả lại thông điệp đáp ứng (response) dùng các HTTP response
Hình 1 7 Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP
Trang 241.3.3 Ngôn ngữ mô tả dịch vụ Web - WSDL
1.3.3.1 Khái niệm cơ bản về WSDL
WSDL là viết tắt của cụm từ dịch vụ Web Service Description Language – Ngônngữ mô tả dịch vụ Web WSDL ra đời dưới sự phát triển của IBM và Microsoft
WSDL dựa trên giao thức XML để trao đổi thông tin trong môi trường tập trunghoặc phân tán
WSDL mô tả cách thức truy cập tới dịch vụ Web và các hành động thực thi trêndịch vụ Web đó
WSDL là ngôn ngữ cho việc mô tả các giao diện dịch vụ Web dựa trên nền tảngXML
Type : Thành phần type định nghĩa kiểu dữ liệu được sử dụng cho dịch vụ Web Để
đảm bảo tính không phụ thuộc vào hệ thống nền, WSDL sử dụng cấu trúc của lược đồXML để định nghĩa kiểu dữ liệu
Message : Thành phần message dùng để định nghĩa các thành phần dữ liệu và các
thông điệp mà nó được gọi tới Mỗi thông điệp có thể bao gồm một hoặc nhiều phần,các thành phần này có thể so sánh với các câu lệnh của các lời gọi hàm trong các ngônngữ lập trình truyền thống
Port Type : Đây là thành phần quan trọng nhất trong một tài liệu WSDL Nó được
sử dụng để mô tả dịch vụ Web, các thao tác được thực thi và các lời gọi thông điệp.Thành phần port type có thể được so sánh với các thư viện hàm (hoặc các mô đun, cáclớp) trong các ngôn ngữ lập trình
Trong thành phần <port Type>, ta thường gặp 4 kiểu thao tác được WSDL
định nghĩa dưới đây:
Trang 25Solicit-response
Notification
Bảng 1 2 Các kiểu thao tác được WSDL định nghĩa
Binding: Thành phần này định nghĩa các định dạng thông điệp, các mô tả cụ thể về
các giao thức cho mỗi port
<binding type="glossaryTerms" name="b1">
Một thành phần binding thông thường bao gồm 2 thuộc tính: name và type Thuộc tính
“name” định nghĩa tên của “binding”, và thuộc tính “type” trỏ đến “port” của binding,
ví dụ port của binding là “glossaryTerms”
Thành phần soap:binding có 2 thuộc tính là “style” và “transport”
Trang 26số truyền vào là “getTermRequest” và trả lại lại kết quả là getTermResponse.
1.3.4 Đăng ký dịch vụ UDDI
1.3.4.1 Khái niệm cơ bản về UDDI
UDDI viết tắt của Universal Description, Discovery and Integration, là một chuẩndựa trên XML dùng cho việc mô tả, công bố và tìm kiếm dịch vụ Web Có thể coi nó làthư mục dùng cho việc lưu trữ các thông tin về giao diện với dịch vụ Web, được mô
tả bởi WSDL
UDDI giao tiếp thông qua SOAP, cùng với SOAP và WSDL, được xem là 3 chuẩncủa dịch vụ Web, là một chuẩn kỹ thuật mở đầu tiên cho phép các quy trình thươngmại điện tử có thể khám phá lẫn nhau và định nghĩa cách thức tương tác với nhau quaInternet
1.3.4.2 Mô hình dữ liệu của UDDI
UDDI bao gồm một lược đồ XML, mô tả bốn kiểu cấu trúc dữ liệu:
BusinessEntity, BusinessService, BindingTemplate, tModel, publisherAssertion
a) Cấu trúc dữ liệu businessEntity
Cấu trúc dữ liệu businessEntity trình bày nhà cung cấp dịch vụ Web Cấu trúc nàychứa các thông tin về công ty, bao gồm danh sách liên lạc, thông tin, phân biệt các tổchức thương mại, và danh sách các nhà cung cấp dịch vụ web
b) Cấu trúc dữ liệu businessService
Cấu trúc dữ liệu business service trình bày một dịch vụ Web độc lập được cung cấpbởi business entity Nó mô tả các thông tin về cách thức gắn kết với dịch vụ Web, địnhnghĩa kiểu dịch vụ Web và phân loại danh mục được liệt kê trong đó
Trang 27Chú ý rằng sử dụng dấu hiệu nhận dạng duy nhất – Universally Unique Identifierstrong thuộc tính BusinessKey và serviceKey Tất cả các business entity và businessservice đều là dấu hiệu nhận dạng duy nhất trong UDDI registries thông qua việc chỉđịnh UDDI bởi việc đăng ký khi thông tin được nhập vào lần đầu.
c) Cấu trúc dữ liệu bindingTemplate
BindingTemplate là kĩ thuật mô tả của dịch vụ Web được trình bày bởi cấu trúc dữliệu Business Service Binding template trình bày sự hoạt động thực tế của dịch vụWeb, mô tả công nghệ sử dụng để giao tiếp với dịch vụ Web Một Business Service cóthể có nhiều binding template, cho nên dịch vụ phải chỉ rõ các hành động cụ thể khácnhau trong cùng một dịch vụ
d) Cấu trúc dữ liệu tModel
tModel là lõi trong cùng của kiểu dữ liệu, nhưng rất khó có khả năng để có thểnắm bắt được hết tModel là chuẩn cho mô hình kĩ thuật, là phương pháp để mô tả mộtvài quy trình thương mại, dịch vụ và các cấu trúc mẫu lưu trữ trong đăng ký UDDI Bất
kì một khái niệm trừu tượng nào đều có thể được đăng ký trong UDDI như là mộttModel Ví dụ: chúng ta có thể định nghĩa ra một kiểu cổng (port type) WSDL mới, vàđồng nghĩa với đó ta có thể định nghĩa ra một tModel mới mà trình bày kiểu cổng đó trongUDDI Sau đó, ta có thể chỉ định ra dịch vụ thương mại mà thực thi kiểu cổng đó bằngviệc kết hợp với tModel với một khuôn mẫu kết buộc tới dịch vụ thương mại
e) Cấu trúc dữ liệu publisherAssertion
Đây là một cấu trúc dữ liệu quan hệ, đặt sự kết hợp giữa hai hoặc nhiều cấu trúc
dữ liệu businessEntity theo một kiểu quan hệ cụ thể, chẳng hạn như một công ty conhoặc một phòng ban
Cấu trúc dữ liệu pubisherAssertion bao gồm ba thành phần chính: fromkey (BusinessKey đầu tiên), toKey (bussinesskey thứ hai) và keyedReference
KeyReference thiết kế ra kiểu mỗi quan hệ kết hợp trong cặp thuật ngữ keyName, keyValue trong tModel Tham chiếu duy nhất bởi tModelkey
Trang 28Chương 2: MÔ HÌNH CHẤT LƯỢNG DỊCH VỤ WEB
Trong thời đại ngày nay, sự phát triển của web services giống như một giải phápnghiệp vụ để tích hợp các ứng dụng, chất lượng của web services ngày càng quantrọng với các nhà cung cấp và người sử dụng dịch vụ Tuy nhiên, do đặc điểm về tínhđộng và không xác định trước của web services, cũng như ảnh hưởng của rất nhiềucác bên liên quan đến chất lượng dịch vụ web như: người cung cấp, người sử dụng,người môi giới, người đảm bảo chất lượng đã dẫn đến không dễ dàng để cung cấpchất lượng dịch vụ web theo như mong muốn của người sử dụng dịch vụ web Vì vậy,
để có thể nâng cao được chất lượng web service thì rất cần thiết phải có được một tàiliệu toàn diện và có hệ thống về chất lượng dịch vụ web từ nhiều khung nhìn khácnhau mà được sử dụng bởi các bên liên quan mật thiết như: người phát triển, ngườicung cấp, người sử dụng dịch vụ và phân tích một cách đầy đủ nhiều chi tiết của từngkhía cạnh
Trong các hệ thống hướng dịch vụ, chất lượng dịch vụ là một vấn đề quan trọng,được xem xét khi lựa chọn dịch vụ và tổ hợp các dịch vụ Có nhiều định nghĩa về chấtlượng dịch vụ Web trong kiến trúc hướng dịch vụ [8,11,13], tuy nhiên trong nội dungcủa luận văn này tôi sẽ trình bày mô hình chất lượng dịch vụ Web do tổ chức OASIS
[8] bởi vì nó là mô hình chất lượng dịch vụ đang được sử dụng rất phổ biến hiện nay và
là tài liệu cực kỳ hữu ích cho những ai quan tâm đến vấn đề chất lượng web service
2.1 Mô hình chất lượng dịch vụ Web
Mô hình chất lượng dịch vụ Web cấu hình các thành phần chính của dịch vụ Web
và là nền tảng đảm bảo chất lượng mức dịch vụ Theo OASIS [8], mô hình chất lượngdịch vụ Web bao gồm 3 thành phần: các yếu tố chất lượng (Quality Factor) của dịch
vụ web; các liên kết chất lượng (Quality Associates) của dịch vụ web và các hoạt động
về chất lượng (Quality Activities) của dịch vụ web
Hình 2 1 Mô hình chất lượng web service
Yếu tố chất lượng (Quality Factor) là một thành phần cơ bản mà công nhận chất
lượng Web Service để quản lý chất lượng của nó
Trang 29Liên kết chất lượng (Quality Associate): là các tổ chức hoặc cá nhân liên quan
đến sự kiểm tra, tải, cung cấp và sử dụng các Web services Các liên kết chất lượng cóthể là các lập trình viên, người cung cấp, người sử dụng và quản lý các Web Services.Phụ thuộc vào sự quan tâm của mỗi người mà có khung nhìn khác nhau về chất lượngWeb Service Các hợp đồng chất lượng của mỗi liên kết được thực hiện thông quađàm phán, dựa trên yêu cầu mô hình chất lượng
Hoạt động chất lượng (Quality Activity) bao gồm nhiều hoạt động của Web
Service như hợp đồng giữa các liên kết chất lượng Có 3 kiểu hợp đồng chất lượng: 1)Hợp đồng sử dụng, 2) Hợp đồng phát triển, 3) Hợp đồng quản lý Hợp đồng phát triển
là một cam kết giữa những người liên quan và người phát triển tại thời điểm phát triểnsản phẩm Hợp đồng sử dụng là một hợp đồng giữa người cung cấp dịch vụ và người
sử dụng để đảm bảo chất lượng Cuối cùng, hợp đồng quản lý là hợp đồng về chấtlượng Web Service yêu cầu cho sự quản lý của nó khi người môi giới ủy thác sự quản
lý chất lượng đến một cơ sở quản lý chuyên dụng
Mô hình chất lượng Web Services được minh họa trong hình 2.1 liên quan đến cácthành phần chất lượng và các mối liên hệ của chúng Vì hầu hết các Web Servicesđược cung cấp từ xa, chất lượng Web Services có ý nghĩa khi chất lượng trong cácdịch vụ từ xa được xem xét đầy đủ
2.2 Các yếu tố chất lượng của dịch vụ Web
Việc xem xét yếu tố chất lượng (Quality Factor) dịch vụ web tùy thuộc khung nhìnkhi sử dụng một dịch vụ Cụ thể là có thể phân chia thành 3 lớp (layer) như sau : Lớpmức nghiệp vụ, Lớp mức Dịch vụ, Lớp mức hệ thống Mỗi lớp có một hoặc nhiềunhân tố chất lượng con (xem hình 2.2) [8]
Hình 2 2 Các yếu tố chất lượng Web Service
Trang 30Lớp đầu tiên, lớp mức nghiệp vụ là chất lượng thể hiện giá trị nghiệp vụ mà
người sử dụng nhận được trong khi sử dụng web service và được gọi là chất lượnggiá trị nghiệp vụ (Business Value Quality)
Lớp thứ 2, lớp mức dịch vụ là chất lượng hiệu suất có thể đo được của web
service mà người sử dụng nhận được trong khi sử dụng web service và được gọi làchất lượng đo mức dịch vụ (Service Measurement Quality), chất lượng này bao gồmcác vấn đề hiệu suất, sự ổn định và khả năng mở rộng cũng như thời gian trả về Cácyếu tố chất lượng ở lớp mức người sử dụng có thể đạt được bằng việc đánh giá chấtlượng dịch vụ mà theo kinh nghiệm của người sử dụng trong khi sử dụng web service
Lớp thứ 3, lớp mức hệ thống, lớp này có thể được chia thành lớp có khả năng
tương tác (Interoperability View Layer) và Lớp quản trị và an ninh (Management andSecurity Layer)
- Lớp có khả năng tương tác (Interoperablility View Layer) là lớp mà xác
định xem web service nào được phát triển trong các môi trường hệ thống khác nhaubởi những người phát triển khác nhau có thể tương tác đúng đắn Chất lượng của lớpnày có thể được chia thành 2 kiểu chất lượng phụ thuộc vào sự quan tâm của người
sử dụng Kiểu chất lượng thứ nhất là chất lượng có khả năng tương tác(Interoperability Quality), đó là chất lượng định dạng thông điệp được chuyển đổigiữa các web service có phù hợp với chuẩn và/hoặc hướng dẫn theo quy định bởi các
tổ chức chuẩn hóa hay không Kiểu chất lượng thứ hai là chất lượng xử lý nghiệp vụ(Business Processing Quality), đó là chất lượng của các thông điệp tương tác có xử
lý đúng logic nghiệp vụ hay không Chất lượng ở lớp khung nhìn có khả năng tươngtác có thể đạt được bằng việc đánh giá “thông điệp thông tin đăng nhập” mà đượcghi bằng việc ngăn chặn một thông điệp trong khi chuyển đổi giữa các web services
và “thông điệp xử lý trạng thái thông tin đăng nhập”, mà được ghi trong khi mộtthông điệp được xử lý
- Lớp quản trị và an ninh (Management and Security Layer) là lớp cho thấy
chất lượng từ khung nhìn quản trị và an ninh của web service và có thể được chiathành chất lượng quản trị và chất lượng an ninh Chất lượng quản trị là chất lượngcho thấy khả năng quản trị bên trong hoặc bên ngoài hệ thống Chất lượng an ninh làchất lượng cho thấy mức độ kháng cự của web service với truy cập trái phép hoặc tấncông từ bên ngoài Chất lượng lớp quản trị và an ninh có thể được kiểm thử các tínhnăng liên quan đến quản trị và an ninh
2.3 Liên kết chất lượng của dịch vụ Web
Một liên kết chất lượng Web Service là người mà có liên quan đến mỗi bước trong vòng đời Web Services như đặt hàng, kiểm tra, tải, cung cấp và sử dụng hệ thống liên