"We didn't start the fire ... it was always burning since the world's been turning ..." [Billy Joel 1989]. Is SOA the "Same Old Architecture?" or is it "Simply Over Ambitious?" Let's apply SOA's arsenal:: XML, BPM, Services, SOAP, Web Services - to the real world and find out. Let's put out some fires.

« Setting high impact KPIs to get real value of BPM investments | Main | Day 1 at IEEE SCC 2008 Conference... »

SOA Reference Model & Reference Architecture – The Link

As IT is always full of jargons, SOA is no exception.  One of the most commonly used terminology in SOA world is the term ‘Reference Architecture’. However, there are several places where people seem to mix-up the term ‘Reference Architecture’ with ‘Reference Model’ which puzzled me initially to a large extent. Since then I have been trying to understand the fundamental difference between these two and trying to address the following questions that kept coming up in my mind –
-          Are they same?
-          What is the relationship between the two
-          Do  they co-exist
-          How does one define them and what are the different characteristics

 

So what’s the ‘Reference Model’

          SOA Reference Model (SOA-RM) is a framework which captures the various capabilities/patterns (e.g. Multi Channel, Process Automation) required to effectively implement a service based information technology platform for achieving a specific business function or a set of business functions
          These capabilities are grouped in 2 main categories
          Functional – The capabilities in this category help the services meet a specific business function or a set of business functions
          Non-functional – The capabilities in this category help the services meet the business functionality within the defined contracts
          SOA-RM is not directly tied to any technology, standards or concrete implementations. It provides a common understanding that can be used across different implementations
          Is superset of Reference Architecture: Reference Architecture is derived from Reference Model
          Highest level of abstraction


 

What’s the ‘Reference Architecture’
-          It defines a consistent vision of SOA throughout the enterprise/business Unit and  supplies the context (for identified patterns) for imposing best practices on development and deployment of SOA
-          It offers an architectural framework for planning SOA-based projects that maximize interoperability and reuse across the enterprise or business unit
-          It represents IT’s architectural alignment (through selection of technology stack) with the business objectives for SOA. In the process, this helps the business case associated with the SOA initiative, including infrastructure requirements (technology, process, etc) and investment priorities.
-          Guided by Reference Model
-          Drives towards concrete Technology Architecture. Considers Protocol, Standards, Specifications etc. Accounts for Business and Technical Requirements, IT/Business Goals

 

Lets take a real life example, to ensure the difference is clear enough. Reference model for a vehicle would be:
·         Need for a vehicle which would help to move from one place to another in a reasonably faster way
·         Must carry people in sitting position
·         Should have a mechanism to control the speed/direction
·         Either automatic or manual manoeuvre
·         May have cruise control

Now taking this to next level i.e. A Reference Architecture. Eventually you might end up having different Reference Architecture depending on the need of the final Vehicle. In this case, the Reference Architecture for a car would address the following
·         Must have seat to ‘carry people’
·         Must have engine ‘for speed’
·         Must have steering wheel to ‘control the direction’
·         Must have wheels ‘for movement’
·         Must be automatic
·         No need to have boots
·         No cruise control

Now concrete implementation would have
·         How many seat car should have – 2 seats or 4 seats or more
·         Engine capacity 1.2ltr or 2.0ltr or more
·         Size of the steering wheel
·         Number of Wheels – 4 or 6 or more

In terms of decreasing level of abstraction: Reference Model --> Reference Architecture (can be many RA for a RM) --> Concrete Implementations

TrackBack

TrackBack URL for this entry:
http://www.infosysblogs.com/soa-mt/mt-tb.fcgi/66

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)