Mục tiêu và yêu cầu của bài toán

Một phần của tài liệu LUẬN VĂN:XÂY DỰNG SERVICE PROXY ĐỂ KIỂM CHỨNG RÀNG BUỘC THỜI GIAN TRONG WEB SERVICE COMPOSITION potx (Trang 59 - 63)

5.3.2.1.Mục tiêu bài toán

Mục tiêu bài toán nhằm giải quyết vấn đề đo lường thời gian đáp ứng của các Web Services sử dụng Service Proxy. Ở đây chúng ta đã có 2 Web Services đó là tìm kiếm khách sạn dựa trên tên của thành phố đến (SearchHotel Service) và tìm kiếm chuyến bay dựa trên tên của thành phố khởi hành và tên của thành phố đến (SearchFlight Service). Chúng tôi sẽ xây dựng Service Proxy để triệu gọi đến 2 Web Services để lấy kết quả trả về đồng thời đo lường thời gian đáp ứng của 2 Web Service đó. Sử dụng kết quả đáp ứng thời gian của 2 Web Services để thực hiện kiểm chứng ràng buộc dựa trên các đặc tả bằng biểu đồ UML Timing Diagram.

5.3.2.2.Yêu cầu bài toán

Bài toán cần phải đáp ứng được yêu cầu sau:

 Kiến trúc của chương trình phải đảm bảo là kiến trúc phân tán, thể hiện được các đặc điểm nổi bật của kiến trúc hướng dịch vụ.

51

 Kết quả trả về của bài toán phải bao gồm đầy đủ kết quả của tìm kiếm 2 dịch vụ SearchHotel và SearchFlight đồng thời phải chứa cả thời gian đáp ứng khi triệu gọi 2 Web Services đó.

5.3.3.Phân tích bài toán

Một điểm chú ý khi ta sử dụng công nghệ Web Service đó là một Web Service Composition lại có thể là một Web Service Composite của các Web Service Composition khác, điều đó thể hiện được tính phân tán của công nghệ Web Service. Tuy nhiên ở đây chúng ta chỉ quan tâm đến việc đo lường thời gian đáp ứng của các Web Service Composition bằng một Service Proxy được đặt ở phía client.

Mô hình bài toán bao gồm 3 thành phần đó là phát triển 2 Web Services là SearchFlight Service và SearchHotel Service, phần thứ 2 là phát triển Service Proxy và cuối cùng là phát triển một chương trình ứng dụng ở phía Client để triệu gọi đến Service Proxy.

Việc trao đổi dữ liệu giữa các Web Service được sử dụng giao thức SOAP và các thông điệp SOAP được vận chuyển thông qua giao thức HTTP. Các Web Service có thể được triển khai bằng các ngôn ngữ lập trình thông thường như Java, C#, .NET v..v, có thể được cài đặt trên các nền hệ điều hành khác nhau như Linux, Windows.

Ta có mô hình tổng quan của bài toán có thể được minh hoạ như hình dưới đây

52

Trong mô hình trên, Client có thể là một Website, cũng có thể là một chương trình giao diện người dùng, cũng có thể là một chương trình thể hiện dưới dạng console để triệu gọi Service Proxy. Trên Service Proxy có chứa các đoạn code để đo lường thời gian đáp ứng mỗi khi một Service Composition được triệu gọi, ta có thể thấy thông qua minh hoạ bằng chiếc đồng hồ đặt trên hình vẽ của Service Proxy như hình trên.

Trong bài toán của chúng ta sẽ gồm các đối tượng Client: Trong đối tượng Client sẽ có các thành phần để gọi tới Service Proxy. Ở đây ta có 2 Web Services, tương đương trong Service Proxy cũng phải chứa 2 lớp để gọi tới 2 Service đó. Hai lớp này có thể gọi tới hai Web Services một cách song song hoặc cũng có thể gọi tuần tự, tuỳ thuộc vào mục tiêu của người viết chương trình. Và đương nhiên trong Service Proxy chứa 2 lớp cho 2 Web Services nên trong code phía Client cũng phải chứa 2 lớp để gọi tới 2 lớp tương ứng trong đối tượng Proxy đó. Mô tả chi tiết về cách cài đặt chương trình sẽ được thể hiện trong “Chương 6 - Thực Nghiệm” của khoá luận này.

Sau khi đã phân tích thiết kế của chương trình, ta thấy ở đây có hai Web Services, áp dụng vào biểu đồ Timing Diagram để thể hiện ràng buộc thời gian đáp ứng của các Web Services. Tương ứng với một Web Service ta có một đường Lifeline minh hoạ cho các trạng thái thành phần của Web Service đó.

Ta có minh hoạ đường Lifeline cho dịch vụ tìm kiếm khách sạn thể hiện trong biểu đồ Timing Diagram như hình dưới đây:

53

Tương tự ta cũng có hình minh hoạ đường Lifeline cho dịch vụ tìm kiếm chuyến bay

Hình 25:Minh hoạ đường Lifeline cho SearchFlight Service

Qua hình minh hoạ trên ta thấy, mỗi một đường Lifeline sẽ minh hoạ cho một Web Service. Ở đây, mỗi một Web Services chính là một thành phần riêng biệt, trong mỗi thành phần đó có chứa các trạng thái, các trạng thái có thể là chờ đợi, truy cập database, trả lại kết quả v..v. Mỗi một Web Service được thực hiện trong một thời gian t nào đó, giả sử thời gian thực hiện cho SearchFlight Service là t1, thời gian thực hiện cho SearchHotelService là t2, và hai Web Service này được gọi tuần tự. Ta có thời gian đưa ra để đáp ứng tiêu chuẩn QoS về thời gian cho công việc gọi hai Web Services này là t.

Nếu : t1 + t2 ≤ t thì thời gian thực hiện triệu gọi 2 Web Service đó đáp ứng được tiêu chuẩn QoS đưa ra.

Ngược lại nếu t1 + t2 > t thì không thoả mãn tiêu chuẩn QoS. Đó chính là ý tưởng và là mục tiêu cần đạt được của khoá luận.

54

CHƯƠNG 6: THỰC NGHIỆM

Chương 6 xây dựng một ứng dụng cụ thể cho bài toán Travel-Agent để kiểm tra ràng buộc thời gian đáp ứng của các Web Service Composition, và dùng kết quả đạt được bằng thực nghiệm để mô hình hoá ràng buộc thời gian trên biểu đồ UML Timing Diagram.

Một phần của tài liệu LUẬN VĂN:XÂY DỰNG SERVICE PROXY ĐỂ KIỂM CHỨNG RÀNG BUỘC THỜI GIAN TRONG WEB SERVICE COMPOSITION potx (Trang 59 - 63)