Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Slides:



Advertisements
Similar presentations
Adaptive Computing Technical Overview
Advertisements

Copyright 2009 SAP All rights reserved
Knowledge, Action, and Context Uwe Riss SAP Research, Karlsruhe.
Definition Usage Target Group Availability Benefits More info Cost
SAP Organization Change Management (OCM) Toolkit
Mutatis Mutandis Evaluating DBMS Test Adequacy with Mutation Testing Ivan T. Bowman, HANA Product Engineering June 24, 2013 Public.
Best Run Global Purchasing Training Documentation: Hubwoo (SRM) Merchandise Catalog Order Process GPO Commodity Marketing April, 2013.
Six Reasons Why Customers Chose BC Sets for Global Rollouts
Web SAP Peter McNulty, SAP Labs, LLC Sam Tingleff, SAP Labs, LLC Sinisa Zimek, SAP Labs, LLC.
Talent Management with SuccessFactors Erwin F. Schoellkopf / Regional Sales Manager June 11, 2013.
User Needs Jennifer Brundage, Daniel Grasmick MultiLingual Technology, SAP.
Keith Harmon Solution Manager, SAP AG Transforming Information into Knowledge Bergen, Norway May 10-13, 2006.
Gunther Stuhec SAP AG Container Ship.  SAP AG 2003, Title of Presentation, Speaker Name / 2 What kind of containers exists in Modeling? 1/3 1. Generic.
CRM Analytics Architecture
The Way to new ERP Horizons Matthias Kaiser, Ph.D. Sr. Research Scientist SAP Research From Monoliths to Molecules and how they all can make Humpty-Dumpty.
WS-I BP1.0 Recommendations On WSDL1.1 Kevin Liu October 2003.
Mail Interface with SMTP PlugIn in SAP WAS Based Components Parlin Sitanggang.
SAP AG Enablement Kit for SAP NetWeaver Business Client – V1.30 How to Use POWER Lists Overview.
Baseline Package: Organizational Structure (J02) Overview SAP AG.
Multiple Components in One Database (MCOD) Dr. Georg Leffers SAP AG.
Multiple Components in One Database (MCOD)
Multiple Components in One Database (MCOD) Dr. Georg Leffers SAP AG.
SAP Exchange Infrastructure
Presentation transcript:

Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns

Interaction Mismatches Outlook Introduction Virtual Providers

Interaction Mismatches Outlook Introduction Virtual Providers

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 4 Introduction and Research Context WSMO Framework Actors: Business Partners (BP) Behavioural Interfaces (WSMO: Choreographies) Interactions of arbitrary BPs WSMO Process Mediation Mapping Choreographies for Interoperation Problem: Interaction Mismatches Solution: Process Mediators (PMs) as transparent connectors

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 5 Motivation – Resolvable Interaction Mismatches I Motivation Informal graphical representation Ambiguous Interpretations  What do two successive links mean?  Ordering constraint.  What do links mean, and what capitals (A, B)?  Links: Messages; Capitals: Data sets.  What connection mode is assumed?  Reliable connecions. Hidden, implicit knowledge – D13.7, WSMO Deliverable

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 6 Motivation – Resolvable Interaction Mismatches II Motivation Informal graphical representation Ambiguous Interpretations  What do two successive links mean?  Ordering constraint.  What do links mean, and what capitals (A, B)?  Links: Messages; Capitals: Data sets.  What connection mode is assumed?  Reliable connecions. Hidden, implicit knowledge – D13.7, WSMO Deliverable

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 7 Motivation – Resolvable Interaction Mismatches III Motivation Informal graphical representation Ambiguous Interpretations  What do two successive links mean?  Ordering constraint.  What do links mean, and what capitals (A, B)?  Links: Messages; Capitals: Data sets.  What connection mode is assumed?  Reliable connecions. Hidden, implicit knowledge – D13.7, WSMO Deliverable

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 8 Motivation – Resolvable Interaction Mismatches IV Motivation Informal graphical representation Ambiguous Interpretations  What do two successive links mean?  Ordering constraint.  What do links mean, and what capitals (A, B)?  Links: Messages; Capitals: Data sets.  What connection mode is assumed?  Reliable connecions. Hidden, implicit knowledge – D13.7, WSMO Deliverable

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 9 Motivation – Resolvable Interaction Mismatches V Motivation Informal graphical representation Ambiguous Interpretations  What do two successive links mean?  Ordering constraint.  What do links mean, and what capitals (A, B)?  Links: Messages; Capitals: Data sets.  What connection mode is assumed?  Reliable connecions. Hidden, implicit knowledge Conclusion: A formal representation would be highly appreciable. – D13.7, WSMO Deliverable

Interaction Mismatches Outlook Introduction Virtual Providers

Interaction Mismatches Outlook Introduction Virtual Providers

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 12 Mediators as Virtual Providers (VPs) I What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM) What can be done by using VP? Receive multiple related initial messages Generate subsequent messages from initial & returned message contents Receive returned answers Send answer to initiator

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 13 Mediators as Virtual Providers (VPs) II What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM) What can be done by using VP? Receive multiple related initial messages Generate subsequent messages from initial & returned message contents Receive returned answers Send answer to initiator

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 14 Mediators as Virtual Providers (VPs) III What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM) What can be done by using VP? Receive multiple related initial messages Generate subsequent messages from initial & returned message contents Receive returned answers Send answer to initiator

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 15 Mediators as Virtual Providers (VPs) IV What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM) What can be done by using VP? Receive multiple related initial messages Generate subsequent messages from initial & returned message contents Receive returned answers Send answer to initiator

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 16 Mediators as Virtual Providers (VPs) V What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM) What can be done by using VP? Receive multiple related initial messages Generate subsequent messages from initial & returned message contents Receive returned answers Send answer to initiator

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 17 Mediation in Virtual Providers (VPs) I What does the PROCESSing machine do? Working one current request Controls sending & receiving machines How can communications be mediated? Incoming messages  Create request (from their content) Compute request by generating a sequence of parallel new requests (msgs) Generate returning answer

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 18 Mediation in Virtual Providers (VPs) II What does the PROCESSing machine do? Working one current request Controls sending & receiving machines How can communications be mediated? Incoming messages  Create request (from their content) Compute request by generating a sequence of parallel new requests (msgs) Generate returning answer

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 19 Mediation in Virtual Providers (VPs) III What does the PROCESSing machine do? Working one current request Controls sending & receiving machines How can communications be mediated? Incoming messages  Create request (from their content) Compute request by generating a sequence of parallel new requests (msgs) Generate returning answer

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 20 Mediation in Virtual Providers (VPs) IV What does the PROCESSing machine do? Working one current request Controls sending & receiving machines How can communications be mediated? Incoming messages  Create request (from their content) Compute request by generating a sequence of parallel new requests (msgs) Generate returning answer

Interaction Mismatches Outlook Introduction Virtual Providers

Interaction Mismatches Outlook Introduction Virtual Providers

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 23 Refinement of Virtual Provider Basic Patterns Refine VP What to do?  Refine data structures  Define: Where to refine?  In ReceiveReq

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 24 Pattern a) Discard first message Forward second Implementation Stateful  Block until receipt of second message Resolvable Interaction Mismatches – Pattern a) I

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 25 Pattern a) Discard first message Forward second Implementation Stateful  Block until receipt of second message Resolvable Interaction Mismatches – Pattern a) II

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 26 Pattern b) Extension to a) Save both messages Forward in reverse order Implementation Stateful  Block until receipt of second message Keep first message in memory Resolvable Interaction Mismatches – Pattern b) I

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 27 Pattern b) Extension to a) Save both messages Forward in reverse order Implementation Stateful  Block until receipt of second message Keep first message in memory Resolvable Interaction Mismatches – Pattern b) II

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 28 Pattern d) Extension to b) Save both messages Forward combined message Implementation Stateful  Block until receipt of second message Keep first message in memory & combine Resolvable Interaction Mismatches – Pattern d) Changes over b)

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 29 Pattern c) Forward splitted message Implementation No State  Don’t block Resolvable Interaction Mismatches – Pattern c)

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 30 Pattern e) Acknowledge receipt (  Reliable connection implied) Implementation No State  Directly send confirmation Resolvable Interaction Mismatches – Pattern e)

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 31 Pattern e) Acknowledge receipt (  Reliable connection implied) Implementation No State  Directly send confirmation Resolvable Interaction Mismatches – Pattern e)

Interaction Mismatches Outlook Introduction Virtual Providers

Interaction Mismatches Outlook Introduction Virtual Providers

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 34 Mediator Patterns (MPs) Complex Interaction Patterns VP’s homogeneous Communication structure  Chaining VPs Yields tree-like structure of VP composition: 1. A request can be transformed into a sequence of parallel new requests 2. New requests can be handled as in 1 (by a chained VP) Mediation Component Choose appropriate Mediator Patterns from a library Mediator Pattern Virtual Provider

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 35 DN, AH, BH BN Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Mediator Patterns Example – VISP AN BN DN AH, BH, DH Requestor AN, BN, DN AH, BH, DH Provider 1 AN AH DH Provider 2 BH

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 36 DN, AH, BH BN Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Mediator Patterns Example – VISP AN BN DN AH, BH, DH Requestor AN, BN, DN AH, BH, DH Provider 1 AN AH DH Provider 2 BH Library MP 1 MP 2

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 37 DN, AH, BH BN Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Mediator Patterns Example – VISP AN BN DN AH, BH, DH Requestor AN, BN, DN AH, BH, DH Provider 1 AN AH DH Provider 2 BH Library MP 1 MP 2 MP 1

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 38 DN, AH, BH BN Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Mediator Patterns Example – VISP AN BN DN AH, BH, DH Requestor AN, BN, DN AH, BH, DH Provider 1 AN AH DH Provider 2 BH Library MP 1 MP 2

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 39 Summary and Conclusion Summary Formal high-level mediator specification Composition into Mediator Patterns Representation of interaction mismatches Using ASM facilitates Unambiguous formal specification Clear separation of abstraction layers Identification of refinement spots Future Work Classification of interaction mismatches Automated pattern selection / definition Formalize further components using ASM  Like discovery module spec. (Andreas Friesen, Stephan Grimm) Questions or Comments ?

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 40 No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. Copyright 2005 SAP AG. All Rights Reserved

 SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 41 Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die von SAP AG oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten. Microsoft, Windows, Outlook, und PowerPoint sind eingetragene Marken der Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, und Informix sind Marken oder eingetragene Marken der IBM Corporation in den USA und/oder anderen Ländern. Oracle ist eine eingetragene Marke der Oracle Corporation. UNIX, X/Open, OSF/1, und Motif sind eingetragene Marken der Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, und MultiWin sind Marken oder eingetragene Marken von Citrix Systems, Inc. HTML, XML, XHTML und W3C sind Marken oder eingetragene Marken des W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java ist eine eingetragene Marke von Sun Microsystems, Inc. JavaScript ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von Netscape entwickelten und implementierten Technologie. MaxDB ist eine Marke von MySQL AB, Schweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver und weitere im Text erwähnte SAP-Produkte und - Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und anderen Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die vorliegenden Angaben werden von SAP AG und ihren Konzernunternehmen („SAP-Konzern“) bereitgestellt und dienen ausschließlich Informationszwecken. Der SAP-Konzern übernimmt keinerlei Haftung oder Garantie für Fehler oder Unvollständigkeiten in dieser Publikation. Der SAP-Konzern steht lediglich für Produkte und Dienstleistungen nach der Maßgabe ein, die in der Vereinbarung über die jeweiligen Produkte und Dienstleistungen ausdrücklich geregelt ist. Aus den in dieser Publikation enthaltenen Informationen ergibt sich keine weiterführende Haftung. Copyright 2005 SAP AG. Alle Rechte vorbehalten