Skip to main content

skip to main content

developerWorks  >  Architecture  >

The role of a rules architect

Transform business requirements into IT realizations

developerWorks
Document options
PDF format - Fits a4 and Letter

PDF - Fits a4 and Letter
124KB

Get Adobe® Reader®

Document options requiring JavaScript are not displayed


Rate this page

Help us improve this content


Level: Introductory

Arun Chhatpar (arunchhatpar@gmail.com), Software Architect, OmniViz

04 Mar 2008

The business rules architect plays a crucial role designing business rules models that are well organized and intuitive for both technical and business stakeholders to understand. This article discusses the importance of the role and uses the business rules development life cycle to describe the responsibilities of the rules architect in creating a reliable and extensible business rules implementation.

What is a business rules architect?

As described in the article "Introduction to business rules" (see Resources), business rules are a means of implementing and enforcing business policies. Business rules management (BRM) systems automate and manage decisions based on business rules. As BRM systems become more popular and more companies start implementing them on a larger scale, they become increasingly complex. So it is important to design them right from the get-go. A business rules architect is the person responsible for correctly designing these BRM systems.

Business rules architects work in conjunction with business owners and IT personnel to build a holistic view of an organization's business rules strategy. The rules architect is the person who transforms the business requirements of an organization into software systems that are solid and stable. The rules architect is tasked with reducing the overall cost of creating and maintaining business rules by designing and building simplistic and reusable components.



Back to top


Qualities of an effective rules architect

Being a rules architect means that you need to not only have technical skills, but you also need effective communication skills. Let's a take a look at the most important qualities that are required for a rules architect:

  • Expertise in business rules—The rules architect must have experience designing and developing business rules and systems, and the rules architect needs to have worked with different BRM tools and systems.
  • Ability to understand the business—Understanding the driving force behind business rules is very important to being able to design a robust system.
  • Vision to look beyond the system at hand—Just like an enterprise architect, a rules architect must not only think about the current system under design, but also see how it fits in with the enterprise-wide vision and the organization's architecture as a whole.
  • Great communication skills—The ability to communicate effectively with both business and IT personnel is critical to the success of the rules architect.
  • Technologically proficient—A rules architect must have hands-on experience developing software to completely appreciate the challenges of building a good system design. Ideally, a rules architect will have held different key positions in an IT organization, which would enable him or her to understand system bottlenecks and limitations, and would also help him or her design and propose the right solutions.

Now that we know what qualities make up a good rules architect, let's take a look at the key responsibilities of the rules architect in each step of the business rules development life cycle.



Back to top


Business rules development life cycle

The goal of a business rules system architect is to separate the business concerns from the logical code and assemble them in an easily manageable system that allows business users to create and update rules in an English-like syntax. As with any software system development, business rules systems have a defined life cycle. The three major steps in rules development are authoring, deployment, and maintenance. Let's look at each of these steps and what role the rules architect plays in each one.

Rules authoring

The first step that a rules architect takes in the business rules development life cycles is authoring. The subtasks involved in the authoring step are to:

  • Identify business rules—The rules architect needs to know what rules must go in the BRM system. It's a long and iterative process and involves many interviews, meetings, and discussions with business users.
  • Classify rules—The rules architect then needs to classify the rules that have been identified into the appropriate categories. Some examples of the categories are front-end validation rules, back-end workflow rules, knockout rules, and tiering placement rules.
  • Define templates—The rules architect defines artifacts and templates using the BRM tool. During this substep, the overall structure of the business logic is defined as templates and making some specific parts of the designated templates editable. The business user then uses an RMA (explained next) to edit these values according to their business requirements. The set of editable values can be presented in a Web page using whatever controls and labels that are suitable for the business environment. After they are defined, these templates will act as guiding principles and starting points for business users to write the rules in the BRM system in an English-like language. The most common artifacts provided by almost every industry-leading BRM tool are rule and rule-set templates, decision tables, and decision trees. In decision tables, rows and columns represent different conditions and the resulting action is defined by their intersections. Decision trees graphically depict chains of dependent conditions leading to an action.
  • Create a user interface to put business rules in BRM systems—The rules architect must provide business users with an interface to create the rules, which is called the rule maintenance application (RMA), as shown in Figure 1.
  • Create rules—The rules architect must then create the rules using RMA.

Figure 1 shows the process of rules authoring.


Figure 1. Complete BRM system architecture highlighting business rules authoring process
Complete BRM system architecture highlighting business rules authoring process

As Figure 1 shows, IT personnel create the templates using the BRM integrated development environment (IDE) tool, and business users use these templates to write rules from the RMA. The rules architect plays a key role in this process.

At the start of the authoring process, the rules architect assists with proper identification of rules. Proper identification helps to keep unnecessary rules from creeping into the rules repository. The rules architect has to make sure that all rules are captured using techniques—such as requirements gathering—through numerous interviews with business users. The architect may also use tools such as IBM Rational® RequisitePro® to make this easier (see Rational RequisitePro to the rescue sidebar).

Rational RequisitePro to the rescue
The IBM Rational software product portfolio includes an integrated tool called Rational RequisitePro for managing requirements. One of its primary features is the ability to manage project-related documents. You can manage documents created by different business users and combine them to create one big stack of rules. You can download a trial version and learn more about Rational RequisitePro from IBM developerWorks (see Resources).

Following identification, the rules architect must ensure correct classification or rules into appropriate categories. It is very important to classify the rules properly because classification affects all three steps of the rules life cycle (authoring, deployment, and maintenance).

The rules architect must then use the right artifacts to define templates. What are artifacts in BRM systems? They are prototypes, or building blocks, that a rules author can use to logically create a set of rules. Examples of artifacts from BRM tools include rule sets, decision tables, decision trees, and score cards. Should you use a rule set or a decision tree to define a group of rules? The rules architect has to decide which rules to use in order to define a group of rules and ensure that the right artifacts are used to define them.

The rules architect must also design for code reusability. This is where the architect's technical knowledge is essential. You have to design your rule base to be extensible and reusable at the same time.

After the business users have created their rules in RMA, the next step is to deploy them along with your existing application, which is explained next.

Rules deployment

As mentioned earlier, the rules architect must be able to look beyond the current system. It's not just about what rules go into the system. A rules architect must also consider how the system under development would interface with existing applications. Most business rules implementations are either a replacement of existing legacy applications or a subcomponent of a larger system architecture. The complexity introduced by such a mixed system makes the integration of a business rules system that much more challenging. It's outside the scope of this article to describe the complete integration of legacy systems with newer applications, but let's take a closer look at some of the steps involved in the deployment process.

The rules architect must choose the type of target implementation. The current BRM tools allow you to have different deployment options for the rules engine. Some of these are:

  • Inline Java™ application—Runs the rules engine as an inline Java application.
  • Web service deployment—Allows the rules engine to be deployed as a Web service, accessible from other applications via a standard Simple Object Access Protocol (SOAP) interface.
  • Enterprise JavaBeans (EJB) in an application server—Integrates the rules engine inside the application server running as an EJB.

The rules architect must define interfaces to interact with existing external and legacy applications. This step involves integrating new business rules applications with other applications and enterprise information systems that have been in operation for some time, often referred to as an enterprise's "legacy" systems. An enterprise cannot afford any disruption in these legacy systems. So the rules architect must ensure that the new system works seamlessly with existing applications. This could involve either opening up your new systems to other applications or implementing other system interfaces to interact with it.

The rules architect must now deploy the rules engine.

Figure 2 illustrates the rules deployment process of a BRM system.


Figure 2. Complete BRM system architecture highlighting business rules deployment and integration with external and legacy applications
Complete BRM system architecture           highlighting business rules deployment and integration with external and legacy           applications

The system shown in Figure 2 is quite simple, but that would hardly be the case in real life. In reality, the rules architect would have been very diligent about creating the interfaces between the rules engine and the external and legacy applications.

The rules architect must consider the performance of the rules engine and not let it become the limiting factor of your overall system performance. This is different from the performance of the system where the rules engine gets deployed. Rather, it refers to the performance of the rules engine itself in terms of the amount of time it takes to execute the rules and return results back to the calling application. There are several factors that adversely affect performance, such as improper design of the data model (for example, creating a need for multidimensional arrays in your data model). It is always better to keep the design simple and use single-dimensional arrays. Bad interface design, hardware limitations, and cross-system interaction can also degrade performance of the whole system.

From an infrastructure point of view, the rules architect must promote correct management of the rules repository. Proper management can be achieved by organizing business rules centrally and modeling business processes and components based on task. The rules architect must encourage shared infrastructure and applications to reduce costs and improve information flow. Proper management of the rules repository also enables the architect to reuse business rules and components for new business areas, enter new markets quickly, and override specific components as needed to address new requirements.

Rules deployment is more of an IT task; business users are not involved in it. They come into the picture again in the final process of rules maintenance as explained next.

Rules maintenance

The final process in the rules development life cycle is rules maintenance. Business users, working in conjunction with the rules architect, maintain rules in an ongoing process. The process gives business users the ability to make changes to the rules without having to ask the IT staff to do it for them. The idea behind BRM systems was to give business users complete control over changing the business logic without having to work with IT personnel. The key here is to have a common rules repository. It is important to understand the necessity of the rules repository to understand the rules maintenance process. The repository must be shared and accessible by different applications. Figure 3 helps illustrate this sharing.


Figure 3. Architectural view of a BRM system
Architectural view of a BRMS

As you can see, all three components—the IDE, the RMA, and the rules engine—are using a common rules repository. The idea here is to provide a common base and still allow independent access to business rules to all components. So even though the rules engine is pointing to the same repository at run time, business users can make changes to the rules, and those changes are instantly picked up by rules engine without any intervention from IT. Of course the rules architect still has to manage things like release management and versioning. Ideally, however, this is how it works.

The rules architect must provide business users with an interface to change rules. This interface is the same RMA created in rules authoring that the business users use to manage and update rules. The templates created there are packaged together and usually deployed on an application server, giving the business users a simple Web interface for rules management.

The rules architect must create a strategy for version control. Versioning provides a trail of all changes. It is very important to incorporate even the changes that the business users make, so you can roll back changes in case of a problem.

The rules architect must also create a code-release strategy. Although business users may not be accustomed to release management concepts, they shouldn't be allowed to make changes all the time. The rules architect must enforce a workable release strategy, and business users must be made aware of and follow it. After the strategy is in place, business users can update the rules as needed according to the release schedule.

Figure 4 shows the process of rules maintenance by business users.


Figure 4. Complete BRM system architecture highlighting business rules maintenance using RMA
Complete BRM system architecture highlighting business rules maintenance using RMA

Just as in the authoring and deployment steps, the rules architect has certain responsibilities in the maintenance step as well. But at this point in the process, the architect does not have much to do other than to ensure that the new rules system is deployed properly and the RMA is always available for business users to make changes to the rules.

Another responsibility of the rules architect is to create a simple and user-friendly interface. The rules developer usually creates the RMA pages, but the architect can and should enforce a simple approach to designing the look and feel of the user interface (UI). I cannot stress how important this is. At one of my engagements, one of the leading BRM tools was almost thrown out because its out-of-the-box UI was very hard to work with. So, try to keep it simple.

The job of a rules architect might sound straightforward on the surface, but it is probably one of the must challenging jobs in IT today.



Back to top


Summary

A good rules architect is someone who truly understands the business rules landscape well—not just the business rules and the interfaces to legacy applications—but the real soul of the system. They are the ones who, given a particular system to implement, will come up with a number of different solutions, but will also know the right one to choose. I hope this article gave you a good introduction to this challenging role.



Back to top


Acknowledgment

Share this...

digg Digg this story
del.icio.us Post to del.icio.us
Slashdot Slashdot it!

I would like to thank Deven Samant, my mentor and business rules systems guru, for his guidance and expertise in advising me on this article.



Resources

Learn

Get products and technologies

Discuss


About the author

Arun Chhatpar is a regular contributing author to IBM developerWorks and he possesses more than ten years of software design and development experience encompassing decision analytics, rusiness rules management systems, core Java, UI frameworks, and workflow orchestration. He is also a Sun Certified Enterprise Architect and business rules expert.




Rate this page


Please take a moment to complete this form to help us better serve you.



YesNoDon't know
 


 


12345
Not
useful
Extremely
useful
 


Back to top


IBM, the IBM logo, Rational, Rational Unified Process, RequisitePro, RUP, and WebSphere are registered trademarks of International Business Machines Corporation in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.