A Declarative Approach to Electronic Business
Ching-Long Yeh
Department of Computer Science and Engineering
Tatung University
Taipei 104
http://www.cse.ttu.edu.tw/chingyeh
A Declarative to EB 2
Abstract
• EB standards provide the neutral basis of
interoperability between trading partner
• Moving from procedural approach to declarative
approach
• Representation of EB standards using the ontology
technique
• Declarative approach to EB implementation
Electronic Commerce
• Evolution of electronic commerce– B2C, human-to-machine, online catalogue service– B2B, AP-to-AP,
• EB standards– RosettaNet、 ebXML、 BizTalk。
Transport, routing, packaging
Business processes,business documents
Company A Company B
Transport, routing, packaging
Business processes,business documents
Backend APBackend AP
A Declarative to EB 4
General EB Architecture
• EB standard architecture is divided into – Upper level: Standard business
processes and document– Lower level: Services for message
transport, routing and packaging
• Popular standards– Horizontal integration: ebXML– Vertical integration: RosettaNet (Information Technology,
Electronic Component and Semiconductor Manufacturing)– Messaging service: BizTalk Framework
Transport, routing, packaging
Business processes,business documents
A Declarative to EB 5
ebXML Technical Architecture
1. Obtain ebXMLspec
2. Build and deployebXML applications
3. Prepare andpublish CPP
4. Discover A'sprofile
5. Would like toengage in businesscenarioi usingebXML and forman agreement(CPA)
ebXMLregistry
Com
pany
A
Com
pany
B
6. Do business according to the content of CPA
A Declarative to EB 6
ebXML Infrastructure
• EB infrastructure consists of
1. Trading partner’s information
• Collaboration Protocol Profile (CPP) and Collaboration Protocol Agreement (CPA)
2. Business process and information meta model
• Business Process Schema Specification
3. Core component and core library functionality
4. Registry functionality
5. Messaging service functionality
Common BP andvocabulary
A Declarative to EB 7
CPP Structure<CollaborationProtocolProfile
xmlns="http://www.ebxml.org/namespaces/tradePartner"xmlns:ds="http://www.w3.org/2000/09/xmldsig#"xmlns:xlink="http://www.w3.org/1999/xlink"version="1.1">
<PartyInfo> <!--one or more--> ... </PartyInfo> <Packaging id="ID"> <!--one or more--> ... <Packaging> <ds:Signature> <!--zero or one--> ... </ds:Signature> <Comment>text</Comment> <!--zero or more--> </CollaborationProtocolProfile>
A Declarative to EB 8
CPA Structure<CollaborationProtocolAgreement
xmlns="http://www.ebxml.org/namespaces/tradePartner" xmlns:bpm="http://www.ebxml.org/namespaces/businessProcess"
xmlns:ds = "http://www.w3.org/2000/09/xmldsig#"xmlns:xlink = "http://www.w3.org/1999/xlink"
cpaid="YoursAndMyCPA" version="1.2"> <Status value = "proposed"/> <Start>1988-04-07T18:39:09</Start> <End>1990-04-07T18:40:00</End> <!--ConversationConstraints MAY appear 0 or 1 times--> <ConversationConstraints invocationLimit = "100" concurrentConversations = "4"/> <PartyInfo> … </PartyInfo> <PartyInfo> … </PartyInfo> <Packaging id="N20"> <!--one or more-->
… </Packaging> <ds:Signature>any combination of text and elements </ds:Signature> <Comment xml:lang="en-gb">any text</Comment> <!--zero or more--></CollaborationProtocolAgreement>
1. Any Party may register its CPPs to an ebXML Registry.
2. Party B discovers trading partner A (Seller) by searching in the Registry and downloads CPP(A) to Party B’s server.
3. Party B creates CPA(A,B) and sends CPA(A,B) to Party A.
4. Parties A and B negotiate and store identical copies of the completed CPA as a document in both servers. This process is done manually or automatically.
5. Parties A and B configure their run-time systems with the information in the CPA.
6. Parties A and B do business under the new CPA.
CPP(A)CPP(B)
CPP(X)CPP(Y)CPP(Z)
1.
1.CPA(A,B)
CPA(A,B)
(Document)(Exec. codet)
CPA(A,B)
CPA(A,B)(Document)(Exec. codet)
2.3.4.
5.
5.
6.
Party A(Seller, Server)
Party B(Buyer, Server)
Registry
Working Architecture of CPP/CPA
A Declarative to EB 10
Business Process SchemaConcept
A Declarative to EB 11
Business Process Schema in XML
A Declarative to EB 12
Procedural Approach to EB
• Specifications– Not machine-readable– Need human interpretation
• Lack of partner discovery mechanism (registry, CPP, CPA)
• Example: RosettaNet
A Declarative to EB 13
Declarative Approach to EB
• Specifications– Machine-readable (Business Process, Document, and
Vocabulary in either UML or XML)– Enabling automatic code generation
• Partner discovery mechanism (registry, CPP, CPA)• Example: ebXML
A Declarative to EB 14
Forming CPA by Automatic Negotiation
Packaging
Transport
Role
Packaging
Transport
Role
matches
matches
matches
Basic tasks of forming CPA
Rule-based Formation of CPA
Ontology(BPS, BD, CC)
BPS: Business Process SchemaBD: Business DocumentCC: Core Components
InferenceEngine
Rule Base
RDF triplesstore
Prolog rules
WebServer
Input: CPP1,CPP2
Result: CPA or difference
A Declarative to EB 16
Two-Layer Agent-Mediated EB Architecture
• We propose a two-layer agent-mediated EB architecture, where– The Upper Layer consists of agents that play the role of
Business Collaboration and Choreography in ebXML,– The Lower Layer consists of agents each of which
accomplishes a basic Business Transaction in ebXML.
F
BT
FTP, SMTP, HTTP
F
FTP, SMTP, HTTP
F Facilitator
BC BC
BC
BC
BusnessCollaborationAgent
BC
TP TP TP
UpperLayer
LowerLayer
BT
BT
BT
BTBusinessTransactionAgent
BT
BTBT
BT
TP TradingPartner
Interactions between BT Agents
BT BT
RequestingAgent
RespondingAgent
Request Document
Response Document
Receipt Ack Signal
Accept Ack Signal
Receipt Ack Signal
Interactions between BC Agents
RequestingAgent
RespondingAgent
Request Document
Response Document
Receipt Ack Signal
Accept Ack Signal
Receipt Ack Signal
RequestingAgent
RespondingAgent
Request Document
Response Document
Receipt Ack Signal
Accept Ack Signal
Receipt Ack Signal
RequestingAgent
RespondingAgent
Request Document
Response Document
Receipt Ack Signal
Accept Ack Signal
Receipt Ack Signal
RequestingAgent
RespondingAgent
Request Document
Response Document
Receipt Ack Signal
Accept Ack Signal
Receipt Ack Signal
BC BC
Generation of Execution Code from CPA
InferenceEngine
Rule Base
CPABC Agent Code
BT Agent Code
A Declarative to EB 21
Implementation
A Declarative to EB 22
Conclusions
• EB standards are moving towards declarative approach.
• We propose a declarative approach to EB implementation– Ontology– Rule-based– Generation of execution codes from specification documents