Presentation on theme: "June, 2004 Connecting Systems With ASAP Keith D. Swenson Fujitsu Software Corporation Workflow Management Coalition OASIS."— Presentation transcript:
June, 2004 Connecting Systems With ASAP Keith D. Swenson Fujitsu Software Corporation Workflow Management Coalition OASIS
Overview Motivation for a Standard Home Purchase Scenario Key Concept: Plug & Play Processes It is not the wires, but the plug ASAP interaction patterns Wf-XML interaction patterns Interoperability Demo Summary
Appraiser Geology Report Toxic Report Assessor Bank Credit Report Home Purchase Scenario Title Company Escrow Company Mortgage Company Sellers Buyers Buyer’s Agent Seller’s Agent
This is a perfect workflow scenario …. Very common transaction Large value Mistakes are expensive Only thing moved is information Why isn’t this business automated? No dominant player to set standard No fixed standard – differences are competitive advantage Many varied local laws Companies involved are small and can not afford development toward complex interactions
Requirements While companies are automated internally, what is needed is a quick and easy way to link their data: Without getting bogged down in complex processes Without needing a programmer Without having to change the way they work now Without requiring that every partner be identical ASAP offers a plug-and-play approach to linking data of long term processes
Essential Connectivity Telephone Company Connection wired by an electrician.
Essential Choreography System A System B System Developer /System Integrator System Developer /System Integrator BPEL C# SOAP XML WSDL
Empowering the Less-Technical Connection can be made by non-technician Telephone Company
Connections via A.S.A.P. System A System B System Developer /System Integrator System Developer /System Integrator System Operator BPEL C# SOAP XML WSDL
Assessor Home Purchase Scenario with A.S.A.P. Escrow Company Sellers Buyers Buyer’s Agent Seller’s Agent Bank Credit Report Mortgage Company Title Company Appraiser Geology Report Toxic Report
Making a connection with ASAP 1.Enter the URL for the mortgage service Escrow system retrieves schema from the mortgage system for exchange. 2.Map escrow system fields to mortgage system fields using graphical data mapping tool No programming required! Escrow Company Mortgage Company
Interstage BPM implementation (1) Factory URL (2) Mapping from field to field
Not just a single round trip Escrow Company Appraisal Company Context Data Result Data time Set up connection Initial CreateInstance message Receive background info & start planning Assign appraiser Make appointment & estimate due date Notify Data message C R R R Schedule Changed SetProperties message C Need to check on status GetProperties message C Final report ready Completed message R Receive report, allows other things to go forward
The Basic ASAP Pattern Observer Factory Instance CreateInstance Context XML Data Completed Result XML Data
What is a Factory? A factory represent a ‘class’ or type of asynchronous service. e.g. “Loan Application” for a mortgage company A given organization may have any number of factories for difference services they offer. Each factory is a “Resource”. It has an address Specify the factory address, you specify the asynchronous service, in the same way that a web address specifies a document Factories can be introspected directly to discover how to interact with them.
The Full ASAP Pattern Observer Factory Instance CreateInstance Completed SetData GetData Notify Context XML Data Result XML Data
What is an Instance? An Instance represents an ‘instance’ of a class. The “CreateInstance” command is like the “new” operator in an oo programming language. It is also a Resource, it has an address, and can be accessed with SOAP requests. “Context Data” is the data supplied (as an XML structure) to the instance upon starting it. “Result Data” is the data returned (as an XML structure) when the service is complete
What is an Observer? An observer MAY be a resource with a web address. It must be a resource in order to receive notifications from the instance. If it is not a resource, it must use polling techniques to discover when the service instance is done. Additional observers may register to receive notification events at any time.
Interoperability Demo June 23, 2004 Hosted by the BrainStorm Group at their BMP Conference in San Francisco All clients/servers on internet Demonstration client has a simple UI to invoke the asynchronous services from a web form. Each implementation exposes a factory that can be called with a specified context structure, and returns a specific result structure a few seconds later. The delay demonstrates asynchronous behavior
Observers organizations (selected from over 2200) have expressed interest in demo: AFLAC AG Edwards Agfa HealthCare Agile Software AIAI, University of Edinburgh AT&T Banamex Bank for International Settlements Bankers Systems, Inc. BearingPoint Bombardier Aerospace Budapest University of Technics & Economics Capgemini Citigroup Computer Associates Computer Sciences Corporation Deloitte&Touche Ethiopian Airlines FedEx Trade Networks France Telecom R&D Intel Corp. Johnson & Johnson Lockheed Martin Lucent Technologies Maersk Data Microsoft Business Solutions Nortel Networks North Wiltshire District Council Northrop Grumman Information Technology NSW Police Sandia National Laboratories Schlumberger ScotiaBank Sears, Roebuck and Company The Associated Press The Bank of East Asia The Undersecretariat of Treasury The Vanguard Group U.S. Nuclear Regulatory Commission United Nations Office for Project Services Wellington City Council Westpac Banking Corp.
The ASAP Scenario Customer Retailer customer order confirmation
The Wf-XML Scenario Customer Retailer Manufacturer customer order confirmation manufacturer order confirmation manufacturer order
Committed Participants (as of June 7) Customer Retailer Manufacturer Demo Client (C#.Net) Fujitsu (Java) Staffware EasyASAP (OpenSource C++) Handysoft Fujitsu (Java) Staffware EasyASAP (OpenSource C++) Handysoft Demo Server (C#.Net)
Thanks to Key People.Net Reference Client/Server Jeff Cohen Fujitsu Keith Swenson – ASAP Chair Sameer Predhan Handysoft Susan Muldoon Rob Cain Cisco Systems Mayilraj Krishnan - Editor EasyASAP Open Source John Fuller – ASAP Secretary TIBCO / Staffware Justin Brunt Adrian Tonkin WfMC Layna Fischer Danielle Smith
What is next? ASAP Touch-up the specification with lessons learned during the interoperability demo development. Advance it through OASIS Process Wf-XML 2.0 Bring Wf-XML 2.0 to same level of maturity Challenge process design tool vendors to demonstrate ability to upload and download process definitions using Wf-XML 2.0 in January 2005 Process Design Tool BPM Engine
How to run a demo for yourself Visit the.Net reference client http://184.108.40.206/asapclient/ (California) http://220.127.116.11/asapclient/ http://18.104.22.168/asapclient/ (England) http://22.214.171.124/asapclient/ Choose a Factory from the list (or enter your own URI for another factory) Press create instance Enter valid XML Data, press submit Click Refresh until the response is returned Click Details to see the final results
Summary Asynchronous Service Access Protocol designed to meet this need. XML / SOAP messages OASIS technical committee http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=asap WfMC Protocol Wf-XML Layered on top of ASAP Demo Site: http://126.96.36.199/asapclient/
Overlap with other work? Why not just use asynchronous messaging? ASAP messages can be sent synchronously (HTTP) or asynchronously (SMTP, MQ, etc). ASAP does not require one or the other, nor does it replace either. ASAP is more than just delayed response, it is not just asynchronous messages, it includes the ability to check status and update request, even terminate early. Not a single round trip. Context Data and Result Data can be read/set multiple times over the course of a single “connection”.
Overlap with other standards? BPEL programming language, not protocol. Use BPEL to implement ASAP WS-Security no overlap: use this for secure ASAP exchanges, WS-CAF no overlap: use this for transactional ASAP messages WS-Reliability, reliable messaging no overlap: use this so that ASAP messages are reliable SOAP No overlap, ASAP messages use SOAP ebXML ASAP interaction pattern can be implemented with ebXML messaging
Overlap with other standards? WS-Eventing Proprietary spec, not a standard, would like to be able to use this in ASAP WS-Addressing Proprietary spec, not a standard, would like to be able to use this in ASAP. WS-ResourceProperties This group was started in 2004, well after ASAP had announced interoperability demonstration. There is some overlap, you can wait for this is you wish, but ASAP is available today. UDDI no overlap: use UDDI to advertise factory operations WSDL No overlap, WSDL is used to define ASAP operations
ASAP is not needed? Why fix a particular choreography, when you could have any choreography? When a system allows any choreography, then the choreography must be programmed by a programmer. Message structures must be defined. Actions to receive messages, transform them, and send them. ASAP simplifies this by defining a set of specific operations and a specific pattern of interaction that works in 80% of the cases. There are an infinite number of ways to do something. Standards are all about specifying one particular way. ASAP can be a starting point for further refinement in a more elaborate interaction. It is a step in the ladder.
Evaluating Standards Do both sides need to be designed to a common schema before connections can be made? Does the schema has be be specified first? Can connections be made without redesigning the internal system? Is a programmer required to make a “connection” Tight Integration vs. Loose Integration Progress and Status Reporting Is there a concept of “Context”?