In this post, I will attempt to cover the implementation landscape including actors and roles, technologies and skill sets. I will attempt to identify the typical challenges that might arise when using rule driven Decision Services in an SOA.

A little Background

Lets take the example of a Pricing Service in a Loan Process. A Pricing Service will determine the cost of a loan for a given applicant. Price is determined by the Property Type, FICO Score, etc, and these rules change very often, some times twice or thrice a day. Now, lets ask these questions to get started?

  • Who will define and control the loan process?
  • Who will define the contract for the Pricing Service?
  • Who will define the rules that drive pricing?
  • Who will write the rules for the Pricing Service?
  • Who will test the Pricing Service?
  • Who will provide the test cases for the Pricing Service?

As you can see, the above are basic but very important questions whose answers will have a huge impact on how the Pricing Service is built and maintained.

The SOA Decision Service Lifecycle

The below graphic depicts a simple model of a lifecycle for a Decision Service.

SOA Decision Service Life Cycle

  • Step 1: IT Architect Defines the Service Contract
  • Step 2: The Subject Matter Expert(Business Analyst) defines the rules
  • Step 3: The Business Rules Developer implements the rules
  • Step 4: Either/Both QA and the Business Rules Developer test the rules using the test cases supplied by the Subject Matter Expert
  • Step 5: The Application Developer Generates the Decision Service
  • Step 6: The Application Developer Integrates the Service and deploys the Service into the application/workflow

As you can see, there are distinct stages in the lifecycle, with different roles involved.

  • Business Rules Developer (Semi-Technical, domain aware)
  • IT Architect (Responsible for the the whole IT process implementation)
  • Application Developer - Builds and integrates the application (In this case, may be an L.O.S)
  • Subject Matter Expert - Business Analyst (Owns the business process and business rules)

The Implementation Landscape

Now that we have seen what the SOA Decision Service Lifecycle is, and who the actors (roles) involved are, it is time to highlight some of the important things that we need to know to understand the challenges involved in creating SOA Decision Services.

Check out these Fact Bits about for a starter.

  • SOA Technologies like WCF or WWF, though much simpler than ever, still come with a stiff learning curve
  • The Business Rules Developer is an expert at implementing business rules. This role is knowledgeable in the domain and is semi-technical.
  • The Application Developer is trained to use SOA technologies, but will not understand the internals of the business rules or the rule engine/brms used to deliver the rule driven Decision Services
  • Because Business Rules are externalized when using a rule engine, it is highly likely that the business rules development is done in parallel with the rest of the Application Development.

The Execution Challenge

So, the challenges as I see can now be formulated into the following points

  • How will the Application Developer Generate the Decision Service without understanding the internals of the rule engine, the brms, the business rules and the vendor specific API?
  • How will the Business Rules Developer run a Smoke Test of the Decision Service with only a tiny knowledge of SOA Technologies?
  • How will the QA Personnel do Integration Testing with a minimal knowledge of both SOA Technologies and Business Rules Technologies?
  • How will you realize the benefits of true parallel development when increased co-ordination costs jack up your project costs?

The challenge exists because not having a satisfactory answer to the above will inevitably lead to longer implementation timeframe’s. If not handled correctly, additional personnel will be needed to mediate between Application Development and Business Rules Development that will increase costs and errors

Next Post

In the next post, I will propose a solution that will address the challenges that I have mentioned. I will try and provide a Check List of capabilities that you should aim to have that will help you overcome these challenges

Share and Enjoy! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • BlinkList
  • Furl
  • Ma.gnolia
  • NewsVine
  • Spurl
  • TailRank
  • Reddit
  • SphereIt
  • StumbleUpon
  • Technorati
  • YahooMyWeb

No Responses to “Real World SOA and Decision Services - Part 2”  

  1. No Comments

Leave a Reply