e-vita SOA-team blog Edited by Jon Petter Hjulstad


BPM 11g Advanced workshop in Lisbon

I had the pleasure of attending the Oracle BPM 11g Advanced workshop in Lisbon last week. Martien van den Akker has already blogged about it.

Thanks to Oracle SOA Community and Jürgen Kress for arranging this excellent event. Prasen Palvankar and David Read from Product Management were the best possible instructors. Two of the things that has done life simpler is Virtualbox and Amazon Cloud. Now it is easier to get hands-on experience with Oracle BPM Suite by using pre-installed software. This means you can start directly on development (which is what most of us want to do). On this training we used Amazon Cloud. The servers were set up with complete BPM Suite plus mailserver and SVN for version control - a good environment for a Proof Of Concept (POC) or training. As in any realistic project we did team development using SVN (and Tortoise). Anthony Reynolds has a blog on how to use the VM appliance. Latest version out is 11g PS2, but I hope that PS4 will be available soon.

The training was a realistic POC setting, with more focus on hands-on experience than presentations. 4 of the days were used to work (3-4 persons per team), and one day for presenting the results. This was not for beginners, and we did not have a detailed description on what to do (as in several other trainings). As many times before it involved a credit card case (application for increased limit), but this time even more powerful than before. A BPM POC may involve many different technologies, and in this we use the following:

  1. ADF Web application for initiating the process
  2. Batch processing from file (many requests at once)
  3. Advanced Business Rules for determining the allowed increase
  4. ADF Human Task for approval screens
  5. Cancellation and fraud detection : Implementing Conversation/Correlation constructs (with help from BPEL)
  6. BAM - is very easy to integrate in BPM and looks impressing!
  7. Sending mail notifications via SOA Suites own services

Personally I enjoy seeing that my SOA Suite experience helps a lot when using BPM. Many of the components are the same: Mediator, Business Rules, Technology adapters, BPEL and Composites. The best thing is having the choice between modeling processes as BPEL or BPMN, where BPMN is the more appropriate model for business users. BPM offers changes to be done with the process via web browser, and also rules to be changed without redeploying the processes.

One of my responsibilities in this little project was to build the business rules. In Rules 11g you can calculate aggregates like max, average and minimum. These calculated numbers can also be used in decision tables that are more readable for business users. I was struggling some with the user interface for Rules in JDeveloper, because it is complex. Debugging rules was also not easy before I discovered that I could make a debug function that lets you run rules from JDeveloper.

There may be many reasons for using rules - one of them is that business users can better understand rules than PL/SQL or Java-code. The other thing is rules is based on facts on reasoning, so that you do not to say how a problem should be solved. This means that what could be complex programs may be expressed as elegant and compact rules. The good news is also that Rules can be changed runtime in SOA Composer web application.

Here are some of the tricks I learned:

  1. Start with the simplest possible rules, and make it work
  2. Use globals so that they can easily be changed
  3. Numbers and decimals make it more difficult, and you may need to typecast, make small changes and test
  4. Make a debug function, and test from JDeveloper - this makes iterative changes easier
  5. Add some extra attributes in result to store "trace-information" - you may want to know something about the reasoning process

The good news is that in the upcoming feature pack (on top of the Rules editor in JDeveloper will be improved.

Thursday night we had a nice trip with boat and dinner in Lisbon. For those that have been in San Francisco, they have a similar bridge in Portugal. Lisbon-training in june can really be recommended.



Friday morning was the day for presentations from the different teams.


The different teams had different solutions to the problems, and focused on different challenges in the POC. What will be interesting to see how the best solution would be done when the feature pack is ready - I think that wiould give a better and simpler solution. BPM Suite does really improve a lot in every new release, not only on stability but also on functionality.


Now it is time for summer vacation, one of the nexts posts might be about the Rule Engine. I am now a fan of Business Rules.


Jon Petter