Tìm hiểu về WebService Composition

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 54 - 58)

Để hiểu kĩ hơn về Web Service Composition, trước tiên chúng ta cần phải đề cập đến một vấn đề đó chính là tích hợp Web Services. Vấn đề tích hợp các service có sẵn là một phần trong kiến trúc của SOA. Ngày này việc tích hợp Web Services vẫn đang là một chủ đề được nghiên cứu rộng rãi, và được coi là một giải pháp cho việc sử dụng lại các service có sẵn để tạo dựng lên một Service mới tốt hơn.

Chúng ta có hai phương pháp tích hợp Web Service: Tích hợp tĩnh và tích hợp động:  Tích hợp được coi là tĩnh nếu chúng ta kết hợp các service tại thời điểm thiết kế

hoặc tại thời điểm cài đặt các Web Service.

 Tích hợp được coi là động nếu chúng ta kết hợp các service tại thời điểm các Service đang được thực thi.

Vậy tích hợp Web Service chính là một quá trình xử lý để kết nối các Web Services đã tồn tại để xây dựng lên một Web Service mới. Web Service mới được gọi là composite service, còn các Web Service đã tồn tại dùng để xây dựng lên service mới thì được gọi “Web Service Compositions”.

Từ đó ta có thể thấy, một Web Service Composition cũng có thể là một composite Web Service. Các Web Service Composition có thể được triển khai tại các vị trí khác nhau, trên các nền tảng công nghệ khác nhau. Nhưng điều quan trọng ở đây là chúng ta phải có một công nghệ chung nhất để các Web Service được tích hợp hay dùng để tích hợp có thể giao tiếp được với nhau.

46 Dưới đây ta có mô hình tích hợp Web Service

Hình 22:Minh họa mô hình tích hợp Web Service

Trong mô hình minh họa trên, phía client sẽ gọi các dịch vụ tới các Web Service đã được tổng hợp thông qua file WSDL của Web Service được tổng hợp đó. Từ các Composite Web Service sẽ xây dựng lời gọi đến các Web Service Composition, Các Web Service Composition thực hiện các thao tác tính toán, trả lại kết quả cho Composite Web Service. Composite Web Service tổng hợp các kết quả từ các Service thành phần và trả lại kết quả cuối cùng cho phía Client.

Để hiểu rõ hơn thế nào là Web Service Composition chúng tôi đưa ra một ví dụ đơn giản sau để minh hoạ đồng thời cũng là một ví dụ dùng cho mục tiêu khoá luận đó là kiểm chứng ràng buộc thời gian đáp ứng của các Web Service Composition: Để thực hiện một tour du lịch, hành khách cần phải cần các dịch vụ sau: tìm kiếm khách sạn của thành phố đích đến du lịch, tìm kiếm các chuyến bay từ thành phố xuất phát đến thành phố đến và dịch vụ cung cấp đặt vé máy bay. Giả sử ta có 2 nhà cung cấp dịch vụ Web đưa ra 2 dịch vụ Web Service nhằm phục vụ cho việc tìm kiếm khách sạn và tìm kiếm các chuyến bay. Hai Web Service này nằm ở hai vị trí địa lí khác nhau, sử dụng các công nghệ để triển khai khác nhau. Điều đó dẫn tới khi khách hàng muốn sử dụng 2 dịch vụ đó sẽ phải tìm

47

kiếm tại hai website khác nhau nên sẽ không thuận tiện. Nhằm đem lại sự thuận tiện cho khách hàng, chúng ta muốn tích hợp 2 Web Service là tìm kiếm khách sạn và tìm kiếm máy bay đó vào một dịch vụ lớn hơn , được gọi là dịch vụ Travel-Agent. Dịch Vụ Travel- Agent sẽ gọi đến 2 dịch vụ con là SearchHotel và SearchFlight mỗi khi có một truy vấn từ client đến dịch vụ Travel-Agent. Vậy ở đây các Web Service SearchHotel và SearchFlight chính là các Web Service Composition và Service Travel-Agent ở đây chính là Composite Service. Từ đó ta thấy Web Service Composition chính là các Web Service và có thể dùng để kết hợp với nhau tạo nên một Service lớn hơn.

Việc tích hợp các Web Service có thể phân chia thành hai loại như sau:

a) Loại thứ nhất: Composite Service được xây dựng bằng ngôn ngữ thông thường như Java, C#.. Quá trình này giống như phát triển một ứng dụng từ các dịch vụ Web. Trong trường hợp này, ứng dụng cũng được coi là một Web Service, và tầng trung gian không quan tâm đến quá trình tích hợp Web Serice. Vấn đề tích hợp trở nên cồng kềnh, người lập trình phải chú tâm đến tiến trình xử lý mức dưới của thông điệp SOAP và các nghiệp vụ logic khác. Khi sử dụng phương pháp này, chỉ cần một thay đổi nhỏ trong composition services sẽ dấn đến sự thay đổi khá lớn của các Service được tổng hợp.

b) Loại thứ hai: Sử dụng các công cụ mức cao cho việc tích hợp Web Service. Đây sẽ là một phương pháp hữu ích và tiện lợi cho việc tích hợp Web Service. Dưới đây chúng tôi sẽ đề cập đến một số công cụ được dùng cho việc tích hợp dịch vụ.

Một số chuẩn tích hợp các Web Services:

BPEL: Được viết tắt của cụm từ The Business Process Excution Language – Đây là một ngôn ngữ chuyên biệt được dùng cho các quy trình thương mại và các giao thức tương tác thương mại. Nó thay thế XLANG và WSFL như là một chuẩn để tích hợp Web Service. Việc dựa trên nền tảng mô hình và cú pháp XML được cung cấp bởi BPEL định nghĩa sự tương tác giữa các quy trình và Web Service Interface. Nó chỉ định nghĩa các trạng thái logic giữa các sự tương tác và phương

48

pháp hệ thống đối với các điều kiện ngoại lệ. Các mô hình xử lý được định nghĩa bởi BPEL đều được dựa trên nền tảng mô hình mô tả dịch vụ WSDL. Các dịch vụ (được mô tả như là các thành phần trong tập hợp BPEL) được gọi/ trả lời bằng cách sử dụng các hành động được trình bày bởi WSDL.

BPML : BPML cung cấp mô hình và cú pháp trừu tượng cho việc trình bày một cách trừu tượng và thực thi các quy trình thương mại. Sử dụng BPML, các quy trình thương mại, các Web Service phức tạp có thể dễ dàng được định nghĩa. Các quy trình trong BPML là thành phần của các hành động để thực thi một chức năng cụ thể nào đó. Các quy trình hướng đến sự thực thi của các hành động. BPML định nghĩa ra 17 kiểu hành động và 3 kiểu quy trình. Các đặc tả về BPML thường hỗ trợ việc nhập và tham chiếu đến việc định nghĩa dịch vụ được cung cấp bởi WSDL. Các chuẩn của ngôn ngữ BPML sử dụng đó là RDF và Dublin Core để trợ giúp ngôn ngữ BPML gần gũi với ngôn ngữ con người hơn.

BPSS: Được viết tắt của cụm từ Business Process Specification Schema – nó là một chuẩn cho việc trình bày mô hình tập hợp các quy trình thương mại điện tử. Nó sử dụng cú pháp XML như là một thành phần trong lời gọi tới các quy trình thương mại có liên quan. BPSS là một chuẩn có thể được sử dụng để cấu hình các hệ thống thương mại nhằm hỗ trợ việc cộng tác thương mại. Tuy nhiên BPSS lại không hỗ trợ việc mô tả cách thức các luồng dữ liệu giữa các giao tác mà nó lại hỗ trợ một cách rõ ràng về chất lượng dịch vụ cho các giao tác như việc thẩm định quyền, biên nhận, và định thời gian timeouts.

WSCI : Được viết tắt của cụm từ Web Service Choreography Interface – dựa trên nền tảng ngôn ngữ XML dùng cho việc mô tả các hành vi của Web Service trong việc trao đổi thông điệp dựa trên ngữ cảnh của việc cộng tác các quy trình thương mại hoặc các luồng công việc. Nó định nghĩa các luồng trao đổi thông điệp bởi Web Service bằng việc mô tả các hành vi đặc biệt. Mặc dù nó cung cấp các quy trình hướng thông điệp nhưng nó lại không định nghĩa ra các hành vi bên trong các

49

quy trình xử lý Web Service. Nó là một giao diện tĩnh cung cấp các thông tin chi tiết bởi file WSDL mô tả cách thức các hành động, các thao tác và thuộc tính của Web Service.

WSCL : Được viết tắt của cụm từ Web Service Conversation Language – cho phép định nghĩa các hành vi bên ngoài các service bằng việc chỉ rõ mức độ giao tiếp của các quy trình thương mại và hỗ trợ công bố quy trình thương mại bởi Web Services. Các quy trình giao tiếp được định nghĩa bằng việc sử dụng cú pháp XML và tài liệu WSDL. WSCL cung cấp các thiết lập chi tiết cho việc giao tiếp và đưa ra bởi các Service Provider.

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 54 - 58)

Tải bản đầy đủ (PDF)

(85 trang)