
The platform includes applications to graphically define, organize the execution, monitor and control internal and external processes in real time, thus integrating human tasks, applications and web services that are being executed simultaneously.
Main components: and a set of reusable components to be integrated to the applications
The product has been designed as a powerful and simple tool for developers. The aim is to provide developers with the essential elements to build workflow applications, together with the infrastructure to extend the functionality for different domains through the use of libraries. Its key components are: a powerful and simple graphical specification language offering the greatest power of expression to define processes with parallel lines of execution (based on the mathematical abstraction known as Petri Nets), an Eclipse-integrated application which enables users to define processes graphically, a robust engine for the execution and control of processes, an OQL-like query language (OQL: Object Query Language) to develop indicators for monitoring progress, and an OLAP server integrated to the server for analytical reports and business intelligence. kbee.workflow offers an OQL-like query language (Object Query Language) which enables the use of indicators to monitor the state of processes at real time. A selection criteria can be applied both upon the native attributes of the BPM (such as the state or runtime of a process) or upon extended attributes from a specific domain (such as the number of a purchase order or a file). For instance, the developer can create indicators to monitor the number of processes in a specific state or the tasks carried out onto a specific record Its powerful and simple graphical specification language with very few primitives enables the engine to be small and efficient. Moreover, its WQL (Workflow Query Language) can scale to manage thousands of active processes. kbee.workflow is based on Open Standards; and it has been built and integrated to such standards as JNDI, JTA, JMS, JDBC, etc.
Simple and focused
Fully extensible to each domain
kbee.workflow is entirely written in Java and developed as a Framework, so that its core components can be easily extended to fit new requirements. Problem-specific records or operations can be easily attached to the events fired by the workflow engine when processes change their state.
kbee WQL. Workflow Query Language
LGPL: Entirely Open Source
kbee.worflow is backed by the Open Source community. As it is licensed under the LGPL license, it offers total freedom of use and guarantees it will not degrade in the future.
Scalable
kbee process designer is an application for the graphical specification of procedures; it includes tasks and routing conditions.
It is an Eclipse platform plug-in (http://www.eclipse.org) that enables an integrated working environment where developers can specify procedures, Java tasks, HTML, JSP or whatever may be necessary.
kbee workflow server is a process execution engine that executes and controls each process. It is a small and specialized server. It also has the capability to persist the changes of state in each process. Finally, it includes an event propagation mechanism to notify each change in state to the applications assigned to propagate these events to JMS queues.
Alarms
As a complement, the server provides a mechanism for the programming and recording of alarms. An alarm will be activated in case indicators exceed control levels and an action will be consequently executed. For instance, a signal is activated in a dashboard every time the active processes exceed a certain number, or when a task runs longer than the expected runtime, or in the case of failed tasks in a process, etc.
In this tier, a set of Java components (Web Services, Servlets, JSP pages, etc.) implement a well-defined interface of all the services provided by the workflow server so they can be accessed by HTTP.
In case the client applications work in the same server and virtual engine than the workflow applications, there is an alternative to seamlessly access to the services through the API Java defining its interface.
The main and analytical engines reside in a tier called BPM (or simply Server). The main engine controls the execution of processes, their persistence and the firing of events generated by the changes in state of each of the running processes.
The analytical engine has the ability to collect the events generated by the main engine in order to view working statistics in OLAP cubes. Storage in the OLAP server is asynchronous so that the performance of the workflow engine is not degraded.
kbee.workflow is distributed with Open Source LGPL v2.1 license. Please read the terms and conditions at http://www.fsf.org/licensing/licenses/lgpl.html
To download the application you have to accept the terms and conditions of the license.
kbee.workflow documentation
kbee.workflow source and binary
Concepts and architecture