Book Image

Business Process Management with JBoss jBPM

Book Image

Business Process Management with JBoss jBPM

Overview of this book

JBoss jBPM is a free, open-source, business process management solution. It enables users to create business processes that coordinate people, applications, and services. A business process is a sequence of activities triggered by a certain input that results in a valuable output. Business Process Management is about analyzing those activities in a structured way and eventually supporting their execution with a workflow application. This allows for the following results: Better management visibility of their business: improved decision making Low cost of inputs: de-skilled labor requirements, less waste, standardized components Better outputs: consistent quality, more customer satisfaction Businesses have always tried to manage their processes, but software such as jBPM brings the methodology and management theory to practical life. JBoss jBPM offers the following key features: Graphical process definition Flexibility to integrate code into the graphical process definition A customizable web-based workflow application that runs the process you’ve defined Easy programming model to extend the graphical process definition A process-oriented programming model (jPDL) that blends the best of process definition languages and Java. Easy to integrate with other systems through the JBoss middleware suite.
Table of Contents (13 chapters)

How this book works


This book is a full toolkit for someone who wants to implement BPM in the right way. This toolkit is particularly aimed at Business Analysts, although Project Managers, IT managers, developers, and even business people can expect to find useful tools and techniques in here. We will present the project framework, analysis techniques, and templates, BPM technology and example deliverables that you need to successfully bring a BPM solution into your organization.

The book itself is structured to reflect the project lifecycle that we advocate. Each chapter represents a phase in the project. Each chapter will talk through the theory involved in that phase, explain the techniques or the technology, and then show you how it is done with an example. Every chapter has specific deliverables that fit in with the respective project phase, and these deliverables will be worked through in the example. Templates for the deliverables and the working example can be found in the download for this book.

The solution we'll build

As we go through the project phases, we will put together our example BPM system. The process that we will manage will be a realistic scenario and the solution could be used in real life. The BPM system we'll build will be stand alone, without proper interfaces to other systems, although we will simulate an interface, so we show how it can be done. The solution could certainly be developed much further, and in the final chapter we'll see some pointers for how this could be done, but even without further development, the solution is fully working and useful. The most important thing is that we go through the project steps so that the solution we build is functional and effective.

Introducing our suggested project lifecycle

The book, and our suggested project lifecycle, is divided into six distinct phases:

  • Understand the target process—to start off, we need to scope our target process, put together our project team, and then set about analyzing the process and building our first model for business sign off.

  • Develop the process—now that we have our process model, we need to install our BPM suite and build our model within it.

  • Prototype the process workflow user interface—once we've developed the process model in the BPM suite, we can generate a prototype user interface in order to run a proof of concept with our users.

  • Iterate the workflow prototype—our proof of concept will turn up numerous process changes and user interface requirements that we need to capture, prioritize, and implement.

  • Pilot and implement the workflow—we can now run a full-scale user acceptance test, and develop our key performance indicators that we'll track in the last phase. We can then put our process live.

  • Ongoing process improvement—now that the process is in the live environment, we can monitor its execution and investigate opportunities for further improvement.

Introducing our example business scenario

Any business process can be modeled, but some processes are more suited to business process management than others. For our worked example, the process we will use will be drawn from the music recording industry: "Produce music products". As we'll see, this process fulfils many of the criteria we defined above for a business scenario that is apt for a BPM solution. It also gives us the opportunity to demonstrate all the capabilities of our BPM suite, so that you can adapt the solution for your own processes.

Introducing our example BPM suite

There are many BPM vendors in the marketplace at the moment, and many of them offer the full suite of tools that we are looking for. One option is to bring in a vendor straightaway, but given the barriers to adoption that we've discussed in this chapter, it is likely that a BPM project will have to prove that the concept is valid and the solution can achieve a return on investment before a vendor is engaged.

Fortunately, there are some open-source tools available to us that will, at least, allow us to prove the concept for minimal investment, and in fact are certainly good enough to provide a solution that is comparable to the best that the vendors have to offer. For our BPM suite we need a graphical process modeler, a workflow user interface generation tool, a workflow application server, and a process metric reporting tool. All of the following tools are free to download and use.

JBoss jBPM

The first element in our open-source BPM suite is the jBPM development environment provided by JBoss. This Integrated Development Environment, or IDE, is based on another open-source tool, Eclipse, which is widely used for Java development. The JBoss jBPM IDE gives us not only our graphical process modeler, but can also generate the workflow user interface for us. Here is a screenshot showing the user interface of the IDE:

JBoss

The next element in our BPM suite is the JBoss Application Server, which is used to serve our workflow application to our end users. This workflow application is effectively a website, which the end users use to complete and record their process tasks. This is how it looks:

SeeWhy business intelligence platform

Finally, once we have our process in operation, we need to measure its execution. Our final tool in our BPM suite is therefore the SeeWhy Business Intelligence reporting toolset. SeeWhy is administered and configured over the Web using a browser-based console called the Desktop:

The second element of the SeeWhy platform is the Navigator, which is where our users will actually view the reports created by the platform. Here is a screenshot of the SeeWhy Navigator showing some business process metric reporting in action: