1 / 44

Sept, 2004

Connecting Systems With ASAP Keith D. Swenson Fujitsu Software Corporation Workflow Management Coalition OASIS. Sept, 2004. Overview. Motivation for a Standard Home Purchase Scenario Key Concept: Plug & Play Processes It is not the wires , but the plug ASAP interaction patterns

tieve
Download Presentation

Sept, 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Connecting SystemsWith ASAPKeith D. SwensonFujitsu Software CorporationWorkflow Management CoalitionOASIS Sept, 2004

  2. 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

  3. Home Purchase Scenario $$$

  4. Appraiser Mortgage Company Geology Report Escrow Company Toxic Report Title Company Bank Credit Report Assessor Home Purchase Scenario Buyer’s Agent Buyers Sellers Seller’s Agent

  5. 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

  6. 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

  7. Essential Connectivity Telephone Company Connection wired by an electrician.

  8. Empowering the Less-Technical Telephone Company Connection can be made by non-technician

  9. Essential Choreography SOAP XML System A System B WSDL WSDL BPEL C# System Developer /System Integrator System Developer /System Integrator

  10. Connections via A.S.A.P. SOAP XML System A System B WSDL WSDL BPEL C# System Developer /System Integrator System Developer /System Integrator System Operator

  11. Home Purchase Scenario with A.S.A.P. Buyer’s Agent Appraiser Mortgage Company Buyers Geology Report Escrow Company Toxic Report Title Company Bank Sellers Credit Report Assessor Seller’s Agent

  12. Making a connection with ASAP Mortgage Company Escrow Company • Enter the URL for the mortgage service • Escrow system retrieves schema from the mortgage system for exchange. • Map escrow system fields to mortgage system fields using graphical data mapping tool No programming required!

  13. Interstage BPM implementation (1) Factory URL (2) Mapping from field to field

  14. Not just a single round trip Context Data Appraisal Company Escrow Company Result Data Set up connection Initial CreateInstance message Receive background info & start planning C time Notify Data message R Assign appraiser Notify Data message Make appointment & estimate due date R Schedule Changed SetProperties message C GetProperties message Need to check on status C R Final report ready Completed message R Receive report, allows other things to go forward

  15. The Basic ASAP Pattern Factory CreateInstance Instance Observer Context XML Data Result XML Data Completed

  16. 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.

  17. The Full ASAP Pattern Factory CreateInstance GetData Instance Observer SetData Context XML Data Notify Result XML Data Completed

  18. 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

  19. 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.

  20. Container Factory Instance Activity Wf-XML Extension Patterns ListFactories CreateFactory Observer ListInstances ListActivities Get/SetData

  21. Interoperability Demo • June 23, 2004 • Hosted by the BrainStorm Group at theirBMP 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

  22. Committed Participants (as of June 7) Customer Retailer Manufacturer Fujitsu (Java) Staffware EasyASAP (OpenSource C++) Handysoft Demo Server (C# .Net) Fujitsu (Java) Staffware EasyASAP (OpenSource C++) Handysoft Demo Client (C# .Net)

  23. Demo interaction pattern .Net Reference Client Fujitsu Staffware HandySoft EasyASAP Retailer Manufacturer Manufacturer Manufacturer

  24. How to run a demo for yourself • Visit the .Net reference client • http://67.113.139.106/asapclient/ (California) • http://193.131.190.26/asapclient/ (England) • 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

  25. .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 Thanks to Key People

  26. 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 BPM Engine Process Design Tool

  27. 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://67.113.139.106/asapclient/

  28. Relationships Protocol Metadata Wf-XML 2.0 WSDL 2.0 ASAP WSDL SOAP

  29. 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”.

  30. 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

  31. 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

  32. 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.

  33. 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”?

More Related