Post on 06-Apr-2018
transcript
Electronic Electronic Trading-Partner Trading-Partner
AgreementsAgreements(tpaML) (tpaML) Martin Sachs
Scott HinkelmanJohn Ibbotson
Asit Dan
IBM CorporationAug. 9, 2000
© Copyright IBM Corporation 2000, all rights reserved1 ebXML.prz
Companies have not been able to tightly integrate their Web commerce application to their back-end systems.
Dozens of complex ERP and business application systems 90% of the Fortune 1000 run on at least three different operating systems, further complicating business integration.
And few e-commerce Web sites are integrated with existing business systems today.
Our own research indicates that as little as 2% of all e-commerce sites integrate with their back end systems.
Business integration is complex, time-consuming."70% of the cost of writing an application is writing the infrastructure" -- Gartner
Challenges to Business IntegrationChallenges to Business Integration
2 ebXML.prz
SolutionSolution
Electronic Trading Partner Agreement (TPA)"Trading Partner Markup Language" (tpaML)
Business to Business Protocol Framework (BPF)Run-time support for TPA
Streamline the process of setting up and doing business between businesses.
3 ebXML.prz
Inter-enterprise IntegrationInter-enterprise Integration
Workflow
BPBP
BPBP
Trading Partner Trading Partner
BPF: Business-to-business Protocol Framework
Application
Application
Business Process
Application
Application
Business Process
TPAs
Untrusted Access
No Shared Middleware
Long-Running Conversations
Back-end IntegrationWorkflow
Back-end Integration
Application
Application
XML
BPF
4 ebXML.prz
Cross-enterprise Application IntegrationCross-enterprise Application IntegrationHeterogeneous applications and platforms
Business partners not required to use same middleware
Loose coupling of business platformsEach party's internal processes independent of other parties
No party can lock resources at other partiesLogs provide needed correlations among parties
Untrusted application componentsControlled & monitored Policy constraints
E.g. when can a reservation be cancelled?5 ebXML.prz
Local Business Processes
TPA
Electronic TPAElectronic TPA
Customer Business 1 Business 2
Subcontractors
TPAsMessage exchanges
Rules of interaction between independent businessesIndependent of the internal business processes at each partyXML document
Authoring tool (understands TPA semantics)Automatic generation of customization code at each party
Formal specification of TPA avoids misinterpretationAssures that parties configured compatibly
Example: Travel agent Airline
Local Business Processes
Local Business Processes
6 ebXML.prz
Key TPA ElementsKey TPA Elements
Modify after reserve
Reserve, modify
Timeout
Buyer, seller, broker
Authentication,non-repudiation
IdentificationOverall properties
Communication properties
Actions
Sequencing rules
Roles
Error handling
Comments
Security properties
Responsiveness
Business partner info.TPA duration
HTTP
Retries, actions invokedID of accompanying paper
contract
Examples
7 ebXML.prz
XML based TPA StructureXML based TPA Structure<TPA><TPAInfo>
<!--TPA name, participants, etc.--></TPAInfo>
<Transport><!--communication, transport security--></Transport>
<DocExchange><!--message formats, message security--></DocExchange>
<BusinessProtocol><!--Action Menu for each party--></BusinessProtocol>
</TPA>
8 ebXML.prz
TPA UML ModelTPA UML Model
Scott Hinkelman
9 ebXML.prz
Functional Layer ComparisonFunctional Layer Comparison
Business Logic
Transport
Doc ExchangeTPA
ebXMLLayer
BusinessProcess
MessageExchange
TRPMessaging
Business Protocol
Application
BusinessProtocol
Implementation
DeliveryChannelTransport
Envelope
BPF
Configuration of partners
10 ebXML.prz
RolesRolesTPA may be in terms of actual parties or roles
Example of roles: buyer, sellerRoles used to build prototype TPAsAuthoring tool or registration tool resolves roles
Replace roles by specific parties everywhere in TPAFill in party-specific information such as addresses
<Role><RoleDefn> <!--1 for each party--><RoleName>obibuyer</RoleName><RolePlayer>IBM</RolePlayer></RoleDefn>
</Role>
11 ebXML.prz
Key Transport ElementsKey Transport Elements
CommunicationProtocol
HTTP, SMTP, FTP, VAN-EDIAddresses
Transport SecurityEncryption definitionAuthentication definitionCertificates
Each party's certificate URLCertificate authorities' certificate URLsKey length
12 ebXML.prz
Key Document-Exchange ElementsKey Document-Exchange Elements
Message encodingOption to check for duplicate messagesMessage RetriesMessage security
Nonrepudiationcertificates
Digital envelopecertificates
13 ebXML.prz
Delivery ChannelDelivery Channel
Combination of One transport definition One doc exchange definition
Multiple delivery channels in TPADynamically selected for each messageStatically bound to individual actions
14 ebXML.prz
Elements of Action DefinitionElements of Action Definition
Request name
Request message (schema)
Delivery channel
Reply name
Exception reply name
Maximum allowed service time
Sequencing rules
15 ebXML.prz
Action ExamplesAction Examples
Actions in a procurement TPAProcess purchase orderModify purchase orderCancel purchase order
Actions in an airline reservation TPAReservation requestModify reservationCancel reservationConfirm reservation
Actions in a TPA are defined by the business application, not mandated by the TPA standard.
16 ebXML.prz
Action DefinitionAction Definition<Action><Request><RequestName>processOBIPOR</RequestName><RequestMessage>OBIPOR</RequestMessage><Channel ChannelID="name" /> </Request>
<Response><ResponseName>name</ResponseName></Response>
<ExceptionResponse><ExceptionResponseName>name</ExceptionResonseName>...
<ResponseServiceTime><ServiceTime>time</ServiceTime></ResponseServiceTime>
<Sequencing>...
</Action>
17 ebXML.prz
Sequencing RulesSequencing Rules
<StartEnabled><RequestName>action_name</RequestName><!--one for each action allowed as initial action-->
</StartEnabled>
<Sequencing><Enable> <!--actions permitted after this one-->
<RequestName>name_of_action</RequestName><!--one or more-->
</Enable><Disable>
<!--actions not permitted after this one--><RequestName>name_of_action</RequestName>
<!--one or more-->
</Disable>
</Sequencing>
Directly under Service Interface tag
Inside Action Definition
18 ebXML.prz
TPA
<RequestMessage>
<RequestName>
<ServiceInterface>
Conversation
<Sequencing>
<RoleName>
<Member>, <Party>
<Sequencing>
BP MetaModel, Ver. 2.0and tpaML
Delivery Channels
19 ebXML.prz
Long-Running ConversationLong-Running Conversation
Conversation is unit of business under a TPA Sequence of related actionsAsynchronous or synchronous messagesEach party maintains history and enforces
TPAEach party maintains correlations across
conversationsEach party invokes their own internal
business logic
20 ebXML.prz
TPA Registration
Message Routing
Sequencing Rules
Business document generation and parsing
Security
Correlation of conversations
Logging
Recovery
Some BPF ServicesSome BPF Services
21 ebXML.prz
TPA
TRANSPORT LAYER
DOC EXCHANGE LAYER
BUSINESS PROTOCOL LAYER
BUSINESS LOGIC
BPF Functional LayersBPF Functional Layers
BPF
22 ebXML.prz
Business Setup, Operations ComponentsBusiness Setup, Operations Components
TPA RegistrationMapping InfoCode generationRuntime info
Business Logic RegistrationHelper Registration
HelpersParsersDoc genSecurity handlersEncoders
B2BIF Manager
Runtime Services
Doc repositoryLoggingQuery svcs
Order Management FrameworkBack-end processes
Network
Reg. Tools
Registration DB
BusinessLogic
TPA TPA AuthoringTool (GUI based)
BUSINESS SETUPBUSINESS OPERATIONS
Transport DocXchange Business Protocol
Business Logic
Recovery Mgmt
B2BIF manages (i.e., creates, recovers, provide execution thread, etc.) TPA instances (objects)
Pre-defined (e.g., OBI) or private XML based B-B interaction protocol
23 ebXML.prz
Requisitioner MerchantServer
OBIServer
OBIServer
1WebServer
2
34
Validation 5
ApprovalProcess 6
7
Payment Process (SET)
8
FulfillmentProcess
9
OBI: Open Buying on the InternetOBI: Open Buying on the Internet
Buyer organization Seller organization
TPA
24 ebXML.prz
Automation of TPA Life Cycle (Futures)Automation of TPA Life Cycle (Futures)
Discovery/Negotiation based on TPA templatesPartner profile based on TPA template
Standard parameters, defaults, choicesServices advertisement and discovery
Repository of partner profiles, query capabilityNegotiation services
Negotiation of TPA details between partnersRegister negotiated TPA at partner sitesDo business
25 ebXML.prz
SummarySummary
Executable TPA (XML document)Authoring tool, code generation tool
TPA can support existing standards (e.g. OBI)TPA functions
B to B protocol (action definitions)Document exchange definitionsTransport definitions
Infrastructure for coordinating inter-business and intra-business processes (BPF)
26 ebXML.prz
Backup FoilsBackup Foils
The following charts are preserved here for possible later use.
27 ebXML.prz
External Automated
Growth of e-businessGrowth of e-business
Businessto
Business (B2B)
Business to
Consum
er (B2C
)
"Business-to-business e-commerce is expected to grow rapidly, at five to ten times the rate of business-to-consumer e-commerce." IBM's Corporate Strategy Global Market Trend (GMT), 1998
External Interactive
28 ebXML.prz
B2B Before ComputersB2B Before Computers
Two companies decide to do business together.
Lawyers draw up a paper trading-partner agreement defining roles, reponsibilities, etc.
Transactions initially exchanged paper documents.
Computers then made these transactions faster and easier.
Origin of EDI
29 ebXML.prz
Electronic Data Exchange (EDI)Electronic Data Exchange (EDI)Early worldwide e-commerce standard (ca. 1980)
ANSI X12 and UN/CEFACT
Goal: Reduce paperwork, better efficiency thru e-commerceIn use by some of the larger companies in developed nationsSome problems: expensive, time-consuming to develop, not designed for the web modelFollow-on work: ebXML
Reduce barriers of entry, simplify e-commerce for small companies / developing nationsXML based
30 ebXML.prz
Buying and selling across the supply chainSuppliersManufacturersDistributorsResellersBuyers (businesses / consumers)
Other ways of doing business electronically
Electronic Data Interchange (EDI)Electronic bill presentment and paymentElectronic bankingDemand generation
So What is B2B e-Commerce?So What is B2B e-Commerce?
31 ebXML.prz
Business to Business Integration Business to Business Integration Framework Framework
Infrastructure for coordinating intra-business and inter-business processes in electronic commerce
Supports B2B processes based on electronic Trading Partner Agreement (TPA) specified in XML OBI, RosettaNet and other emerging protocols supported as special cases
Business 3
BackEndSystems
Buying Selling
BPF EC Suite
comm
Business 4
Business 2
BackEndSystems
Business 1
32 ebXML.prz
Using the Electronic TPA to do BusinessUsing the Electronic TPA to do Business
Parties agree on how to interact
Write application code
Write a TPA that expresses the agreement
Generate TPA code at each partner's site
Register (install) information from TPA
Do business under the TPA
33 ebXML.prz
Standardizing the TPAStandardizing the TPA
Interoperability is essential to wide-spread B2B e-commerce
Avoid vendor-dependent solutionsPartners with different implementations must be able to do business
Create a vendor-neutral standard TPA languageIBM has submitted tpaML to ebXML as input to a standardization activity on electronic TPAsDraft tpaML specification available from http://xml.org/xmlorg-resources/b2bxml.shtml
34 ebXML.prz
Communication ExampleCommunication Example<Communication><Protocol>HTTP</Protocol><HTTPNode><OrgName>obibuyer</OrgName><HTTPAddress><URL>https://x.com/OBIBuy</URL></HTTPAddress>
</HTTPNode><HTTPNode><OrgName>obiseller</OrgName><HTTPAddress><URL>https://y.com/obisell</URL></HTTPAddress>
</HTTPNode><TransportEncoding<encode</TransportEncoding><TransportTimeout>...<NetworkDelay>...</Communication>
35 ebXML.prz
Document Exchange ExampleDocument Exchange Example<DocExchange><MessageEncoding>BASE64</MessageEncoding><MessageIdempotency>Yes</MessageIdempotency>
<MessageRetries><Retries>number</Retries><RetryInterval>time</RetryInterval></MessageRetries>
<MessageSecurity><!--definitions for nonrepudiationor digital envelope-->
</MessageSecurity><DocExchange>
36 ebXML.prz
Delivery Channel ExampleDelivery Channel Example
<DeliveryChannelSet><!--one or more DeliveryChannel tags-->
<DeliveryChannel
ChannelId="channel01"
TransportId="transport01"
DocExchangeId="docexchange01" >
<Version>version</Version>
</DeliveryChannel>
</DeliveryChannelSet>
37 ebXML.prz
Key Security ElementsKey Security ElementsTransport Security
Encryption ProtocolAuthentication
Certificate type and issuer
Message SecurityNonrepudiation
Protocol, hash functionEncryption and signature algorithmsCertificate type and issuer
Digital envelopeEncryption algorithmCertificate type and issuer
38 ebXML.prz
Supporting ToolsSupporting Tools
Authoring toolUnderstands TPA semantics
Code generator Converts TPA to code at each party's system
39 ebXML.prz
Customization/Generation GoalsCustomization/Generation GoalsCreate TPA object at each business partner.
Interface between TPA-defined actions and code at each party
Automatic registration of TPA at each party parameters of party identification, communications, security, and business protocol
Application can be up and running within minutes of finalizing TPA. Future: automated TPA negotiation
Dynamically build, execute, and terminate a relationship
40 ebXML.prz
Authoring ToolAuthoring Tool
TPADTD
ExistingModel
AuthoringTool
TPADocument
NewModel
ExportedModel
ImportedModel
Creating A ModelCreating A Model
AuthoringTool
New TPADocument
Creating A TPACreating A TPA
Robert Kearney
41 ebXML.prz
Authoring ToolAuthoring Tool
DTD defines only XML syntaxAuthoring tool understands TPA semanticsModel of each tag
Data characteristics, defaults, rulesDTD + collection of models + author input --> final TPA
42 ebXML.prz
Code Customization/GenerationCode Customization/Generation
Customize generic code that represents TPAGenerate specific class files for each TPA from templates
Approaches to creating TPA-specific run-time code
43 ebXML.prz
Code CustomizationCode Customization
Registration tool generates TPA Instance object
All the characteristics of each actionAll other run-time parameters from TPA
Generic TPA object is customized by contents of TPA Instance object at run timeOther objects, such as document exchange also use TPA Instance object
44 ebXML.prz
Code GenerationCode Generation
InformationFile
MacroProcessor
TPADocument
TemplateTemplate
TemplateTemplate
OtherSources
RegistrationInformation
OutputOutput
OutputOutput
OutputOutput
Output
Robert Kearney
45 ebXML.prz
Code Generation ToolCode Generation ToolGenerates TPA object
Interface between contract actions and methods at each party
Tool fills in code templates (e.g. Java statements)Macro language defines transformation of TPA
Information fileDirectoriesData types and their Java classesReferences to other templates
Template + TPA + Info file --> output class
46 ebXML.prz
General B2B Process Flow General B2B Process Flow
Portal, Web-page integration Catalog integrationB2B processes
Ordering, fulfillment, payment, etc.
Supply chain e.g. insurors, brokers, reinsurors
Local Business Process
TPA Seller
SupplierManufacturerService ProviderAgencyWarehouseConsolidator
B-B processesand transactions onthe Internet
Sub-contractorSupplierBuyer (e.g. approval)Service providerPayment process
Application Classes
TPA
TPA
47 ebXML.prz
Group Compensation
BPF Components and FlowBPF Components and Flow
Automatic Generation of Interface/Rule Code
Tools
Trading Partner
Agreement
InboundClient requests/ replies
Outbound Sub-contracted Service requests/ replies
BPF Svcs.BPF Svcs.BPF Svcs.BPF Svcs.
Event HandlingBPF Log
Rule Engine
Application Admin. Resource Mgmt.
Conversation historyQuery status/historyAudit Trail
Error ControlMsg
ada
pter
s
Msg
ada
pter
s
Tran
spor
t sec
urity
Tran
spor
t sec
urity
Local application
ERP, Workflowand other
Applications
Local business processes
TPA object
TPA object
App
. sec
urityI/F to Bus.
Logic Methods
RulesApp
. sec
urity
Document Repository
UDBWeb Server JVMOperating Systems: NT OS/400 AIX Solaris OS/390
BPF Manager
EJB
48 ebXML.prz
tpaML and OpenEDItpaML and OpenEDI
BOV
FSV
OpenEDISp
ecifi
catio
n of
busi
ness
-bus
ines
s in
tera
ctio
n
tpaML
Delivery channel
implementation
Bus. ProtocolImplementation
BPF
BOV=Business Operational ViewFSV=Functional Services View
Inter-partner
Configuration of partners
49 ebXML.prz
AcknowledgmentsAcknowledgmentsWe gratefully acknowledge the following colleagues for theircontributions to tpaML and BPF:
Satwinder BrarCatherine CrawfordDaniel DiasChristine DraperVibby GottemukalaSigmund HandelmanRobert KearneyRichard KingGeorge KleonLinh LamTerry LauKeith MantellThao NguyenStewart PalmerFrancis ParrHidayatullah Shaikh
50 ebXML.prz