craigmcc 01/08/13 14:18:26 Added: workflow/src/java/org/apache/commons/workflow package.html workflow/src/java/org/apache/commons/workflow/base package.html workflow/src/java/org/apache/commons/workflow/core package.html workflow/src/java/org/apache/commons/workflow/io package.html workflow/src/java/org/apache/commons/workflow/util package.html workflow/src/java/org/apache/commons/workflow/web package.html Log: Initial check-in of the workflow management system proposal. Revision Changes Path 1.1 jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/package.html Index: package.html =================================================================== <body> <p>This package contains the core interfaces and classes that define the major components of the workflow management system. There are divided into several categories, as follows.</p> <p>The static representation of a set of possible workflows is represented internally as a tree of objects that implement the following interfaces. There is a one-to-many relationship between each component and the one immediately below it.</p> <ul> <li><strong>Process</strong> - A "business process" that is composed of several independent activities, possibly executed by different individuals at different times. <em>NOTE - not yet implemented</em>.</li> <li><strong>Activity</strong> - A particular "business task" that may be comprised of one or more discrete computations, typically involving interaction with a single individual in a manner that is outside the scope of the workflow system.</li> <li><strong>Step</strong> - A discrete computation that can be performed as part of an <code>Activity</code>. Informally, the set of defined <code>Steps</code> can be considered to be the "instruction set" of a "workflow computer". Several sets of predefined <code>Step</code> implementations are included, and additional sets can be defined by workflow implementations layered on top of the basic classes (for example, the web-layer Steps are valid only within a web application, but such a workflow implementation can still use all of the core Steps).</li> </ul> <p>The components described above are typically represented textually in an XML document whose format is not of interest to the core platform. However, the internal representation of these components is shared among concurrent users of those components, so the corresponding object tree (and the bean properties used to represent the linkages) should be considered read only after it is constructed.</p> <p>The dynamic state of a computation is represented by the following components. Each "in progress" computation, whether executed by the same thread or different threads, <em>must</em> have its own <code>Context</code> to represent the current state.</p> <ul> <li><strong>Context</strong> - The current execution state of a particular <code>Activity</code>. Each <code>Context</code> provides an evaluation stack for in-process computations, plus access to one or more <code>Scopes</code> for interacting with the object model of the surrounding application environment.</li> <li><strong>Scope</strong> - An implementation of <code>java.util.Map</code> that provides a pluggable mechanism to attach the workflow engine to the object model of a surrounding application. Every <code>Context</code> provides at least one <code>Scope</code> (called "local"), and additional <code>Scopes</code> can be registered by the application. For example, a web application implementation of the workflow system would typically register <code>Scope</code> implementations that map to the attributes of servlet requests, HTTP sessions, and the servlet context. Implementations in other environments can provide <code>Scope</code> adapters to their own object storage mechanisms, without affecting how <code>Step</code> implementations interact with beans stored in those <code>Scopes</code>.</lI> </ul> </body> 1.1 jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/base/package.html Index: package.html =================================================================== <body> <p>Basic implementations and base classes for Workflow Management System applications.</p> <p>This package contains basic implementations of the primary interfaces defined in the <code>org.apache.commons.workflow</code> package, and can be either used directly or as superclasses on which more specialized implementations are created.</p> </body> 1.1 jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/core/package.html Index: package.html =================================================================== <body> <p>Implementations of <code>Steps</code> in the <code>core</code> namespace.</p> <p>This package contains the following sets of classes:</p> <ul> <li><strong>XxxxxStep</strong> - Implementations of <code>Step</code> for fundamental tasks related to the evaluation stack, as well as beans stored into (and retrieved from) various <code>Scopes</code>. These <code>Steps</code> rely only on the standard APIs of JDK 1.2 (or later) or JRE 1.2 (or later).</li> </ul> <p>By convention, the <code>Steps</code> in this package are exposed as part of the <code>core</code> namespace in configuration files.</p> </body> 1.1 jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/io/package.html Index: package.html =================================================================== <body> <p>Implementations of <code>Steps</code> in the <code>io</code> namespace.</p> <p>This package contains the following sets of classes:</p> <ul> <li><strong>XxxxxStep</strong> - Implementations of <code>Step</code> for tasks that involve input from and output to external files and resources. These <code>Steps</code> rely only on the standard APIs of JDK 1.2 (or later) or JRE 1.2 (or later).</li> </ul> <p>By convention, the <code>Steps</code> in this package are exposed as part of the <code>io</code> namespace in configuration files.</p> </body> 1.1 jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/util/package.html Index: package.html =================================================================== <body> <p>General purpose utility classes required by the Workflow Management System.</p> </body> 1.1 jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/web/package.html Index: package.html =================================================================== <body> <p>Implementations of <code>Steps</code> in the <code>web</code> namespace, and web layer <code>Context</code> and <code>Scope</code> implementations.</p> <p>This package contains the following sets of classes:</p> <ul> <li><strong>WebContext</strong> - Implementation of <code>Context</code> that is suitable for use in a web application based on the Servlet 2.2 or later APIs.</li> <li><strong>XxxxxScope</strong> - Implementations of <code>Scope</code> that map to the attributes associated with a <code>ServletRequest</code>, <code>HttpSession</code>, and <code>ServletContext</code>.</li> <li><strong>XxxxxStep</strong> - Implementations of <code>Step</code> for tasks that are useful in web applications, and rely on the APIs defined in Servlet 2.2 (or later) and/or JSP 1.1 (or later).</li> </ul> <p>By convention, the <code>Steps</code> in this package are exposed as part of the <code>web</code> namespace in configuration files.</p> </body>