XFlow is a pure J2EE platform for building, executing and managing business processes and workflows. It is a basis for building collaborative applications as well as integrating processes across an enterprise. XFlow has a small footprint but is extremely powerful. It is designed to be easy to use from the development, deployment and management standpoints.
XFlow runs within an EJB and servlet container. JBoss 4.0 (with bundled Tomcat) is the container used in this implementation. The architecture supports distributed and parallel processes within an organization’s firewall as well as across organizational boundaries.
XFlow is designed for scalability, extensibility and ease of integration with security models and legacy processes. XFlow’s service-oriented architecture supports both a simple Java API as well as a web-service (SOAP/HTTP) interface.
The following diagram shows a conceptual view of XFlow:
Any application or component may be a participant process in XFlow. A participant process is associated with a specific node in a workflow graph. A process receives work items from the XFlow server in its inbox, performs work on the item and returns the item back to the server for routing to other participant processes. Processes communicate with the XFlow server via a client API or via web-services. Examples of participant processes can be any one of the following: