Sau khi đã có tất cả cả Web Services thành phần và Service Proxy, chúng tôi sẽ phát triển một chương trình client đơn giản để có thể nhìn thấy kết quả đáp ứng thời gian của các Service Composition. Để lấy kết quả trả về, chúng ta chỉ việc chọn thành phố xuất phát tại thẻ Source, thành phố đến tại thẻ Destination và sau đó nhấn nút Search để có kết quả trả về.
Hình 39:Minh họa test chương trình
Ta thấy sau khi nhấn nút Search, kết quả của SearchHotel Service sẽ được hiển thị trong TextField 1, kết quả tìm kiếm máy bay sẽ hiển thị trong TextField 2. Đồng thời Service Proxy cũng trả về thời gian đáp ứng cho SearchHotel Service là 33ms, thời gian đáp ứng của SearchFlight Service là 32ms.
Chương trình của chúng ta đã đo lường được thời gian đáp ứng của các Web Service Composition, giờ chúng ta sẽ kiểm chứng xem thời gian đáp ứng đó có đáp ứng được tiêu chuẩn QoS đặt ra về thời gian hay không ?
Giả sử ta đặt ra quy ước về thời gian đáp ứng khi gọi tuần tự cả hai dịch vụ trong môi trường localhost tối đa mất 60 micro giây. Ta có biểu đồ Timing Diagram cho việc đặc tả ràng buộc thời gian đáp ứng trong Web Service Compostion như sau:
Nhìn vào biểu đồ trên ta thấy, toàn bộ quá trình thực hiện hai Web Service Composition một cách tuần tự được giới hạn trong vòng 60micro giây, nếu thời gian vượt quá 60micro giây thì coi như không đáp ứng được yêu cầu QoS về thời gian đặt ra. Các thao tác tại hai Web Services như tìm kiếm cơ sở dữ liệu, trả lại kết quả trả về đều được xác định bằng các khoảng thời gian trừu tượng minh họa bằng thời gian t vì ở đây ta không thể biết chính xác rằng mất bao lâu để thực thi các thao tác đó, ta chỉ có thể ước lượng được mất bao lâu để một thao tác như vậy có thể hoàn thành. Ở đây chúng ta chỉ kiểm chứng thời gian đáp ứng của các Web Service Composition cho nên các thao tác được thực hiện tại Client như nhập thông tin, gọi đến Service Proxy hay Service Proxy trả lại kết quả cho Client sẽ không liên quan đến các ràng buộc thời gian của chúng ta.
Ta có mô hình kiểm chứng được minh hoạ như sau:
Hình 41:Minh hoạ mô hình kiểm chứng ràng buộc thời gian đáp ứng
giây, SearchFlight Service là 32 micro giây, do việc gọi 2 dịch vụ này được thực hiện tuần tự nên tổng thời gian gọi dịch vụ là 65 micro giây. Trong khi đó ràng buộc QoS cho thời gian đáp ứng của chúng ta đặt ra là tối đa cho phép 2 dịch vụ này gọi trong môi trường localhost là 60 micro giây. Áp dụng lên mô hình kểm chứng minh hoạ ở hình 41 ta thấy rằng t1+t2 > t (33ms + 32ms > 60ms) nên ta dẫn đến kết luận là thời gian đáp ứng của hai Web Service Composition này chưa đáp ứng được tiêu chuẩn đã đề ra.
Như vậy chúng ta đã xây dựng được nên một Service Proxy để kiểm tra ràng buộc thời gian đáp ứng trong Web Service Composition, đặc tả ràng buộc thời gian đó trên biểu đồ UML Timing Diagram. Ta hoàn toàn có thể mở rộng bài toán với một tập hợp rất nhiều các Web Service Composition khác với phương pháp áp dụng như trên, ở đây mục tiêu của khóa luận chỉ là kiểm tra xem thời gian đáp ứng đó có tuân thủ thời gian QoS đề ra hay không. Ta mới kiểm tra một trường hợp, tùy vào từng ngữ cảnh mà ta có thể kết luận liệu các dịch vụ đó có đáp ứng được với tiêu chuẩn QoS về thời gian không. Tuy nhiên trong thực nghiệm khi chúng tôi kiểm tra các đáp ứng với nhiều truy vấn chúng tôi thấy thời gian đáp ứng càng giảm đi đáng kể, và hầu hết các Service Composition đều đáp ứng được với yêu cầu về ràng buộc thời gian đưa ra. Tuy nhiên để thể hiện đầy đủ thì cần phải có các phương pháp, điều kiện ngữ cảnh khác nhau mới có thể có kết luận chính xác. Do điều kiện hạn hẹp nên chúng tôi mới chỉ thể hiện phương pháp bài toán, để chính xác với thực tế cần phải thể hiện bài toán trên môi trường Internet, nơi mà có rất nhiều yếu tố ảnh hưởng tới chất lượng đáp ứng của các dịch vụ.
CHƯƠNG 7:KẾT LUẬN
Công nghệ Web Service ngày càng được sử dụng rộng rãi trong việc giải quyết các bài toán liên quan đến dữ liệu phân tán. Với các ưu điểm của mình, Web Service đã chứng tỏ được khả năng đáp ứng mạnh mẽ đối với các quy trình nghiệp vụ ngày càng phức tạp của các tổ chức doanh nghiệp. Sự phát triển của Web Service sẽ dẫn đến nhu cầu đánh giá chất lượng dịch vụ Web nào tốt nhất cho người sử dụng, để người sử dụng có thể lựa chọn dịch vụ thích hợp cho mình. Việc đánh giá chất lượng các dịch vụ Web là một đề tài rất mới mẻ và đang nhận được sự quan tâm sâu sắc của giới chuyên môn.
Đáp ứng với mục tiêu đánh giá chất lượng phục vụ của các dịch vụ Web, khóa luận đã đề xuất ra một phương pháp kiểm chứng ràng buộc thời gian đáp ứng trong Web Service Composition thông qua các ràng buộc QoS về thời gian được đặc tả bằng biểu đồ UML Timing Diagram. Sau một thời gian nghiên cứu và học hỏi, đến nay chúng tôi đã hoàn thành khóa luận và thu được các kết quả sau đây:
• Khóa luận đã trình bày một cách tổng quát về mô hình hệ phân tán qua việc tiếp cận kiến trúc hướng dịch vụ SOA, đưa ra cái nhìn rõ ràng hơn về công nghệ Web Service, cách xây dựng và triển khai các Web Services. Nắm được các công nghệ chuẩn được sử dụng cho Web Service như SOAP, WSDL, UDDI, và công nghệ dùng để tích hợp các Web Services.
• Dựa trên các kiến thức nền tảng về công nghệ Web Service, khóa luận đã tiếp cận đến một hướng nghiên cứu mới đó là tìm hiểu về chất lượng các dịch vụ Web hay còn gọi là QoS cho Web Services.
• Khóa luận đã trình bày một dạng biểu đồ UML mới được thêm vào cho UML 2.0 đó là biểu đồ UML Timing Diagram. Một biểu đồ dùng để đặc tả ràng buộc thời gian đáp ứng của các đối tượng trong một quá trình tương tác dưới sự tác động của các sự kiện hay thông điệp.
• Thông qua ví dụ minh họa trong chương Thực nghiệm, khóa luận đã xây dựng thành công Service Proxy, được dùng để đo lường thời gian đáp ứng của các Web Services. Từ đó dựa trên các ràng buộc về thời gian được đặc tả bằng biểu đồ Timing Diagram để dẫn đến kết luận các Web Services đó có đáp ứng được tiêu chuẩn QoS hay không.
Tuy nhiên do quỹ thời gian nghiên cứu hạn hẹp cũng như điều kiện kĩ thuật bị giới hạn, khóa luận không tránh khỏi các hạn chế sau:
• Mới chỉ thực hiện việc kiểm chứng đối với các Web Services được triển khai trên môi trường localhost. Để gần với thực tế, bài toán cần phải được áp dụng trên môi trường Internet, nơi có rất nhiều yếu tố ảnh hưởng đến chất lượng phục vụ của các dịch vụ Web.
• Việc kiểm chứng thực hiện ở mức tổng quan đối với một tập hợp các Web Services. Chưa kiểm chứng ràng buộc cụ thể đối với từng thao tác trong từng Web Service như thao tác truy cập cơ sở dữ liệu, thao tác trả về kết quả v..v
Trong tương lai chúng tôi sẽ tiếp tục mở rộng đề tài này theo hướng nghiên cứu và đưa ra các giải pháp khắc phục khi các dịch vụ Web chưa đáp ứng được các tiêu chuẩn QoS, đồng thời phát triển bài toán để đáp ứng đầy đủ cho các yêu cầu về chất lượng dịch vụ Web như đáp ứng được tính có sẵn, tính an toàn, tính tin cậy của Web Services. Đó sẽ là một hướng đi khá cần thiết sau này khi sử dụng công nghệ Web Service ngày càng là một lựa chọn hoàn hảo cho các doanh nghiệp để thực hiện các nhu cầu nghiệp vụ của mình.
TÀI LIỆU THAM KHẢO
[1] Doug Tidwell, James Snell, Paval Kulchelko – Programing Web Services With Soap, December 2001.
[2] Daniela Malfatti - A Meta-Model for QoS-Aware Service Composition, December 2007.
[3] Prentice Hall PTR – Web Service Platform Architechture: SOAP, WSDL, WS- Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More, Marth 2005. [4] Robert Englander - Java and Soap, May – 2002.
[5] Ethan Cerami – Web Service Essentials Distributed Application with RPC, SOAP, UDDI &WSDL, February – 2002.
[6] Anbazhagan Mani, Arun Nagarajan – Understanding quality of service for Web Service, January -2002.
[7] W3C Working Group – QoS for Web Service: Requirements and Possible Approaches, November – 2003.
[8] Javavietnam.org – Web Service cài đặt và sử dụng, 2007.
[9] Jamers P.Lawler, H.Howell-Baber, Service Oriented Architecture SOA strategy, Methodology and Technology, January- 2008.
[10] Kim Hamilton, Russell Miles – Learning UML 2.0, April- 2006.
[11] Simon Bennett, John Skelton, Kelunn – UML Second Edition, May - 2006 [12] Axis User’s Guide, http://ws.apache.org/axis/java , April- 2009.
[13] Marcus Cobden, Ben Humphrays, Kathryn Macarthur – Timing Diagram Plugin Support for RODIN/UML-B, December – 2007.
[14] W3C School – Soap Tutorial , http://www.w3schools.com/soap , April - 2009. [15] W3C School – WSDL Tutorial , http://www.w3schools.com/WSDL , April - 2009. [16] W3C School – UDDI Tutorial , http://www.w3schools.com/UDDI , April - 2009. [17] Gerhard Wiehler – Web Service and Service Oriented Architecture, February- 2004.