1 explanation of examples of cppa v1.05 process-specification document cpp-a/b, cpa...

17
1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml) (draft-cpa-example-012.xml) Message Header (V2.0) Feb. 3, 2002

Upload: austin-ross

Post on 27-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

1

Explanation of Examples of CPPA V1.05

Process-Specification Document

CPP-A/B, CPA(draft-cpp-example-companyA-012.xml)

(draft-cpp-example-companyB-012.xml)

(draft-cpa-example-012.xml)

Message Header (V2.0)

Feb. 3, 2002

Page 2: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

2

Business Process and Information Model

ebXMLProcess-Specification

Document

ebXMLCPP/CPA

ebXMLBusiness Service Interface

Configuration

Process-Specification Document and Business Service Interface Configuration

Using Business Process Modeling, a user may create a complete Business Process and Information Model.

Based on this Business Process and Information Model and using the ebXML Business Process Specification Schema the user will then extract and format the nominal set of elements necessary to configure an ebXML runtime system in order to execute a set of ebXML business transactions. The result is an ebXML Process-Specification Document.

Alternatively the ebXML Process-Specification Document may be created directly, without prior explicit business process modeling.

An ebXML Process-Specification Document contains the specification of Business Transactions and the choreography of Business Transactions into Business Collaborations.

This ebXML Process-Specification Document is then the input to the formation of ebXML Collaboration-Protocol Profiles and Collaboration-Protocol Agreements.

These ebXML Collaboration-Protocol Profiles and Collaboration-Protocol Agreements in turn serve as configuration files (e.g. Messaging Header) for ebXML Business Service Interface software.

Page 3: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

3

An user create Process-Specification Document supposed to be used some Buyers and Sellers.Usually, Process-Specification Document is created by Service unit. (e.g. each RosettaNet PIP) Process-Specification Document describes choreography of Business Transactions and role of Parties.

Creation ofProcess-Specification Document

Creation ofCPP(Company A)and CPP(Company B)

A buyer creates CPP (Company A) based on ebXML CPPA Specification, In case of Business process scenarios, CPP points Process-Specification Document by URI. (Head of Process-Specification Document and position of Role element)And the buyer describe many CPP information. (ServiceBinding, DeliveryChannel, Transport, DocExchange, Packaging)Also, a Seller create CPP (Company B) like the same way.

Creation ofCPA between Company A and B

In usual case, The buyer creates CPA together with CPP (A) and CPP (B).The relationship between CPA and Process-Specification Document is same as CPP. That is, some URI under ProcessSpecification element and Role element point to suitable position of Process-Specification Document

General Procedure to create Process-Specification Document, CPP, and CPA

Page 4: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

4

Relationship between Process-Specification Document, CPP, and CPA

<ProcessSpecification uuid=<BusinessDocument name=<BusinessTransaction name= <RequestingBusinessActivity <RespondingBusinessActivity<BinaryCollaboration name=“Request Purchase Order” <InitiationgRole name=“Buyer” <RespondingRole name=“Seller”

Process-Specification Document(RosettaNet PIP3A4)

<PartyInfo partyname=“CompanyA”<ProcessSpecification name=“PIP3A4 xlink:href=“http://www.rosettanet.org/--<Role name=“Buyer” xlink:href=://www--<ServiceBinding <DeliveryChannel

<PartyInfo partyname=“CompanyB”<ProcessSpecification name=“PIP3A4 xlink:href=“http://www.rosettanet.org/--<Role name=“Seller” xlink:href=://www--<ServiceBinding <DeliveryChannel

<PartyInfo partyname=“CompanyA”<ProcessSpecification name=“PIP3A4 xlink:href=“http://www.rosettanet.org/--<Role name=“Buyer” xlink:href=://www--<ServiceBinding <DeliveryChannel<PartyInfo partyname=“CompanyB”<ProcessSpecification name=“PIP3A4 xlink:href=“http://www.rosettanet.org/--<Role name=“Seller” xlink:href=://www--<ServiceBinding <DeliveryChannel

CPP(CompanyA)

CPP(CompanyB)

CPA(CompanyA,B)

Page 5: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

5

Modifying Parameters of PSD (Process-Specification Document) based on information in the CPA

A Process-Specification Document and CPP/CPA has same kinds of parameters. An example is Security attributes that are counterparts of the attributes of the CPA BusinessProcessSpecification element.When a CPA created, the Parties may decide to accept different value of these parameters. In this case, these parameters shall override the original values expressed in the Process-Specification Document.In this case, overridden Process-Specification Document should be a copy of the original Process-Specification Document. Because the original Process-Specification Document may be used some different parties.

originalProcess-Specification

Document

CustomizedProcess-Specification

Document

Public PSD for every party

For special parties (e.g. company A,B)Customize

CPA (A,B)

Copy

Page 6: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

6

Examples of Process-Specification Document, CPP, and CPA(Collaboration-Protocol Profile and Agreement Specification V1.05)

These examples are supposed to be followings.

・ Binary collaboration between 2 companies. (‘CompanyA’, and ‘CompanyB’)・ These companies do collaboration using the RosettaNet PIP3A4 as Business Process Scenarios. -PIP3A4 is recognized as ‘Service’ in the view point of BPSS. -PIP3A4 has two business actions. These are recognized as ‘Action’ in the view point of BPSS. ‘Purchase Order Request Action’ and ‘Purchase Order Confirmation Action’.

Page 7: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

7

Business Transaction Dialog of RosettaNet PIP3A4: Request Purchase Order (V02.00)

Page 8: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

8

# Name

Tim

e to

Ackn

ow

led

ge R

eceip

t Sig

nal

Tim

e to

Ackn

ow

led

ge A

ccep

tan

ce

Sig

nal

Tim

e to

Resp

on

d to

Actio

n

Inclu

ded

in T

ime to

Perfo

rm

Is A

uth

oriz

atio

n R

eq

uire

d?

Is N

on

-Rep

ud

iatio

n R

eq

uire

d?

Is S

ecu

re T

ran

sp

ort R

eq

uire

d?

1. Purchase Order Request Action

2 hrs N/A 24 hrs

Y Y Y Y

1.1. Receipt Acknowledgment

N/A N/A N/A Y Y Y Y

1.2. Purchase Order Confirmation Action

2 hrs N/A N/A Y Y Y Y

1.2.1. Receipt Acknowledgment

N/A N/A N/A N Y Y Y

Message Exchange Controls of RosettaNet PIP3A4

Page 9: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

9

This Process-Specification Document has 3 parts contents.

(1)Business Document・ Two Business Documents are defined named ’Purchase Order Request’ and ‘Purchase Order Confirmation’.

(2)Business Transaction・ One Business Transaction is defined named ‘Request Purchase Order’ in this Process-Specification Document. ・ This Business Transaction has two actions named ’Purchase Order Request Action’ and ‘Purchase Order Confirmation Action’ under RequestingBusinessActivity element and RespondingBusinessActivity element.・ These BusinessActivity elements define associated Business Documents under DocumentEnvelope element. ・ Some security parameters are defined under these BusinessActivity elements. e.g. isAuthorizationRequired, isNonRepudiationRequired, timeToAcknowledgeReceipt

(3)Binary Collaboration・ One Binary Collaboration is defined named ‘Request Purchase Order’ in this Process-Specification Document. ・ BinaryCollaboration element defines associated Business Transaction. -Under this element, Roles (‘Buyer’ and ‘Seller’) are defined. Some parameters related collaboration are defined. e.g. timeToPerform, isConcurrent

Explanation of Example of Process-Specification Document

Page 10: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

10

Explanation of Example of CPP (CompanyA)

・’ CompanyA’ is supposed to be a buyer, and ‘CompanyB’ is supposed to be a seller.・ These companies adopted DUNS number as a party identification.

[ProcessSpecification element]・ ProcessSpecification element specifies URI of associated Process-Specification Document.

[Role element]・ Role element specifies role of party.・ The role of CompanyA is defined as buyer by Role element (‘name’ and ‘xlink:href’ attributes)

Page 11: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

11

[ServiceBinding element]・ ServiceBinding element defines Delivery Channels and Packaging by each Action. And also Delivery Channels and Packaging are specified by sending action or receiving action. e.g. WillInitiate element (for sending action), WillRespond element (for receiving action)・ In this example, CPP(A) has two ServiceBinding element. One is for asynchronous collaboration, and the other one is for synchronous collaboration. This means CompanyA has ability to do both asynchronous collaboration and synchronous collaboration.・ The value of Service element ‘bpid:ican:rosettanet.org:3A4$2.0’ will be used as the value of the Service element in the ebXML Message Header.

[Certificate element]・ In case of certification under CPPA specification, All Business documents are digitally signed based on XML Digital Signature specification [XMLDSIG]. ・ Certification information is defined by Certificate element. These certificate information are referred elsewhere in the CPP. Certificate information is able to be defined independently by using certID or securityId attributes. ・ TrustAnchors element represents a root certificate trusted by this party.

Page 12: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

12

Action(CompanyA)

→(A→B)←(A ← B)

Delivery Channel Packaging

Purchase Order Request Action

→ asyncChannelA1 CompanyA_RequestPackage

Receive Acknowledgement

← asyncChannelA1 CompanyA_ReceiptAcknowledgementPackage

Purchase Order Confirmation Action

← asyncChannelA1 CompanyA_ResponsePackage

Receive Acknowledgement

→ asyncChannelA1 CompanyA_ReceiptAcknowledgementPackage

Definition of Delivery Cannel and Packaging by using ActionBinding element

[DeliveryChannel element]・ Delivery Channel and Packaging are able to be defined by separately and independently using ActionBinding element and DeliveryChannel element.・ DeliveryChannel element has a function to determine Business process characteristics and Messaging characteristics.

BusinessProcessCharacteristics MessageingCharacteristics (asyncChannelA1) (asyncChannelA1)-isNonRepudiationRequired:true -syncReplyMode:none-isNonRepudiationReceiptRequired:false -ackRequested:always-isSecureTransportRequired:true -ackSignatureRequested:always-isConfidential:persistent -dupulicateElimination:always-isAuthenticated:true-isAuthorizationRequired:false

Page 13: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

13

Delivery Channel Transport DocExchange

asyncChannelA1 transportA2 docExchangeA1

[DeliveryChannel element]・ Delivery Channel also defines Transport and docExchange.

[Transport element]・ Transport element defines the party’s network communication capabilities.・ Communication capabilities are able to be defined by every sending and receiving action.

transportA2 TransportSender TransportProtocol:HTTP V1.1

TransportSecurityProtocol:SSL V3.0

TransportReceiver TransportProtocol:HTTP V1.1

Endpoint:https://www.CompanyA.com/servlets/ebxmlhandler/sync

TransportServerSecurity

TransportSecurityProtocol:SSL V3.0

Page 14: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

14

[docExchange element]・ docExchange element defines characteristics regarding exchange of business documents.・ These characteristics are able to be defined by sending and receiving action.

SendingBinding ReceivingBinding

ReliableMessaging RetriesRetryIntervalPursistDurationMessageOrderSemantics

3PT2HP1DGuaranteed

3PT2HP1DGuaranteed

NonRepudiation NonRepudiationProtocolHashFunctionSignatureAlgorismSigningCertificate

xmldsig#Xmldsig#sha1Xmldsig#dsa-sha1CompanyA_SigningCert

xmldsig#Xmldsig#sha1Xmldsig#dsa-sha1CompanyA_MessageSecurity

DigitalEnvelop DigitalEnvelopProtocolEncriptionAlgorismEncriptionSecurity

S/MIME V2.0DES-CBCCompanyA_MessageSecurity

S/MIME V2.0DES-CBCCompanyA_EncriptionCert

[Packaging element]・ Packaging element provides specific information about how the Message Header and payload constituent(s) are packaged for transmittal over the transport.・ The Packaging element provides information about MIME content types, XML namespaces, security parameters, and MIME structure.・ These information are capable to be defined by each sending and receiving action.

docExchangeA1

Page 15: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

15

Explanation of Example of CPA

This CPA has two PartyInfo elements. One is information for CompanyA (DUNS ’123456789’), the other one is information for CompanyB (DUNS ’987654321’). The role of CompanyA is buyer; this is specified by Role element under PartInfo element. The role of CompanyB is seller.

[Status element]The value ‘proposed’ means that the status of this CPA is under negotiation between two companies.The other value ‘agreed’ and ‘signed’ are capable.[Start element]‘2001-05-20T07:21:00Z’ means that this CPA will be valid from the time of 7:21 am UTC (Coordinated Universal Time) on May 5, 2001.[End element]‘2002-05-20T07:21:00Z’ means that this CPA will be invalid from the time of 7:21 am UTC (Coordinated Universal Time) on May 5, 2002.[ConversationConstraints element]‘100’ of invocationLimit attribute means that if the number of conversations is reached to 100 times, this CPA is terminated and must be renegotiated.‘10’ of concurrentConversations attribute means that 10 conversations can be in process at the same time. The meaning of number as the content of this element is number of business transaction (e.g. Purchase order), is not a performance parameter.

Page 16: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

16

Relationship between CPA and Messaging Header

CPA (A,B)

Business Document

Message Header

Header Envelope

Payload Envelope

Payload

・When the Business Document is composed by middleware above the Message Service Interface (MSI), Some parameters are referred and implemented in the Message Header in the Business Document.

Message HeaderElement/Attribute

Corresponding CPA Element/Attribute

PartyId element PartyId element

Role element Role element

CPAId element Cpaid attribute in CollaborationProtocolAgreement element

ConversationId element No equivalent; should be generated above the MSI

Service element Service element

Action element Action attribute in ActionBinding element

TimeToLive Computed as the sum of Timestamp (in message header)+PersistDuration (under DocExchange element)

MesageId No equivalent; generated by the MSH (Message Service Handler) per message

Page 17: 1 Explanation of Examples of CPPA V1.05 Process-Specification Document CPP-A/B, CPA (draft-cpp-example-companyA-012.xml) (draft-cpp-example-companyB-012.xml)

17

<eb:MessageHeader id="…" eb:version="2.0" SOAP:mustUnderstand="1"> <eb:From><eb:PartyId>123456789</eb:PartyId></eb:From> <eb:To> <eb:PartyId eb:type="someType">987654321</eb:PartyId>

<eb:Role>http://rosettanet.org/processes/3A4.xml#seller</eb:Role> </eb:To> <eb:CPAId>uri:companyA-and-companyB-cpa</eb:CPAId> <eb:ConversationId>987654321</eb:ConversationId> <eb:Service eb:type=“anyURI">bpid:icann:rosettanet.org:3A4$2.0</eb:Service> <eb:Action>Purchase Order Request Action</eb:Action> <eb:MessageData> <eb:MessageId>UUID-2</eb:MessageId> <eb:Timestamp>2000-07-25T12:19:05</eb:Timestamp> <eb:RefToMessageId>UUID-1</eb:RefToMessageId> </eb:MessageData> <eb:DuplicateElimination/></eb:MessageHeader>

Example of Message Header of ‘Purchase Order Request’ Document(based on MSG Specification V2.0)