agent based infrastructure for web service integration

Post on 17-Jan-2016

29 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Agent Based Infrastructure for Web Service integration. Stanislaw Ambroszkiewicz in cooperation with D. Mikulowski, T. Nowak, L. Rozwadowski, K. Miodek IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie. Sopot June 3-6 2002. - PowerPoint PPT Presentation

TRANSCRIPT

1

Stanislaw Ambroszkiewicz in cooperation with

D. Mikulowski, T. Nowak, L. Rozwadowski, K. Miodek

IPI PAN, Polish Academy of Sciences

and

Institute of Informatics, University of Podlasie

Agent Based Infrastructure for Web

Service integration

Sopot June 3-6 2002

2

Web services: an idea to be realized

Web servicesWeb services are self-contained, self - describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions that can be anything from simple requests to complicated business processes ...

Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service (in an automatic way!).

From service providers’ point of view, if they can setup a web site they can join global community. From a client's point of view, if you can click, you can access services.

3

Web service integration: the

background

Internet (TCP/IP) -->> simple and ubiquitous computer networking

WWW (HTML /HTTP)-->> simple and ubiquitous access to data

Web services (a magic protocol)-->> simple and ubiquitous access to applications

APIAPI(applications)(applications)

Web servicesWeb services(applications)(applications)for automatic service

discovery, invocation, and composition

a magic protocol

4

Web Services are applications located at the border between Cyberspace and the real (outside) world. They process data (e-documents) inside Cyberspace, and effect the outside world.

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

5

Tasks are generated by users’ / programmers API. They describe what is to be done in the outside world A task must be translated into e-doc processing in

the Cyberspace

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

6

Agent is a process dedicated to a particular task realization. The task could be realized by a composition of some of the available services.

Agent determines what initial e-docs must be provided by the API.

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

7

Agent coordinates data processing (e-documents flow) needed to realize the task. Nothing more!. Capabilities to perform actions, process data, and effect the outside world are in services!

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

8

Conclusion: A generic language for describing data processing controlled by agents in networked environment (Cyberspace) is needed!

Let’s design such language!

Our approach: agent based service integration How to realize it?

Cyberspace(TCP/IP)

agent

e-doc

e-doc

e-doc

effecteffect

effect

effectoutside world

outside world

9

resources - data (e-documents) collected in types, e.g., Typ1, Typ2, ...

services - applications where the resources are stored and processed: type of operation performed by the service:

precondition form_inpostcondition form_out

functions implemented by operations, e.g., f; parameter a is of type Typ1, the term f( a ) is of type Typ2

Language: What do we want to describe?

10

tasks specify what is to be processed, how and when, and where the result is to be stored: when - timeout: ( leq, gmt(), date ), i.e.,

the current GMT time is less or equal to date

where - relation: (is_in , res, ser ) , i.e, a resource res is in service ser

Language: What do we want to describe?

11

task example: “resource res1 is processed by function f and

the result is stored in service ser1 by the time

date1”

formally:

( is_in , f( res1 ), ser1 ) and ( leq, gmt(), date1 )

Language: What do we want to describe?

12

Service attributes:

operation_type( service ) is a pair of atomic formulas:

• form_in and form_out

commitments( service ) is a pair of atomic formulas :

• form_in and form_out

Language: What do we want to describe?

13

Agent is a process dedicated to a single task

realization

Agent attributes: intentions( agent ) is an atomic formula knows( agent ) is an atomic formula goals( agent ) is an atomic formula commitments( agent ) is a pair of atomic

formulas: • form_in and form_out

Language: What do we want to describe?

14

Agent architecture: the idea of universal format for agent state

Consequences of our language: new (?) agent architecture, agent state(Soul) as a universal data format for

storing essential data of agent process

MIND:MIND: Procedure for workflow formation and management

BODY:BODY: Action execution and perception

Goals

History

Intentions

KnowledgeCommitments

SOUL:SOUL: collections of collections of Entish formulasEntish formulas

perceptionaction

execution

control

15

Terms are constructed in the standard way

Composite formulas are constructed using only conjunction, disjunction and implication; no quantifiers and no negation!

Language: Term and formula construction

16

Language Entish Don't ask what it means, but rather how it is used. - L. Wittgenstein

Entish is a simple communication language for protocol construction: e.g., service invocation, composition supporting 2PC

transactions

Describes only static relations between agents, services, and resources: no actions, fully declarative language

0.5 order logic language: no quantifiers, no negation

Ability to express agent / service mental attributes: intentions, goals, commitments, and knowledge as atomic

formulas.

17

Language Entish (cont.) Don't ask what it means, but rather how it is used. - L. Wittgenstein

The idea of webizing language (TBL) is applied: language elements have unique names URI. Entish can be used and developed in a distributed way:

any user / programmer can introduce new definitions, and new primitive concepts to the language.

Meaning: standard Entish has its own formal semantics formal meaning (ontology) of new primitive concepts is

not obligatory; it may be provided by the one who introduces them, e.g., ebXML, RosettaNet.

18

Web services protocol stack:our proposal

Communication Language: Entish

Integration protocols: composition with 2PC transactions, etc.,

Universal message format and transport: e.g., SOAP

Internet (TCP/IP)

Applications: web services

our contribution

19

Abstract architecture: an example

Entish is a communication language for construction of: publication, discovery, task delegation, invocation,

composition with 2PC transactions, etc., protocols

SecretaryServicesSecretaryServices APIAPI

Web servicesWeb services(applications)(applications)

InfoServicesInfoServices

BodyServicesBodyServices(agents)(agents)

Entish publication

discovery

invocationtask delegation

20

Protocol = two finite automata Automaton

states transitions between the states

What is Entish protocol? an idea

agent service

message 1

message 2

… …

message 3

21

Six steps of service invocation:1. agent sends to the service: “my intention

is φ”φ --> intentions( agent )

2. service responds: ”I commit to realize φ if ψ is satisfied”ψ --> form_in( commitments( service )) andform_out ( commitments( service )) -->

φ3. ψ is satisfied 4. operation is performed by the service5. φ is satisfied6. service sends confirmation to the agent

Our idea of service integration: Service invocation protocol

22

A TASK is created by a user/ programmer (API) and delegated to an agent.

The TASK becomes the GOAL of the agent. Agent’s GOAL becomes its first intention φ0 (with a timeout!) Service SER-0 agrees to realize φ0 if φ1 is satisfied (a commitment) φ1 becomes the next agent’s intention Service SER-1 agrees to realize φ1 if φ2 is satisfied φ2 becomes the next agent’s intention Service SER-2 agrees to realize φ2 if φ3 is satisfied … and so on

Our idea of service integration: Service composition protocol

agent

φ2

APIuser / programmer

φ1 φ3

SER-0SER-1

SER-2

TASK

communicationφ0

23

… and so on Finally, φN becomes the next agent’s intention. Agent is able to satisfy the formula φN Workflow (collection of commitments) for realizing

agent’s goal is constructed! Any formula includes a timeout The timeouts synchronize the workflow execution Workflow execution:Workflow execution: domino effect

φN --> … --> φ3 --> φ2 --> φ1 --> φ0 = GOAL

Our idea of service integration: Service composition protocol (cont.)

agent

φ2SER-3

APIuser / programmer

φ1φ4

φ3

φN

SER-N

SER-0SER-1

SER-2

TASK workflow

φ0

24

Example in semi-formal language idea to be formalized

Client task: purchase air line ticket for a flight from Warsaw to Geneva.

Departure: June 22, 2002.Timeout for task realizing: June 1,

2002. The client is associated with a user

interface called GUI-01.

25

A travel agent office:

The service called "FirstClass”. A travel agent office can

realize the task. Type of operation performed by FirstClass

consists of:

precondition (called also formInOperationType) necessary for invoking the service: ?order is in the input of FirstClass. Elements of type Order contain data of the following types: Person, CreditCard, AirLine, Destination, Departure, Price.

26

A travel agent office:

Type of operation performed by FirstClass consists of:

postcondition (formOutOperationType) describing the result of operation performed by the service: ?invoice = fun(?order) and

?invoice is sent to ?GUI

27

Task delegation The client task is formulated and delegated to the agent.

task01 = is_delivered_to( ?invoice )="GUI-01" and

destination( ?invoice )="Geneva" and departure( ?invoice )="June 22, 2002" and timeout("June 1, 2002")

The meaning is that an invoice is delivered to GUI-01 by

June 1, 2002.

28

Task delegation The client task is formulated and delegated to the agent.

The task01 is delegated to the process called agent01. Agent01 is responsible for the task realization. The formula: task01 implies intentions ( agent01 ) is

sent to an serviceRegistry. The meaning of the formula is that satisfaction of

task01 is an

intention of agent01.

29

Creating of a workflow Agent is looking for a service that can realize its task.

Suppose that a serviceRegistry replies that the service FirstClass can realize task01.

Then, the same formula task01 implies intentions ( agent01 )

is sent to the FirstClass.

Suppose that the service First Class commits to realize the task01,

however under the following condition:

30

Creating of a workflow Agent is looking for a service that can realize its task.

pre = is_delivered_to(?order)="FirstClass" and timeout("June 1, 2002") and ( ( price(?order)="300euro" and airline(?order)="Swissair" and destination(?order)="Geneva" and departure(?order)="June 22,

2002" ) or ( price(?order)="350euro" and airline(?order)="Lufthansa" and destination(?order)="Geneva" and departure(?order)="June 22,

2002" ) or ( price(?order)="280euro" and airline(?order)="LOT" and destination(?order)="Geneva" and departure(?order)="June 22,

2002" ) )

31

Creating of a workflow Agent is looking for a service that can realize its task.

The meaning of precondition is that ?order is delivered to FirstClass by June 1, 2002, and attributes of the ?order can be chosen from the ones listed in this formula.

Actually, this attribute listing represents the offers.

32

Creating of a workflow Agent is looking for a service that can realize its task.

The service replies to agent01 with the info about the commitment, formally:

( formOutCommitment(FirstClass) implies task01 ) and (pre implies formInCommitment(FirstClass)

The meaning is that FirstClass commits to realize the task01, however under the condition that precondition is realized first.

The formula precondition becomes the next intention of

agent01.

33

Creating of a workflow Agent is looking for a service that can realize its task.

Only GUI-01 can realize this intention. Once GUI-01 commits to realize this intention, a workflow for

realizing. Task01 is already constructed.

34

Executing of a workflow

The workflow is executed if GUI-01 sends an appropriate order to FirstClass and the FirstClass sends back an invoice.

In order to finish the transaction, the final confirmation must be sent

to FirstClass. All this is performed in the Cyberspace and consists in

sending and processing data (e-docs). Once the final confirmation is received by FirstClass, the

effect in the real world take place, i.e., an appropriate ticket

is printed and delivered to the client.

35

Conclusion: what has been done

Entish is a simple agent communication language Entish spec. is completed and published in Springer LNAI

2203 ongoing XML translation of Entish syntax

Prototype implementation: First versions of the integration protocols are already

specified and being tested

Ongoing implementation of XML based Entish on SOAP

Details on our web site: www.ipipan.waw.pl/mas/

top related