How to adopt and the cases

 

Tutorial Documents

 TitleDescription
1uEngine Tutorial_English.pdfuEngine Tutorial (English Version)

Tutorial Videos
 TitleDescriptionDownload
1Simple ProcessWriting a simple process
2Sub ProcessMaking sub process and linking
3Advanced FlowcontrolWriting a exception handling process

 

How to adopt uEngine?

Installing and Running the uEngine

Download uEngine and extract it. And launch the startup.bat script in '/bin'. That's all about installing and running uEngine.
[Note] uEngine was tested in JDK v1.5.(not JRE) If your server does not start up properly, insert following command into the start of the startup.bat:

Set JAVA_HOME=[Directory for JDK1.5]

Installing on another database product

1. create tables, sequence and stored procedure

in 'UENGINE_HOME/src/ resources/sqls', you can find your favorite database's DDL script and run it.

2. change 'uengine.properties' in order to use your database product

in 'UENGINE_HOME/was/webapps/ROOT/WEB-INF/classes/org/uengine/uengine.properties'

daofactory.class=org.uengine.persistence.dao.OracleDAOFactory
or
daofactory.class=org.uengine.persistence.dao.MySQLDAOFactory
or
daofactory.class=org.uengine.persistence.dao.DB2DAOFactory

3. change database resource configuration file - ROOT.xml

in 'UENGINE_HOME/conf/Catalina/localhost/ROOT.xml',
uncomment the entry for your database product and comment the entry for the existing enabled database.

4. restartup to take effect
 

How to rebuild the uEngine

If we assume that the uEngine distribution is installed at 'c:\uengine3.0_02'

[Note] You need JDK v1.6  to rebuild properly

c:\>set WAS_HOME=c:\uengine3.0_02 
c:\>cd c:\uengine3.0_02\src\engine
c:\uengine3.0_02\src\engine>ant
c:\uengine3.0_02\src\engine>cd ..\uengine30
c:\uengine3.0_02\src\uengine30>ant

... build ...

c:\uengine3.0_02\src\uengine30>cd ..\..
c:\uengine3.0_02>cd bin
c:\uengine3.0_02\bin>startup

... start up ...

Development under uEngine BPM 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