Home Contact Us Français Search Site Map
SOA
What is Service Oriented Architecture? (SOA)
 
In computing, the term service-oriented architecture expresses a perspective of software architecture that defines the use of loosely coupled software services to support the requirements of the business processes and software users. In an SOA environment, resources on a network are made available as independent services that can be accessed without knowledge of their underlying platform implementation.

A service-oriented architecture is not tied to a specific technology. It may be implemented using a wide range of interoperability standards, including Web Services. SOA can be implemented without these protocols, and might, for example, use a file system mechanism to communicate data conforming to a defined interface specification between processes conforming to the SOA concept. The key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without the service having pre-knowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks.
 
 
 
  Whitepapers
Components and Services
Select Business Solutions on Web Services
Select Perspective for Web Services
Service Orientation Architecture and Model Driven Architecture
Software Reuse ROI
  Products
Select Asset Manager
Select Solution Factory
Select UltraQuest
 
 

SOA can also be regarded as a style of information systems architecture that enables the creation of applications that are built by combining loosely coupled and interoperable services. These services inter-operate based on a formal definition (or contract) that is independent of the underlying platform and programming language. SOA-compliant systems can therefore be independent of development technologies and platforms (such as Java, .NET etc). In addition, applications running on either platform can consume services running on the other as Web services, which facilitates reuse.

SOA can support integration and consolidation activities within complex enterprise systems, but SOA does not specify or provide a methodology or framework for documenting capabilities or services.

SOA definitions

SOA is a design for linking computational resources on demand to achieve the desired results for service consumers. OASIS (the Organization for the Advancement of Structured Information Standards) defines SOA as the following:

A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.

There are multiple definitions of SOA but currently only the OASIS group has created a formal definition with depth which can be applied to both the technology and business domains.

Why SOA?

Enterprise architects believe that SOA can help businesses respond more quickly and cost-effectively to the changing market conditions. This style of architecture promotes reuse at the macro (service) level rather than micro levels (eg. objects). It can also simplify interconnection to and usage of existing IT (legacy) assets.

In some respects, SOA can be considered an evolution in architecture, not a revolution. It captures many of best practices or actual use of the architectures that came before it. In communications systems, for example, there has been little development in recent years of solutions that use truly static bindings to talk to other equipment in the network, but by formally embracing a SOA approach, solutions are better positioned to stress the importance of well-defined, highly interoperable interfaces.

SOA promotes the goal of separating users from the service implementations. Services can therefore be run on various distributed platforms and be accessed across networks. This can also maximise reuse of services

SOA principles

The following guiding principles define the ground rules for development, maintenance, and usage of the SOA:

 
 
Reuse
Compliance to standards
Services management
 
 

The following specific architectural principles for design and service definition focus on specific themes that influence the intrinsic behaviour of a system and the style of its design:

 
 
Encapsulation
Loose coupling
  Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other
Contract
  Services adhere to a communications agreement, as defined collectively by one or more service description documents
Abstraction
  Beyond what is described in the service contract, services hide logic from the outside world
Reusability
  Logic is divided into services with the intention of promoting reuse
Composability
  Collections of services can be coordinated and assembled to form composite services
Autonomy
  Services have control over the logic they encapsulate
Statelessness
  Services minimize retaining information specific to an activity
Discoverability
  Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms
 
 

In addition, the following factors should also be taken into account when defining an SOA implementation:

 
 
SOA Reference Architecture
  Provides a worked design of an enterprise-wide SOA implementation. See the SOA Practitioners Guide Part 2 for further details.
Life cycle management
  Provides a detailed process for services management though the service lifecycle. See the SOA Practitioners Guide Part 3 for further details.
Efficient use of system resources
Service maturity and performance
Enterprise Application Integration (EAI)
 
 

Service-oriented design and development

The modelling and design methodology for SOA applications has become known by the terms service-oriented analysis and design (SOAD).

SOA and web service protocols

SOA may be built on Web services standards that have gained broad industry acceptance. These standards also provide greater interoperability and some protection from lock-in to proprietary vendor software. However, one can implement SOA using any service-based technology.

Service-oriented architecture is often defined as services exposed using the Web Services Protocol Stack. The base level of web services standards relevant to SOA includes the following:

 
 
XML
HTTP/S
SOAP
WSDL
UDDI
 
 

SOA and Business Architecture

One area where SOA has been gaining ground is in its power as a mechanism for defining business services and operating models and thus provide a structure for IT to deliver against the actual business requirements and adapt in a similar way to the business. The purpose of using SOA as a business mapping tool is to ensure that the services created properly represent the business view and are not just what technologists think the business services should be. At the heart of SOA planning is the process of defining architectures for the use of information in support of the business, and the plan for implementing those architectures (Enterprise Architecture Planning by Steven Spewak and Steven Hill). Enterprise Business Architecture should always represent the highest and most dominant architecture. Every service should be created with the intent to bring value to the business in some way and must be traceable back to the business architecture.

Within this area, SOMA (Service-Oriented Modelling and Architecture) was announced by IBM as the first SOA-related methodology in 2004. Since then, efforts have been made to move towards greater standardization and the involvement of business objectives, particularly within the OASIS standards group and specifically the SOA Adoption Blueprints group. All of these approaches take a fundamentally structured approach to SOA, focusing on the Services and Architecture elements and leaving implementation to the more technically focused standards.

References

Information is taken in whole, or in part, from Wikipedia, The Free Encyclopedia - which is a fully independent knowledge resource that has no affiliation with Select Business Solution. As a result, Select Business Solutions takes no responsibility for the accuracy. If you believe the information is wrong, please contact us and we will investigate.

CMMI and Component Based Development Modeling tools available for free trial
About Us
Customers
Downloads
Learning Zone
News & Events
Partners
Products
Services
Solutions
Support
Webcasts
Industry Links

 

 


About Us | Customers | Downloads | Learning Zone | News & Events | Partners | Products | Services | Solutions | Support | Webcasts | Industry Links  
Copyright 2006, Select Business Solutions, Inc. All rights reserved.