Book Review: jBPM Developer Guide

A few months ago, PACKT Publishing released a new book on jBPM called “jBPM Developer Guide” by Mauricio Salatino.

The book is meant for java developers, but takes the developer by the hand in the first couple of chapters to walk them through some of the required concepts and the tools that will be used in the book. I tend to like that approach since the book does not claim to be an “advanced” development book, and makes sure that the required background in the form of a tutorial is included in the book. Some more experienced developers may end up skipping the first few chapters.

Although jBPM can support many languages (jPDL, BPEL, Pageflow), the book focuses on jPDL to keep the scope of the book under control. Once again, this is a good thing to keep discussions focused on the framework, and not on the language being used with it.

After the introductory chapters, the book gets into more interesting details about jPDL, Persistence, Human Tasks, etc. The topics are covered in details, examples are provided and it does a decent job of making sure that developers have all the basic tools they need to work with jBPM.

The last chapter, chapter 12 titled “Going Enterprise” touches lightly on some of the topics required for going to a Java EE environment. It is interesting and could go in more details but ends abruptly, with a conclusion that is not worthy to be called the conclusion to a book.

The book was written with jBPM 3.2.6 in mind although jBPM 4.0 was actually released in July 2009 and jBPM 4.3 was released basically at the same time as the book was released. This may look like the author did not use the latest and greatest version of jPBM, but actually, considering the fact that jBPM 4 was a full re-write some of the features were missing from version 3.2.6 it makes sense.

Version 3.2.6 is also the latest version that was officially supported by a company, which means that if you want to use version 4 in a production environment, you are on your own with the community. For some, that may make a big difference.

Now that jPBM 5 has been announced (leaving jBPM 4 where?I am not sure),   I look forward to seeing an updated version of that book in a little while when jBPM 5 has matured into something more concrete.

All in all, a decent book for developers getting started with jBPM, as long as they are using version 3 and not version 4 of the framework.

On Enterprise Decision Management

James Taylor and Neil Raden wrotea pretty good white paper on Enterprise Decision Management. I really like the informative contents of the paper which clarifies how the concepts relate to each other, the different layers of technology, etc. Great paper on the topic

It provides details on the technology used for operational decision making, introducing the available technology types and discussing what makes a technology product suitable. It also details the risks and issues involved in adopting Decision Management. How these risks might be mitigated is outlined, and an adoption scorecard to help select appropriate uses is proposed. A reference architecture and some definitions of terms complete the paper.

The original article can be found at the following link (registration required)

http://jtonedm.com/2009/11/30/teradata-magazine-online-prepare-for-impact/

Enjoy!

My first look at Drools

I recently attended a Drools bootcamp to expand some of my understanding of what they offer and to get some hands on experience to experiment with the tools they offer.

I was actually quite impressed with what Drools as a whole offers considering the size of the team working on it.

One of the things I did not realize is that as part of the Drools “suite” of products, they have support for many of the things that are really related:

  • Obviously, a rule engine (Drools Expert)
  • A Workflow (or BPM) component (Drools Flow)
  • An event processing (or CEP and temporal reasoning) component (Drools Fusion)
  • And a Management (BRMS and BPMS) component (Drools Guvnor)

One of the things I like about this is that in one product, you can get the rules, workflow and event processing which not all products necessarily provide.

What was clear from the presentations I saw and the discussions is that the Drools team obviously is inspired by some commercial products, but they will usually take it to the next level. As an example I can think of the ILOG JRules support for event reasoning, but in the last couple of years, ILOG has stayed away from pushing that functionality, and they have not made it evolve. It has the potential of being very powerful stuff, but ILOG did nothing about it. Drools did.

I also like that Drools v5.1 will support the BPMN v2 standard for the workflow piece. Having a tool that makes it possible for workflow diagrams to be created using some of the latest standards is great.

Most of the things that is shown in the presentations or in the examples that can be downloaded is relatively technical, but if you are familiar with the Pattern matching algorithms that are behind most rule engines, the structure of the rule will be easy to understand (in other words, in JRules, if you can write IRL rules this will be easy).

The Drools team designed things in such a way that starting with one component and then trying to use other components will be relatively natural since the language constructs will be similar.

The documentation for installing, and running the examples is a bit weak. There are a lot of things required to run the examples (non technical users should abstain) but once things are setup, it is pretty easy to understand how to work with it.

I am not finished playing with drools to my liking yet, but as a first exposure to it, I am impressed.

If I have time I will post more on the topic in the near future.

On taking BPM to the Enterprise level

Today, Sandy Kemsley was giving a webinar on how to take a BPM project from a department to an Enterprise Program.

The presentation will be available soon on the BPMbasics web site at http://www.bpmbasics.com (look for BPM 106).

Projects often have intents of eventually going to a program and enterprise level, but many times, the intent just dies and nothing happens. Some of the reasons for this is that solutions are sometimes overly customized, there is no strategic vision and there is a lack of skills.

On the other hand, there are some great benefits to be expected from enterprise level BPM. Processes can be cross-departmental, it removes ad hoc parts of the processes but it also mainly provides the opportunity for an enterprise level dashboard of all processes. This last point is usually a great selling point with management.

To take the BPM from Project to Program (some highlights):

  • From initial BPM Project develop a CoE
  • Promote the project success internally
  • Develop a strategic vision
  • Consider SaaS BPM for faster deployment

Among the common pitfalls, Sandy mentions that one mistake is to try and analyze all the processes before trying to get a solution. She suggests that finding the most important categories of processes might be a better idea so that it does not get stuck in some analysis paralysis.

Another pitfall she mentions is the use of the wrong BPMS tools. She proposes that it is better in the long run to actually bite the bullet and change BPMS tools if the wrong one was used initially although there may be some costs in time and money to do so.

If implementing enterprise level BPM, you should expect some changes on the technology side (hardware, software, security, etc.) and on the business side (new processes, etc.)

One of her key takeaways is to start small but think big. (Or as Stephen Covey would say: Begin with the End in Mind). Having a vision of the destination (enterprise level BPM, Coe, etc.) is essential. The Center of Excellence should also come as early as possible.

A quote from her final thoughts:

“BPM programs don’t just happen, they have to be built”

Questions on the CoE

After the main presentation, the Q&A period had a lot of questions regarding the CoE.

When asked how to staff the Center of Excellence, Sandy responded that in most cases the people involved in a BPM project have been pulled from their operational duties. the trick is to keep some of those key people to start building the CoE and possibly have some new hires to complete the team.

She also mentioned that in a CoE most of the staff will be there only temporarily. Stays as short as 6 months, but more commonly 1 year stays are to be expected. Some of the more technical experts can be in the CoE for longer.

Concerning the size of the CoE. A CoE will typically have a core team of 4-6 people, but can be much larger depending on the size of the enterprise.

Overall an excellent presentation. Look for the recorded version on the bpmbasics.com web site.

More information about IBM BPM Blueworks

BPM Blueworks will be available to all in the second half of 2009.

As I mentioned in my previous post, the community will have a lot of resources. The resources available will be provided by IBM and the community: demos, papers, podcasts, webcasts, strategy maps, capability maps, and process templates.

The users should be able to create processes in BPMN Notation and import it in the SOA sandbox environment to see how that process will execute.

It sounds like this will provide an easy way for businesses to start using BPM since it will allow them to see what is available in the community, customize their own version, try it out and eventually provide them with something that works that can be deployed internally if they wish.

Very interesting and promising. I can’t wait to see it for myself. No links available yet though… L

[Updated: 2009-05-19]

Since my last update some links have come out:

http://www-01.ibm.com/software/solutions/smartwork/bpmblueworks/index.html

And also some posts by other bloggers:

Bruce Silver mentions it in:

http://www.brsilver.com/wordpress/2009/05/06/ibm-takes-bpa-to-the-cloud/ 

James Taylor: http://jtonedm.com/2009/05/05/dynamic-business-processes-and-ibm-blueworks/

IBM Announces IBM BPM Blueworks

IBM just announced a new community and set of tools for BPM called IBM BPM Blueworks.

They define it as:

A cloud-based set of strategy and business process tools.
BlueWorks provides business users with the collateral they need to implement business strategies within their organizations based on industry-proven business process management techniques.

It basically proposes

  • tools to model BPM in a public cloud
  • a community built around BPM
  • allows users to share best practices, insight around BPM

There is a 4 step approach:

  • learning section for learning about BPM
  • allows users to experience BPM by trying designs tools
  • allows users to load models (theyused “strategy maps”, but I am not sure what they mean by that) and share with others outside of your own company (clients, partners)
  • a community to share and communicate with a larger set of experts

Once I have more information I will update this post with details and links.

Update [2009-04-30 18h00 EDT]: The press release is now available at http://www-03.ibm.com/press/us/en/pressrelease/27392.wss although the BPM Blueworks component is not very detailed. I’m waiting for more info on that to come out soon.

Upcoming Events of Interest

  • IBM Impact 2009:
    • Dates: May 3, 2009 until May 8, 2009
    • Location: Las Vegas, Nevada
    • Web Site: http://www-01.ibm.com/software/websphere/events/impact2009/
    • Although it is focused on SOA, there are tracks that discuss:
      • Sub-Track: Dynamic Business Processes, Rules & Events
      • Sub-track: Business Process Management Enabled by Smart SOA (Process Entry Point)
  • The October Rules Fest 2009:
    • Dates: October 26, 2009 (tutorials) and October 27, 2009 until October 30, 2009
    • Location: Dallas Texas
    • Web site: http://www.octoberrulesfest.org/
    • Organised as a gathering of inventors and scientists behind the rule technologies, this conference is more technical than the Business Rules Forum
  • Business Rules Forum:
    • Dates: November 1, 2009 until November 5 2009 (probably 2 days of tutorials and 3 days of conference)
    • Location: Las Vegas, Nevada
    • Web Site: http://www.businessrulesforum.com
    • Co-located with the Enterprise Decision Management Summit, this conference is less technical than the October Rule Fest but still very interesting

Roles in BPM applied to Business Rules

Once again, my search for anything related to governance and management brought me to the bpmbasics.com website to watch the seminar Roles on BPM at http://www.bpmbasics.com/resources/academy/bpm104.jsp

My contention is that a lot of the concepts applicable to BPM are also applicable to business rules.

Here are some highlights of the webinar edited to apply to business rules:

It’s about the people. People are at the center of this, they make this possible.

The roles identified and their responsibilities:

  • CIO / CTO, Executive Team
    • If driving the initiative, account for metrics and high-level KPIs
    • If not, push for executive buy-in and high-level organizational support
    • Use high-level support as an opportunity for improvement across silos (COE, Governance)
  • Center of Excellence (COE) 
    •  Common location for skills, knowledge and an enterprise wide vision
  • Technology Advisory Board (Technology Councils or Think Tanks)
    • Facilitates standards and software adoptions across group
  • Industry experts
    • To help kick start the knowledge transfer within the organisation
  • Vendor support
    • To help make optimal use of the tools
  • Business Analyst, Business Rule Analyst
    • Gathering requirements, rules and performing analysis
  • Rule developer
    • Helps the Business Rule Analyst with implementation of the rules for execution
  • IT Architect
    • Responsible for the architecture and design of the enterprise system integration and configuration
  • System Developer
    • Responsible for low level development, integration with other system, etc.

Titles are less important than clear definitions of responsibilities.

Pay attention to the handoffs between roles.

Composing Project Teams

  • Business goal driven, but technology powered
  • Create mixed teams of technologists and business analysts
  • Involve and be involved with outside groups
  • Build teams for quick results but develop skills and roles for the long term

Creating your BPM team

  • Adapt to the specific project size and complexity
  • Leverage prior successes

This list of roles is a decent starting point. The information extrapolated from this webinar can also be cross referenced with the list of Roles from ABRD v1.2 (which seems a bit more complete) and other sources.

I guess I now have to take all that information and take it to the next level… You should expect more on this topic in the future.

BPM Center of Excellence applied to Business Rules

I have to admit, that recently I have been looking for anything that mentions rules governance and management, and although this center of excellence webinar by Sandy Kemsley is geared towards BPM, I think there are common pieces that can be learned from and applied to business rules.

To put it in context, the COE usually comes into play once successful projects have been completed and the lessons learned and management processes need to be expanded to have a more global point of view for the whole enterprise.

Here is an excerpt of what is mentioned about the Center of Excellence (COE) for BPM.

The benefits expected from a COE:

  • Knowledge transfer
  • Synergies between projects
  • Shared code and components for reusability
  • Faster deployments
  • Lower costs
  • Standardized, repeatable projects

Based on survey by Forrester, the presence of a COE increases the success of the projects as opposed to not having a COE.

The functions expected from the COE are:

  • Skills. The knowledge and skill set is too rare to maintain in each project
  • Governance. The COE becomes the point of convergence for governance for creating common principles and methodologies
  • Repository. A common place for keeping training material, best practices and techniques, common code and components
  • Community. A place to share and discuss ideas and do problem solving and to shift points of view from project or departmental to global and enterprise level

 To build the COE, here is what is required:

  • Executive sponsorship
  • Methodology and best practices independent of technology
  • Co-location of the people to improve communication

The roles required in a COE (which I adapted for Rules)

  • Chief “Business Rule” Officer
  • Steering committee
  • Project manager
  • Enterprise architect
  • Business Rules analyst
  • Business Rules developer
  • User Acceptance Testing (UAT) and Quality Assurance (QA)
  • Business Rules Administrator

The webinar then goes into some case studies which are also very informational. Definitely worth a look if you are interested in Centers of Excellence and Governance.

The webinar on BPM COE can be found at: http://www.bpmbasics.com/resources/academy/bpm105.jsp

On IBM ILOG BRMS and BPM

I just listened to a webinar by ILOG that discusses the integration of the ILOG BRMS with BPM.

 

I am glad to see that they are starting to publicize the need for both BPM and BRMS and how they relate. This was a first from ILOG as far as I can remember.

 

In short, business processes should be calling business rules and this should avoid your business process to grow into something un-manageable over time since the decisions are being externalized into the BRMS.

 

ILOG mentions the following as reasons to separating process and rules:

  1. Increase business agility by allowing users to manage decision logic
  2. Streamline and stabilize processes by externalizing decision logic
  3. Enable re-use of decisions across different processes, applications and systems
  4. Enable automation of complex, variable decisions
  5. Effectively manage large and evolving sets of rules

 

The interesting thing here is that points number 2 and 3 are now presented with a business process component instead of the “application” as it used to be.

 

Obviously, part of the presentation was aimed at showing why IBM bought ILOG and where ILOG’s products complete IBM’s offering and how it fits with the IBM products.

 

Once slide I particularly liked was one where they presented their vision of the Agility Infrastructure. Which basically is presented as:

 

The Agility Infrastructure:

  • Detect (Business Events)
  • Orchestrate (Business Process Management)
  • Decide (Business Rules)
  • Monitor (Business Activity Monitoring)

This is a simple representation of the 4 concepts and how they relate, yet it is a very effective one.

 

The recorded session and slides should be available soon on the ILOG web site.