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

Báo cáo: Multiagent System in Web Service Composition

31 419 0

Đ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 31
Dung lượng 888,93 KB

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

Nội dung

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.

Trang 1

ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ NỘI

Báo cáo môn các vấn đề hiện đại

công nghệ phần mềm

Multi-agent System in Web Service Composition

Sinh viên thực hiện : 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

Trang 2

Chương 1: Giới thiệu

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 caotrong 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êucầ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ầunghiệ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 tinkhác nhau do nhiều tổ chức nắm giữ Đã có nhiều kiến trúc phần mềm được đưa ranhưng chưa đủ mạnh để giải quyết được vấn đề này Sự ra đời của kiến trúc phầnmề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ánnày

Kiến trúc SOA định nghĩa một kiểu kiến trúc cho việc xây dựng các hệ thốngphân tán theo hướng dịch vụ, tức là hệ thống được phân tách thành các modulechương trình, và các module này được phát triển độc lập, các module sử dụng cáccông nghệ khác nhau nhưng vẫn có thể giao tiếp được với nhau Một công nghệ tiêubiểu nhất cho kiến trúc hướng dịch vụ là công nghệ Web Service Với công nghệ WebService, mỗi Service ở đây là một module có thể thực hiện các công việc khác nhau, ta

có thể tổng hợp các Service thành phần lại để cùng thực hiện một công việc lớn, đóđược gọi là công nghệ tích hợp Web Service, khi đó mỗi Service thành phần được gọi

là một Service Composition Sự ra đời của công nghệ Web Service đã đem lại rất nhiềulợi thế cho việc chia sẻ tài nguyên qua mạng, trợ giúp xây dựng các hệ thống phân tánđồng thời đáp ứng được tính mềm dẻo cần thiết, hệ thống có thể dễ dàng chấp nhậnnhững thay đổi lớn so với thiết kế ban đầu mà vẫn đảm bảo cho vấn đề nâng cấp vàbảo trì sau này Web Service đem đến đầy đủ sự đáp ứng cần thiết cho các quy trìnhB2B – Bussiness to Bussiness và B2C – Bussiness to Customer, chính vì thế WebService hiện tại đang là một thuật ngữ đang được nhắc đến rất nhiều và ngày càngđược sử dụng rộng rãi

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àynà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à

Trang 3

đượ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ộtService mới tốt hơn Báo cáo này trình bày một phương pháp mới để giải quyết vấn đềtích hợp web service nói trên Phương pháp mới này dựa trên tư tưởng cập nhật đầy

đủ khi khởi tạo và theo mô hình P2P Với mỗi một agent ở quá trình khởi tạo, nó sẽtương tác với các agent khác để có được một bảng service đầy đủ nhất Do đó, khi mộtrequest gửi tới, agent có thể trả lời ngay là thực hiện được hay không mà không cầngửi tới successor nữa Báo cáo này còn trình bày một giao thức hoạt động về cách hoạtđộng giữa các agent trong quá trình khởi tạo, tìm kiếm và thực hiện Để hiện thực hóaphương pháp đề xuất, tôi đã xây dựng công cụ WSCA Tool dựa trên JADE framework.Công cụ này không chỉ có khả năng tìm được service composition mà còn có thể thựchiện yêu cầu và trả về kết quả cho người dùng với các kiểu dữ liệu cơ bản

Cấu trúc của báo cáo được trình bày như sau: Chương 2 sẽ đề cập các kiếnthức nền tảng Ở Chương 3, chúng ta sẽ tìm hiểu về bài toán web service composition

và giải pháp sử dụng công cụ JXTA Chương 4 trình bày phương pháp đề xuất và công

cụ WSCA Và cuối cùng là phần tổng kết ở Chương 5

Trang 4

Chương 2: Kiến thức nền tảng

1 Service-Oriented Architecture (SOA)

Sự phát triển của công nghệ ngày nay kéo theo một môi trường giao tiếpkhông đồng nhất giữa các hệ thống phần mềm với nhau Một vấn đề đặt rađối với các tổ chức công nghệ thông tin là làm sao xây dựng được một kiếntrúc phần mềm có khả năng tích hợp và sử dụng các thành phần mới nhằmgiảm thiểu chi phí phát triển và bảo trì hệ thống phần mềm

Chúng ta đã có các kiến trúc như OOP (Object Oriented Programming),COM/DCOM (Distributed Common Object Model), CORBA ( Common ObjectRequest Broker Architecture)…và nhiều phương thức tích hợp ứng dụngnhanh và tốt hơn Tuy nhiên, do đặc tính ràng buộc chặt chẽ giữa các thànhphần với nhau làm cho các kiến trúc này chưa thật hiệu quả Mô hình SOA –Kiến trúc hướng dịch vụ ra đời gần như giải quyết được những vấn đề khókhăn trong giao tiếp

Kiến trúc hướng dịch vụ là kiểu thiết kế hướng dẫn tạo và sử dụng cácdịch vụ nghiệp vụ cũng như định nghĩa và cung cấp một kiến trúc hạ tầngcho phép nhiều ứng dụng khác nhau có thể trao đổi dữ liệu và tham giavào quy trình nghiệp vụ bất chấp sự khác biệt về mặt ngôn ngữ lập trìnhcũng như hệ điều hành của các ứng dụng này

Một hệ thống phần mềm luôn phải thay đổi để đáp ứng những yêu cầucủa thị trường Mục tiêu của kiến trúc hướng dịch vụ là nhằm xóa bỏnhững rào cản về mặt công nghệ hiện thực, các hệ nền, tận dụng nguồntài nguyên sẵn có của các hệ thống cũ để giảm thiểu chi phí hiện thực,phát triển cũng như bảo trì hệ thống phần mềm

Trang 5

Service Registry

Service Provider

Service Consumer

• Service Provider: Cung cấp stateless service phục vụ cho một nhu cầu nào đó User (service consumer) không cần quan tâm đến vị trí thực sự

mà service họ cần sử dụng đang hoạt động

• Serive Consumer: User sử dụng service được cung cấp bởi Service Provider

• Service Registry: Nơi lưu trữ thông tin về các service của các Service Provider khác nhau, Service Consumer dựa trên những thông tin này để tìm kiếm và lựa chọn Service Provider phù hợp

Figure 1: SOA actors

Service Provider sẽ đăng kí thông tin về service mà mình có thểcung cấp (các chức năng có thể cung cấp, khả năng của hệ thống(resource, performance), giá cả dịch vụ, ) vào Service Registry ServiceConsumer khi có nhu cầu về một service nào đó sẽ tìm kiếm thông tin trênService Registry Ngoài chức năng hỗ trợ tìm kiếm, Service Registry còn

có thể xếp hạng các Service Provider dựa trên các tiêu chí về chất lượngdịch vụ, bầu chọn từ các khách hàng đã sử dụng service, Những thôngtin này sẽ hỗ trợ thêm cho quá trình tìm kiếm của Service Consumer Khi

đã xác định được Service Provider mong muốn, Service Consumer thiếtlập kênh giao tiếp trực tiếp với Service Provider nhằm sử dụng servicehoặc tiến hành thương lượng thêm (về mặt giá cả, resource sử dụng, )

2 Web Service

Trang 6

Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần đó chứa cái gì Với XML, các thẻ

có thể được lập trình viên tự tạo ra trên mỗi trang web và được chọn là địnhdạng thông điệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở

Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp XML

là công cụ chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch vụ Web, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa sẽ hoàn toàn phù hợp với các thôngtin theo chuẩn của SOAP hoặc XML-RPC và có thể tương tác với nhau trong một thể thống nhất

Dịch vụ web (Web Service) là một hệ thống phần mềm được thiết

kế để hỗ trợ tương tác giữa máy với máy thông qua mạng Nó là một giaodiện được mô tả trong 1 định dạng mà máy có thể hiểu được (cụ thể làwsdl) Các hệ thống khác nhau tương tác với dịch vụ web trong một cáchthức theo quy định bằng các mô tả sử dụng thông báo SOAP, thườngtruyền tải bằng cách sử dụng HTTP với 1 định dạng XML kết hợp với cácchuẩn web khác [W3C]

SOAP (Simple Object Access Protocol) cung cấp một cơ chế đơngiản và gọn nhẹ để trao đổi thông tin giữa các điểm trong môi trườngphân cấp, phân tán sử dụng XML có cấu trúc và kiểu SOAP không phảixác định bất kỳ ngữ nghĩa ứng dụng nào như là mô hình lập trình hay ngữnghĩa thực hiện cụ thể, nó định nghĩa 1 cơ chế đơn giản cho việc thể hiệnngữ nghĩa của ứng dụng bằng cách cung cấp mô hình gói các module và

cơ chế mã hóa cho việc mã hóa dữ liệu trong các module Điều đó cho

Trang 7

phép SOAP sử dụng trong đa dạng các hệ thống khác nhau từ hệ thốngnhắn tin tới RPC.[W3C]

Nói một cách đơn giản, SOAP là một giao thức quy định cách traođổi dữ liệu giữa ứng dụng và service SOAP sử dụng cú pháp của XML đểchứa dữ liệu và dùng HTTP làm giao thức truyền tin Ta có thể định nghĩaSOAP bằng công thức: SOAP = XML + HTTP

WSDL là định dạng XML để mô tả dịch vụ mạng như là 1 tập hợp các thiết

bị đầu cuối hoạt động dựa trên các thông báo có chứa thông tin hướng tài

Trang 8

liệu hoặc là hướng thủ tục Phương thức và thông báo được mô tả trừutượng, bị ràng buộc vào 1 giao thức mạng cụ thể và định dạng thông báo

để định nghĩa 1 thiết bị đầu cuối Các điểm cuối liên quan cụ thể được kếthợp thành 1 điểm cuối trừu tượng (dịch vụ) WSDL được mở rộng để chophép mô tả các thiết bị đầu cuối và các thông báo của nó bất kể thôngbáo có định dạng gì hay giao thức mạng nào được sử dụng để giao tiếp

WSDL mô tả các loại thông tin chính bao gồm: import, types, message ,portType, binding, service, port

a Types: WSDL định nghĩa các kiểu dữ liệu của thông điệp gửi

Trang 9

b Message: Mô tả thông điệp được gửi giữa client và server.

Thao tác và những message được mô hình riêng rẽ để hỗ trợ tínhlinh hoạt và đơn giản hóa việc tái sử dụng lại Chẳng hạn, hai thao tácvới cùng tham số có thể chia sẻ một định nghĩa message

c Port type: WSDL mô tả cách gửi và nhận thông điệp.

WSDL định nghĩa bốn kiểu thao tác mà môôt cổng có thể hỗ trợ :

One-way: Cổng nhâôn môôt message, message đó là message

nhâôp

Request-response: Cổng nhâôn môôt message và gửi môôt message

phản hồi

Solicit-response: Cổng gửi môôt message và nhâôn về môôt message

Notification: Cổng gửi môôt message, message đó là message xuất.

• Mỗi kiểu thao tác có cú pháp biến đổi tùy theo: Thứ tự của cácmessage nhập, xuất và lỗi

<wsdl:definitions >

<wsdl:portType > *

<wsdl:operation name="nmtoken"

parameterOrder="nmtokens">

Trang 10

<wsdl:input name="nmtoken"? message="qname"/>

<wsdl:output name="nmtoken"? message="qname"/>

<wsdl:fault name="nmtoken" message="qname"/>*

vi mối kết hợp

e Service: Nó sẽ thực hiện những gì đã được định nghĩa trong tập

tin giao diện và cách gọi web services theo thủ tục và phương thứcnào

f Port: một cổng đầu cuối, nó định nghĩa như môôt tâôp hợp của

binding và môôt địa chỉ mạng

Trang 11

Ở đây chúng ta thấy rằng thuôôc tính kết hợp tên là qname Nótham chiếu tới môôt mối kết hợp Môôt cổng chứa đựng chính xácmột địa chỉ mạng bất kỳ cổng nào trong phần thi hành phải tươngứng chính xác với một tham chiếu trong phần giao diêôn.

Web service Structure

Tương tự với SOA, có 3 actor chính tham gia vào Web service

để 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 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 Requester có thể tìm thấy Service Provider thích hợp Ngay sau đó, giữa Service Requester và Service Provider

Trang 12

thiết lập kênh giao tiếp sử dụng SOAP để thương lượng giá cả và các yếu tố khác trong việc sử dụng service.

2 Agent

Ngày nay, từ "Agent – Tác nhân" được sử dụng rất nhiều, nó vôtình làm ta nghĩ đến lĩnh vực trí tuệ nhân tạo và điều đó là đúng Nhưngngày nay, việc sử dụng thuật ngữ này không còn hạn chế đối với trí tuệnhân tạo, nó được sử dụng rộng rãi trong các lĩnh vực như ngành sảnxuất tự động và khoa học máy tính.Trong khoa học máy tính, một tácnhân thông minh là một phần mềm tác nhân thể hiện một số hình thứccủa trí tuệ nhân tạo giúp người dùng cùng sử dụng và hoạt động nhândanh họ, trong việc thực hiện việc lặp đi lặp lại các nhiệm vụ liên quanđến máy tính Các phần mềm tác nhân này hoạt động trong các hệ điềuhành máy tính, cơ sở dữ liệu, mạng

Trang 13

Định nghĩa: Agent là một thành phần phần mềm có tính tự chủ, có

khả năng cảm nhận môi trường và tác động lại vào môi trường Agent(phần mềm) ở đây hành động giống như Agent (con người), đại diện chomột đối tượng nào đó để thực hiện công việc

Sự kiên trì (Persistence): Đoạn mã (Code) không thực hiện theo yêu

cầu nhưng chạy liên tục và quyết định cho chính nó khi cần thực hiệnmột số hoạt động

Sự tự chủ (Autonomy): Mỗi tác nhân có một trạng thái riêng, độc lập

với các tác nhân khác (tự chủ ở trạng thái bên trong) đồng thời nó cóthể tự quyết định các hành động của mình (tự chủ về hành động).Tính tự chủ là đặc trưng quan trọng nhất của tác nhân

Khả năng xã hội (Social Ability): Các tác nhân không chỉ hướng tới

đích riêng của mình mà còn có khả năng tương tác với các tác nhânkhác trong hệ thống để hướng tới đích chung của hệ thống

Khả năng phản ứng và sự chủ động (Reactivity and Proactivity):

Các tác nhân nhận thức được ngữ cảnh mà trong đó chúng vận hành

và phản ứng lại một cách thích hợp đối với từng trường hợp khácnhau

3 Multi-agent System

Định nghĩa: Multi-agent System là một hệ thống gồm môi trường

hoạt động và các agent hoạt động trong môi trường đó Các agenttương tác lẫn nhau và tương tác với môi trường, cộng tác với nhau

để cùng thực hiện mục đích chung của hệ thống

tính toán hiệu quả hơn nhờ quá trình tính toán được phân chia chocác agent khác nhau và khả năng phối hợp cùng xử lý của nhiềuagent

Độ tin cậy cao: Do có nhiều agent cùng tham gia giải bài toán và

các agent có cơ chế trao đổi, kiểm tra kết quả nên độ tin cậy tínhtoán trong hệ đa agent được cho là cao hơn

Trang 14

Khả năng mở rộng: Hệ đa agent là hệ mở vì có thể có thêm các

agent mới hoặc bớt đi các agent khi các agent hoàn thành nhiệm

vụ Khả năng này phù hợp với tính mở của yêu cầu các hệ phầnmềm hiện nay

quyết định phức tạp hoặc các bài toán dựa trên thông tin khôngchắc chắn như các bài toán thương lượng trong thương mại điện

tử, các bài toán điều khiển tự động

Khả năng bảo trì: Do hệ đa agent gồm nhiều agent, mỗi agent là

một module có tính tự chủ cao nên hệ đa agent là hệ dễ bảo trì

của các agent đơn nên khi nhận biết được một thay đổi của môitrường thì các agent trong hệ thống sẽ phối hợp với nhau để đưa

ra hành động tương ứng với thay đổi đó

nhau có thể tương tác với nhau để cùng giải quyết một vấn đềchung Một agent trong hệ thường không phải chờ agent khác màchủ động tương tác để tìm ra thông tin cần thiết để giải quyết vấn

đề đặt ra cho riêng mình

mỗi agent có khả năng riêng và có thể dùng lại cho nhiều ứng dụngkhác nhau

Chương 3: Web Service Composition và

Trang 15

Định nghĩa: 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 WebService 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 WebService đã được tổng hợp thông qua file WSDL của Web Service được tổnghợp đó Từ các Composite Web Service sẽ xây dựng lời gọi đến các WebService Composition, Các Web Service Composition thực hiện các thao táctính toán, trả lại kết quả cho Composite Web Service Composite WebService 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 điểmthiế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ểmcác Service đang được thực thi

2 Phân loại

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

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

Ngày đăng: 11/09/2015, 13:50

HÌNH ẢNH LIÊN QUAN

Bảng service bao gồm các bộ ba (output, channel, hop). Output trong bảng này đại diện cho một đầu ra của một service - Báo cáo: Multiagent System in Web Service Composition
Bảng service bao gồm các bộ ba (output, channel, hop). Output trong bảng này đại diện cho một đầu ra của một service (Trang 19)

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

w