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:
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:
The good news is that in the upcoming feature pack (on top of 220.127.116.11) 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.