entish: an approach to service integration in open and heterogenous environment

24
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 Integration in Open and Heterogenous Environment

Upload: abel-charles

Post on 03-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

enTish: an Approach to Service Integration in Open and Heterogenous Environment. Stanis ł aw Ambroszkiewicz the leader of the en T ish team IPI PAN, Polish Academy of Sciences and Institute of Informatics, University of Podlasie , Poland. Technology vs theory for distributed computing. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: enTish: an Approach to Service Integration in Open and Heterogenous Environment

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 Integration in Open

and Heterogenous Environment

Page 2: enTish: an Approach to Service Integration in Open and Heterogenous Environment

2

Technology vs theory

for distributed computing

We start with a great technology challenge: How to integrate automatically

heterogenous applications in open and distriubuted environment

We will end up with one of the most important problems in theory: How to construct a generic open language

describing data processing, with clear and precise semantics (machine understandable)

Page 3: enTish: an Approach to Service Integration in Open and Heterogenous Environment

3

Client - Server paradigm

for distributed computing

cclientlient Server:Server:servicesservices

request

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

RPC-style message passing style … ???

Page 4: enTish: an Approach to Service Integration in Open and Heterogenous Environment

4

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: synchronous request - response

Page 5: enTish: an Approach to Service Integration in Open and Heterogenous Environment

5

Web services

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 6: enTish: an Approach to Service Integration in Open and Heterogenous Environment

6

Web services

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 7: enTish: an Approach to Service Integration in Open and Heterogenous Environment

7

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 8: enTish: an Approach to Service Integration in Open and Heterogenous Environment

9

yet another service invocation protocol

cclientlient serviceservice invocation protocol*

request: response:

Is it possible (reasonable) to construct a high level protocol for service invocation 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 9: enTish: an Approach to Service Integration in Open and Heterogenous Environment

10

BookStore

BANK

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

payOrderbookOrder

Client:

payOrder payConfirm

bookOrder

bookInvoice Purchase completed!

Client

Page 10: enTish: an Approach to Service Integration in Open and Heterogenous Environment

11

input constrains

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

BookStore

BANKquery for a book by 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 11: enTish: an Approach to Service Integration in Open and Heterogenous Environment

12

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 12: enTish: an Approach to Service Integration in Open and Heterogenous Environment

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: enTish: an Approach to Service Integration in Open and Heterogenous Environment

14

a new service invocation protocol

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

The Key Point: queries and answers are processed by applications, not by humans

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

Page 14: enTish: an Approach to Service Integration in Open and Heterogenous Environment

15

a new service invocation protocol

Can this protocol be implemented using Web services, i.e., SOAP+WSDL+UDDI ?

YES and NO!

YES, (by BPEL4WS, WSCI, BPML, etc.) but only as dedicated to this specific example; specific data and operation types of this example MUST be hard-coded

NOT, in a generic way, i.e., as a universal protocol for any data types and any operation types

Page 15: enTish: an Approach to Service Integration in Open and Heterogenous Environment

16

Requirements for the new protocol

generic open languagegeneric open language for expressing queries

the language must describe: 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

applications must understand the language, i.e., machine processable semantics is machine processable semantics is needed !needed !

Page 16: enTish: an Approach to Service Integration in Open and Heterogenous Environment

17

Generic description language

Machine processable semantics of the description language -- Is it possible?

YES IT IS! Old Entish – the ancient language of Ents;

in „The Lord of the Rings” by J.R.R. Tolkien „ In the Old Entish Real, names tell you the

story of the things they belong to.”

Our version of Entish: proper name contains reference to its meaning

This can be done using URIs introduced by T. Berners-Lee

Page 17: enTish: an Approach to Service Integration in Open and Heterogenous Environment

18

Generic description language

EntishEntish is a simple version of first order logic with types and without quantifiers and without explicit negation

Formulas are evaluated in spatio-temporal manner

entish 1.0entish 1.0 is a protocol for service composition

enTishenTish = Entish + entish 1.0 is our proposal of a technology for service description and composition

Page 18: enTish: an Approach to Service Integration in Open and Heterogenous Environment

19

Treebeard's own description of the Old Entish: "It is a lovely language, but it takes a very long time to say anything in it, because we do not say anything in it, unless it is worth taking a long time to say, and to listen to.”

Thank you for the attention!

say nothing that isn’t worth saying

Page 19: enTish: an Approach to Service Integration in Open and Heterogenous Environment

20

Contents language Entish formula.xsd

Contents language is a simple version of typed FOL without quantifiers: all names in the language are URIs that point

to concrete data names for types, functions, relations,

variables terms and formulas are defined in the

standard way in the schema formula.xsdevaluated formula is defined in the

schema info.xsd: formula time&place stamp signature (optional in the current version)

Page 20: enTish: an Approach to Service Integration in Open and Heterogenous Environment

21

Introducing ontologies definitions.xsd

contents language is open and eXtensible: you can introduce your own ontology as an

instance of definitions.xsd, i.e., introduce new types, new functions, and new relations to the language

upper ontology for sdc: properEntish.xml is an instance of

definitions.xsd basic primitive concepts: agent, service,

resource, intentions, commitments, timeout, ... formula examples:

task formula: ?z=f(?x, g(?y)) and timeout(t0) intention formula: φ implies intentions( agent0

)

Page 21: enTish: an Approach to Service Integration in Open and Heterogenous Environment

22

Conversation protocol entish 1.0

agents and services exchange messages with specific contents in order to realize: service publication service discovery arranging services into a workflow worklow execution and control distributed transaction

Page 22: enTish: an Approach to Service Integration in Open and Heterogenous Environment

23

Conversation protocol entish 1.0

workflow composition phase – the idea: agent sends message to service0:

„my intention is φ” service replies:

„I commit to realize φ if you realize ψ” „ψ” becomes the next intention of the

agent agent is looking for a service that can

realize „ψ” suppose service1 could realize „ψ” agent sends message to the service1:

„my intention is ψ” and so on ... more in enTish-Docs.pdf

Page 23: enTish: an Approach to Service Integration in Open and Heterogenous Environment

24

common State schema for task-agent and service-agent: Goal, Intentions, Commitments,

Knowledge

Message:

Header: From, To, Protocol, Order

Body: a list of evaluated formulas of the

description language

agent’s state, and message schemas state.xsd, message.xsd

Page 24: enTish: an Approach to Service Integration in Open and Heterogenous Environment

25

www.ipipan.waw.pl/mas/

say nothing that isn’t worth saying