SOA Defined
At a minimum it is best that anyone reading this Blog or participating in this Blog has read and understands how this Blog’s author defines SOA. It is amazing how many different definitions of SOA exist and how many different interpretations of those definitions exist.
To start I will begin by stating what isn’t SOA:
- It is not a technology!
- It is not a product
- It is not a development language
As the name implies it is an architecture or more precisely an architectural style and approach.
What do we mean by an architectural style? If you think of architecture in the context of building designs you relate style to common visual and physical characteristics for all buildings following the same architecture. If I put 100 house pictures in front of you you would have little problem sorting them by their architectural style (Victorian, Ranch, Tudor, Contemporary, etc.). Some however would be harder to sort if they contained characteristics of several architectural styles. Could a sprawling single level contemporary also be considered a ranch?
Some key takeaways from this analogy are:
- Some architecture styles are very concrete and specific in their physical characteristics making them easily identifiable (Ranch, Colonial, Salt Box). Others are much less concrete in their physical attributes and more heavily on their conceptual characteristics (Contemporary).
- Many physical implementations of buildings have mixed and blended more than one architectural design into their physical implementation.
- The materials used to build and the engineering standards for construction are different for different architectural styles.
In terms of SOA being an architectural approach it is also strategic and methodological in addition to its tactical visual and physical characteristics. In our Building analogy, some of the Architectural characteristics of each house and building may be a direct result of a larger set of controls and conditions that transcend each house and building constructed and govern their developments from a more holistic perspective. These overarching governance entities include “Zoning Boards”, Planning Boards” and “Health Boards” govern:
- Where you can build a house or building
- How much space you need to build a house or building
- How close to the street you can build the house or building
- If it has above or underground “utility pole” services
- If it is public or private water and sewage.
As well as many other conditions.
Thus SOA needs to have these (Enterprise) strategic governance Policies, Procedures and Standards as well as the bodies to maintain and enforce them established in order to be successful. SOA is an architecture. It requires enterprise knowledge and governance of all the architecture requirements when building SOA applications. The people, the process and the technologies all have to be in sync to build effective SOA solutions.
The uniqueness of SOA is that it is predicated on reuse at the deployed business service level not at the code level like the object oriented paradigm. For this reason it must be adopted and owned at the business level and governed from the enterprise perspective. Anything less reduces the chances of success.
Business reuse has never been more important. In today’s multi-channel, multi-partner business services delivery model the ability to rapidly reuse existing capabilities to support customer self service and multi -vendor services is key to faster time to market and competitive advantage. Companies that continue to replicate any portion of the service delivery chain with traditional “stove-pipe” approaches waste a significant amount of the IT dollars on duplicity. This waste spans the entire life cycle wasting development, testing, deployment, support and maintenance dollars.
So my definition of SOA is that it is both an architectural style and an architectural approach to building business solutions where the people, processes and technical solutions are all designed to operate at an enterprise level to reduce redundancy and waste. Over time, it is hoped that this Blog will be seen as a helpful source of information to achieve this objective.
Trackback this post | Subscribe to the comments via RSS Feed