Sự phát triển của công nghệ thông tin cho phép ứng dụng hiệu quả vào các hoạt động kinh doanh, giải trị, quản lý cũng như một số lĩnh vực khoa học xã hội khác. Sự bùng nổ của Internet đã trở thành một điều kiện hết sức thuận lợi, đem lại hiệu suất cao trong công việc đồng thời giảm thiểu chi phí cho các doanh nghiệp. Tuy nhiên các yêu cầu về nghiệp vụ phức tạp trong hệ thống này dẫn đến các hệ thống phần mềm tương ứng cũng ngày càng trở nên phức tạp, cồng kềnh và khó kiểm soát. Rất nhiều yêu cầu nghiệp vụ đòi hỏi xử lý các vấn đề liên quan đến dữ liệu phân tán, xử lý các thông tin khác nhau do nhiều tổ chức nắm giữ. Đã có nhiều kiến trúc phần mềm được đưa ra nhưng chưa đủ mạnh để giải quyết được vấn đề này. Sự ra đời của kiến trúc phần mềm hướng dịch vụ đã mở ra một hướng đi mới trong việc giải quyết các loại bài toán này.
ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ NỘI Báo cáo môn vấn đề đại công nghệ phần mềm Multi-agent System in Web Service Composition Sinh viên thực : Hoàng Minh Đường Giảng viên hướng dẫn : TS. Võ Đình Hiếu Hà Nội, tháng 11 năm 2013 Chương 1: Giới thiệu Sự phát triển công nghệ thông tin cho phép ứng dụng hiệu vào hoạt động kinh doanh, giải trị, quản lý số lĩnh vực khoa học xã hội khác. Sự bùng nổ Internet trở thành điều kiện thuận lợi, đem lại hiệu suất cao công việc đồng thời giảm thiểu chi phí cho doanh nghiệp. Tuy nhiên yêu cầu nghiệp vụ phức tạp hệ thống dẫn đến hệ thống phần mềm tương ứng ngày trở nên phức tạp, cồng kềnh khó kiểm soát. Rất nhiều yêu cầu nghiệp vụ đòi hỏi xử lý vấn đề liên quan đến liệu phân tán, xử lý thông tin khác nhiều tổ chức nắm giữ. Đã có nhiều kiến trúc phần mềm đưa chưa đủ mạnh để giải vấn đề này. Sự đời kiến trúc phần mềm hướng dịch vụ mở hướng việc giải loại toán này. Kiến trúc SOA định nghĩa kiểu kiến trúc cho việc xây dựng hệ thống phân tán theo hướng dịch vụ, tức hệ thống phân tách thành module chương trình, module phát triển độc lập, module sử dụng công nghệ khác giao tiếp với nhau. Một công nghệ tiêu biểu cho kiến trúc hướng dịch vụ công nghệ Web Service. Với công nghệ Web Service, Service module thực công việc khác nhau, ta tổng hợp Service thành phần lại để thực công việc lớn, gọi công nghệ tích hợp Web Service, Service thành phần gọi Service Composition. Sự đời công nghệ Web Service đem lại nhiều lợi cho việc chia sẻ tài nguyên qua mạng, trợ giúp xây dựng hệ thống phân tán đồng thời đáp ứng tính mềm dẻo cần thiết, hệ thống dễ dàng chấp nhận thay đổi lớn so với thiết kế ban đầu mà đảm bảo cho vấn đề nâng cấp bảo trì sau này. Web Service đem đến đầy đủ đáp ứng cần thiết cho quy trình B2B – Bussiness to Bussiness B2C – Bussiness to Customer, Web Service thuật ngữ nhắc đến nhiều ngày sử dụng rộng rãi. Vấn đề tích hợp service có sẵn phần kiến trúc SOA. Ngày việc tích hợp Web Services chủ đề nghiên cứu rộng rãi, coi giải pháp cho việc sử dụng lại service có sẵn để tạo dựng lên Service tốt hơn. Báo cáo trình bày phương pháp để giải vấn đề tích hợp web service nói trên. Phương pháp dựa tư tưởng cập nhật đầy đủ khởi tạo theo mô hình P2P. Với agent trình khởi tạo, tương tác với agent khác để có bảng service đầy đủ nhất. Do đó, request gửi tới, agent trả lời thực hay không mà không cần gửi tới successor nữa. Báo cáo trình bày giao thức hoạt động cách hoạt động agent trình khởi tạo, tìm kiếm thực hiện. Để thực hóa phương pháp đề xuất, xây dựng công cụ WSCA Tool dựa JADE framework. Công cụ khả tìm service composition mà thực yêu cầu trả kết cho người dùng với kiểu liệu bản. Cấu trúc báo cáo trình bày sau: Chương đề cập kiến thức tảng. Ở Chương 3, tìm hiểu toán web service composition giải pháp sử dụng công cụ JXTA. Chương trình bày phương pháp đề xuất công cụ WSCA. Và cuối phần tổng kết Chương 5. Chương 2: Kiến thức tảng I Web Service Service-Oriented Architecture (SOA) Sự phát triển công nghệ ngày kéo theo môi trường giao tiếp không đồng hệ thống phần mềm với nhau. Một vấn đề đặt tổ chức công nghệ thông tin xây dựng kiến trúc phần mềm có khả tích hợp sử dụng thành phần nhằm giảm thiểu chi phí phát triển bảo trì hệ thống phần mềm. Chúng ta có kiến trúc OOP (Object Oriented Programming), COM/DCOM (Distributed Common Object Model), CORBA ( Common Object Request Broker Architecture)…và nhiều phương thức tích hợp ứng dụng nhanh tốt hơn. Tuy nhiên, đặc tính ràng buộc chặt chẽ thành phần với làm cho kiến trúc chưa thật hiệu quả. Mô hình SOA – Kiến trúc hướng dịch vụ đời gần giải vấn đề khó khăn giao tiếp. Khái niệm Kiến trúc hướng dịch vụ kiểu thiết kế hướng dẫn tạo sử dụng dịch vụ nghiệp vụ định nghĩa cung cấp kiến trúc hạ tầng cho phép nhiều ứng dụng khác trao đổi liệu tham gia vào quy trình nghiệp vụ bất chấp khác biệt mặt ngôn ngữ lập trình hệ điều hành ứng dụng này. Mục đích SOA Một hệ thống phần mềm phải thay đổi để đáp ứng yêu cầu thị trường. Mục tiêu kiến trúc hướng dịch vụ nhằm xóa bỏ rào cản mặt công nghệ thực, hệ nền, tận dụng nguồn tài nguyên sẵn có hệ thống cũ để giảm thiểu chi phí thực, phát triển bảo trì hệ thống phần mềm. Nguyên lý hoạt động SOA • Service Provider: Cung cấp stateless service phục vụ cho nhu cầu đó. User (service consumer) không cần quan tâm đến vị trí thực • mà service họ cần sử dụng hoạt động. Serive Consumer: User sử dụng service cung cấp Service • Provider Service Registry: Nơi lưu trữ thông tin service Service Provider khác nhau, Service Consumer dựa thông tin để tìm kiếm lựa chọn Service Provider phù hợp. Service Registry Service Consumer Service Provider Figure 1: SOA actors Service Provider đăng kí thông tin service mà cung cấp (các chức cung cấp, khả hệ thống (resource, performance), giá dịch vụ, .) vào Service Registry. Service Consumer có nhu cầu service tìm kiếm thông tin Service Registry. Ngoài chức hỗ trợ tìm kiếm, Service Registry xếp hạng Service Provider dựa tiêu chí chất lượng dịch vụ, bầu chọn từ khách hàng sử dụng service, . Những thông tin hỗ trợ thêm cho trình tìm kiếm Service Consumer. Khi xác định Service Provider mong muốn, Service Consumer thiết lập kênh giao tiếp trực tiếp với Service Provider nhằm sử dụng service tiến hành thương lượng thêm (về mặt giá cả, resource sử dụng, .) Web Service XML Là chuẩn mở W3C đưa cho cách thức mô tả liệu, sử dụng để định nghĩa thành phần liệu trang web cho tài liệu B2B. Về hình thức, XML hoàn toàn có cấu trúc thẻ giống ngôn ngữ HTML HTML định nghĩa thành phần hiển thị XML lại định nghĩa thành phần chứa gì. Với XML, thẻ lập trình viên tự tạo trang web chọn định dạng thông điệp chuẩn tính phổ biến hiệu mã nguồn mở. Do dịch vụ Web kết hợp nhiều thành phần khác nên sử dụng tính đặc trưng thành phần để giao tiếp. XML công cụ để giải vấn đề kiến trúc tảng cho việc xây dựng dịch vụ Web, tất liệu chuyển sang định dạng thẻ XML. Khi đó, thông tin mã hóa hoàn toàn phù hợp với thông tin theo chuẩn SOAP XML-RPC tương tác với thể thống nhất. Khái niệm Dịch vụ web (Web Service) hệ thống phần mềm thiết kế để hỗ trợ tương tác máy với máy thông qua mạng. Nó giao diện mô tả định dạng mà máy hiểu (cụ thể wsdl). Các hệ thống khác tương tác với dịch vụ web cách thức theo quy định mô tả sử dụng thông báo SOAP, thường truyền tải cách sử dụng HTTP với định dạng XML kết hợp với chuẩn web khác [W3C]. SOAP SOAP (Simple Object Access Protocol) cung cấp chế đơn giản gọn nhẹ để trao đổi thông tin điểm môi trường phân cấp, phân tán sử dụng XML có cấu trúc kiểu. SOAP xác định ngữ nghĩa ứng dụng mô hình lập trình hay ngữ nghĩa thực cụ thể, định nghĩa chế đơn giản cho việc thể ngữ nghĩa ứng dụng cách cung cấp mô hình gói module chế mã hóa cho việc mã hóa liệu module. Điều cho phép SOAP sử dụng đa dạng hệ thống khác từ hệ thống nhắn tin tới RPC.[W3C] Nói cách đơn giản, SOAP giao thức quy định cách trao đổi liệu ứng dụng service. SOAP sử dụng cú pháp XML để chứa liệu dùng HTTP làm giao thức truyền tin. Ta định nghĩa SOAP công thức: SOAP = XML + HTTP POST /globalweather.asmx HTTP/1.1 Host: www.webservicex.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.webserviceX.NET/GetWeather" string string Trên ví dụ giao thức SOAP service xem thông tin thời tiết trang web www.webserviceX.NET. Giao thức SOAP sử dụng phương thức POST giao thức HTTP để gửi thông tin. Dữ liệu yêu cầu người dùng định nghĩa cú pháp XML, xác định cặp thẻ liệu chứa cặp thẻ . WSDL (Web Service Description Language) WSDL định dạng XML để mô tả dịch vụ mạng tập hợp thiết bị đầu cuối hoạt động dựa thông báo có chứa thông tin hướng tài liệu hướng thủ tục. Phương thức thông báo mô tả trừu tượng, bị ràng buộc vào giao thức mạng cụ thể định dạng thông báo để định nghĩa thiết bị đầu cuối. Các điểm cuối liên quan cụ thể kết hợp thành điểm cuối trừu tượng (dịch vụ). WSDL mở rộng phép mô tả thiết bị đầu cuối thông báo thông báo có định dạng hay giao thức mạng sử dụng để giao tiếp. WSDL mô tả loại thông tin bao gồm: import, types, message , portType, binding, service, port. a Types: WSDL định nghĩa kiểu liệu thông điệp gửi . * b Message: Mô tả thông điệp gửi client server. * * Những định nghĩa message sử dụng phần tử thi hành service. Nhiều thao tác tham chiếu tới định nghĩa message. Thao tác message mô hình riêng rẽ để hỗ trợ tính linh hoạt đơn giản hóa việc tái sử dụng lại. Chẳng hạn, hai thao tác với tham số chia sẻ định nghĩa message. c Port type: WSDL mô tả cách gửi nhận thông điệp. * WSDL định nghĩa bốn kiểu thao tác mà môôt cổng hỗ trợ : • One-way: Cổng nhâôn môôt message, message message • nhâôp. Request-response: Cổng nhâôn môôt message gửi môôt message • • • phản hồi Solicit-response: Cổng gửi môôt message nhâôn môôt message Notification: Cổng gửi môôt message, message message xuất. Mỗi kiểu thao tác có cú pháp biến đổi tùy theo: Thứ tự message nhập, xuất lỗi. * * d Binding: Định nghĩa cách web services kết hợp với nhau. Môôt kết hợp bao gồm : • Những giao thức mở rôông cho giao tác message • bao gồm thông tin URN mã hóa cho SOAP. Mỗi môôt kết hợp tham chiếu đến loại cổng, môôt kiểu cổng (portType) sử dụng nhiều mối kết hợp. Tất thao tác định nghĩa bên kiểu cổng phải nằm phạm vi mối kết hợp. e Service: Nó thực định nghĩa tập tin giao diện cách gọi web services theo thủ tục phương thức nào. * * f Port: cổng đầu cuối, định nghĩa môôt tâôp hợp binding môôt địa mạng. * * 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 tâm đến tiến trình xử lý mức thông điệp SOAP nghiệp vụ logic khác. Khi sử dụng phương pháp này, cần thay đổi nhỏ composition services dấn đến thay đổi lớn • Service tổng hợp. Loại thứ hai: Sử dụng công cụ mức cao cho việc tích hợp Web Service. Đây phương pháp hữu ích tiện lợi cho việc tích hợp Web Service BPEL, BPML, WSCL, … Ví dụ minh họa Để hiểu rõ Web Service Composition đưa ví dụ đơn giản sau để minh hoạ. Để thực tour du lịch, hành khách cần phải cần dịch vụ sau: tìm kiếm khách sạn thành phố đích đến du lịch, tìm kiếm chuyến bay từ thành phố xuất phát đến thành phố đến dịch vụ cung cấp đặt vé máy bay. Giả sử ta có nhà cung cấp dịch vụ Web đưa dịch vụ Web Service nhằm phục vụ cho việc tìm kiếm khách sạn tìm kiếm chuyến bay. Hai Web Service nằm hai vị trí địa lí khác nhau, sử dụng công nghệ để triển khai khác nhau. Điều dẫn tới khách hàng muốn sử dụng dịch vụ phải tìm kiếm hai website khác nên không thuận tiện. Nhằm đem lại thuận tiện cho 49 khách hàng, muốn tích hợp Web Service tìm kiếm khách sạn tìm kiếm máy bay vào dịch vụ lớn , gọi dịch vụ Travel-Agent. Dịch vụ Travel-Agent gọi đến dịch vụ SearchHotel SearchFlight có truy vấn từ client đến dịch vụ Travel-Agent. Vậy Web Service SearchHotel SearchFlight Web Service Composition Service Travel-Agent Composite Service. Từ ta thấy Web Service Composition Web Service dùng để kết hợp với tạo nên Service lớn hơn. II Agent-Based Web Service Composition with JADE and JXTA Tổng quan phương pháp Trong môi trường P2P multi-agent, agent đăng tìm kiếm service tùy theo mục đích. Tuy nhiên số lượng Web service tăng nhanh, Web service đơn lẻ thỏa mãn yêu cầu agent. Vì cần phải kết hợp Web services thành composite services. Ví dụ, giả định có ba agent A1, A2 A3 hệ thống agent. A1 có S1 dịch vụ Web cung cấp số ISBN cho tên sách. A2 có dịch vụ S2 chấp nhận số ISBN trả giá sách đô la Mỹ. A3 có S3 dịch vụ chuyển đổi giá sách đô la Mỹ thành krone Thụy Điển. Bây giờ, người dùng tìm kiếm dịch vụ với đầu vào sách đầu giá krone Thụy Điển, có sẵn. Do đó, thông qua thành phần dịch vụ Web tự động, S1, S2, S3 tích hợp vào dịch vụ mà chấp nhận tên sách đầu vào trả giá sách krone Thụy Điển. Kỹ thuật tích hợp (composition) nhằm mục đích để tìm service composition tối ưu phù hợp với ngữ nghĩa thông số input output. Nói chung, chế tích hợp Web service dựa Agent phương pháp gồm ba giai đoạn tuần tự: (i) đăng ký service, (II) xây dựng đồ thị service, (III) phát service composition thỏa mãn. Đăng ký Service Trong giai đoạn đăng ký service, agent đăng ký service mạng JXTA việc đưa mô tả service vào mạng. Việc giống đăng quảng cáo mạng JXTA. Mỗi mô tả agent chứa định danh (AID), tập mô tả service cung cấp, danh sách language ontology mà agent khác cần phải biết để tương tác với agent này. Các service đăng có mô tả bao gồm loại dịch vụ, tên dịch vụ, đầu vào đầu ra, language ontology cần thiết để khai thác dịch vụ số đặc tính dịch vụ cụ thể. Xây dựng đồ thị Service Giai đoạn xây dựng đồ thị khớp với input output service phù để tạo thành workflow tiềm năng. Để đảm bảo tính đầy đủ đồ thị phân phối, tất agent tham gia phải tìm kiếm (successor) sau công bố service mình. Một successor agent agent với service có đầu vào phù hợp với đầu agent cha (predecessor) nó. Trong ví dụ mô tả trên, S1 S2 cha S2 S1. Toàn hệ thống ổn định, tất agent xác định successors đồ thị service có hướng đầy đủ xây dựng. Để giữ cho hệ thống ổn định, agent phải thực trình tìm kiếm theo định kỳ để cập nhật cho successor nó. Phát service composition thỏa mãn Quá trình phát tích hợp service cụ thể thực cách gọi đệ quy successor agent. Khi agent gửi yêu cầu với input tham số output mong muốn vào đồ thị service, yêu cầu chuyển tiếp agent liên quan đồ thị. Quy trình tìm kiếm kết thúc điều kiện sau thực hiện: 1) giải pháp cho dịch vụ dự kiến tìm thấy, tức tìm thầy service composition thỏa mãn, 2) yêu cầu đến agent successor không tìm thấy giải pháp cho dịch vụ yêu cầu; 3) tác nhân phát vòng lặp gửi yêu cầu. Tối ưu phương pháp Trong phương pháp vừa nói trên, yêu cầu (request) chuyển tiếp đến tất successor agent cung cấp service mong muốn. Do số lượng yêu cầu chuyển tiếp giảm bớt agent nhận request biết thông qua successor đạt mục tiêu với đường ngắn nhất. Trong ví dụ nêu trên, giả sử thêm agent A4 cung cấp dịch vụ S4 chuyển đổi giá sách đô la Mỹ thành euro agent khác A5 cung cấp dịch vụ S5, mà chuyển đổi đồng euro thành Thụy Điển krone, đồ thị dịch vụ tương ứng mô tả hình Trong hệ thống JXTA agent trì bảng successor bảng service để chuyển tiếp yêu cầu cách tối ưu. Bảng kế tập hợp cặp channel / output. Một channel biểu diễn successor agent, output list chứa tất kết đầu dịch vụ mà đạt thông qua channel. Bất agent tìm thấy successor mới, record (successor, null) chèn vào bảng. Cặp (channel / output) cập nhật theo phản hồi từ successor nó. Trong ví dụ trên, A2 có bảng kế đại diện sau. Bảng service bao gồm ba (output, channel, hop). Output bảng đại diện cho đầu service. Channel định danh agent mà thông qua đạt dịch vụ cần thiết. Hops biểu diễn cho khoảng cách từ agent đến dịch vụ cụ thể. Ban đầu, tất agent có bảng dịch vụ sau đây: Trong ví dụ nêu trên, A2 có bảng service sau: Trong trình phát service, agent nhận yêu cầu service xảy để phù hợp với yêu cầu, agent trả lời đến agent yêu cầu với đầu service trùng khớp bảng dịch vụ agent. Khi agent nhận câu trả lời từ successor nó, lấy từ bảng dịch vụ nó, cho output bảng, agent kiểm tra liệu có tồn đường tốt để đầu ra. Nếu điều xảy ra, sau cập nhật bảng dịch vụ riêng bàn kế, agent tạo trả lời gửi đến predecessor nó. Chương 4: Phương pháp đề xuất I Giới thiệu chung Theo phương pháp JXTA đề xuất trên, kết service composition đầu workflow tiềm với đường nhỏ nhất. Điều có nghĩa kết sinh không đáp ứng yêu cầu đảm bảo mặt ngữ nghĩa hành động tích hợp. Việc kết hợp phương pháp dừng lại mức so khớp input, output, so sánh language ontology cần biết để dùng service với nhau. Giả sử hệ thống tồn service tính thuế VAT sản phẩm, service service tính giá trị sản phẩm sau thuế VAT với input, output, language ontology cần biết. Kết trình tìm kiếm sử dụng hai service với tỉ lệ dẫn đến độ xác workflow trả không đảm bảo. Vấn đề thứ hai phương pháp JXTA tối ưu số lượng request. Theo phương pháp đề xuất trên, gửi đến agent mà service ko đáp ứng yêu cầu, agent gửi tiếp request đến successor nó. Vậy vấn đề xảy tích hợp tất agent đáp ứng yêu cầu, số lượng request lúc lớn tất agent gửi yêu cầu đến gửi request đến successor nó. Hơn nữa, phương pháp JXTA chưa đề cập đến giao thức rõ ràng cách trao đổi liệu trình tìm kiếm tích hợp. Trong báo cáo này, xin phép đề xuất phương pháp cải tiến dựa phương pháp JXTA. Phương pháp đề xuất hướng tới việc giải tối ưu số lượng request cách sử dụng tư tưởng “learning at initial state”. Với agent trình khởi tạo, tương tác với agent khác để có bảng service đầy đủ nhất. Do đó, request gửi tới, agent trả lời thực hay không mà không cần gửi tới successor nữa. Báo cáo trình bày giao thức hoạt động cách hoạt động agent trình khởi tạo, tìm kiếm thực hiện. Để thực hóa phương pháp đề xuất, xây dựng công cụ WSCA Tool dựa JADE framework. Công cụ khả tìm service composition mà thực yêu cầu trả kết cho người dùng với kiểu liệu bản. Phương pháp đề xuất công cụ giai đoạn đầu nghiên cứu nên có số khuyết điểm; nhiên, với giao thức đề cập cách phân loại rõ ràng, phương pháp dễ dàng phát triển lên cho trường hợp lớn phức tạp. II Phương pháp đề xuất Giao thức đề xuất Trong hệ multi-agent system này, agent chia làm loại client agent service agent: • Client Agent: đại diện cho đối tượng cần tìm service đáp ứng yêu cầu mình. Client agent có hoạt động gửi yêu cầu đến candidate service thực yêu cầu mình. Nếu agent có khả thực hiện, client agent gửi tiếp yêu cầu thực • chờ nhận kết quả. Service Agent: đại diện cho service. Service agent có khả tương tác với service agent khác để tự cập nhật liệu cho mình. Trong service agent có chứa Service Proxy để thực service gửi kết cho client agent service agent thực kế tiếp. Giao thức Client Agent Service Agent Hình mô tả giao thức hoạt động client agent service agent. Sau client agent khởi tạo tìm service agent phù hợp, client agent gửi thông điệp CFP tới candidate service agent để xác định liệu service agent có khả đáp ứng yêu cầu hay không. Nếu service agent đáp ứng, gửi trả thông điệp NO PROPOSE thông báo cho Client Agent. Ngược lại, service agent gửi thông điệp PROPOSE kèm theo chuỗi hoạt động đáp ứng BPEL tương ứng cho Client Agent. Khi nhận thông điệp PROPOSE, tùy vào chế, Client Agent gửi yêu cầu REQUEST với giá trị input. Service Agent lúc tương tác với để thực yêu cầu client agent gửi trả kết thông điệp INFORM. Giao thức Service Agent Service CFP Tại trình khởi tạo, service agent gửi thông điệp CFP đến service để xác đinh successor ancestor nó. Tuy nhiên, thông điệp không cần thiết thay vào đó, việc tương tác với DF multiagent system UDDI, ta xác đinh Ancestor Successor. Bằng cách này, số lượng request phương pháp đề xuất giảm đáng kể. Service PROPOSE Sau xác định Ancestor mình, agent service gửi liệu thông qua message PROPOSE. Hoạt động agent service nhận PROPOSE message trình bày chi tiết phần dưới. Service REQUEST Khi nhận sau thực service mình, service agent thấy phải chuyển tiếp thông tin đến cho service agent khác, thông điệp REQUEST tạo gửi đi. Khởi tạo liệu cho service agent Phương pháp đề xuất dựa tư tưởng cập nhật liệu cách đầy đủ khởi tạo, có tư tưởng gần với thuật toán Vector tìm đường ngắn mạng. Để đảm bảo độ xác cho kết trả về, đây, đề xuất sử dụng thêm ontology cho operation service. Các ontology đặc tả cho chức operation, nhờ ta đảm bảo ngữ nghĩa kết trả phù hợp với yêu cầu. Bảng Service Table cải tiến Service Table thêm cột Action Chain để lưu trữ chuỗi hành động mà service cần trải qua. Chuỗi hành động trả cho client agent sử dụng để kiểm tra ngữ nghĩa, đảm bảo độ tin cậy cho kết quả. Output Action Chain Channel Hop Krone Euro exchange.convert exchange.convert A4 A2 1 Hoạt động service agent Hoạt động lúc khởi tạo Sau tạo từ liệu service đại điện, Service agent gửi thông điệp CFP tới service agent khác để cập nhật successor ancestor cho mình. CFP Listenser Sau nhận thông điệp CFP từ service agent, service agent kiểm tra xem agent gửi thông điệp tới ancestor hay successor. Nếu agent ancestor, agent nhận cập nhật ancestor gửi thông tin bảng service cho agent vừa gửi kia. Còn agent gửi successor agent nhận, agent nhận gửi thông điệp CFP để yêu cầu agent gửi liệu lại để cập nhật. Ở đây, ta có xét đến trường hợp agent vừa ancestor successor agent khác. Định nghĩa ancestor successor giống phương pháp JXTA. PROPOSE Listener Sau nhận thông tin service agent gửi thông qua thông điệp PROPOSE, agent nhận sử dụng thông tin, bảng service agent gửi để cập nhật cho bảng service mình. Thuật toán cập nhật bảng service mô tả hình phía dưới. Thuật toán đảm bảo bảng service đường ngắn nhất. Sau trình cập nhật, bảng có thay đổi, dòng thay đổi gửi tới ancestor agent để cập nhật, đảm bảo độ xác liệu. REQUEST Listener Khi nhận thông điệp yêu cầu thực REQUEST, service agent thực lời gọi đến service đại diện lấy kết về. Tiếp đến, agent kiểm tra xem phải agent thực cuối hay chưa cách kiểm tra hop trong thông điệp nhận được. Nếu không phải, service agent tạo REQUEST message gửi tới service agent kế tiếp. Người lại, gửi INFORM message với kết serivce đại diện cho client agent. III WSCA Tool Để thực hóa phương pháp, xây dựng công cụ WSCA Tool với chức tìm serivce compositon thưc yêu cầu client agent. Công cụ viết ngôn ngữ java JADE Framework. Hiện WSCA trình phát triển, việc sử dụng tool phải thực qua việc sử dụng file câu hình giao diện quản lý GUI JADE Framework. File cấu hình client File cấu hình service convertDollarToVND http://localhost:8080/WS2/BookStore?WSDL exchangeMoney Chương 5: Tổng kết Báo cáo trình bày kiến thức tổng quan kiến trúc hướng dịch vụ (SOA), Web Service, Multi-agent System toán Web Service Composition. Dựa phương pháp web service compositon JXTA, đề xuất phương pháp để giải vấn đề trên. Phương pháp dựa tư tưởng cập nhật đầy đủ khởi tạo theo mô hình P2P. Nhờ vào trình khởi tạo liệu đầy đủ, đặc tính học agent, thay phải gửi nhiều lần để tìm kiếm workflow, với service agent, client agent phải gửi lần để xác định xem liệu có thực yêu cầu hay không. Để đảm bảo việc khởi tạo cập nhật liệu xác, phương pháp đề xuất giao thức trao đổi thông tin agent. Để thực hóa phương pháp, xây dựng công cụ WSCA Tool dựa JADE Framework. Công cụ thực hai công việc phát service composition cho phép client yêu cầu thực composition service, trả kết quả. Hiện phương pháp giai đoạn đầu trình phát triển nên nhiều vấn đề trình tích hợp chưa xét tới. Khi service cung cấp phương thức với nhiều đầu vào, việc tìm đường tối ưu cho phép thực việc tính toán song song vấn đề đáng ý. Khi số lượng service tăng lên nhiều, phương pháp sử dụng nhiều nhớ. Để giải vấn đề này, ta cần phải tính đến giải pháp phân tán thành cụm service, cần phải cập nhật cho giao thức đề xuất để đảm bảo bảng liệu đầy đủ. Tư tưởng cho giải pháp dùng phương pháp chia để trị, phân tầng. Mỗi cụm service đại diện agent, agent đại diện cụm quản lý multi-agent khác hay gọi tầng trên. Vấn đề bảo mật đảm bảo chất lượng service vấn đề cần quan tâm. Phương pháp đề xuất hứa hẹn cho ta giải pháp khả dụng việc giải vấn đề web service composition. Tài liệu tham khảo World Wide Web Consortium: www.w3.org. W3School : www.w3schools.com. Developing Multi-Agent Systems with JADE, Bellifemine, Fabio Luigi and Caire, Giovanni and Greenwood, Dominic. Wiley, Year 2007. Agent-Based Web Service Composition with JADE and JXTA . Shenghua Liu, Peep Küngas, and Mihhail Matskin. SWWS, page 110-116. CSREA Press, (2006). Algorithm for Web Service Composition using Multi-Agents. G.Vadivelou, E.IIavarasan and S Prasanna. Article:. International Journal of Computer Applications 13(8):40–45, January 2011. Published by Foundation of Computer Science. Software Agents: The Future of Web Services. Michael N. Huhns. Agent Technologies, Infrastructures, Tools, and Applications for E-Services, volume 2592 of Lecture Notes in Computer Science, page 1-18. Springer, (2002). Web Service Composition: Current Solutions and Open Problems. Koehler, J. & Srivastava, B. (2003). (p./pp. 28--35). [...]... 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 Composition Trong mô hình minh họa trên, phía client sẽ gọi các service 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ẽ... Cấu trúc Web Service Web service Structure Tương tự với SOA, có 3 actor chính tham gia vào Web service • Service Provider: Dùng Web Services Description Language (WSDL) để mô tả dịch vụ mà mình có thể cung cấp cho Service Broker (tương • tự với Service Registry trong SOA) Service Broker: Lưu trữ thông tin về các service được cung cấp bởi các Service Provider Cung cấp chức năng tìm kiếm hỗ trợ Service. .. 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 Có 2 phương pháp tích hợp Web Service là 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... 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 II Agent-Based Web Service Composition with JADE and JXTA 1 Tổng quan phương pháp Trong môi trường P2P multi-agent, bất kì agent nào cũng có thể đăng và tìm kiếm service tùy theo mục đích Tuy nhiên số lượng Web service có thể tăng rất nhanh, một Web service đơn lẻ không... Chương 3: Web Service Composition và phương pháp sử dụng JXTA I Web Service Composition 1 Khái niệm 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 Định nghĩa: Tích hợp Web Service chính... lượng service cũng là những vấn đề cần được quan tâm Phương pháp đề xuất hứa hẹn sẽ cho ta một giải pháp khả dụng trong việc giải quyết vấn đề web service composition Tài liệu tham khảo 1 World Wide Web Consortium: www.w3.org 2 W3School : www.w3schools.com 3 Developing Multi-Agent Systems with JADE, Bellifemine, Fabio Luigi and Caire, Giovanni and Greenwood, Dominic Wiley, Year 2007 4 Agent-Based Web Service. .. Requester (Service Consumer trong SOA) trong việc xác định Service Provider phù hợp Thành phần chính của Service Broker là Universal • Discovery, Description, and Integration (UDDI) repositories Service Requester: Dùng WSDL để đặc tả nhu cầu sử dụng (loại service, thời gian sử dụng, resource cần thiết, mức giá ) và gởi cho Service Broker Bằng việc sử dụng UDDI và chức năng tìm kiếm của Service Broker, Service. .. trị input Service Agent lúc này sẽ tương tác với nhau để thực hiện yêu cầu của client agent và gửi trả về kết quả trong thông điệp INFORM 2 Giao thức giữa các Service Agent 1 Service CFP Tại quá trình khởi tạo, service agent sẽ gửi thông điệp CFP đến các service để xác đinh successor và ancestor của nó Tuy nhiên, thông điệp này có thể không cần thiết và thay vào đó, bằng việc tương tác với DF của multiagent. .. File cấu hình của service convertDollarToVND... convertDollarToVND http://localhost:8080/WS2/BookStore?WSDL exchangeMoney < /service> Chương 5: Tổng kết Báo cáo này đã trình bày kiến thức tổng quan về kiến trúc hướng dịch vụ (SOA), Web Service, Multi-agent System