uEngine is a Component Framework

uEngine has been built on top of a component framework that separates logic and technique so that developers can easily add new functions without consideration of the side effect of core of the engine. Especially, uEngine's component-based development approach by refined in the workflow-based development provides a provated system analysis and development methodology. That is, this approach guides developers to produce more reusable components in the process-oriented business applications. The kinds of uEngine component interfaces are listed below:

1. Custom Activity Type Interface:

uEngine allows custom activity development by providing an Activity Type Component Interface like EJB Containers do for Business Logics (EJBs). uEngine activity component model follows the Javabeans' setter/getter programming convention to allow a systemic design time support by reflection. Namely, uEngine Process Designer works like a Bean-box for the activity types and generates input forms and related GUIs for editing the activity type by getting activity types' object model on the fly. This allows developers to easily add new activity types without worrying about GUI implementation like AWT or Swing. And uEngine serializes the activity definition by XStream, which is an open-source Java-XML mapping toolkit. It is a simple but generic solution to persist activity definitions (Process definition) without redesign (rewrite XML builder codes) of Process Definition Model. [Samples : 1, 2, 3]

2. Organizational Reference Strategy Component:

Most BPM products have their own organization model. So when you incorporate BPM products into your environment, you should write some batch program which work for a synchronization job. In the other hand, uEngine provides an strategy interface so that you can write strategy components to point at your own organization model. It prevents you from duplicated management of organization data as well as dependancy of a proprietary complex organization model of other vendor's product.[Samples : 1, 2]

3. Activity Listener/Filter:

During a business process performs, a number of activities would begin and complete. Sometimes you require to hook those engine's system events. uEngine provides 'ActivityFilter' interface to be called back with those events. It allows you to powerful extensions like dropping audit trail data, alerting workitem notification, or storing work list information into external databases.[Samples : 1, 2]

4. Persistence Logic:

uEngine need to stores the state of business processes' state, variables, role bindings in its run-time. To let them persist, 'ProcessInstance' component will be used. By default, uEngine stores the data into relational database by the class 'EJBProcessInstance', which is a subclass of 'ProcessInstance'.[Samples : 1, 2]

5. Worklist Queuing Service:

When a task is routed to an user, there should be a way to notify him and stores the list of tasks. UEngine invokes the methods of 'Worklist' interface when a task is registered, finished or cancelled. By default, uEngine uses the sub-class 'JDBCWorklist', which stores task information into database table.[Samples : 1, 2]

Related Materials

Activity Type Registry XML
uEngine Component Configuration Property
uEngine Standalone Customization Guide