[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Order-Fulfillment-Settlement patterns
I am sending this to the BP list for Tuesday's Specification Schema conference call, and also to the BP-CC-Analysis list for that group's Wednesday conference call. I think members of both groups need to be involved in this problem, which is how to provide enough support for business collaboration patterns in ebXML version 1.0 (spec due to QR by Feb 17) that 1.0 will be credible for modeling some simple real world cases. **** Table of contents: - Ambitiousness of implementation - Expression scope - Document references - Responsibilities of work groups *** Ambitiousness of implementation There are several possible levels of ambition, from simplest to more elaborate and probably more useful. The levels of ambition build on each other. 1. Simplest: permit arbitrary strings in pre and post conditions, and have the software keep track of them as something like "facts" or "assertions", along with the documents they apply to (see below under Documents). By "assertions", I mean in the sense of knowledge bases, not programming. Postcondition expressions assert facts, precondition expressions can check them. Business Process Editors could validate precondition expressions to see if they were established by a postcondition. We could suggest assertion guidelines, but they would really be free-form. Some REA collaboration patterns could be expressed in this limited way, but it will be difficult to demonstrate recognition of accounting and legal events. In addition, the expressions could become catch-alls for kludges of all kinds. In other words, I do not recommend this level of ambition, but it may be the simplest thing that could possibly work. 2. Simple recognition of economic commitments and events, with a controlled vocabulary: We establish a vocabulary, based on the Economic Elements in the metamodel BRV with maybe some subtypes like "Order", "Product", "Delivery", "Payment", etc. I think that a sufficiently inclusive list of these elements can be lifted from the REA ontology and core components, so this should not slow down our process. The only facts that can be asserted in postcondition expressions or checked in precondition expressions are those that use this vocabulary (in addition to expressions already permitted under other rules, e.g. success or failure of previous transaction). The vocabulary could be constrained programmatically, such as in Business Process Editors. 3. Keep track of states of economic commitments and events: In addition to asserting that an Order exists, for example, postconditions could assert that the Order is in a particular State, e.g. Proposed, Accepted, Fulfilled, Settled (or Completed), etc. Same for other economic elements. This would require the software to keep track of more-than-strings, that is, to keep track of entities and update their states. "State" could be just a string, or it could be part of a state graph. State strings could be arbitrary, or constrained by lists that are part of some reference model. States would support contract/order negotiation as well as economic event disputes. Keeping track of entities might require identities (e.g. more than one Order in a collaboration), or we could just support one of each type of economic element in an expression scope. (See Expression Scope below.) This and the next ambition level essentially require the creation of runtime objects with properties. 4. Allow expressions based on properties of economic elements, like quantity and dateAndTime. This was my original proposal for supporting business collaboration patterns. It is probably too much to do by Feb 17. Expressions based on document contents could be done with any of these complexity levels, as long as the software layer was able to open the document envelope. This level of ambition might require more metamodel changes than the others. ***Expression scope I think it would be best to specify the scope of an assertion to be the scope of the surrounding collaboration activity graph, e.g. the current transaction for transaction assertions, and the current collaboration for collaboration assertions. So if you wanted an assertion to be usable in a collaboration scope, you would need to publish it as a postcondition of an included collaboration or transaction. A related issue: do we support different instances of the same expression in the same scope? If so, they need to be identified and differentiated, possibly by Document Envelope reference (if those are differentiated). ***Document references What is passed to the enclosing layer of software: Both the postcondition assertion as well as a reference to the document envelope(s) that it applies to. This could get a little kinky, because e.g. for an Order, you might want to get both the Requesting document envelope and the Responding document envelope, especially if you are supporting order states like counter-offers. (Question to business requirements group: when would bindings to multiple document envelopes be necessary?) I am assuming here that assertions are initially expressed as postconditions of business transactions, so the requesting and responding document envelopes are known. (That could also be a way of differentiating assertions with the same expression.) Collaborations of many transactions should be able to raise the same assertions to their enclosing software layer, including the same document envelopes. Any of the above ambition levels seem to me to require references from asserted facts (or created economic elements) to document envelopes. *** Responsibilities of work groups I propose that the Analysis and Methodology group be responsible for the business requirements and Business Process Editor changes, and the "Metamodel" group be responsible for changes to the Specification Schema to support the business requirements. Actually, depending on the ambitiousness of implementation, the UMM metamodel may already include almost everything required to support collaboration patterns, except for some minor refinements (which may just be documentation improvements): * how to express economic elements in post and preconditions; * how economic elements are related to CommercialTransactions; * the scope of post and precondition expressions; * the connection of postcondition of expressions to DocumentEnvelopes. I also very strongly urge the preservation of the UMM metamodel as a reference model for both Specification Schema and Business Process Editor. In other words, the mechanisms for supporting business collaboration patterns should be the same or at least strictly derivable from metamodel to specification schema and BPE. Respectfully, Bob Haugen
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC