The ProcessFactory Platform

A powerful and capable basis for Business Process Management and Case Management applications.

Platform Architecture

Platform Capabilities

  • User Interface

    Modern, responsive web UI enables rapid development of customer-specific user interfaces. Processes, with user-visible Tasks, Case Files, Documents and Collaboration features are all made available via the UI framework.

  • Cases

    The Cases concept organises and controls access to in-flight as well as long-running data, and enforces data changes via Workflow. For display in the user interface, a Case is organised into Sections each with their own permission structure. Access to a Case is also controlled by permissions.

  • Processes

    Business Process Modelling and Notation (BPMN) 2.0-compliant workflow engine to enable everything from adhoc tasks to complex business processes. Triggers, boundary conditions, timers and integration orchestration are available. An audit trail via Workflow Events records workflow history.

  • `Collaboration

    Collaboration via a conversation concept is available within the platform at a task, process or case level, organised by topic, with the ability to vary participants per topic. Platform users may delegate individual tasks to other users, if enabled by permission structure. Notifications are available for messages both within the platform and via email or other mechanisms.

  • Documents

    Document Collections, enabling combinations of named documents and ad-hoc documents may be made available for individual tasks within processes or for viewing via the Case File. A simple document management system is provided as part of the platform but third party document providers may also be integrated.

  • Integration

    Integrations with an organisation’s IT landscape is provided via a variety of mechanisms (synchronous and asynchronous, XML/SOAP/JSON over HTTP/HTTPS). Both inbound integrations (to enable cases to be created or processes started) or outbound (during a process or at process or case conclusion to persist data and continue in external system) are available. Integrations into organisation service busses or via Integration Platforms is also available.

The most dangerous phrase in the language is, ‘We've always done it this way.’

— Grace Hopper, mathematician and computing pioneer

ProcessFactory Applications

Developers build ProcessFactory apps using a rich set of tools and frameworks. A given instance of the ProcessFactory platform may host multiple applications; typically related applications for a business or business unit, which are likely to be connected to similar data sources or for which there is a single responsible management team are co-hosted in an instance.

For each production instance, we will make development and test instances available. These are deployed to continuously as code is merged via your chosen merge strategy and process.

During development, some aspects of an app are run with a developer’s IDE, while other aspects are served from the development platform instance.

Building an Application

The Process Modeller is used to create and revise BPMN processes in a graphical environment. These are versioned and are uploaded to a platform instance as part of the deployment process. The platform can execute multiple versions of the same process, to enable instances of earlier versions of the process to complete while new process instances follow the latest version; alternatively, earlier processes can be migrated to the new version.

The ProcessFactory Unified Modelling Language is used to describe each task in the process that requires user interaction, as well as representations of data in the Case, in a succinct and expressive way. Once defined, the ProcessFactory Unified Generator takes these definitions as input and generates code stubs and user interface configuration for the new application.

Finally, developers Just Code to create any required business logic and data structures to bring the application to life, or write integrations into existing services or applications.

‘Just code’

 

Our philosophy is that the tools and frameworks used should allow developers to focus on what’s important in solving the problem at hand. So, no “drag and drop development” which looks good for simple applications and in demos but which becomes unmanageable for any real-world problems.

Fred Brooks used the term essential complexity to mean the complexity inherent in the problem being solved, and accidental complexity to describe everything else that typically goes wrong along the way.

Our aim is to allow developers to focus on the essential complexity and minimise the amount of accidental complexity created.