jBPM5 Community Training – Module #1: jBPM5 Introduction

Hi there, I’m publishing here what I promise in my previous post. I’ve already start receiving feedback and congratulations before posting the first module, that really motivates me to keep going and speed up the releases. You just need to remember that these slides are the first public version, so feedback is highly appreciated. All the material that I will posting here will be distributed under  the creative common license. Feel free to redistribute it!

Module #1: jBPM5 Introduction

This module is about a quick preview about the main concepts, features and goals inside jBPM5. You can use this material to do an introduction to the project in your company and to spread the word about jBPM5.

The following topics are covered inside this module:

  • jBPM Project History
  • jBPM5 Overview
  • jBPM5 Goals
  • Classic BPMS vs jBPM5 architecture (Competitors)
  • BPMN2 Standard
  • jBPM5 features
  • Developing Applications with jBPM5
  • We have learned


Enjoy it!

Future revisions of this module will include:

  • Speaker notes for each slide
  • Video / Webinar
  • Hands on labs / Basic Example

Feel free to suggest more material that helps you to understand the content of this module!


You can take a look at the “Contact Me” section for more information about this training course, suggestions, questions, feature requests, etc. Don’t be shy, your feedback helps to improve the quality of the material and to discover the important topics that needs to be addresses to reduce the learning hype.

Special Thanks

Special thanks to www.plugtree.com to support the jBPM5 community.

Special thanks to Alejandro “ivcoti” Ramirez for the jBPM5 Logo!

Special thanks to @diega for the friendly first review!

30 thoughts on “jBPM5 Community Training – Module #1: jBPM5 Introduction”

    1. Hi there! Thanks for the feedback! I will probably delay the hands on labs for the first modules until we get the jBPM5 first release. That should be the first week of febraury, so stay tuned!


      1. Hi,
        Thank you for the info. Your slides and jBPM documentation were really helpful to write my “Hello World” jBPM5 project.


    1. Hi Vignesh, sorry for the late reply.
      I don’t have the video yet, I’m working to have all the examples and all the modules ready before recording each module with the speaker notes and the explanations.
      I’m planning that each video should be about 40 minutes each, providing a lot of information about each topic.
      Would you like to join the linkedin group? we can coordinate how to collaborate on this and another topics to help the jBPM5 community. I saw your comments in the IRC about contributing and I will be really cool if we can join forces to create cool stuff together.


  1. I’m wondering if my browser (firefox 3.6) is missing a plugin. I’m stuck behind a pretty restrictive firewall. By the way, is there a way to install JBPM5 without maven? My knowledge of maven is almost non existent. Thanks for the quick reply.


  2. I should been more clear. I’d like to install JBPM within JBoss6 (if possible). I’m a total noob, but I’m very interested in JBPM.


  3. Again, thanks for the quick reply. What I’m looking into is to see if jBPM (BPMN) makes sense for my organization. We’ve been using JBoss for years, and have developed our own workflow engine. The question is why maintain a workflow engine? If there is a product that integrates within JBoss and hopefully has the benefits of operating within the JBoss container, lets joins the “standards” world if our needs are met. We need the basic support of state changes, forking (split a process down two or more paths) and wait state control. Your site looks to be the best when it comes to jBPM5.


    1. Tom, jBPM5 fits perfectly for your needs. jBPM5 can be easily integrated to run inside JBoss Application Server. Please ping me privately if you have more questions or need more assistance with your research.


    1. Hi Tom, I will include a timeline about the project forkings in the next version of the material. I notice that a lot of people is asking the same question. The answer is simple.
      jBPM 3.x and Drools 3.x were two separate projects. Then jBPM4.x borns from the scratch and Drools Flow was created as part of the Drools Project. Nowadays jBPM4.x die and Alfresco’s Activiti was created with the same concepts, and almost the same code as jBPM4.x. At that point Red Hat decide to rename Drools Flow to jBPM5. The Drools and jBPM5 products design is shared and we have a great and tight integration between those projects.


  4. Hi salaboy!

    Thank you very much for the initiative. Congratulations!
    I’m looking forward to the next modules.

    By the way, what are the diferences between jBPM Console and GWT Console (slide 9)?

    And slide 38 (last bullet) and slide 39 share the same text.

    Thanks again for the help with newcomers.

    Francisco Barros


    1. Hi Francisco!
      First of all I really want to thank you for your comments, I will correct the slides ASAP.
      About the differences between the jBPM Console and the GWT – Console is the approach. The jBPM Console is an end user interface to interact with your processes and the GWT console (Server) is a rest interface that expose the functionality provided by the jBPM Console.
      You can try them both here:



  5. Is the difference (syntax, concepts, etc) between jBPM4 and 5 such that getting a book on jBPM4 (due to lack of availability of jBPM5 resources) useful or not if your target is jBPM5?


  6. Thanks for providing the slides. These are very useful. Please provide us hand-on exercises.

    Can somebody correct the following terms:

    Knowledge Base: Contains all the business processes ??

    Knowledge Session: Contains business process resides currently in the memory ??

    Knowledge Builder: What is it?


  7. Hi, I will try to clarify you the terms:

    Knowledge Builder: will take all your business assets representations: rules text files and business processes xml files parse them and create a binary (Object model) representation of them. These binary representations are called KnowledgePackages

    Knowledge Base: It will contain knowledge packages. Imagine that you can have multiple processes and rules to solve different situations. For each situation you can create different packages excluding non necessary rules or processes. The knowledge base will host these knowledge packages and it will allow us to create runtime sessions where our knowledge will live.

    Knowledge Session: yes, the knowledge session will be a living world where our domain objects, processes and rules will live and interact. You will be able to create a new knowledge session from a knowledge base that contain different knowledge packages.



  8. Hi SalaBoy,

    I have a basic question:

    Can you please tell how I can access a variable (a string variable defined within the process) in .java class?



  9. Hi Salaboy
    I’m still waiting for videos of your training modules since you have posted these posts!!!!
    But unfortunately they are not available to download yet.
    You told that you are going to edit and make them ready, but I think there is no need to edit them!!
    Please, just upload those videos.


    1. Hi Mehdi,
      As I told you before, this is a community effort. As soon as I have some time I will do that, but I’m pretty busy at the moment. Please let us know if you want to collaborate in this community effort.


  10. I open this page and left it over night, but it’s still in “loading” stage when I wake up in the morning…
    Is the server hosting slides all right ?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.