Enacting BPEL4WS Specified Workflows with Multiagent Systems Paul - - PowerPoint PPT Presentation

enacting bpel4ws specified workflows with multiagent
SMART_READER_LITE
LIVE PREVIEW

Enacting BPEL4WS Specified Workflows with Multiagent Systems Paul - - PowerPoint PPT Presentation

Centralized Enactment Distributed Enactment Enacting BPEL4WS Specified Workflows with Multiagent Systems Paul Buhler 1 e M Vidal 2 Jos 1 Department of Computer Science College of Charleston 2 Department of Computer Science and Engineering


slide-1
SLIDE 1

Centralized Enactment Distributed Enactment

Enacting BPEL4WS Specified Workflows with Multiagent Systems

Paul Buhler1 Jos´ e M Vidal2

1Department of Computer Science

College of Charleston

2Department of Computer Science and Engineering

University of South Carolina

Workshop on Web Services and Agent-Based Engineering 19 July 2004

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-2
SLIDE 2

Centralized Enactment Distributed Enactment

BPEL4WS and Workflows

◮ The Business Process Execution Language for Web Services is

a workflow language.

◮ XML language. ◮ Uses WSDL. ◮ Assumes SOAP. ◮ Widely adopted. ◮ Centrally and statically enacted.

GOAL

Enact BPEL4WS workflows using dynamically created multiagent systems.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-3
SLIDE 3

Centralized Enactment Distributed Enactment

BPEL4WS and Workflows

◮ The Business Process Execution Language for Web Services is

a workflow language.

◮ XML language. ◮ Uses WSDL. ◮ Assumes SOAP. ◮ Widely adopted. ◮ Centrally and statically enacted.

GOAL

Enact BPEL4WS workflows using dynamically created multiagent systems.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-4
SLIDE 4

Centralized Enactment Distributed Enactment

Sample Workflow

Stock Lookup Process request response invoke getStockQuote invoke getExchngRate invoke multiplyFloat

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-5
SLIDE 5

Centralized Enactment Distributed Enactment

Centralized Enactment

BPWS4J BPEL Workflow getStockQuote getExchangeRate multiplyFloat stock lookup request

◮ BPWS4J enactment engine from IBM AlphaWorks.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-6
SLIDE 6

Centralized Enactment Distributed Enactment

Centralized Enactment

BPWS4J BPEL Workflow getStockQuote getExchangeRate multiplyFloat stock lookup request

◮ BPWS4J enactment engine from IBM AlphaWorks.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-7
SLIDE 7

Centralized Enactment Distributed Enactment

Centralized Enactment

BPWS4J BPEL Workflow getStockQuote getExchangeRate multiplyFloat stock lookup request

◮ BPWS4J enactment engine from IBM AlphaWorks.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-8
SLIDE 8

Centralized Enactment Distributed Enactment

Centralized Enactment

BPWS4J BPEL Workflow getStockQuote getExchangeRate multiplyFloat stock lookup request

◮ BPWS4J enactment engine from IBM AlphaWorks.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-9
SLIDE 9

Centralized Enactment Distributed Enactment

Centralized Enactment

BPWS4J BPEL Workflow getStockQuote getExchangeRate multiplyFloat stock lookup request

◮ BPWS4J enactment engine from IBM AlphaWorks.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-10
SLIDE 10

Centralized Enactment Distributed Enactment

Centralized Enactment

BPWS4J BPEL Workflow getStockQuote getExchangeRate multiplyFloat stock lookup request

◮ BPWS4J enactment engine from IBM AlphaWorks.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-11
SLIDE 11

Centralized Enactment Distributed Enactment

Centralized to Decentralized Enactment

◮ Needed to coordinate agents. ◮ Used Colored Petri Nets and a native XML database. ◮ Agents decide who to call next: distributed control.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-12
SLIDE 12

Centralized Enactment Distributed Enactment

Colored Petri Mapping

  • getStockQuote
  • receive
  • multiplyFloat
  • getExchangeRate
  • reply
  • ◮ Tokens carry data: control information.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-13
SLIDE 13

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate description

  • XML database
  • XML:DB API
  • XPath queries
  • data “distribution”

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-14
SLIDE 14

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate description

  • Web Service Agent

Gateway

  • SOAP ↔ FIPA
  • publishes WSDL

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-15
SLIDE 15

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate description

  • FIPA Directory

Facilitator.

  • JADE

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-16
SLIDE 16

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate description

  • Web Services

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-17
SLIDE 17

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate description

  • interfaces WSAG to

DWAs.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-18
SLIDE 18

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate description

  • Dist. Workflow

Agents

  • Interface to WS
  • Implement control

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-19
SLIDE 19

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate BPEL workflow conversion description

  • Distributed Wkflow

Agent configuration

  • could be automated
  • need only one agent

program

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-20
SLIDE 20

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate SOAP request

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-21
SLIDE 21

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate FIPA ACL

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-22
SLIDE 22

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate store request

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-23
SLIDE 23

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate locate partners

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-24
SLIDE 24

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate FIPA ACL F I P A A C L

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-25
SLIDE 25

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate get request info with XPath queries: //agent@[role=’requestor’]/request//symbol //agent@[role=’requestor’]/request//country

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-26
SLIDE 26

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate dynamic binding SOAP invocation dynamic binding SOAP invocation

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-27
SLIDE 27

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate reply reply

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-28
SLIDE 28

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate store SOAP response

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-29
SLIDE 29

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate locate partners locate partners

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-30
SLIDE 30

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate request request

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-31
SLIDE 31

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate get SOAP request message

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-32
SLIDE 32

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate dynamic binding SOAP invocation

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-33
SLIDE 33

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate reply

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-34
SLIDE 34

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate store response

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-35
SLIDE 35

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate reply

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-36
SLIDE 36

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate build response

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-37
SLIDE 37

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate reply

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-38
SLIDE 38

Centralized Enactment Distributed Enactment

Multiagent Workflow Enactment Example

WSAG DF target agent Xindice DWA sQuote DWA mulFloat DWA exRate getStockQuote mulFloat getExchangeRate SOAP request reply

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-39
SLIDE 39

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-40
SLIDE 40

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-41
SLIDE 41

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-42
SLIDE 42

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-43
SLIDE 43

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-44
SLIDE 44

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-45
SLIDE 45

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-46
SLIDE 46

Centralized Enactment Distributed Enactment

Lessons Learned

◮ It is possible and practical to use Web services as external

behaviors, allowing for generic agent code.

◮ Not unmarshalling SOAP responses insulates code from

differences in RPC versus DOC SOAP styles.

◮ XML database is natural. ◮ Allows for fully stubless dynamic invocation as no class is

required to hold unmarshalled response.

◮ Preserves namespace information which in the future will likely

have semantic importance.

◮ DF useful for dynamic allocation. ◮ Hybrid coordination model proved to be flexible. ◮ WSAG allows WS clients to interact with the MAS

transparently and enables MAS to be used as a sub-process within another workflow enacted by a commercial workflow engine.

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems

slide-47
SLIDE 47

Centralized Enactment Distributed Enactment

Future Work

◮ Implement switch and pick BPEL4WS constructs. ◮ Aggressive dynamic allocation. ◮ Integrate with Semantic Discovery Services. ◮ Workflow as skeletons for adaptive multiagent systems?

Buhler, Vidal Enacting BPEL4WS Workflows with Multiagent Systems