Posts tagged business rule
Introducing Decision Tables in the SOA Suite 11g Business Rule component through a game of Rock, Paper and Scissors0
The Business Rule component in SOA Suite 11g is used to implement business logic. The logic is extracted from BPM or BPEL process definitions for from Java or other program code, exposed to be invoked from those contexts and defined in a way that makes it accessible to the business. That at least is the theory. Business Rules capture logic that ranges from the very simple – simple IF/THEN rules for allowing or disallowing based on one input parameter – to very complex, performing extensive ns and calculations, for example using the Decision Table. The Decision Table is a smart, compact way of clustering many IF/THEN rules together, as will be demonstrated in this article.
This article demonstrates how the decision table can be put to good use to implement the business logic behind the classical game of Rock, Paper and Scissors. (for a refresher on that game, see: http://en.wikipedia.org/wiki/Rock-paper-scissors).
Before even opening JDeveloper for working on the Business Rule, let’s briefly discuss the game itself: a simple game, played with two players. At the same time, they raise their hand, indicating either a rock, a pair of scissors or a piece of paper. The rules of the More >
Recently I was invited to read and review a recent publication on an important component of the Oracle Fusion Middleware stack: BPM Suite 11g. This book is titled Oracle BPM Suite 11g Developer’s Cookbook. It was written by Vivek Acharya and has been published by Packt Publishing. It contains close to 500 pages. The book homepage on the Packt Web Site is: : http://www.packtpub.com/oracle-bpm-suite-11g-developers-cookbook/book.
This article provides an overview of this book and my first impressions of it. In short:
The breadth of the book is impressive. Vivek has done a great job in describing many topics and aspects of the BPM Suite story. Along with the impressive scope, he also manages to provide a lot of details and in depth descriptions, for example in his discussion of business indicators and BAM, configuration of fault policies and on the development of User Interfaces with ADF to support Human Tasks. He uses a single case throughout the book – a case that is clear and comprehensive. Not too simplistic to become trivial and neither too complex to overburden the reader. Both business and process analysts as well as developers will benefit from this book – although I think More >
In my previous post I’ve shown how to create a composite in the Oracle SOA Suite with a simple decision table in a Business Rule Engine component. For that post I had used quite a simple data model resulting in a small xml/xsd tree. For our project I wanted to repeat the exercise with the real data model, so a larger xml tree defined by multiple imported xsd files. Unfortunately it wasn’t as easy as I hoped for. In this second blog post about the Business Rule Engine I’ll show you about the difficulties I had and how I’ve solved them. (more…)
For educational purposes I’ve created a cookbook in powerpoint format on how to create a simple decision table in Oracle SOA Suite with a Business Rule engine. To share this I’ve uploaded it to slideshare and post it here in the Amis blog as well. (more…)
Manage Agility through Manage-ability â€“ Introducing Design Time at Run Time in Oracle Fusion Middleware0
Below is my presentation from the OGH DBA, SOA & BPM Day on November 8th. My talk was about achieving instant agility with application, through the ability to manipulate behavior and look & feel of applications at run time. And also to provide various flavors – parallel versions – of the application through customization.
Oracle Fusion Middleware has built-in infrastructure to provide run time agility as well as customization. This infrastructure is commonly referred to as ‘design time at run time’ (and lately also the Fusion Extension Platform). It is based on MDS (meta data services) Repository and a bunch of run time, WYSIWYG tools: the composers.
To make agility work through design time at run time, it is adamant that organizations clearly define the roles and the process associated with it. And finding staff to play the role of ‘run time application editor’ will not be easy.
The business rule states:
Only one entry is allowed per ID and per day and the time should be recorded.
The table involved (simplified for the blog post)SQL> create table test 2 (id number 3 ,inspection_dt date 4 );
Wouldn’t it be nice if it was possible to do it like this?SQL> create table test 2 (id number 3 ,inspection_dt date 4 ,constraint one_per_day unique (id, trunc (inspection_dt)) 5 ); ,constraint one_per_day unique (id, trunc (inspection_dt)) * ERROR at line 4: ORA-00904: : invalid identifier
This way you still have the complete date information (time is a component of the date column), and only use the TRUNC (inspection_dt) to constrain the data entry. As you can tell from the error message, this is not allowed. Oracle 11g Release 1 introduced Virtual Columns which can implement this requirement declaratively.