june, 2004

37
June, 2004 Connecting Systems With ASAP Keith D. Swenson Fujitsu Software Corporation Workflow Management Coalition OASIS

Upload: harding-potter

Post on 31-Dec-2015

35 views

Category:

Documents


0 download

DESCRIPTION

Connecting Systems With ASAP Keith D. Swenson Fujitsu Software Corporation Workflow Management Coalition OASIS. June, 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: June, 2004

June, 2004

Connecting SystemsWith ASAP

Keith D. SwensonFujitsu Software CorporationWorkflow Management CoalitionOASIS

Page 2: June, 2004

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

Page 3: June, 2004

Home Purchase Scenario

Page 4: June, 2004

Appraiser

Geology Report

Toxic Report

Assessor

Bank

Credit Report

Home Purchase Scenario

TitleCompany

EscrowCompany

MortgageCompany

Sellers

Buyers

Buyer’s Agent

Seller’s Agent

Page 5: June, 2004

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

Page 6: June, 2004

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

Page 7: June, 2004

Essential Connectivity

TelephoneCompany

Connection wiredby an electrician.

Page 8: June, 2004

Essential Choreography

SystemA

SystemB

SystemDeveloper/System

Integrator

SystemDeveloper/System

Integrator

BPELC#

SOAPXML

WS

DL

WS

DL

Page 9: June, 2004

Empowering the Less-Technical

Connection can be made by non-technician

TelephoneCompany

Page 10: June, 2004

Connections via A.S.A.P.

SystemA

SystemB

SystemDeveloper/System

Integrator

SystemDeveloper/System

Integrator

SystemOperator

BPELC#

SOAPXML

WS

DL

WS

DL

Page 11: June, 2004

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

Page 12: June, 2004

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

Page 13: June, 2004

Interstage BPM implementation

(1)Factory URL

(2)Mapping fromfield to field

Page 14: June, 2004

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

Page 15: June, 2004

The Basic ASAP Pattern

Observer

Observer

FactoryFactory

InstanceInstance

CreateInstance

Context XML Data

Completed

ResultXML Data

Page 16: June, 2004

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.

Page 17: June, 2004

The Full ASAP Pattern

Observer

Observer

FactoryFactory

InstanceInstance

CreateInstance

Completed

SetData

GetData

Notify

Context XML Data

ResultXML Data

Page 18: June, 2004

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

Page 19: June, 2004

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.

Page 20: June, 2004

Wf-XML Extension Patterns

Observer

Observer

CreateFactory

ListFactories

FactoryFactory

InstanceInstance

ActivityActivity

ContainerContainer

Get/SetData

ListActivities

ListInstances

Page 21: June, 2004

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

Page 22: June, 2004

Observers

organizations (selected from over 2200) have expressed interest in demo:

AFLACAG EdwardsAgfa HealthCareAgile SoftwareAIAI, University of EdinburghAT&TBanamexBank for International SettlementsBankers Systems, Inc.BearingPointBombardier AerospaceBudapest University of Technics & EconomicsCapgeminiCitigroupComputer AssociatesComputer Sciences CorporationDeloitte&ToucheEthiopian AirlinesFedEx Trade NetworksFrance Telecom R&DIntel Corp.

Johnson & JohnsonLockheed MartinLucent TechnologiesMaersk DataMicrosoft Business SolutionsNortel NetworksNorth Wiltshire District CouncilNorthrop Grumman Information TechnologyNSW PoliceSandia National LaboratoriesSchlumbergerScotiaBankSears, Roebuck and CompanyThe Associated PressThe Bank of East AsiaThe Undersecretariat of TreasuryThe Vanguard GroupU.S. Nuclear Regulatory CommissionUnited Nations Office for Project ServicesWellington City CouncilWestpac Banking Corp.

Page 23: June, 2004

The ASAP Scenario

Customer Retailer

customer order

customer orderconfirmation

Page 24: June, 2004

The Wf-XML Scenario

Customer Retailer Manufacturer

customer order

customer orderconfirmation

manufacturer orderconfirmation

manufacturer order

Page 25: June, 2004

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)

Page 26: June, 2004

Demo interaction pattern

.Net Reference

Client

Fujitsu Staffware HandySoft EasyASAP

Retailer Manufacturer Manufacturer Manufacturer

Page 27: June, 2004
Page 28: June, 2004

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

Page 29: June, 2004

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

Page 30: June, 2004

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

Page 31: June, 2004

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/

Page 32: June, 2004

Relationships

SOAPSOAP

ASAPASAP

Wf-XML 2.0Wf-XML 2.0

WSDLWSDL

WSDL 2.0WSDL 2.0

Protocol Metadata

Page 33: June, 2004

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

Page 34: June, 2004

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

Page 35: June, 2004

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

Page 36: June, 2004

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.

Page 37: June, 2004

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