As you can imagine, in the world of enterprise software, the phrase “Service Oriented Architecture,” or SOA, comes up a lot. As I’ve done in the past with “middle-ware”, I thought it’d be fun and helpful to see what people are saying SOA means.
BEA: Nominee for Best Packed Sentence
From The ABCs of SOA:
Service-Oriented Architecture is an IT strategy that organizes the discrete functions contained in enterprise applications into interoperable, standards-based services that can be combined and reused quickly to meet business needs.
Also see the dev2dev page on the topic.
IBM: We’re All Business
From their New to SOA? page:
Service Orientation and Service Oriented Architecture begins with business processes. A service is simply a business task. When business tasks are tightly linked to IT processing, customers realize the benefits of increased business flexibility and the ability to more quickly and easily solve new business problems, such as improving customer service, integrating supply chains and utilizing a unified customer view of your data.
Service Oriented Architecture allows for easier management of these business processes through the use of flexible IT connections within a well-defined, standards-based interface. SOA services become IT assets that can be re-used extensively in many applications.
Also see this more conversational definition, and this from develperWorks.
looselycoupled.com: Doin’ SOA Since Back When You Did RMI.
From the glossary:
(Service Oriented Architecture) A system for linking resources on demand. In an SOA, resources are made available to other participants in the network as independent services that are accessed in a standardized way. This provides for more flexible loose coupling of resources than in traditional systems architectures.
Sun: Didn’t I Say I We’d Interop?
From their SOA page:
Service Oriented Architecture (SOA) is the future of IT services. An SOA lets you integrate virtually all of your IT resources, including isolated data “silos” and previously incompatible legacy, .NET and Java technology applications. Sun and its partners have everything you need to create, use, manage, and secure an SOA solution.
Microsoft: Paradigm Time
SOA advocates a paradigm that departs from the traditional view of encapsulating business logic behind objects and components: SOA advocates encapsulation based on business processes. This paradigm shift will have pronounced effects on traditional Line of Business software as the next generation systems will be woven from services that are implemented on disparate but well known end points. These disparate systems share nothing more than a notion of a common contract and will often be implemented with different technologies, on different hardware systems, and even possibly by different organizations.
Also see this MSDN page.
SAP: Unlocking What’s Already There
A bit harder to find something. I found this ad targeted at US government buyers:
In a recent survey, 82% of executives identified
information technology as critical to changing how they operate over
the next five years. As a result, service-oriented architecture (SOA)
has emerged as a platform that enables the reuse of existing business
services and the rapid deployment of new capabilities based on
existing systems….SOA enables federal IT organizations to:
- Leverage enabling systems to optimize
mission and business performance;- Unlock opportunities for enhanced
inter- and intra-agency collaboration and
the reuse of agency assets; and- Reduce the TCO of IT infrastructures,
while leveraging COTS, GOTS and legacy
systems.
OASIS: Not Afraid to Say “Distributed Computing”
From the SOA commitee page:
Service Oriented Architecture (SOA) represents a collection of best practices principles and patterns related to service-aware, enterprise-level, distributed computing. SOA standardization efforts at OASIS focus on workflows, translation coordination, orchestration, collaboration, loose coupling, business process modeling, and other concepts that support agile computing.
Oracle
From their SOA page:
Leading companies are tackling the complexity of their application and IT environments with Service-Oriented Architecture (SOA), which facilitates the development of modular business services that can be easily integrated and reused — creating a truly flexible, adaptable IT infrastructure.
Wikipedia: Pack it In!
From the Service Oriented Architecture page (2006-03-20):
In computing, the term Service-Oriented Architecture (SOA) expresses a perspective of software architecture 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 REST) in its implementation. However, one can implement SOA using any service-based technology.
Unlike traditional point-to-point architectures, SOAs comprise loosely coupled, highly interoperable application services. These services interoperate based on a formal definition independent of the underlying platform and programming language (e.g., WSDL). The interface definition encapsulates (hides) the vendor and language-specific implementation. A SOA is independent of development technology (such as Java and .NET). The software components become very reusable because the interface is defined in a standards-compliant manner. So, for example, a C# (C Sharp) service could be used by a Java application.
RedMonk: By Way of COA
From our Compliance Oriented Architecture paper:
The underlying philosophy behind SOA is straightforward: the dynamic
delivery and consumption of a set of rationalized and documented core
services, by a variety of applications.Decomposing an online store like Amazon.com, for example, into its
fundamental piece parts yields a set of services – among them: a
presentation service to deliver the HTML, a search service to find
appropriate items, a shopping cart service and a credit card
verification/payment service to check out and purchase items. While
many speak of SOA purely in terms of Web services, it’s RedMonk’s
view that Web services are not a prerequisite for delivering a
SOA. Web services greatly ease the task of exposing services, but a
SOA should seek to exploit available services, resources and
applications wherever possible. Indeed, many firms have run de facto
SOAs using decades old mainframe applications without any assistance
from Web technologies. An SOA should seek to exploit available
services, resources and applications wherever possible.
Hallo, hallo, hallo, hallo, hallodjsaljgfdl
Ric: indeed, part of my ploy was to get suggestions from other people: maybe even tracking down quotes 😉 I hastily posted the above right before getting on with dinner last night. I'm thinking I'll need to do a part 2, maybe even part 3.
And what do Sonic say it is?
http://www.sonicsoftware.com/solutions/learning_center/soa_insights/movin_soa_on_up/index.ssp
Before you start calling this comment spam – I’m a Sonic customer, and fairly impressed with it. BTW – Sonic is the home of David Chappel, who I believe is responsible for the term “Enterprise Service Bus” …
Then there is Martin Fowler’s refactoring of the acronym: Service Oriented Ambiguity…