I often get asked what the difference is between business rules and BREX, so I thought I would answer that question with Part 1 and dig deeper into the realm of business rules within Part 2 and Part 3 of this Business Rules blog series.

What are Business Rules?

I like to define business rules as the narrative, or description, of a decision that is made. Business rules would be typed up into a document or manual for people to read so they know what to expect when working for your company or for a specific customer or project. Here’s a few business rule examples both inside and outside of the world of S1000D.

  • Your business hours are 9:00 AM to 5:00 PM Pacific Time
  • All employees are required to wear slacks, shirts, and ties
  • Project X will use ASD Simplified Technical English
  • All documentation and internet sites will indicate “Copyright 2124 ACME Inc.”

Here’s the definition of business rules according to version 4.1 of the spec.

“Business rules are decisions that are made by a project or an organization on how to implement S1000D. Business rules cover all aspects of S1000D and are not limited to authoring or illustrating. They can also address issues that are not defined in S1000D such as rules related to how S1000D interfaces with other standards, specifications and business processes that are related to its implementation.”

That last sentence is very important. S1000D business rules will likely interact with every aspect of your business. Don’t take that lightly. Involve as many stake holders as you can from the beginning. And take the time to document your business rules even if it’s just a simple Excel spreadsheet or bulleted list in Word to start.

What is a BREX?

BREX stands for Business Rules EXchange. A BREX is an actual S1000D data module (a document) that gets included in the Common Source Database (CSDB). The BREX is the document that contains the computer language representation of the business rules. This allows authoring software and applications to validate data modules to the business rules.

Since computers can’t understand the narrative, or description, of business rules that are written in plain English, those business rules must first get turned into a language that the computers can understand. Business rules that are written in that special computer language are stored in the BREX document. That BREX data module is then referenced inside each data module so that the software and applications can validate that data module’s content to the referenced BREX.

Here are two sample business rules converted to their BREX counterparts.

Business Rule: Project X will use ASD Simplified Technical English

BREX:    <objectPath allowedObjectFlag=”2″>//@languageIsoCode</objectPath>

<objectValue valueForm=”single” valueAllowed=”SX”></objectValue>

Business Rule: All data modules must use the United States as the Country Iso Code.

BREX:    <objectPath allowedObjectFlag=”2″>//@countryIsoCode</objectPath>

<objectValue valueForm=”single” valueAllowed=”US”></objectValue>

As you can see from these two samples, the simple English of the business rule turns into some complex computer code.

So the difference is…

So what is the difference between business rules and BREX? Well, business rules are the decisions that are made for companies and projects working in S1000D that are documented in plain English. A BREX is the translation of those plain English business rules into computer language so software and applications can validate S1000D content to the business rules.

If you have any questions about Business Rules, BREX, or S1000D, please feel free to send me an
e-mail at info@onestrand.com.


Joel Brache