A service-oriented architecture (SOA) is theunderlying structure supportingcommunications between services. SOAdefines how two computing entities, such as programs, interact in such a way as to enableone entity to perform a unit of work on behalf of another entity. Service interactionsare defined using a description language.Each interaction is self-contained andloosely coupled, so that each interaction isindependent of any other interaction.Service Oriented Architecture is anarchitectural paradigm and discipline thatmay be used to build infrastructuresenabling those with needs (consumers) andthose with capabilities (providers) to interactvia services across disparate domains of technology and ownership. Services act asthe core facilitator of electronic datainterchanges yet require additional mecha-nisms in order to function. Several newtrends in the computer industry rely uponSOA as the enabling foundation. (1)
An Introduction to Service OrientedArchitecture:
(3)Service Oriented Architecture(SOA) is a paradigm for organizing andutilizing distributed capabilities that may beunder the control of different ownershipdomains and implemented using varioustechnology stacks. In general, entities(people and organizations) create capabili-ties to solve or support a solution for the problems they face in the course of their business. It is natural to think of one person’s needs being met by capabilitiesoffered by someone else; or, in the world of distributed computing, one computer agent’srequirements being met by a computer agent belonging to a different owner. The termowner here may be used to denote differentdivisions of one business or perhapsunrelated entities in different countries.There is not necessarily a one-to-onecorrelation between needs and capabilities;the granularity of needs and capabilities varyfrom fundamental to complex, and anygiven need may require a combination of numerous capabilities while any singlecapability may address more than one need.One perceived value of SOA is that it provides a powerful framework for matching needs and capabilities and for combining capabilities to address thoseneeds by leveraging other capabilities. Onecapability may be repurposed across amultitude of needs.SOA is a “view” of architecture that focusesin on services as the action boundaries between the needs and capabilities in amanner conducive to service discovery andrepurposing.
Principles and Definitions:
Looking around we see the term o
acronymSOA becoming widely used, but there's nota lot of precision in the way that it's used.The World Wide Web Consortium (W3C)for example refers to SOA as
'A set of components which can be invoked, and whose interface descriptions can be published and discovered'
. We see similar definitions being used elsewhere; it's a verytechnical perspective in which architectureis considered a technical implementation.This is odd, because the term architecture ismore generally used to describe a style or setof practices—for example the style in whichsomething is designed and constructed, for example Georgian buildings, Art Nouveaudecoration or a garden by Sir Edwin Lutyensand Gertrude Jekyll .CBDI believes a wider definition of service-oriented architecture is required. In order toreach this definition, let's start with someexisting definitions, and compare some