Service-oriented architecture |
In Computing, the term Service-Oriented Architecture (SOA) expresses a software architecture concept that defines the use of services to support the requirements of software users. In a SOA environment, nodes on a network make resources available to other participants in the network as independent services that the participants access in a standardized way. Most definitions of SOA identify the use of Web services (i.e. using SOAP or Representational_State_Transfer) in its implementation. However, one can implement SOA using any service-based technology.
Unlike traditional object-oriented architectures, SOAs comprise loosely coupled (joined), highly interoperable application services. Because these services interoperate over different development technologies (such as Java platform and Microsoft .NET), the software components become very reusable i.e. the same C# (C Sharp) service may be used by a Java application and / or any other programming language which can access this service, due to the virtue of the interface definition being defined in a standards compliant manner (Web services description language) which encapsulates / hides the vendor / language specific implementation from the calling client / service.
SOA provides a methodology and framework for documenting enterprise capabilities and can support integration and consolidation activities.
High-level programming 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 =
= SOA design and development =
The modeling and design methodology for SOA applications has become known by the terms service-oriented analysis and design and Service-oriented Development Of Applications (SODA). The SOA functions as much as a software development framework as it does as a delivery framework. In order for a SOA environment to operate successfully, software developers need to orient themselves to its mindset of creating common services which clients or middleware then orchestrate to implement 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. A set of standards exists which generally feature in all discussions of Web services. These standards include the following:
Note, however, that a SOA does not necessarily need to use any or all of these standards to become service-oriented.
In general, SOA is behind the scenes, not visible to the users. SOA is fronted by a client UI, and end users only see the Client UI. In other words, there is no SOA without clients using it. As such, SOA is an enabling technology, behind the scenes, waiting to be used.
= Why SOA =
Enterprise Architect believe that SOAs help businesses respond more quickly and cost-effectively to the changing market conditions they may face.
= Products =
SOA is not a product, although several vendors offer products which can form the basis of a SOA. Examples of such products include (alphabetical by vendor):
= See also =
= Footnotes =
= External links =
|
|