Or, should this title be If Data is Queen, then, Logic is King – Queen (data) being the protected – in Object Oriented terms! Jokes apart, in the last post, I talked about the importance of Data Structure, i.e. data model and now you can understand why it is logical and important to talk about Business Logic !
You can’t imagine any business application without a business logic/rule. Yet, business rules are the most abused term and least understood. Everybody knows the importance of it, but sadly everyone has a cliched understanding. In this post, I set out to articulate business rules in general and also explain how do we handle “Business Rules” in OrangeScape Visual PaaS!
Let us revisit basics for a minute. Any piece of software is ultimately made of data and logic. That is the reason there “Data Structures and Algorithms in College syllabus. And, our students learn (or should I say memorize) that without understanding the importance – and that is a different matter. In the evolution of computing – i.e. during structured programming paradigm – people believed logic is important. And, we know now, that DATA is more important than logic. That is why OrangeScape Visual PaaS is based on Data Model Centric – Data First Architecture.
I did a presentation for college students 4 years ago on “Rule Based Systems” which gives a decent run down on rule based system concepts. The essence of that presentation is that to do intelligent processing and decision making we need a way to represented 3 things in our computer:
- Factual Knowledge
- Sequential Knowledge (Step by Step instructions)
- Logical Knowledge (Reasoning)
Unfortunately, the architecture of computers that we use even today, is not suitable for representing “Logical Knowledge”. And, as anyone would agree there is nothing fruitful you can do without logical reasoning! It is a not startling find, but a forgotten truth, because we are so much used to representing logical knowledge through sequential processing. Even in objected oriented programming, which is about data and behavior encapsulated, the behavior in implemented as a set of sequential instructions inside the methods. Most programmers use IF statement for flow control of sequential instructions and for logical reasoning without even realizing it. And, for most cases the classical IF is just good enough until people encounter complex rule dependencies, like in the case of Mycin Experiment.
Fortunately, using the HW computer’s architecture we have, that supports DATA + SEQUENTIAL processing it is possible to create other SW computers that can handle logical reasoning especially when complex rules are combined! And there is a name to those SW Computers – they are called Rule Engines. OrangeScape’s core competency is in Rule Engines. The core of OrangeScape PaaS platform is our patented (USPTO #8,055,995) rule engine that processes your business rules.
There are 3 broad classification of business rules
- Computational Rule
- Conditional Rule
- Constraining Rule
OrangeScape’s Rule Engine Supports all above 3 types of rules. Unlike my previous employer Selectica which specialized heavily on the rule constraining capability and was a leader in that space before they lost direction, OrangeScape focuses on providing a breath of rule processing rather than depth – to address the needs of general purpose business application development.
One of the curse of Rule Engine products, owing to their specialization is that, they have proprietary rule definition editors that forces learning curve for developers to define the rules. This is a key area we decided to take a different approach at OrangeScape by providing a spreadsheet like rule definition environment, as spread sheet users and spread sheet knowledge are ubiquitous. These are some screen shots from OrangeScape’s Business Rules Perspective.