Interface Adaptation: Bridging Collaboration Agreements and Web Services

Size: px
Start display at page:

Download "Interface Adaptation: Bridging Collaboration Agreements and Web Services"

Transcription

1 Interface Adaptation: Bridging Collaboration Agreements and Web Services Marlon Dumas Senior Lecturer Queensland University of Technology (QUT) Australia Visiting Researcher SAP Research Centre, Brisbane Joint work with Murray Spork (SAP) and Kenneth Wang (QUT) Research Seminar, NY, Nov. 2005

2 Let s first agree on what we re talking about 2/31

3 What is a Service? Business Product involving a performance which results in added value in forms (such as convenience, amusement, timeliness ) which are essentially intangible to the first purchaser. Zeithalm & Bitner Services Marketing Management IT Abstract resource that represents a capability of performing tasks that form a coherent functionality from the point of view of providers entities and requesters entities W3C WS Glossary 3/31

4 More concretely in the context of the Web Software application identified by a URI [with] interface and binding [that can be] defined, described, and discovered by XML artifacts, and supports direct interactions with other software applications using XML-based messages via Internet-based protocols. W3C WS-Architecture Group Loosely coupled, reusable software components that semantically encapsulate discrete functionality and are distributed and programmatically accessible over standard Internet protocols. Stencil Group 4/31

5 Things to keep in mind Services interact through (XML) messages Breaks traditional design/programming languages Services provide a capability or coherent functionality that requestors need. Raises requestor-to-provider matching issues Services are semantically described (more so than traditional components) Service description is more than WSDL + UDDI Service implementation and description on par 5/31

6 The Public-Private Reconciliation Triangle Service Design Public view refinement Private view refinement Service Description Reconciliation Service Implementation 6/31

7 Service interaction description languages Pick your favourite... Choreography Expected Interface Provided Interface Adaptation/ Orchestration Implementation WS-CDL WSMO? BPEL Protocols/ WSDL BPEL / Xpath BPEL / Xquery BPELJ Programming and scripting languages SSDL BPSS CPA CPP UML Activity/Sequence Diagrams ebbp? BCS? BPMN 7/31

8 Viewpoints on service interactions Choreography: Global model of interactions between two or more services as established in a Collaboration Agreement Interface: Model of the interactions between a service and one or several other services Encompasses both structural (WSDL) and behavioural aspects (BPEL business protocols) Orchestration: executable description of internal actions and interactions required to deliver a service 8/31

9 Choreography example 9/31

10 Orchestration example (supplier) 10/31

11 Between Choreography and Orchestration: Behavioural Interface 11/31

12 So what s the problem 12/31

13 A Fundamental Dichotomy: Provided vs. Required Interfaces Buyer B's provided Buyer ("as is") B interface SND RCV Purchase Response End Seller Purchase Choreography Buyer B's Buyer A required ("to be") interface SND RCV Purchase Response No End All Responses Yes Received? 13/31

14 Provided vs. Required Interfaces Mismatch example Provided interface: abstraction of a private process Required interface: one-sided view on a choreography SND RCV Purchase Response? SND RCV Purchase Response End No End All Response Yes Received? 14/31

15 choreography... required interface provided interface Adaptation (design) Adaptation (execution) Adaptation (design) orchestration Internal service/api 15/31

16 Existing tool support for interface adaptation For structural aspects: Adapters written in general-purpose or specialised languages (e.g. XSLT) Graphical tools (XI Mapping Editor, BizTalk Mapper...) For behavioural aspects: Adapters written in general-purpose or specialised languages (e.g. BPEL/XSLT) is this appropriate? Graphical tools? Current interface adaptation approaches are implementation-driven 16/31

17 Proposal 17/31

18 High-level Interface Mapping Operators For interactions that may execute zero or one time each: Flow: One-to-one interaction mapping Gather, Scatter: One-to-many interaction mapping For interactions that may execute multiple times Collapse Burst For all interactions Hide (kind of "N-to-zero interaction mapping") 18/31

19 One-to-one Mapping Examples Provided interface (xcbl) Send CF1 Required interface (RossettaNet) Send PO Receive Response CF2 Receive PO Acceptance else [else] [pending items] CF3 [pending items] Receive PO Update CF1, CF2,CF3: Structural Transformations 19/31

20 One-to-many and Collapse Examples Provided interface (xcbl) Send Change one-to-one CF Required interface (RossettaNet) Send PO Change Request Receive Change Response one-to-many AF1 Receive PO Change Confirmation collapse AF2 1-n [until no line items pending] else Receive PO Update [pending items] CF: Conversion Function AF1, AF2: Aggregation Functions 20/31

21 Hiding Example (Qui peut le plus peut le moins...) Provided interface... Required interface... Snd PO Acceptance Rcv Cancel Snd PO Acceptance Snd Shipment Rcv Payment Details Invoke Shipment Cancellation Snd Shipment Rcv Payment Details Rcv Delivery Notice Snd Payment Confirm Snd Cancel Response Rcv Delivery Notice Snd Payment Confirm... Actions to be hidden 21/31

22 Facilitating Interface Adaptation Graphical interface mapping Provided Interface RCV SND Purchase Response End Required Interface RCV SND No Purchase Response All Response Sent? End Yes 22/31

23 Service Adaptation Platform Design tool Provided Interface (Buyer) SND Purchase RCV Response End Links Mapping Expressions Required Interface (Buyer) SND Purchase RCV Response End All Response Yes Received? 23/31

24 Service Adaptation Platform Runtime environment Service Adaptation Environment [SND, SND, RCV, RCV] Collaborating services Interaction Repository Adaptation Engine [SND, RCV] Mapping Expressions Mappings Repository 24/31

25 Life is not Always Rose... Problematic adaptation example? Business logic needs to be added... 25/31

26 Additive Adaptation Example (from Altenhofen et al. 2005) 26/31 Domain registration client Domain registration service

27 Required interface Mediator Can t Generate get ripe handle without fake rhaving all 3 parameters available What can mediator do? The register message replace has the fake ripe fake rh handles with mediator substitutes names these with Now we have the real the provider and ripe Update handles Rh can contact names inform in Consumer of the Consumer real Domain Handle updaterh(123, How do 555) we update the other ripe handles? updaterh(234, 666) Provided interface What if these operations don t exist? Need to be added... 27/31

28 Conclusion Graphical interface adaptation tools currently restricted to structural mapping Our work aims at extending these to cover behavioural mapping Definition of operators completed Prototyping and testing ongoing Future extensions for adaptation in multi-party interaction scenarios This is a first step towards a platform supporting mediation in a broader sense, including: Partner management SLAs Business exceptions handling 28/31

29 Other QUT Workflow Patterns and YAWL (with TU-Eindhoven): & Service interaction modelling (with SAP): Conceptual models of non-functional service properties Verification of BPEL Processes: BPEL2PNML and WofBPEL (with TU-Eindhoven): 29/31

30 A bit of publicity Marlon Dumas, Wil van der Aalst, Arthur ter Hofstede (editors) Process Aware Information Systems: Bridging People and Software Through Process Technology John Wiley & Sons 432 pages September 2005 Available at Amazon 30/31

31 Further readings R. Bradley. "Solving the mediation challenge: The Heart of an ESB", 25 July 2005, H.W. Schmidt and R.H. Reussner. "Generating Adapters for Concurrent Component Protocol Synchronisation". In Proceedings of the Fifth IFIP International Conference on Formal Methods for Open Object-Based Distributed Systems, Enschede, The Netherlands, March Kluwer Academic Publishers. B. Benatallah et al. "Developing Adapters for Web Services Integration". In Proceedings of the International Conference on Advanced Information Systems Engineering (CAiSE), Porto, Portugal, June Springer. E. Ciampian and A. Mocan. Process Mediation in WSMX. WSMX Working Draft 16 May M. Altenhofen et al. "An Execution Semantics for Mediation Patterns". In BPM 2005 Workshops: Workshop on Choreography and Orchestration for Business Process Management, Nancy, France, September (Available as SAP Research internal report) 31/31