REST-ful Workflow Over REST Web Services

 
Specifications
Implementation
License

 


Deploying the CognitiveWeb requires that we deploy ubiquitous processes for critical thinking, conflict resolution, and process-oriented decision-making. Those processes provide the basic services of the CognitiveWeb, but are not themselves CognitiveWeb applications. A CognitiveWeb application is built by layering additional, business-specific, processes over the basic CognitiveWeb process infrastructure.

For example, civil society uses a variety of consensus seeking, multiple-stakeholder processes in order to identify issues, understand complex problems, and develop policies and actions to address those problems. These decision-making processes are probably different from those that would be deployed by a business using the CognitiveWeb to manage its financial and market risks. However, there may be substantial process reuse within civil society and within business.

The CognitiveWeb advocates an approach based on exposing business objects and components as REST-ful web services through explicit workflow models. A workflow model exposes precisely the business processes and elements of persistent state that are crucial to scripting web services when creating business-specific applications. A white paper on this subject is currently being developed, along with a technology prototype.

Specifications

Workflow Controller Specification

The draft DTD for the REST-ful workflow controller is located at:

http://www.cognitiveweb.org/xml/REST_WFC.dtd (updated 11-feb-2003, validated).

and the draft annotated specification for the DTD is located at:

http://wiki.cognitiveweb.org/CognitiveWeb/AnnotatedWorkflowControllerDtd

Workflow Queue Service Specification

The draft DTD for the REST-ful workflow queue service specification is located at:

http://www.cognitiveweb.org/xml/WorkflowQueueService.dtd (updated 12-mar-2003, validated).

and the draft annotated specification for the DTD is located at:

http://wiki.cognitiveweb.org/CognitiveWeb/AnnotatedWorkflowQueueService

Business Object Type Service Specification

The draft DTD for the REST-ful business object type service specification is located at:

http://www.cognitiveweb.org/xml/BusinessObjectTypeService.dtd (updated 13-mar-2003, validated).

and the draft annotated specification for the DTD is located at:

http://wiki.cognitiveweb.org/CognitiveWeb/BusinessObjectSpecification

Implementation

An open-source, REST-ful implementation governed is available for download as part of the CognitiveWeb services infrastructure.

The workflow controller is designed based on the semantics of UML 1.4 activity diagrams as explored through the PhD thesis of Hendrik Eshuis, Semantics and Verification of UML Activity Diagrams for Workflow Modelling. It is anticipated that import utilities will be developed for the XML representation of UML activity diagrams (XMI), as well as for other workflow specification languages. Full coverage is planned for the "22" workflow patterns.

Some of the distinguishing characteristics of this approach to workflow are:

  • Respecting the principles of web architecture based on the primary REST verbs (POST=create, PUT=update, GET=read, DELETE=delete), pluggable component design (caching, user agents, origin servers, gateways, HTTP security), to provide a scalable architecture for REST web services choreography.
  • Actors in the workflow are simply HTTP user agents (aka REST web services). Actors communicate using a workflow event model, and via resource queues. The skeleton of a sample actor is available at SampleAgent.jsp.
  • Security for workflow specifications, running workflow processes, resources flow through processes, and actors is all provided for using HTTP security, see the REST-ful security manager.
  • The REST-ful security manager also provides a means to integrate with the resource dimension of actors by specifying the different user groups (workflow roles) in which each actor is a member.

License

The CognitiveWeb Open Source License.