Title: June, 2004
1Connecting SystemsWith ASAPKeith D.
SwensonFujitsu Software CorporationWorkflow
Management CoalitionOASIS
2Overview
- Motivation for a Standard
- Home Purchase Scenario
- Key Concept
- It is not the wires, but the plug
- ASAP interaction patterns
- Wf-XML interaction patterns
- Interoperability Demo
- Summary
3Home Purchase Scenario
4Home Purchase Scenario
Buyers Agent
Buyers
Sellers
Sellers Agent
5- This is a perfect workflow scenario .
- Very common transaction
- Large value
- Mistakes are expensive
- Only thing moved is information
- Why isnt 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
6Requirements
- 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-socket answer to linking
data of long term processes
7Essential Connectivity
Telephone Company
Connection wired by an electrician.
8Essential Choreography
SOAP XML
System A
System B
WSDL
WSDL
BPEL
C
System Developer /System Integrator
System Developer /System Integrator
9Empowering the Less-Technical
Telephone Company
Connection can be made by non-technician
10Connections 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
11Home Purchase Scenario with A.S.A.P.
Buyers Agent
Appraiser
Mortgage Company
Buyers
Geology Report
Escrow Company
Toxic Report
Title Company
Bank
Sellers
Assessor
Credit Report
Sellers Agent
12Making 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 - That is it! No programming required!
13Interstage BPM implementation
(1) Factory URL
(2) Mapping from field to field
14Not just a single round trip
Context Data
Escrow Company
Appraisal 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
R
C
Final report ready
Completed message
R
Receive report, allows other things to go forward
15The Basic ASAP Pattern
Factory
CreateInstance
Instance
Observer
Context XML Data
Result XML Data
Completed
16What 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.
17The Full ASAP Pattern
Factory
CreateInstance
GetData
Instance
Observer
SetData
Context XML Data
Notify
Result XML Data
Completed
18What 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
19What 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.
20Wf-XML Extension Patterns
ListFactories
CreateFactory
Observer
ListInstances
ListActivities
Get/SetData
21Interoperability 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
22Observers
- organizations (selected from over 500) have
expressed interest in demo
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.
AFLAC AG Edwards Agfa HealthCare Agile
Software AIAI, University of Edinburgh ATT Baname
x 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 RD Intel Corp.
23The ASAP Scenario
customer order
Customer
Retailer
customer order confirmation
24The Wf-XML Scenario
customer order
manufacturer order
Customer
Retailer
Manufacturer
customer order confirmation
manufacturer order confirmation
25Committed 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)
26Live Demo
27Thanks 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
- Staffware
- Justin Brunt
- Adrian Tonkin
- WfMC
- Layna Fischer
- Danielle Smith
28 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?w
g_abbrevasap - WfMC Protocol Wf-XML
- Layered on top of ASAP
- Multi-Vendor interoperability demonstration June
23
29Relationships
Protocol
Metadata
Wf-XML 2.0
WSDL 2.0
ASAP
WSDL
SOAP
30Overlap 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.
31Overlap 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
32Overlap 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
33ASAP 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.
34Evaluating 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?