SOA – Service Oriented Architecture – An Overview

April 16, 2012

WHAT IS IT?

SOA is a software architecture that is based upon a specific set of design principles and is intended to be used for the automation of business processes. It is termed, “Service Oriented”, because the software modules developed with this paradigm are referred to as “Services”. In addition, the modules are intended to be combined to provide the “Services” necessary for one or more business processes.

The name “Service Oriented Architecture” was originally coined by Gartner analyst Yefim V. Natis in a 1996 research paper. (1) Unfortunately, the designation has not always been used in a consistent manner. For that reason, The Organization for the Advancement of Structured Information Standards is developing a reference model to “encourage the continued growth of different and specialized SOA implementations whilst preserving a common layer of understanding about what SOA is.” (2)

In his publications, Thomas Erl discusses eight design principles of the Service Oriented Architecture paradigm. (3)

1. Standardized Service Contracts are the mechanism used to document and communicate the information necessary to interact with a particular service.

2. Loose Coupling is the concept of minimizing the interdependencies of services.

3. Service Abstraction involves masking the inner workings of a service in a way that promotes the Loose Coupling.

4. Service Reusability refers to the principle of designing services which can be used in multiple business processes.

5. Service Autonomy is the idea that a given service will have as much control as possible over its own environment and resources.

6. Service Statelessness refers to minimizing the need for services to remember information about a previous event or interaction.

7. Service Discovery is the ability to locate and understand a service within an inventory of available services.

8. Service Composability refers to the ability to effectively couple services with one another in order to compose a complex business process solution.

WHY USE IT?

Implementation of the SOA paradigm is intended to provide specific benefits. Unfortunately, because of the nature of the architecture, much of the cost associated with the implementation is borne during the initial stages. It takes a significant amount of time and effort to develop the services required to begin the replacement of existing systems and thereby realize the benefits of SOA. In the interim IT costs are likely to increase significantly.

Ultimately, the use of SOA will result in the creation of an inventory of services. With these services available to quickly couple together, the business will be able to react more rapidly and with less cost when opportunities or challenges arise.

Once implemented properly there should be several more significant benefits to the business:

1. Reduced IT cost due to the ability to reuse a single service in multiple business processes. This should decrease the amount of redundant software logic that will be developed and maintained. There should be a reduced incidence of software errors.

2. Improved and less costly regulatory compliance due to the elimination of redundant software logic. A specific piece of business logic will be found in a single location and as a result it will be better controlled, better understood, and more easily maintained.

3. Increased flexibility and scalability due to the fact that services will not be location or platform dependent. If the hardware technology changes the relationship between the services can continue on as usual.

4. Improved alignment of business and technology – “With SOA, business managers work with IT to identify business services. Together, they determine policy and best practices. These policies and best practices become codified business services that represent honed company business processes.”(4)

RE-ENGINEERING WITH SOA.

It can be argued that SOA is a beneficial tool for use in re-engineering corporations. Because the Service Oriented Architecture results in software that can be more easily adapted to changing business requirements, the implementation of a SOA can facilitate the realignment of business units and business processes. In addition, the business analysis required by the SOA development process will provide an opportunity for a review of current business processes.

Adoption of the SOA paradigm may also necessitate a “re-engineering” of the corporate IT organization and its relationship to the business units. With traditional software implementation methods a group of IT professionals will typically be responsible for the software that automates a specific business process. In contrast, individual SOA services are designed to be used in multiple business processes which may cross business unit lines. Since individual business units will not have ownership of specific SOA services they may be less inclined to include the development costs in their budgets. As a result, corporations will need to reconsider their IT structure in order to implement new funding and support models.

By: Blane McCarthy

References:

1. Rajiv Ramaratnam; “An Analysis of Service Oriented Architectures”, Massachusetts Institute of Technology, June 2007

2. http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm

3. http://www.soaprinciples.com

4. Judith Hurwitz, Robin Bloor, Marcia Kaufman, and Dr. Fern Halper; “Service Oriented Architecture For Dummies, 2nd IBM Limited Edition”, Wiley Publishing, Inc. 2009

http://toronix.com/Documents/ToronixNewsletterSOA-ESB.pdf

Erik Townsend; “The 25 Year History of Service Oriented Architecture”, July 17, 2008

Advertisements

One Response to “SOA – Service Oriented Architecture – An Overview”

  1. Dhinakaran Gurusamy said

    Good post with lot of information on SOA. Business are moving towards this architecture to quickly response to changing market conditions.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: