BorderLayoutBoxedLayoutOpenLayout Maximum textMedium textSmall text


Register
18 March 2010
 English (United Kingdom) English (United States)
   
Jun 19

Written by: Gary Woodfine
19/06/2009 20:06 

What does SOA mean?

The way business information system are developed has radically changed over the last 10-15 years and this change seems set to continue for the foreseeable time to come.  It is no longer practical to develop large monolithic enterprise applications. It has been proven that these systems take many years to develop and then only address a very narrow set of objectives.  In today’s corporate world business processes need to be agile and have the ability to adapt business processes quickly. This entails that software systems need to be broken down into smaller manageable services that can help address the business need.  These services should be able to be modified independently of the other services to provide the flexibility to respond to ever-evolving market conditions. SOA is defined as a collection of well defined services , which are loosely coupled, interoperable and operate open standards message based approach.

SOA does not replace point to point architectures, it just provides an easier platform to make to integrate of these point to point applications. SOA implementations usually target back-end systems, and often there are usually no UI changes that need to be incorporated. However, SOA could be utilised to provide front-end UI implementations by combining service out XML with XSL to produce target HTML.

The SOA paradigm departs significantly from the Object Orientation (OO)  model where the encapsulation of data is often encouraged.  In OO, an object will hold and protect the data to facilitate a business need. The enterprise will consist of multiple objects that are specialised to handle “specific scenarios” with the data protected within the objects. SOA instructs the use of loosely couple services. The service describes the contract  to consuming entities, it does not tightly couple data to the service interface. It is essential to implement these interfaces in a generic fashion and as a result, application specific semantics need to be expressed in messages.

The following are a few constraints for the messages that need to be considered when designing an SOA:

  • Descriptive: Messages need to be descriptive rather than prescriptive.
  • Limited Structure: for users to understand the implementation details of a service they need to understand the format,structure and data types used by the service
  • Extensibility: Messages need to be extensible this provides the flexibility that allows SOA implementations to be quicker, faster, cheaper than OO implementations.
  • Discoverability: Consumers and providers of messages need them to be discoverable to they know what is out there.

Advantages of Using Messaging

  • Cross platform integration
  • Asynchronous communications
  • Reliable communication
  • Mediation
  • Thread management
  • Remote Communication
  • End-to End Security

Understanding Service-Oriented Architecture

SOA can be simply defined as an architectural concept of style that uses a set of “services” to achieve the desired functionality. A service is an autonomous system that accepts one or more requests and returns one or more responses via a set of published and well defined interfaces. SOA implements a set of loosely couple services that collectively achieve the desired results.

Tags:

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment   Cancel 


Copyright 2010 by Three Nine Consulting