OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebcore message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ebxml-bp] ebBP question: ComplexBTA


Well, let us mark your proposal an issue for ebBP. (We need to start a jira project for those.)

 

For your modeling purposes, create a schema that allows collaboration activities within a cBTA. As you point out that is not much of a change to the model. You could also import ebBP into some new schema and add new elements as needed with new names. That might be cleaner.

 

As far as your comment

 

(if there )has to be split into separate transactions just because the choreography language is not expressive enough, there is an issue with the choreograph language, not the choreography. 

 

you may be correct. It depends on just what the “states” are that transitioned between in a choreography that were usually given the informal semantics of “unit of business interaction”

 

 But a specification language (being somewhat normative) is not necessarily at fault if something (a putative choreography) is not describable in it (or within some part of it).

 

I do think that there is something useful missing from ebBP language and it is something like the temporal constraints found in languages such as PSL. If we had a BTA b and could say of some other BTA or CA (call it p)  that p completes during the interval of b, we could then specify the relationships of the choreographic components without making them “substates” or “subcomponents” …

 

In other words, there are other ways to specify choreographies than that found in BPSS or ebBP and we might want to draw upon them (integrate them) the next time that ebBP gets revised.

 

* PSL is a project at NIST  http://www.mel.nist.gov/psl/

 

 

Anyway, we can take up a version 3 of ebBP when there are resources and interest sufficient to reach a critical mass.

 

 


From: Pim van der Eijk [mailto:pvde@sonnenglanz.net]
Sent: Monday, January 11, 2010 12:59 PM
To: Moberg Dale; ebcore@lists.oasis-open.org
Cc: ebxml-bp@lists.oasis-open.org
Subject: RE: [ebxml-bp] ebBP question: ComplexBTA

 

 

Hello Dale,

 

Thanks a lot for your reply. Two comments inline below.

 

Pim

 

 


From: Moberg Dale [mailto:dmoberg@axway.com]
Sent: 11 January 2010 17:39
To: Pim van der Eijk; ebcore@lists.oasis-open.org
Cc: ebxml-bp@lists.oasis-open.org
Subject: RE: [ebxml-bp] ebBP question: ComplexBTA

 

The current cBTA is not defined in complete generality, partly because it was difficult to gain both clarity and consensus about what the cBTA was supposed to support.

 

The major function was to allow a choreography to allow “interpolating” activities between two parts of a business transaction. The recursive feature extended what was available from earlier BPSS options. Visibility was added to permit documentation of “who” had what information available about status or of events of documents being exchanged (between remote parties). So the extensions were an attempt to come to grips with multiparty transactions, while recognizing that completely global views of what was going on were not in general available to all parties.

 

I think it is fair to say that this material was “experimental” and would be subject to change and elaboration as use was made of the newly introduced constructs and expressivity. 

 

<Pim> For a customer project, I am trying to use the ebBP to define the interactions between a business intermediary (not an MSH intermediary), its clients and its suppliers. As a result of the limitations of the current ebBP cBTA, I can only express one of the seven business collaborations I am working on right now.  That is a very disappointing score, since these collaborations are not very complex at all.   Replacing the definition of CBTA with the following definition provides the generality I need:

 

 <xsd:element name="ComplexBusinessTransactionActivity">
  <xsd:complexType>
   <xsd:complexContent>
    <xsd:extension base="BusinessTransactionActivityType">
     <xsd:sequence>
      <xsd:element ref="Start"/>
      <xsd:group ref="collaborationGroup" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:extension>
   </xsd:complexContent>
  </xsd:complexType>
 </xsd:element>

 

The StatusVisibility element (which I am still trying to understand) is missing from this. (To the extent that I understand what it is intended to do,) I think it could be added to collaborationGroup.  </Pim>

 

I think that updates to cBTA are probably part of a project in which we revisit patterns of visibility, how event reports (documents, statuses, etc.) are to be connected with process descriptions,  how choreography descriptions are to be merged with orchestration descriptions, and whether we might be better off introduction more one-action BTs to avoid a need to interpolate process descriptions in the middle of a BTA. 

 

<Pim> If each logically related pair of business documents (like Order and Order Response, Request for Quote and Quote etc.) has to be split into separate transactions just because the choreography language is not expressive enough, there is an issue with the choreograph language, not the choreography.   When using ebBP with CPA and ebMS,  "two way" versus "one way" transactions also control whether messages are correlated using RefToMessageId in the message header.  It is not just a modelling issue.  In an messaging environment (especially if it has high-volume, low-latency requirements, or if the payload is encrypted using a key that the MSH has no access to) you want to be able to process messages asynchronously using the message header only (dispatch to the appropriate handlers registered for the (RefTo)MessageId) without having to look at other correlation information in the business document. </Pim>

 

 

(I think you can see that a cBTA is a hybrid notion in that it represents aspects of the Receiver’s orchestration (constrained to descriptions of  (nearly) public subprocesses involved in that orchestration.)

 

So whether to extend cBTA to be more general, as you suggest, or to tinker with BT patterns, and how to handle visibility of events (and its relation what is being _specified_ about state alignment) are all part of the same tangle.

 

There was also a desire to allow ebBP choreography descriptions to fit in with the emerging BPMN 2 descriptions. BPMN 2 is undergoing some final changes and some of the new complications that appeared (conversations, choreographies, collaborations) are in a process of being smoothed out. I would prefer to see the dust settled over in OMG so we can align with their notations. And presumably we will obtain a means for placing both choreographic descriptions and orchestration descriptions into one model (but possibly separable views).

 

In addition, RosettaNet MCC is working on updating their choreographies to make use of ebBP and to apply to the new MMS approach, so that there are potentially use cases coming from that consumer that will help us see what needs to be done to improve ebBP for its concern with a specification language for public processes.

 

 

 


From: Pim van der Eijk [mailto:pvde@sonnenglanz.net]
Sent: Monday, January 04, 2010 12:06 PM
To: ebcore@lists.oasis-open.org
Cc: ebxml-bp@lists.oasis-open.org
Subject: [ebxml-bp] ebBP question: ComplexBTA

 

 

Since this TC is taking over maintenance of ebBP, here is a question related to the ebBP 2.0.4 OASIS Standard.

 

Suppose we have a Business Collaboration involving a "Quote Request" and a "Quote Confirmation".  In RosettaNet these two document exchanges relate to the same PIP 3A1, "Request Quote".  In ebBP it makes sense to model this as a Business Transaction (or one of the UN/CEFACT pattern-specialized types of Business Transaction). From the point of view of the business collaboration that this exchange is part of, the interaction is atomic. The ebBP business transaction is a representation for a PIP.

 

Now suppose there is a need to enhance the Request Quote transaction to also cover the interactions that support it.  Perhaps the Seller needs to contact one or multiple suppliers or sub-contractors to obtain the information needed to generate the Quote Confirmation, and we want to model this.

 

The ebBP standard does have a construct for this purpose:  ComplexBusinessTransaction.  If the Seller needs to invoke another business transaction, or even a complex business transaction (recursively involving other transactions), the current standard supports this.  It is also possible to define the complex transaction as a series of two transactions, and to associate "visibility" information to them.

 

Now suppose the embedded transactions are not taking place sequentially, but in parallel.  The ebBP standard has a way of expressing nested business flows, and they are available in the content model of the Collaboration elements. However, they are not available in the Complex Business Transaction.  I would like to see the content model of Complex Business Transaction Activity to include

<xsd:group ref="collaborationGroup" maxOccurs="unbounded"/>

 

like the other ebBP elements. It would mean:  the nested flow of activities (perhaps including third parties, parallelism, decisions, forks, joins ..)  takes place between the incoming request and response.  Why is this not the supported in ebBP 2.0.4?    I can't see why a simple linear series of transactions is "atomic", but a parallel execution of those transactions is not. Or why a single recursively nested structure is, but some other structure is not.

 

A difference between the CBTA content model and the Collaboration content model is the presence of the StatusVisibility element. This element could be included in the collaborationGroup too, leaving the access to the visibility information (using status request type of messages) up to further profiles. 

 

The above generalization is so .. general .. that I'm  probably missing something basic.

 

Any comments welcome ..

 

Pim

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]