Java J2EE Portal
Enterprise Java Station
J2EE curve
Java News / Articles
Java News / Articles
Security Assertion Image
Security Assertion Markup Language (SAML)
Spring and EJB 3: All-Star Team or Neighbors with Good Fences?
web2
Enterprise 2.0: Bringing Web2.0 Collaboration and Social networking to Ente
Processing...
Buy Java, Deals On Software Technology Store
Click here for great deals on computers, laptops, software and books
Simplified BPM integration with JBoss jBPM PDF Print
Written by S.Satyamoorthy   
Nov 08, 2005 at 05:43 AM

State Mangament

The main responsibility of a WFMS is to maintain the state of process executions. The state model of JBoss jBPM is based on a graph with nodes and transitions. Nodes and transitions are the main ingredients of a process definition. A state is an example of a node. For a detailed description of the states refer to http://www.jbpm.org/state.of.workfow/

Runtime interaction

The 2 most important interactions with JBoss jBPM are: starting an instance of a process definition and signaling the end of a state. As a result of both these interactions JBoss jBPM will calculate the next state of the process instance.

Actions

The state graph provides the structure of the process. Actions are pieces of programming logic that can be executed upon events in the process. There are three types of events: entering a node, leaving a node and taking a transition. While JBoss jBPM is calculating the next state, a number of these events will fire.

Process archives

The main file in a process archive is processdefinition.xml. This file contains the formal description of the processes. The act of parsing the processdefinition.xml and storing it in the database is called deploying a process. All other files in a process archive are stored as attachments with the process definition (either in the database or as files on the filesystem).

Example

ABC Company is working on a model for Pay Rise management. The process is as follows:

Figure 2.The pay raise process

This process is expressed as an XML file.

How to Deploy?

JBoss jBPM stores its process definitions in the database. So deploying a process into JBoss jBPM actually means parsing the processdefinition.xml and store it in the JBoss jBPM database. This can be done by

The JBoss jBPM ant-tasks par and deploypar. par allows creation of a process archive from a set of files. deploypar deploys a process archive to the database. The deploypar takes a JBoss jBPM.properties file as an attribute. This file specifies the JBoss jBPM configurations including the database to which the process archive has to be deployed.

Programmatically parsing and storing the processdefinition.xml into a datastore.

Where can I Use this?

JBoss jBPM can be applied in several enterprise scenarios. A sample representation includes:

1. In an enterprise application as an application component: A company developing an HR system on a J2EE platform can incorporate JBoss JBoss jBPM functionality as easily as including a library.

2. To deliver process based applications: An ERP vendor can include JBoss JBoss jBPM in their product and implement their process-based software above it. The application can additionally expose the JBoss jBPM engine to power users of the ERP product. That allows the application to be easily extendible and customizable, a benefit not well-addressed by in current-generation ERP packages.

3. As a component in an enterprise architecture: An enterprise can deploy JBoss jBPM as a separate component in the enterprise IT infrastructure. JBoss jBPM provides standardized, reliable business process management that parallels the status of database software in managing corporate data.

Features & Benefits

JBoss jBPM 3.0 combines workflow, BPM and orchestration into a single product. New features include:

Simplified Persistence – Increased flexibility of the API (Application Programming Interface) is achieved by decoupling persistence from the JBoss jBPM workflow operations. Simplified persistence enables easier business process and workflow development.

Pluggable Architecture – JBoss jBPM is designed to run as a standalone solution or be seamlessly embedded within any Java application. JBoss jBPM’s pluggable architecture allows extensibility and customizability on every level; within the process engine, for each process definition and every corresponding process instance. JBoss jBPM’s pluggable architecture provides workflow, orchestration and BPM in one platform, simplifying business development. Traditional standalone BPM, orchestration and workflow products force users to deploy multiple platforms to offer a similar range of capability, thereby adding complexity to the development process.

Improved Extensibility – The native JBoss jBPM process definition language (jPDL) now provides Java integration. For integration of web services and SOA, JBoss has implemented the BPEL specification as an extension to JBoss jBPM. Using these Java and BPEL extensions, enterprises can easily include their customization and use JBoss jBPM to orchestrate their business processes.

Extended Task Management – JBoss jBPM offers extended task management features such as tracking all tasks assigned to individuals, systems and groups. This functionality enables greater flexibility to create workflows targeted to specific business process problems.

Differentiators of JBoss jBPM

  1. No unnecessary dependencies
    1. no web services required
    2. no message queues required
    3. no ejb container required
    4. enables TDD for workflow
    5. If you grow and you can integrate later!
  2. Powerful process language
  3. Scalability
    1. start simple, scale to enterprise
  4. Open source

Rapid deployment – Within a Day!

JBoss JBoss jBPM 3.0 is released under the open source LGPL license and includes a tutorial that lets developers build sample applications in half a day.

Not only is JBoss jBPM a core product of the JEMS suite, it is also available as a standalone product that runs on its own, or on any J2EE application server. JBoss jBPM combines easy development of workflow applications with a flexible and scalable process engine. It can be used in the simplest environment or scale to handle the most complex clustered J2EE application scenarios.

JBoss jBPM delivers the capability to develop new automated business processes and workflows with its business process management (BPM) foundation as well as orchestrate business processes using industry-standard Business Process Execution Language (BPEL).

How to get help?

JBoss provides a full fledged training on JBoss jBPM in India and all over the world – both public training and in-house custom training. This caters to both developers and Business Analysts. JBoss also provides 24X7 Support & Indemnification protection. JBoss has a robust Partner Network who can help you in implementing solutions using JBoss jBPM. For more information on JBoss jBPM and to download a copy, visit www.jboss.org.

Acknowledgements:

1. Tom Baeyens – JBoss Architect and Project Lead for JBoss jBPM.

The author, S.Satyamoorthy is the Director of Operations – Asia Pacific, JBoss Inc. He can be reached at Satya dot satyamoorthy at jboss dot org

Related:
>> JBoss Expands Global Presence with New Office in India
>> JBoss' Market Expansion and launch of the JBoss Open Source
>> JBossWorld Update: Drools, jBPM & JEMS
>> jboss vs geronimo
>> JBoss is light years ahead of other open source application servers


User Comments

Comment by Noname on 2005-11-27 10:23:24
hello 
i don't know who are you but if you can help me i'll be very happy 
 
i don't understand the parte when you speak about "dploying an process on the database" i don't know how to do it?? 
you can answer me on nassimlaga@yahoo.fr 
 
thank you

Comment by Noname on 2005-12-05 03:07:49
Hello 
 
We are using the JDeveloper IDE for our project, And our project is based on the Struts. Please can any one tell me how to integrate the jBPM with JDeveloper IDE 
 
With Thank & Regards 
Srinivasa.R 

Comment by 'Guest' on 2007-03-12 04:47:39
Hi , 
I have created one process using Jboss JBPM I can deploy it into jbpm server with having any problems. Now I want to know how to deploy the same process definition into any java application server? 
 
And the one more question is how to change database hsql to user defined database. I want use mysql in the place of hsql how can I do this? 
 
Thanks and Regards, 
Suresh. 
mail to: Suresh.devarapalli@gmail.com

Comment by GUEST on 2008-05-08 06:19:51
HI ,  
I was having on workflow which was deployed on jbpm server. Now I have changed the business logic (java) in the existing workflow, like previously it was oneClass.someMethod() now I changed it to otherClass.someMethod(). I deoployed the new workflow successfully but when my appliction invokes the workflow it is giving me some jbpm error that oneClass.someMethod() does not exists. 
 
So can you tell me how can I invoke new workflow ?

Comment by 02.mansingh@gmail.com on 2008-06-12 23:28:54
As I am making very good use of jbpm workflow engine, I added security and as well as I did user mapping but my main concern is, how I integrate any process project with DB. As I wanted to retrieve data from DB and show in process forms(dynamically). plse guide me, I will remain highly grateful to you

Comment by hidayath80@gmail.com on 2008-06-18 04:53:14
Can u plz give me the example to access deployed jbpm process with struts application......and i am not able to understand the procedure to access jbpm by using struts application after reading \"jboss jbpm\" document. So plz send me the example to my mail id \"hidayath80@gmail.com\"

Comment by and_kal@hotmail.com on 2008-07-18 03:25:22
Your Name / Email Address
Comment
Spam Protection - Please enter the code in the image -

Listen to code




Add This Feed Button

Enter your Email


Java Expert Interviews
TonyMorrisJTiger
Why pick JTiger Java Unit Testing Framework over good old JUnit?
EclipseExecutiveDirectorMikeMilinkovich
Eclipse is focused on closing in on Visual Studio - Switching campaigns are for marke
MarcDomenig
Swing UI is mature while Ajax is still in its infancy
Processing...
Go to top of page  Home |
SiteMap

Copyright 2004 to 2008 Rightrix Solutions. All rights reserved. All product names are trademarks of their respective companies. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Rightrix Solutions and IndicThreads.com are independent of Sun Microsystems, Inc.

Views expressed at IndicThreads.com reflect the views of the authors alone, and do not necessarily reflect those of IndicThreads.com. IndicThreads.com and it's authors are not responsible for reader comments and opinions.

Enterprise Java J2EE JEE Portal >> IndicThreads.com