a facilitator to discover and compose services oussama kassem zein yvon kermarrec enst bretagne

35
A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

Upload: shanna-parks

Post on 19-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

A facilitator to discover and compose services

Oussama Kassem Zein

Yvon Kermarrec

ENST Bretagne

Page 2: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

2

Agenda Introduction Our proposed metadata model for service

description An implementation of a facilitator based on

ontologies Our approach for composition of services Conclusions

Page 3: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

3

Agenda Introduction Our proposed metadata model for service

description An implementation of a facilitator based on

ontologies Our approach for composition of services Conclusions

Page 4: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

4

Introduction

Service discovery is a necessity in distributed systems An example is the service location in the mobility context A service can be considered as a product Yellow pages, Trader for CORBA and UDDI for Web

services To discover a service, we must describe it by properties. If

the service is well described so its discovery is more sophisticated

Page 5: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

5

ODP Trader and OMG CORBA Trader

The need for objects to locate each other is a necessity : Naming service and Trading service

It is an advanced directory that allows the service discovery via description called properties

Clients use SQL or a Boolean language to query services

Page 6: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

6

A few definitions Service type = < name, interface type,

service property type>

Service offer =< service type name, an object reference, properties>

Page 7: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

7

Functionalities

Page 8: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

8

Limits The implementation of the trader is based

on databases and the schema is static

The language used for querying, SQL or Boolean research for ORBACUS, is limited

Page 9: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

9

Agenda Introduction Our proposed metadata model for service

description An implementation of a facilitator based on

ontologies Our approach for composition of services Conclusions

Page 10: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

10

Introduction

How to describe a service: we must to response to the questions :

Who is the service provider ? How the service can be delivered? Physically or

electronically ? What the service can do ? How a client can interact with the service ?

Page 11: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

11

The proposed model

We propose to describe a service by three levels: Static properties : the properties that we use to query

services via the standard Trader. They define the characteristics of services

Interface: it defines the means and the methods for interactions with the service

Behavior: it indicates the functionality of the service (the sequences of the service operations) and allows the composition of services

Page 12: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

12

The static properties

Static properties: Service location: it determines the location of

the service like an URL address, a company physical address (city name, street name, postal code and so on)

Service provider: his name, his location, his phone number, his email, the URL address of his Web site and so on

Page 13: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

13

The interface description The interface description means the description of its

operations and their parameters, its attributes, etc. The interface can be described by: a name, a list of

operations, a list of exceptions, a list of attributes and so on

An operation can be described by: a name, the return type, the number of parameters, a list of parameters and so on

This description is similar to this of Interface Repository of CORBA

Page 14: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

14

The behavior description (1/4)

The service behavior indicates what the service can do

It indicates the orders by which the operations of the service can be invoked

The description of the behavior includes the description of the functionalities of each operation and the possibility to connect it to other operations

Page 15: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

15

The behavior description (2/4) Based on SDL and Interface Automata, we can describe

the service behavior with an automaton (extended finite state machine)

Each operation can be described by inputs and outputs The state of the automaton represent the service

operations. Two states are connected if an input of one is equal to the output of the other one

A transition from a state S to another state T is made by running the operation represented by S

Page 16: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

16

The behavior description (3/4)

An automaton example:

Page 17: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

17

The behavior description (4/4)

Description: the question is how a client can discover a service by querying its behavior?

Black box that indicates what the service can take in input and can provide in output

White box that indicates the sequences of the service operations to provide an output from a given input

Page 18: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

18

Agenda Introduction Our proposed metadata model for service

description An implementation of a facilitator based on

ontologies Our approach for composition of services Conclusions

Page 19: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

19

Structure of Our Approach

Ontology: is a formal, explicit specification of a shared conceptualization of a domain of interest

Configuring the repository of the facilitator Creation of an ontology Definition of the concepts of the ontology describing the

metadata model A use of OntoBroker to develop tools to index /

store / browse the repositories A logic language (Frame-logic)

Page 20: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

20

Interfaces managing ontologies Importing function : it takes a query as

input. It allows to search services from an ontology, invokes a selected service and returns the results to the client.

Exporting function : it allows a fact to be added to an ontology

Withdrawing function : it allows to delete a fact from an ontology

Page 21: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

21

The facilitator in action

Page 22: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

22

Examples

FORALL x,y,z <- x:Service and x[Location->>y] and y[city->>" Paris

"].

FORALL x,y,z,k <- (x:y or x:Location) and Location::y and x[z->>k].

Page 23: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

23

Agenda Introduction Our proposed metadata model for service

description An implementation of a facilitator based on

ontologies Our approach for composition of services Conclusions

Page 24: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

24

Composition of services (1/3) The goal is to create new services by combining

existing services based on their behaviors to satisfy the client requests

The functionality of a composed service is the composition of the functionalities of the component services

The composition allows to enrich the existing service model by creating new services

Page 25: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

25

Composition of services (2/3) Example: a client queries a service that transforms a “tex”

file into “pdf” file

Page 26: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

26

Composition of services (3/3) The composed service appears as a new

service

Page 27: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

27

Composition types Three types of composition:

Static composition: allows to create new service offers from those existing at compile time

Semi-dynamic: allows to create new service types from those existing at compile time

Dynamic composition: allows to create new services from those existing at run-time

Page 28: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

28

Static composition A composed service is considered as a

service offer which is constituted from other service offers

This model is limited to service offers defined at compile-time

If a service offer is updated at run-time, then the composed service must be updated manually

Page 29: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

29

Semi-dynamic composition (1/2) The composition of service types Each service offer having a composed service type

is considered as a composed service The clients are not limited to service offers precise

but they use the service types The model is more elaborate from the static model

since the clients can precise the desired properties of the services to be composed

Page 30: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

30

Semi-dynamic composition (2/2) Example: in the mobility context, if a client

compose a service having “weather” as a type and a service having “cinema” as a type and if the location of the client changes, the composition adapts to this change

This model is limited to the service types defined at compile-time

Page 31: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

31

Dynamic composition (1/2) This model is the most elaborate one The services to be composed are defined at run-

time based on the client request The facilitator returns to the client all the possible

combinations of services that can satisfy the client request by connecting the inputs/outputs

The client can query the component services by indicating the desired properties

Page 32: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

32

Dynamic composition (2/2) A client has the possibility to compose

services defined at run-time The client can invoke the services by

querying their interface and by using for example the DII interface of CORBA

If an interface is updated at run-time, the client code does not need to be updated and recompiled

Page 33: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

33

Agenda Introduction Our proposed metadata model for service

description An implementation of a facilitator based on

ontologies Our approach for composition of services Conclusions

Page 34: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

34

Conclusions (1/2) Proposal of metadata model for service

Description Design and implementation of an extended

facilitator based on ontologies Our facilitator provides a more flexible and

more powerful service request language than SQL or a Boolean type language

Page 35: A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne

35

Conclusions (2/2) Our facilitator provides the same interfaces

to query/advertise a service by using the three levels of the service description

Powerful for service composition and discovery

Integrated our facilitator in existing platform (ORBACUS, JACORB)