ebxml-tp message


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

 


Help: OASIS Mailing Lists Help | MarkMail Help
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

Subject: Thoughts on the specification metamodel


Here are some thoughts on the specification metamodel based on the recent
discussions and XML example. Some of these points are new and some amplify
points made during the recent conference calls.

The content of the specification for the XML output of the specification
metamodel must provide enough information for a vendor to build an
installation tool that can read the XML for any business process and
configure the systems of a  specific pair of partners to enable them to do
business.  Could the metamodel generate a DTD that covers any business
process?

We will need to define links between the specification layerand the rest of
the CPP/CPA to enable specific items in that layer to be referred to by the
rest of the CPP/CPA. The linking mechanism should be specified now even if
we decide defer applications of it to a later phase, to avoid complications
later.

   NOTE:  since the IBM tpaML proposal is stated as a single xml document,
   ID REF attributes are sufficient for these links.

   Example:  To be able to associate specific delivery channels with
   specific request or response messages.  This capability exists in tpaML
   based on examples in RosettaNet.

   Example:  If there are parameters in the specification layer which are
   only given values during the process of constructing a CPA from two
   CPPs, it will be necessary to refer to these parameters from the rest of
   the CPP/CPA. An example is the timing parameters. (An alternative for
   this case is to make the contents of the specification XML layer
   directly subject to the negotiation process.)

   Example:  if the specification layer xml is always in terms of roles,
   elsewhere in the CPP/CPA, the party ID for each role would have to be
   stated.  To do this, mention of a role elsewhere in the CPP/CPA must
   mean the role of the same name in the specification layer xml.

Transitions:  The Specification metamodel doesn't have a notion of
disabling a commercial transaction.  This notion is in tpaML.

   Disable is probably not needed if the choreography is strict sequential
   execution of C-Ts under control of the transition tags.

   Disable might be needed if there is ever a point at which any of several
   C-Ts can be next or if more than one can be the next one executed.

In the 11/29/00 phone call, Karsten said that the service interaction is a
set of C-Ts with no ordering implied.  If no transitions are stated, the
C-Ts can be issued in any order.

   This suggests the need for "disable" since depending on the path
   initially taken, a point may be reached where not all C-Ts are allowed.

   Is it intended that once a <Transition> is executed, it rules out all
   C-Ts except the "to" C-T?  But then, what is the state after that "to"
   C-T is executed if it doesn't have <Transition>?  (in tpaML, if an
   action does not include a sequencing rule, the enabled and disabled
   states of all the actions are unchanged.)

In the 11/29 phone call, Karsten mentioned the notion of "startpoint" as
indicating which C-T is the first in the service interaction but I didn't
see an example of this in the xml example that was distributed.

   The runtime has to know which C-T is allowed to be first so it can
   determine that the C-Ts are being issued in the correct odrder.

   Should we provide for more than one C-T to be permitted as the first
   one?  (tpaML has this notion).

   Providing for more than one C-T to be permitted as the first also
   suggests the need for disabling C-Ts.  For example, if both A and B are
   permitted as the initial C-T, then when one is issued, it might be
   necessary to disable the other one.

In the 11/29 phone call, Karsten stated that the model has no way to define
a "1-sided" interface as might be needed in a CPP to indicate "these are
the C-Ts that I accept".

   One possibility is to generate the xml for one explicit party and one
   role.

   Another possibility is to generate the xml for two roles and indicate
   elsewhere in the CPP which role the owner of the CPP plays.  This would
   require a means to assure that mention of a role elsewhere in the CPP or
   CPA means the role with the same name in the rest of the CPP/CPA.

Request:  Does the type attribute identify the DTD or schema?

A commercial transation may have multiple sequential responses, e.g. the
series of confirmation messages that are sometimes used.  Can the model
represent these intermediate responses?  Will it simply generate multiple
Response tags for these?

   If so, we will need a way to state that the responses occur in order.
   Perhaps the order can be given by the order of the Response tags.

   We will also have to distinguish sequential responses from mutually
   exclusive responses (e.g. OrderConfirmation and OrderDenied in the xml
   example that was distributed).  One possibility is to define the tag
   ExceptionResponse for exceptions rather than using Response.

Timing: tpaML defines a retry interval in response to requests from various
people in IBM.

Under the service interaction OrderCollaboration:

   Shouldn't the C-T activity "QuoteRequest" be included?

   QuoteCT identifies a commercial transaction wheras all the other C-T
   activites refer to request tags.

   The C-T activity "Order" has type "OrderCT" while the "Order" request
   has type="Order".  This is the only C-T actvity with a type attribute.
   Is the type attribute spurious here?

Synchronization was briefly discussed in the 11/29 phone call but I don't
think we were clear on this.  The case is:

   Commercial transactions A and B may be issued (logically) concurrently.
   Transaction C can be issued only when both A and B have completed
   successfully.  How is this to be expressed?  One possibility is a
   transition with two guard attributes.  "AND" between the two guards
   would be implied.

   This raises other questions: How do I express the rule that following
   C-T D, A and B can be issued logically concurrently?

   How do I express that C-T E can be issued after either A or B?  This is
   probably done simply by writing two transitions:  One whose "from" is
   A's response message; one whose "from" is B's response message.

Does the model provide "richer" choreography than shown in the XML example?
If so, what is provided?

What is the difference between BusinessCollaboration and
ServiceInteraction?

WarrantyManagementNotification:  This takes place entirely inside the
seller.  Therefore, it doesn't belong here.  The xml should define only
what goes on between two parties, not what takes place inside one party.
There could be C-Ts for RequestWarranty (buyer to seller) and SendWarranty
(seller to buyer).

Shipper interactions:  As with WarrantyMangementNotification, shipper
interactions seem to be entirely inside each party and don't belong here.
There could be a ReceivedShipment C-T which the buyer issues to the seller
after receiving the shipment.

Regards,
Marty

*************************************************************************************

Martin W. Sachs
IBM T. J. Watson Research Center
P. O. B. 704
Yorktown Hts, NY 10598
914-784-7287;  IBM tie line 863-7287
Notes address:  Martin W Sachs/Watson/IBM
Internet address:  mwsachs @ us.ibm.com
*************************************************************************************



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC