Service-oriented_architecture Service-oriented_architecture

Service-oriented architecture - Definition and Overview

Service-oriented architecture (SOA) is a software architectural concept that defines the use of services to support business requirements. In an SOA, resources are made available to other participants in the network as independent services that are accessed in a standardized way. Most definitions of SOA identify the use of web services (using SOAP, WSDL and UDDI) in its implementation, however it is possible to implement SOA using any service-based technology.

SOA provides a methodology and framework for documenting enterprise capabilities and can support integration and consolidation activities.

High level languages such as BPEL or WS-coordination take the service concept one step further by providing a method of defining and supporting workflows and business processes.

SOA definitions

Term Definition / Comment
service A self-contained, stateless function which accepts a request(s) and returns a response(s) through a well-defined interface. Services can also perform discrete units of work such as editing and processing a transaction. Services are not dependent on the state of other functions or processes. The technology used to provide the service is not part of this definition.
orchestration Sequencing services and providing additional logic to process data. Does not include data presentation.
stateless Not depending on any pre-existing condition. In a SOA, services are not dependent on the condition of any other service. They receive all information needed to provide a response from the request. Because services are stateless, they can be sequenced (orchestrated) into numerous sequences (sometimes referred to as pipelines) to perform business logic.
provider The function which performs a service in response to a request from a consumer.
consumer The function which consumes the result of a service supplied by a provider.

SOA Design and Development

The modeling and design methodology for SOA applications is known as service-oriented analysis and design. The SOA is as much a software development framework as it is a delivery framework. In order for an SOA to be successful, software developers need to orient themselves to its mindset of creating common services which are orchestrated by clients or middleware to implement business processes. Development of systems using the SOA requires a commitment to this model in terms of planning, tools, and infrastructure.

When most people speak of a service oriented architecture, they speak of a set of services residing on the Internet or an intranet using “web services”. There is a set of standards which are generally discussed each time web services are discussed. These include the following:

  • XML
  • HTTP
  • SOAP
  • WSDL
  • UDDI

Note, however, that an SOA does not necessarily need to use these standards to be "service oriented".

External links

Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.