Towards a Choreography for IRS-III Stefania Galizia and John Domingue WSMO Workshop, September 2004
The Internet Reasoning Service is an infrastructure for publishing, locating, executing and composing semantic web services, organized according to the WSMO framework
WSMO Interfaces
Overview of Choreography & Orchestration
Two Problems in Choreography Managing dialogues Choreography discovery –During composition
WS Receive PresentProvide Obtain Key Flow of information Initiative marker Choreography Framework [Greef & Breuker]
Communication Example (1/2) Trip from Milton Keynes (UK) to southern Italy The user and IRS have initiative The user send message with his constraints User Airline Bus Train
Communication Example (2/2) Require a trip with constraints propose Itinerary Negotiation: change constraints Book tickets propose Itinerary 2 Send statement present obtain Proposal 1: Flight from Luton to Amsterdam Flight from Amsterdam to Bologna Proposal 2: Flight from Luton to Reggio Airline Key
Initiative movement Initiative movement activities: WS Present- Initiative Obtain- Initiative Key Flow of Initiative Initiative marker
Messages structure ParametersDescriptionType Id-messageMessage identifierString Sender-WSMO-ontologyHome ontology of sender WSMO object WSMO ontology Receiver-WSMO- ontology Home ontology of receiver WSMO object WSMO ontology Sender-WSMO-ObjSender identifier of WSMO object WSMO web service concept Receiver -WSMO-ObjReceiver identifier of WSMO object WSMO web service concept Id-senderIdentifier of the senderURL Id-receiverIdentifier of the receiverURL Event-typeKind of event (e.g. Receive, obtain) Event type InitiativeWho has the initiativeWS/IRS-III (actor) ContentDenotes the content of message String TimeRecords the time when the action is executed Date/time
(def-wsmo-pattern-handler easy-jet-airline-pattern-handler (message ?id ?easy-jet-ontology easy-jet-web-service-ontology easy-jet-airline easy-jet-flight-booking-service ?id-message-sender irs-iii obtain-message-event ?current-initiative-holder ?content ?time) (flight-passenger ?content ?person) (flight-passenger ?content ?departure-location) (flight-arrival-location ?content ?arrival-location) (flight-departure-time ?content ?departure-time (has-travel-plan ?person ?travel-plan) (matches-travel-plan ?travel-plan ?departure-time ?departure-location ?arrival-location) (has-travel-plan-message ?travel-plan ?travel-plan-message) then (send-message (create-message-id) easy-jet-web-service-ontology ?easy-jet-ontology easy-jet-flight-booking-service easy-jet-airline irs-iii ?id-message-sender present-message-event ?current-initiative-holder ?travel-plan-message (current-time))) Example Pattern Handler
LispWeb Server IRS-III Architecture IRS-III Server WS Publisher Registry OCML WSMO Library OWL(-S) Handler OWL(-S) Browser Invocation Client Publishing Clients SOAP Handler SOAPSOAP Publishing Platforms Web Service Java Code Web Application SOAP Browser Handler Publisher Handler Invocation Handler JavaAPIJavaAPI WSMX
Publisher Interface
An Ontology of Choreographies Choreography Input roles (name, type, soap binding) Deployed WS URI Message Exchange Pattern Message Sequence Parallel Message Sequence Serial Message Sequence all at once 2 at once
Choreography as SWS (1/2) Choreograph WS –Input WSMO WS, ontology, message history, current message –Output New message Parse Incoming message –Input WSMO WS, ontology, XML based message –Output structured message Parse message content –Input WSMO WS, ontology, message content –Output Ontology structures
Choreography as SWS (2/2) Find contender message handlers –Input WSMO WS, ontology, structured message –Output Message handler Handle Message –Input Message Handler, structure message –Output New message Invoke WS –Input Structured message –Output Result of WS invocation
Visualizing a Choreography Interaction Initialize Send id User name Password End Exchange Balance Pay Tax Bill Check Account 2 Transfer Funds -> 2 Check Account 3 Transfer Funds -> 3 Check Account 4 Transfer Funds -> 4 Send id 2 Send id 7 Send id 13 Send id 19 Send ID 13 Account-management- ontology User-id-web-service Irs.open.ac.uk Present-event Irs-3 “domingue ”
Summary IRS-III Choreography based on Graf –Communication & initiative dimensions Dialogue management via –Message structures –Message handlers Choreography Discovery –Ontology of choreography Choreography as SWS Visualizing choreography interactions