Should Mirror Operations Be Dropped? David Booth W3C Fellow / Hewlett-Packard.

Slides:



Advertisements
Similar presentations
Eliminating Eliminating Sanjiva Weerawarana WSDL WG F2F – Raleigh, NC July 30, 2003.
Advertisements

EGEE is a project funded by the European Union under contract IST WSDL Web Service Description Language
Bus 480 – Lecture 2 Transportation and Assignment models
Service Bus Service Bus Access Control.
Multi-tape Turing Machines: Informal Description
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Optimizing Compilers for Modern Architectures Compiler Improvement of Register Usage Chapter 8, through Section 8.4.
Directory and Trust Services (D&TS) Define an Abstract Model Purpose: Document a common terminology that the group can use between the various tracks Identify.
IONA Technologies Position Paper Constraints and Capabilities for Web Services
31242/32549 Advanced Internet Programming Advanced Java Programming
Two parallel lines intersected by another line   A B Corresponding angles (sehadap) Corresponding angles are congruent  A1 =  B1.
ENGIN112 L15: Magnitude Comparator and Multiplexers October 6, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 15 Magnitude Comparators.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Compiler Construction
EGEE is a project funded by the European Union under contract IST WSDL Web Service Description Language 3 – 4 June
WSDL Park, Hyunho 2005/07/28. Introduction Web services have been around for a long time in primitive form. Limitation of the primitive form:
WSDL Homework - Plenio. WSDL - Structure Source: w3schools.com.
Supporting Adaptive Web-Service Orchestration with an Agent Conversation Framework Warren Blanchet, Eleni Stroulia, Renée Elio University of Alberta.
Business Process Orchestration
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
SOAP, WSDL, UDDI. Service Broker Basic SOAP Message Exchange Service Consumer Service Provider http transport SOAP message WSDL describing service SOAP.
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
Engineering Law-Governed Approaches How to reuse, extend and compose interaction specifications Gustavo Carvalho, Carlos Lucena
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
WEB SERVICE DESCRIPTION LANGUAGE ( WSDL) -SIVA SAGAR TELLA.
Web services sub-team report CPPA June ’02 F2F Reston, Virginia.
Web Services: WSDL. Kas ir WSDL? Pirms izmantot SOAP ar konkrēto servisu ir jāzina kādai jābūt SOAP ziņojuma struktūrai kuru protokolu izmantot (HTTP,
Web Services Description Language CS409 Application Services Even Semester 2007.
(Business) Process Centric Exchanges
MESSAGE ORIENTED MODEL (MOM). Slide 2CITE 4420 Message Oriented Model Message-Oriented Model (MOM)
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
INT-5: Integrate over the Web with OpenEdge® Web Services
Title – NwHIN CAQH/CORE X12 support Discussion Date June
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
Folie 1 Analysis of SM-Exchange Protocol using SM&C MAL DLR/GSOC Author: S.Gully.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
Kemal Baykal Rasim Ismayilov
Axis2 - Overview. Agenda  What is already there Overall Architecture Core AXIOM WSDL Deployment Client API  What is yet to come Encoding – Pluggable.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
WSDL : Web Service Definition Language Dr. Yuhong Yan NRC-IIT-Fredericton Internet logic.
Thin Client Collaboration Web Services Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
Web services. Introduction to WSDL. February 23, 2006.
Web Services Martin Nečaský, Ph.D. Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Summer 2014.
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
1 WSDL Web Services Description Language. 2 Goals of WSDL Describes the formats and protocols of a Web Service in a standard way –The operations the service.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
ISA 95 Working Group (Business) Process Centric Exchanges Dennis Brandl A Modest Proposal July 22, 2015.
Enabling Grids for E-sciencE Web Services Description Language – WSDL 1.1 Richard Hopkins National e-Science Centre, Edinburgh February.
Title – NwHIN CAQH/CORE X12 support Discussion Date June
PIX/PDQ – Today and Tomorrow Vassil Peytchev Epic.
Web Service Referencing And Resource Identification Anish Karmarkar Oracle Corp.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Design Patterns-1 7 Hours.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Ontology Language for Service (OWL-S)
Issue 47: Feature Changes in WSDL1.2 & Potential Impact on BPEL4WS
Web services, WSDL, SOAP and UDDI
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Shrideep Pallickara and Geoffrey Fox (spallick,
Techniques to Invoke Web Services from SAS
Presentation transcript:

Should Mirror Operations Be Dropped? David Booth W3C Fellow / Hewlett-Packard

Current Status Four Message Exchange Patterns (MEPs): Input-Output (was "Request-Response") Input-Only (was "One-Way") Output-Input (was "Solicit-Response") Output-Only (was "Notification") "Mirror ops": Output-Input, Output-Only

Problems with Mirror Ops 1.Multiple interpretations: event? callback? 2.Little evidence of use 3.Where to get the Client's address? 4.Inconsistent treatment of Faults? Input-Output: Fault is an alternate Output Input-Only: (no Faults) Output-Input: Fault is an alternate Input Output-Only: (no Faults)

What I Did Abstract analysis: Suppose we used WS descriptions in a larger context. Would we want mirror ops? Example: Markets

Potential Application: Markets Multiple Clients, Multiple Services Any Client can talk to any Service (of the same type) Service A3 Service A2 Client A1 Service B3 Service B2 Service B1

Markets Ways to match Client and Service: –Client and Service share same WSDL –Client and Service have complementary WSDLs Service A3 Service A2 Client A1 Service B3 Service B2 Service B1

Shared Service Descriptions Role must be separately indicated: –Client: "I'm a T Client" –Service: "I'm a T Service" Binding information is lopsided (Service- centric) –Binding has Service-specific info (address) –Where is Client-specific info placed? Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 T

Shared: One WSDL per Service {T1, T2, T3} could be specific to {B1, B2, B3} –T1 has B1's address, T2 has B2's address, etc. –B1: "I'm a T1 Service" –B2: "I'm a T2 Service", etc. Each Client could reference all {T1, T2, T3}: "I'm a T1Client, a T2 Client and a T3 Client" Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 T3T2T1

Shared: Referencing a Common T {T1, T2, T3} could reference generic T –T1 has B1's address, T2 has B2's address, etc. B1: "I'm a T1" –T is Service-centric, but not identity-centric (I.e., no address) Client could reference generic T: –"I'm a T Client" Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 T3T2T1 T

TA3TA2 Shared: Client, Service Ref T {TA1, TA2, TA3}, {TB1, TB2, TB3} are all identity-specific –TA1: "A1 is a T Client" –TB1: "B1 is a T Service" T does not contain address Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 TB3TB2TB1 T TA1

TA3TA2 Shared: Role-Specific Descriptions TC and TS are role-specific, but not identity-specific: –TC: "I am a T Client" –TS: "I am a T Service" T does not contain address or role info Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 TB3TB2TB1 T TA1TCTS

TA3TA2 Shared: Conclusion Sharing requires mirror ops only if you think they're important –Need Output-Input? –Need Output-Only? Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 TB3TB2TB1 T TA1

Complementary Service Descriptions Symmetric ("Peer-to-Peer") T describes Service; ~T describes Client T, ~T indicate: –Generic info (T) –Role-specific info (Client vs. Service) –Identity-specific info (address) Requires (complementary) equivalence to match ~TT Service B3 Service B2 Service B1 Service A3 Service A2 Client A1

Complementary: Observation Complementary approach requires mirror ops –Inputs of T are Outputs of ~T –Outputs of T are Inputs of ~T ~TT Service B3 Service B2 Service B1 Service A3 Service A2 Client A1

TA3TA2 Complementary: Identity-Specific Info {TA1, TA2, TA3}, {TB1, TB2, TB3} are all identity-specific –TA1: "A1 is a ~T" –TB1: "B1 is a T" T, ~T do not contain addresses Service A3 Service A2 Client A1 Service B3 Service B2 Service B1 TB3TB2TB1 ~T TA1 T

Conclusions Mirror ops add flexibility Identity-specific info (address) should be separated from shared info Other binding info can be shared: transport protocol, etc.

END

WSDL Information Sharing From most shared to least shared: 1.Message types 2.Message direction (input/output) 3.Transport protocol, Message encoding 4.Address (Not shared!) The least shared info should be latest bound

Observations on MEPs

MEPs Sequence: 1.A sends W to B 2.B sends X to A 3.A sends Y to B 4.B sends Z to A XYZW B's ViewA's View

MEP: B's View One big MEP: PWXYZ: Receive W, send X, receive Y, send Z B's View XYZW A's View PWXYZ

MEP: B's View Two "Request-Response" MEPs: PWX: Receive W, send X PYZ: Receive Y, send Z B's View XYZW A's View PWX PYZ

MEP: B's View Q: Should B care how A models its interactions with B? A: Of course not. B's View XYZW A's View PWX PYZ

MEP: A's View 1 Two "Solicit-Response" MEPs: PWX: Send W, receive X PYZ: Send Y, receive Z B's View XYZW A's View PWX PYZ

MEP: A's View 2 Three MEPs: PW: Send W ("Notification") PXY: Receive X, send Y ("Request-Response") PZ: Receive Z ("One-way") B's View XYZW A's View PXY PW PZ

MEP: A's View 3 Four MEPs: PW: Send W ("Notification") PX: Receive X ("One-way") PY: Send Y ("Notification") PZ: Receive Z ("One-way") B's View XYZW A's View PX PW PZ PY

MEP: A's View 4 Two MEPs: PWX: Send W, receive X ("Solicit-Response") PYZ: Send Y, receive Z ("Request-Response") B's View XYZW A's View PWZ PXY

MEPs Are Relative Observation: MEPs are role-specific B's View XYZW A's View PWZ PXY PWX PYZ

MEPs Are Relative A makes PWZ from half of PWX and half of PYZ B's View XYZW A's View PXY PWX PYZ PWZ

MEPs Are Relative A makes PXY from half of PWX and half of PYZ B's View XYZW A's View PWZ PXY PWX PYZ

Role-Specific Information

Service B Service A Role-Specific Information Suppose: A must send B messages in format X X represents message format definition A, B reference X X contains role-specific information, e.g., " " (from B's perspective) A, B use the same software T to generate Sender and Receiver from X ReceiverSender X T

Service B Service A Role-Specific Information Observation: Q: How does T know whether to generate Sender or Receiver from X? A: T must have other information Therefore " " is unnecessary in X ReceiverSender T X

Service B Service A Role-Specific Information Conclusion: Information that is shared between different roles should not contain role-specific information Examples of role-specific information: –" ", " ", "one-way", address ReceiverSender T X