1. Trang chủ
  2. » Luận Văn - Báo Cáo

kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI

58 284 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 1,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜ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ượng dị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

Trang 1

HÀ 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

Chuyên ngành: Công nghệ phần mềm

Mã số: 60480103

LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Đình Hóa

Hà Nội - 2014

Trang 2

Tôi cũng xin cảm ơn gia đình, cơ quan, bạn bè, đồng nghiệp đã cổ vũ động viên tôi trong 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ính mong 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 3

LỜ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ượng dị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ội dung 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 4

MỤC LỤC

LỜI CẢM ƠN 2

LỜI CAM ĐOAN 3

DANH MỤC CÁC HÌNH 7

DANH MỤC CÁC BẢNG 8

DANH MỤC CÁC TỪ VIẾT TẮT 9

GIỚI THIỆU 11

CHƯƠNG 1: CÔNG NGHỆ WEB SERVICE 13

1.1 Kiến trúc hướng dịch vụ SOA 13

1.1.1 Khái niệm kiến trúc hướng dịch vụ SOA 13

1.1.2 Nguyên tắc thiết kế của SOA 14

1.2 Công nghệ Web Service 14

1.2.1 Khái niệm dịch vụ Web 14

1.2.2 Đặc điểm của Web Service 14

1.2.3 Cơ chế hoạt động của Web Service 15

1.2.4 Kiến trúc phân tầng của Web Service 16

1.3 Các công nghệ của dịch vụ Web 18

1.3.1 Ngôn ngữ XML – RPC 18

1.3.2 Giao thức truyền thông điệp SOAP 18

1.3.2.1 Thông điệp XML 18

1.3.2.2 RPC và EDI 19

1.3.2.3 Thông điệp SOAP 19

1.3.2.4 SOAP Faults 20

1.3.2.5 Vận chuyển SOAP 21

1.3.3 Ngôn ngữ mô tả dịch vụ Web - WSDL 22

1.3.3.1 Khái niệm cơ bản về WSDL 22

1.3.3.2 Các thành phần của WSDL 22

1.3.4 Đăng ký dịch vụ UDDI 24

1.3.4.1 Khái niệm cơ bản về UDDI 24

1.3.4.2 Mô hình dữ liệu của UDDI 24

Chương 2: MÔ HÌNH CHẤT LƯỢNG DỊCH VỤ WEB 26

2.1 Mô hình chất lượng dịch vụ Web 26

2.2 Các yếu tố chất lượng của dịch vụ Web 27

2.3 Liên kết chất lượng của dịch vụ Web 28

2.3.1 Người đặt hàng (Stakeholder) 29

Trang 5

2.3.2 Người phát triển (Developer) 29

2.3.3 Người cung cấp (Provider) 29

2.3.4 Người sử dụng (Consumer) 29

2.3.5 Người môi giới QoS (Broker) 30

2.3.6 Người đảm bảo chất lượng (Quality Assurer) 30

2.3.7 Người quản lý chất lượng(Quality Manager) 30

2.4 Hoạt động chất lượng của web service 31

2.5 Chất lượng đo ở mức dịch vụ 32

2.5.1 Khái niệm 32

2.5.2 Các yếu tố chất lượng con của chất lượng ở mức dịch vụ 32

Chương 3: TỔNG QUAN VỀ CHUẨN IMS QTI 35

3.1 Tổng quan về IMS QTI (Question & Test Interoperability) 35

3.2 Các tài liệu trong đặc tả IMS QTI 36

3.2.1 Hướng dẫn thực hiện (Implementation Guide) 36

3.2.2 Mô hình thông tin (Information Model) 36

3.2.3 Siêu dữ liệu và dữ liệu sử dụng (Meta-data and Usage Data) 36

3.2.4 Hướng dẫn tích hợp (Intergration Guide) 36

3.2.5 XML Binding 36

3.2.6 Hướng dẫn phù hợp (Conformance Guide) 36

3.2.7 Hướng dẫn di chuyển(Migration Guide) 37

3.3 Các đối tượng cơ bản trong đặc tả IMS QTI 37

3.3.1 Item 37

3.3.2 Assessment 37

3.3.3 Section 37

3.3.4 Object-bank 37

3.3.5 Assessment-bank 38

3.4 Mô hình User Case: 38

3.4.1 Assessment: 39

3.4.2 assessmentItem: 40

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 41

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ằng máy tính theo chuẩn QTI 41

4.1.1 Tạo câu hỏi trắc nghiệm theo chuẩn QTI dạng một lựa chọn 41

4.1.2 Tạo câu hỏi trắc nghiệm theo chuẩn QTI dạng yes/no 41

Trang 6

4.1.3 Tạo câu hỏi trắc nghiệm theo chuẩn QTI dạng nhập văn bản 42

4.1.4 Kiểm tra phù hợp chuẩn QTI 42

4.1.5 Hiển thị nội dung câu hỏi lưu trong tập tin xml (Hướng phát triển) 42

4.1.6 Đóng gói câu hỏi theo chuẩn IMS QTI (Hướng phát triển) 43

4.2 Xây dựng hệ thống sát hạch trắc nghiệm theo kiến trúc hướng dịch vụ 43

4.3 Sử dụng công cụ soapUI để đo chất lượng Web Service 44

4.3.1 Giới thiệu công cụ soapUI 44

4.3.2 Điều kiện kiểm thử chất lượng Web Service 45

4.3.3 Kiểm thử chức năng (Function Test) 49

4.3.4 Kiểm thử tải (Load Test) 50

KẾT LUẬN 56

TÀI LIỆU THAM KHẢO 57

Trang 7

DANH 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 14

Hình 1 2 Web Service cung cấp một tầng trừu tƣợng giữa 15

Hình 1 3 Cơ chế hoạt động của dịch vụ Web 16

Hình 1 4 Phân tầng công nghệ dịch vụ Web 16

Hình 1 5 Mô tả cấu trúc của một thông điệp XML 19

Hình 1 6 Mô tả cấu trúc của một thông điệp SOAP 20

Hình 1 7 Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP 21

Hình 2 1 Mô hình chất lƣợng web service 26

Hình 2 2 Các yếu tố chất lƣợng Web Service 27

Hình 2 3 Các liên kết chất lƣợng của web services 29

Hình 3 1 Các thành phần tham gia hệ thống đặc tả IMS QTI 38

Hình 3 2 Cấu trúc bài thi trong đặc tả IMS QTI 39

Hình 4 1 Giao diện web service đã tạo 43

Hình 4 2 Giao diện trang web phía client sử dụng webservice đã tạo 44

Hình 4 3Kết quả kiểm thử tải của TestCase 1 49

Hình 4 4 Kết quả kiểm thử tải của TestCase 2 50

Hình 4 5 Sơ đồ kết quả kiểm thử tải của chức năng createSimpleChoice 51

Hình 4 6 Sơ đồ kết quả kiểm thử tải của chức năng createTextQuestion 52

Hình 4 7 Sơ đồ kết quả kiểm thử tải của chức năng createYesNoQuestion 53

Hình 4 8 Sơ đồ kết quả kiểm thử tải của chức năng validateQti 54

Hình 4 9 Sơ đồ kết quả kiểm thử tải của TestCase1 55

Trang 8

DANH MỤC CÁC BẢNG

Bảng 1 1 Các thành phần chính trong tài liệu WSDL 22

Bảng 1 2 Các kiểu thao tác đƣợc WSDL định nghĩa 23

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 9

DANH MỤC CÁC TỪ VIẾT TẮT

1 API

Application Programming Interface

Mô hình đối tượng thành phần phân tán

5 EDI

Electronic Document Interchange

Trao đổi tài liệu điện tử

9 LCMS

Learning Content Management System

Hệ Quản trị nội dung học tập

10 LMS

Learning Management System

13

OASIS

Organization Advancing Open Standards for the Information Society

Tổ chức thúc đẩy các tiêu chuẩn

mở cho xác hội thông tin

14 QoS Quality of Service Chất lượng dịch vụ

Framework mô tả nguồn tài nguyên

17 RPC Remote Procedure Call Thủ tục gọi từ xa

18 SCORM

Sharable Content Object Reference Model

Mô hình tham khảo đối tượng

có thể chia sẻ nội dung

19 SOA Service Oriented Architecture kiến trúc hướng dịch vụ

Trang 10

Giao thức điều khiển truyền dẫn/giao thức Internet

22 UDDI

Universal Description, Discovery and Integration

Tích hợp, khám phá và mô tả đa năng

23 W3C World Wide Web Consortium

Là một tổ chức lập ra các chuẩn cho các công nghệ chạy trên nền Internet, đặc biệt là Word

Trang 11

GIỚ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át triể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ều thà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ộc rấ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ất lượ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ẩn SCORM đố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ài nguyê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ụng cho 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ề đánh giá 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 web services 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 cho mộ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ể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ụ

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ức OASIS [8] đưa ra, đây là mô hình chất lượng dịch vụ đang được sử dụng phổ biến nhấ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 12

quả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át triể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àn diệ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ụng chuẩ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ội dung 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ắc nghiệ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êu nâ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ình chấ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 13

CHƯƠ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ịch vụ) là “Khái niệm về hệ thống trong đó mỗi ứng dụng được xem như một nguồn cung

cấ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ói chuyệ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ất chấ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ụng trong 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 ảnh hưở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ến trú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ề chi tiế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ên nền tảng bất kì và được viết bởi ngôn ngữ bất kì

Trang 14

1.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ách củ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

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ể giao tiế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ác quá 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ía khá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ằng ngô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ạy trê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à được phá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ại với nhau bằng cách sử dụng các công nghệ XML, SOAP, WSDL và UDDI trên nền tả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ể

Hình 1 1: Web Service cho phép truy cập tới các code ứng dụng

Trang 15

trao đổi dữ liệu với nhau mà không cần phải có kiến thức hiểu biết về hệ thống thông tin đứng ở phía sau các tường lửa [7]

Web Service có thể gồm nhiều mô đun và được công bố trên Internet Nó là sự kết hợp của việc phát triển hướng thành phần với những lĩnh vực cụ thể và cở sở hạ tầng Web, mang lại lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp dịch vụ khác cũng như các cá nhân thông qua mạng Internet

Web 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áy chủ 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ên mạng máy tính Tuy nhiên nguời phát triển Web Service hoàn toàn có thể đưa Web Service vào một giao diện đồ hoạ người dùng (chẳng hạn như là một trang web hoặc mộ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 cho ngườ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ập trì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ều nà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ể truy cập các chức năng ứng dụng của nhau

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ụ Web trong 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]

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

Trang 16

Trong 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ùng dị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ột chươ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 trong hai tài liệu riêng biệt, đó là NASSL (Network Accessible Service Specification Language) và WDS (Web Defined Service) NASSL là một tài liệu XML tiêu chuẩn cho 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ày hế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ày vớ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 17

Các tầng truyền thống như Đóng gói (Packaging), Mô tả (Description), và Phát hiện (Discovery) trong mô hình tầng công nghệ dịch vụ Web là những tầng cung cấp khả 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ày chí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ụng các dịch vụ đó Tại tầng Mô tả, công nghệ được sử dụng ở đây chính là WSDL (Web Service Desciption Language – Ngôn ngữ mô tả dịch vụ Web) Ngoài ra,

ít phổ biến hơ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ôn ngữ 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ụ Web mạ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 được phá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ần tham 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ực thi 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ác giá 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ệu HTML thường không thuận tiện cho yêu cầu này bởi vì HTML chỉ mạnh trong việc thể 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ất cho 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 ứng dụ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 18

đố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

 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ến trong thông điệp XML request, và Server trả về lỗi hoặc trả về thông điệp response 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, tuy nhiê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 truy cậ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ữa cá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 ứng dụ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ác chứ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

XML : 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 19

giữ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 giao tiế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

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 khai trê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ân tá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ặc phươ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 cho quy 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ài liệ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 thanh toá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 định tuyế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ác transaction 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]

Hình 1 5 Mô tả cấu trúc của một thông điệp XML

Trang 20

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ếu phầ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ủa header 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ỗi trong 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,

Hình 1 6 Mô tả cấu trúc của một thông điệp SOAP

Trang 21

đ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ệc SOAP có thể sử dụng các giao thức vận chuyển khác nhau để trao đổi các thông điệp như 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ển cá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ền tả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áy chủ 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 22

1.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ôn ngữ 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 trung hoặ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ên dị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ảng XML

WSDL là ngôn ngữ mà UDDI sử dụng

1.3.3.2 Các thành phần của WSDL

Một tài liệu WSDL thường bao gồm các thành phần chính sau đây:

Giải thích ý nghĩa các thành phần:

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ôn ngữ 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ác lớ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:

<type> Định nghĩa kiểu dữ liệu được dùng trong dịch vụ Web

<message> Các thông điệp được sử dụng trong dịch vụ Web

<port type> Các thao tác được thực thi bởi dịch vụ Web

<binding> Các giao thức giao tiếp dùng cho dịch vụ Web

Bảng 1 1 Các thành phần chính trong tài liệu WSDL

Trang 23

Kiểu thao tác Mô tả

One-way Thao tác này thể hiện rằng nó chỉ nhận các lời gọi thông

điệp nhưng không trả lại thông điệp đáp ứng

Request-response Thao tác này bao gồm việc nhận các thông điệp yêu cầu

và trả về các thông điệp đáp ứng

Solicit-response Thao tác này sẽ gửi đi các yêu cầu và đợi các đáp ứng Notification Thao tác này sẽ gửi đi các yêu cầu nhưng không đợi để

nhận các đáp ứng

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

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”

<binding type="glossaryTerms" name="b1">

Trang 24

Trong ví dụ trên, thành phần <portType> định nghĩa “glossaryTerms” như là tên của một Port, và “getTerm” như tên của một thao tác

Thao tác “getTerm” có thông điệp nhập vào gọi là “getTermRequest” và có thông điệp xuất ra gọi là “getTermResponse”

Thành phần <message> định nghĩa các phần của mỗi thông điệp và kiểu dữ liệu kết hợp với các thông điệp đó Nếu so sánh với các ngôn ngữ lập trình truyền thống, glossaryTerm có thể được coi như là một thư viện hàm, “getTerm” là một hàm với đối

số 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ẩn dự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ẩn củ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ương mạ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 qua Internet

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ày chứ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ấp bở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, định nghĩa kiểu dịch vụ Web và phân loại danh mục được liệt kê trong đó

Trang 25

Chú ý rằng sử dụng dấu hiệu nhận dạng duy nhất – Universally Unique Identifiers trong thuộc tính BusinessKey và serviceKey Tất cả các business entity và business service đề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ác nhau 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ột và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ột tModel 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 đó trong UDDI Sau đó, ta có thể chỉ định ra dịch vụ thương mại mà thực thi kiểu cổng đó bằng việ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 con hoặ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 26

Chươ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áp nghiệp vụ để tích hợp các ứng dụng, chất lượng của web services ngày càng quan trọ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ều cá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ấp chấ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ài liệ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ác nhau 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ười cung 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ừng khí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ất lượng dịch vụ Web trong kiến trúc hướng dịch vụ [8,11,13], tuy nhiên trong nội dung củ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ượng dị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 27

Liê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ượng Web 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ển sả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ất lượ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ác thà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ác dị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ìn khi 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ớp mứ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ều nhâ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 28

Lớ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ượng giá 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ồm cá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ác yế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ất lượ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 and Security 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 nhau bở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ớp nà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 đổi giữ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ương tác

có thể đạt được bằng việc đánh giá “thông điệp thông tin đăng nhập” mà được ghi 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ột thô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 chia thà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ượng cho 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ấn cô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ính nă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

Trang 29

quan đến nó Hình 2.3 minh họa mối quan hệ giữa các bên liên kết và các hợp đồng chất lượng của họ

2.3.1 Người đặt hàng (Stakeholder)

Người đặt hàng chính là người yêu cầu phát triển một Web service đến người phát triển và là người có thẩm quyền đặt đơn hàng liên quan đến sự phát triển của Web Services Người đặt hàng web service cung cấp các yêu cầu về chất lượng Web service đến người phát triển khi yêu cầu phát triển Đó là bởi vì Người đặt hàng có kì vọng vào mức độ chất lượng một web service được phát triển Các yêu cầu chất lượng cần được chuẩn bị trước khi được phát triển

2.3.2 Người phát triển (Developer)

Người phát triển xem xét các yêu cầu chất lượng Web service phù hợp với chuẩn

và thiết kế cấu trúc theo yêu cầu chất lượng Người phát triển sử dụng các mô hình chất lượng trong khi kiểm thử xem Web service có phù hợp với mức độ chất lượng đã được chỉ ra trong các yêu cầu chất lượng

2.3.3 Người cung cấp (Provider)

Người cung cấp là người cung cấp các Web services đã có hoặc một Web service mới được phát triển độc lập bởi người cung cấp Chất lượng Web service có một ý nghĩa quan trọng đối với người cung cấp dịch vụ bởi vì công ty của người cung cấp dịch vụ sẽ bị mất lợi nhuận nếu một người cung cấp cạnh tranh có chất lượng dịch vụ tốt hơn đối với người đặt hàng Do đó, người cung cấp cần tập trung vào việc phát triển và quản lý Web service để có chất lượng tốt hơn bằng cách đo chất lượng chính xác hơn về phía người cung cấp dịch vụ

Ngày đăng: 18/05/2015, 11:15

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đào Thị Hƣng (2013), “Phần mềm soạn thảo và tổ chức ngân hàng câu hỏi trắc nghiệm theo chuẩn Qti”. Luận văn tốt nghiệp thạc sỹ, Đại học CNTT và truyền thông, TP Thái Nguyên Sách, tạp chí
Tiêu đề: Phần mềm soạn thảo và tổ chức ngân hàng câu hỏi trắc nghiệm theo chuẩn Qti
Tác giả: Đào Thị Hƣng
Năm: 2013
[2] Dương Trương Quốc Khánh (2011), “Ứng dụng Web Service trong phát triển phần mềm quản lý tại Đại học Duy Tân”, Kỷ yếu hội nghị khoa học trường Đại Học Duy Tân, Đà Nẵng, 5-6/11/2011 Sách, tạp chí
Tiêu đề: Ứng dụng Web Service trong phát triển phần mềm quản lý tại Đại học Duy Tân
Tác giả: Dương Trương Quốc Khánh
Năm: 2011
[3] Nguyễn Đình Hoá, Nguyễn Việt Phương (2008), “Phát triển tính năng thao tác trên hình ảnh cho công cụ soạn thảo câu hỏi trắc nghiệm trực tuyến theo chuẩn QTI”, Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông, Huế, 12-13/06/2008 Sách, tạp chí
Tiêu đề: Phát triển tính năng thao tác trên hình ảnh cho công cụ soạn thảo câu hỏi trắc nghiệm trực tuyến theo chuẩn QTI
Tác giả: Nguyễn Đình Hoá, Nguyễn Việt Phương
Năm: 2008
[5] Phan Đức Dũng (2008), “Hệ thống biên soạn, tổ chức và quản lí thi trắc nghiệm theo chuẩn IMS”. Đồ án tốt nghiệp, trường Đại học Bách Khoa, TP Hà Nội.Tiếng Anh Sách, tạp chí
Tiêu đề: Hệ thống biên soạn, tổ chức và quản lí thi trắc nghiệm theo chuẩn IMS
Tác giả: Phan Đức Dũng
Năm: 2008
[6] Anbazhagan Mani, Arun Nagarajan (January -2002), “Understanding quality of service for Web Service” Sách, tạp chí
Tiêu đề: Understanding quality of service for Web Service
[7] Doug Tidwell, James Snell and Paval Kulchelko (December 2001), “Programing Web Services With Soap” Sách, tạp chí
Tiêu đề: Programing Web Services With Soap
[8] Eunju Kim (NCA) and Youngkon Lee (KOREA Polytechnic University) (2005).“Quality Model for Web Services”. Organization for the Advancement of Structured Information Standards (OASIS) Sách, tạp chí
Tiêu đề: Quality Model for Web Services
Tác giả: Eunju Kim (NCA) and Youngkon Lee (KOREA Polytechnic University)
Năm: 2005
[9] Gerhard Wiehler (February- 2004), “ Web Service and Service Oriented Architecture” Sách, tạp chí
Tiêu đề: Web Service and Service Oriented Architecture
[10] Jamers P.Lawler (January- 2008), “H.Howell-Baber, Service Oriented Architecture SOA strategy, Methodology and Technology” Sách, tạp chí
Tiêu đề: H.Howell-Baber, Service Oriented Architecture SOA strategy, Methodology and Technology
[11] L. Zeng, B. Benatallah, A. H. Ngu, M. Dumas, J. Kalagnanam, and H. Chang (May2004), “QoS-aware Middleware for Web Services Composition”, IEEE Transactions on Software Engineering Sách, tạp chí
Tiêu đề: QoS-aware Middleware for Web Services Composition

HÌNH ẢNH LIÊN QUAN

Hình 1. 1: Web Service cho phép truy cập tới các code ứng dụng - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 1. 1: Web Service cho phép truy cập tới các code ứng dụng (Trang 14)
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 - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
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 (Trang 15)
Hình 1. 3 Cơ chế hoạt động của dịch vụ Web - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 1. 3 Cơ chế hoạt động của dịch vụ Web (Trang 16)
Hình 1. 4 Phân tầng công nghệ dịch vụ Web - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 1. 4 Phân tầng công nghệ dịch vụ Web (Trang 16)
Hình 1. 5 Mô tả cấu trúc của một thông điệp XML - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 1. 5 Mô tả cấu trúc của một thông điệp XML (Trang 19)
Hình 1. 6 Mô tả cấu trúc của một thông điệp SOAP - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 1. 6 Mô tả cấu trúc của một thông điệp SOAP (Trang 20)
Hình 1. 7 Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 1. 7 Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP (Trang 21)
Bảng 1. 2 Các kiểu thao tác đƣợc WSDL định nghĩa - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Bảng 1. 2 Các kiểu thao tác đƣợc WSDL định nghĩa (Trang 23)
Hình 2. 1 Mô hình chất lƣợng web service - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 2. 1 Mô hình chất lƣợng web service (Trang 26)
Hình 2. 2 Các yếu tố chất lƣợng Web Service - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 2. 2 Các yếu tố chất lƣợng Web Service (Trang 27)
Hình 2. 3 Các liên kết chất lƣợng của web services - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 2. 3 Các liên kết chất lƣợng của web services (Trang 29)
Hình 3. 1 Các thành phần tham gia hệ thống đặc tả IMS QTI - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 3. 1 Các thành phần tham gia hệ thống đặc tả IMS QTI (Trang 38)
Hình 3. 2 Cấu trúc bài thi trong đặc tả IMS QTI - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 3. 2 Cấu trúc bài thi trong đặc tả IMS QTI (Trang 39)
Hình 4. 1 Giao diện web service đã tạo - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 4. 1 Giao diện web service đã tạo (Trang 43)
Hình 4. 2 Giao diện trang web phía client sử dụng webservice đã tạo - kiến trúc dịch vụ web – mô hình chất lượng và áp dụng cho hệ thống sát hạch trắc nghiệm theo chuẩn QTI
Hình 4. 2 Giao diện trang web phía client sử dụng webservice đã tạo (Trang 44)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w