Lance, Alex,

As promissed in IRC, some use cases:

Use Case: Unique Version Naming
A process repository contains a collection of process definitions
retrievable by their QName. Each version of a process has a distinct QName.
A process is deployed on ODE from the repository using definition
"FooProcess/2006/11/1". A new version of the process becomes available
called "FooProcess/2006/12/23", the new version of the process is to be
deployed in ODE and take over processing for the older version.

Use Case: Process Reuse
An enterprise creates a process to describe the interaction with its
suppliers. The process definition is named "SupplierProcess". The
enterprise deals with  multiple suppliers  all communicating over distinct
dedicated communication channel. The  "SupplierProcess" is to be deployed
for each supplier. Each time a new supplier is signed up, the process is
deployed again on the new channel. Each time a supplier quits, the process
for that supplier is undeployed.

Use Case: Third Party Process Definitions
A third-party prepares a process definition that is named according to
third-party's naming scheme (i.e. "thirdParty:ProcessFoo"). Process is to be
deployed into an ODE instance employing a different naming scheme ( i.e.
"myScheme:MyProcess").

Use Case: Unique Versoin Naming x Process Reuse x Third Part Process
Definitions
Any combination of the above use cases.

Also, I have several axioms that I think are very reasonable and limit the
solution space:

* System must be able to deploy any valid definition without needing the
user to edit the definition (NOEDIT)
* Subject to endpoint restrictions, deployer must be able to designate any
valid definition as the replacement version of any perviously deployed
definition (REPLACEMENT)
* Subject to endpoint restrictions, system must be able to deploy a valid
definition regardless of any other definitions already deployed in the
system (NONINTERFERENCE).

-Maciej

Reply via email to