1 stanisław ambroszkiewicz the leader of the entish team ipi pan, polish academy of sciences and...

17
1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland enTish: an Approach to Service Composition

Upload: donald-sullivan

Post on 28-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

1

Stanisław Ambroszkiewicz

the leader of the enTish team

IPI PAN, Polish Academy of Sciences

and Institute of Informatics, University of Podlasie,

Poland

enTish: an Approach to Service Composition

Page 2: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

2

Client - Server paradigm

for distributed computing

cclientlient Server:Server:servicesservices

request

Server provides some services for clients. Client sends a request to the server. The request is realized by invoking a service. Service invocation protocols:

RPC-style message passing style … ???

Page 3: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

3

RPC model

remote procedure call

RPC RPC cclientlient

RPC RPC serviceservice

cclient stublient stubXDRXDR

serviceservice stub stub XDRXDR

Transport Protocol ( … )Transport Protocol ( … )

Network Layer (TCP/IP)

requestresponse request

requestrequestresponse

response

response

request (call)

response (return)

Message Exchange Pattern: stateless synchronous request - response

Page 4: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

4

Web services model

RPC-style: remote operation call

WS WS cclientlient

WSWSserviceservice

service proxyservice proxy(SOAP+WSDL) (SOAP+WSDL)

serviceservice template template (SOAP+WSDL)(SOAP+WSDL)

Transport Protocol ( HTTP )Transport Protocol ( HTTP )

Network Layer (TCP/IP)

request (call)

response (return)

Message Exchange Pattern: stateless synchronous request - response

Page 5: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

5

Web services model

document passing style

WS WS cclientlient

WSWSserviceservice

service proxyservice proxy(SOAP+WSDL) (SOAP+WSDL)

serviceservice template template (SOAP+WSDL)(SOAP+WSDL)

Transport Protocol ( HTTP )Transport Protocol ( HTTP )

Network Layer (TCP/IP)

Message Exchange Pattern: stateless asynchronous document passing

XML document

???

Page 6: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

6

RPC-style of service invocation

After >12 years of RPC there is no killer apps for integrating heterogenous

applications

After >8 years of CORBA (object oriented RPC-

style) there is no killer apps for integrating heterogenous

objects

After >3 years of Web services (service oriented RPC-style and document-style)

there is no killer apps for integrating heterogenous services

A conclusion: Perhaps they are too primitive, i.e., more sophisticated

service invocation protocol is needed?

Page 7: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

8

yet another service invocation protocol

cclientlient serviceservice invocation protocol*

request: response:

Grid services: service is augmented with state and specific portTypes; ?grid service invocation protocol??grid service invocation protocol?

Is it possible (reasonable) to construct a service invocation protocol different than RPC and document passing?

It seems that it is! Let’s present a sketch of such protocol.

Message Exchange Pattern: ( … )

*) the conversation parties may have states

Page 8: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

9

BookStore

BANK

A new service invocation protocol: Composition of two servicesComposition of two services

payOrderbookOrder

Client:

payOrder payConfirm

bookOrder

bookInvoice Purchase completed!

Client

Page 9: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

10

input constrains

The protocol in action: Phase 1 - Phase 1 - workflow formationworkflow formation

BookStore

BANKquery for a book of a fixed author

author(bookInvoice)=„J.R.R. Tolkien”

title(bookOrder)=„Hobbit”

...=„The Lord of the Rings”

...=„Silmarillion”

value(payConfirm)=„50”

...=„70”

...=„60”

value(payOrder)=„53”

...=„73”

...=„63”

ClientI-02

title price

Hobbit 53

The Lord of the Rings 73

Silmarillion 63

ClientClient sends a sends a queryquery that is propagated back by service that is propagated back by servicess to to the clientthe client

Client chooses one option, then the documents payOrder and bookOrder are created and …

ClientI-01

Page 10: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

11

BookStore

BANK

The protocol in action: Phase 2 - wPhase 2 - workflow executionorkflow execution

payOrderbookOrder

data (e-documents) are processed and effect the real worlddata (e-documents) are processed and effect the real world

ClientI-03

payOrder 50+3 euro

payConfirm 50 euro

bookOrder „Hobbit”

bookInvoice for the bookPurchase

completed!

„Hobbit” for 53 euro

ClientI-02

Page 11: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

12

a new service invocation protocol

It is not the stateless synchronous request-response MEP nor stateless asynchronous document passing!

Service must be „intelligent”, i.e., it must be able to answer the queries

Page 12: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

13

a new service invocation protocol

The query phase: Client sends a querya query

specifying the desired outputoutput.

The service specifies the inputinput required to produce the desired output.

The execution phase: Client creates datacreates data

according to the input specs and sends it to the service.

Service processes the data and sends the result to the client.

service service

query: output

query: input1

query: input2

output input1

input2

Page 13: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

14

a new service invocation protocol

Can this protocol be implemented in the style of RPC and/or document passing?

Of course, it can be, e.g., by using BPEL4WS, WSCI, BPML, etc..

Not in a generic way, i.e., these specific data and operation types MUST be hard-coded in these implementations

Page 14: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

15

SOAP+WSDL versus the new protocol

SOAP+WSDL service invocation protocols:

RPC-style, or document passing

stateless data flow and control flow

integrated into one message simple request-response MEP synchronous, or

asynchronous

Our proposal of service invocation protocol:

new style of service invocation

state full data flow is separated from

the control flow two phases: one for control

flow and one for data flow asynchronous control flow,

and asynchronous data flow

Page 15: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

16

a new service invocation protocol

Requirements: clients and services MUST keep the state of the current

protocol session generic open languagegeneric open language for describing:

data and their attributes how the data are processed, i.e., types of operation

performed by services states of clients and services, i.e., clients’ intentions, and

services’ commitments message format, and state format message transport protocol, and data transport protocol etc.,

Can these requirements be realized?

Page 16: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

17

YES, they can! enTish is our proposal to realize the

requirements for new service invocation (composition) protocol

enTish is a specification; prototype was already realized

more details on www.ipipan.waw.pl/mas/

say nothing that isn’t worth saying

Page 17: 1 Stanisław Ambroszkiewicz the leader of the enTish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie, Poland

18

www.ipipan.waw.pl/mas/

say nothing that isn’t worth saying