Sept, 2004
description
Transcript of Sept, 2004
Sept, 2004
Connecting SystemsWith ASAP
Keith D. SwensonFujitsu Software CorporationWorkflow Management CoalitionOASIS
2
Overview
Motivation for a StandardHome Purchase Scenario
Key Concept: Plug & Play ProcessesIt is not the wires, but the plug
ASAP interaction patternsWf-XML interaction patternsInteroperability DemoSummary
3
Home Purchase Scenario
4
Appraiser
Geology Report
Toxic Report
Assessor
Bank
Credit Report
Home Purchase Scenario
TitleCompany
EscrowCompany
MortgageCompany
Sellers
Buyers
Buyer’s Agent
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 processesWithout needing a programmerWithout having to change the way they work nowWithout requiring that every partner be identical
ASAP offers a plug-and-play approach to linking data of long term processes
7
Essential Connectivity
TelephoneCompany
Connection wiredby an electrician.
8
Empowering the Less-Technical
Connection can be made by non-technician
TelephoneCompany
9
Essential Choreography
SystemA
SystemB
SystemDeveloper/System
Integrator
SystemDeveloper/System
Integrator
BPELC#
SOAPXML
WS
DL
WS
DL
10
Connections via A.S.A.P.
SystemA
SystemB
SystemDeveloper/System
Integrator
SystemDeveloper/System
Integrator
SystemOperator
BPELC#
SOAPXML
WS
DL
WS
DL
11
Assessor
Home Purchase Scenario with A.S.A.P.
EscrowCompany
Sellers
Buyers
Buyer’s Agent
Seller’s Agent
Bank
Credit Report
MortgageCompany
TitleCompany
Appraiser
Geology Report
Toxic Report
12
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!
EscrowCompany
MortgageCompany
13
Interstage BPM implementation
(1)Factory URL
(2)Mapping fromfield to field
14
Not just a single round trip
EscrowCompany
AppraisalCompany
Context Data
ResultData
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
Notify Data messageR
ScheduleChanged
SetProperties message C
Need to checkon status
GetProperties message
CFinal report
readyCompleted message
RReceive report,allows other
things to go forward
15
The Basic ASAP Pattern
Observer
Observer
FactoryFactory
InstanceInstance
CreateInstance
Context XML Data
Completed
ResultXML Data
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 addressSpecify 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
Observer
Observer
FactoryFactory
InstanceInstance
CreateInstance
Completed
SetData
GetData
Notify
Context XML Data
ResultXML Data
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
Wf-XML Extension Patterns
Observer
Observer
CreateFactory
ListFactories
FactoryFactory
InstanceInstance
ActivityActivity
ContainerContainer
Get/SetData
ListActivities
ListInstances
21
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
22
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)
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 clienthttp://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
26
27
28
29
30
31
32
33
34
35
36
Thanks to Key People
.Net Reference Client/ServerJeff Cohen
FujitsuKeith Swenson – ASAP ChairSameer Predhan
HandysoftSusan MuldoonRob Cain
Cisco SystemsMayilraj Krishnan - Editor
EasyASAP Open SourceJohn Fuller – ASAP Secretary
TIBCO / StaffwareJustin BruntAdrian Tonkin
WfMCLayna FischerDanielle Smith
37
What is next?
ASAPTouch-up the specification with lessons learned during the
interoperability demo development.Advance it through OASIS Process
Wf-XML 2.0Bring Wf-XML 2.0 to same level of maturityChallenge 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
38
Summary Asynchronous Service Access Protocol
designed to meet this need.XML / SOAP messagesOASIS technical committeehttp://www.oasis-open.org/committees/tc_home.php?wg_abbrev=asap
WfMC Protocol Wf-XMLLayered on top of ASAP
Demo Site:http://67.113.139.106/asapclient/
39
Relationships
SOAPSOAP
ASAPASAP
Wf-XML 2.0Wf-XML 2.0
WSDLWSDL
WSDL 2.0WSDL 2.0
Protocol Metadata
40
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”.
41
Overlap with other standards?
BPELprogramming language, not protocol. Use BPEL to implement ASAP
WS-Securityno overlap: use this for secure ASAP exchanges,
WS-CAFno overlap: use this for transactional ASAP messages
WS-Reliability, reliable messagingno overlap: use this so that ASAP messages are reliable
SOAPNo overlap, ASAP messages use SOAP
ebXMLASAP interaction pattern can be implemented with ebXML messaging
42
Overlap with other standards?
WS-EventingProprietary 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-ResourcePropertiesThis 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.
UDDIno overlap: use UDDI to advertise factory operations
WSDLNo overlap, WSDL is used to define ASAP operations
43
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.
44
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”?