
SOA has garnered widespread attention and adoption due to its promise to deliver agility and cost savings to IT. SOA “should be” seen as an architecture discipline designed to handle the heterogeneity of enterprise IT. SOA facilitates the interoperability of diverse applications and computing platforms by packaging or wrapping functionality as interoperable SOA Services.
So let’s review a formal definition of SOA
Service-Oriented Architecture (SOA) is a strategy for constructing business-focused, software systems from loosely coupled, interoperable building blocks (called SOA Services) that can be combined and reused quickly, within and between enterprises, to meet business needs.
Notice that I used the word strategy and not technology in defining SOA. That is because achieving the benefits of SOA requires more than just the definition of a sound reference architecture. There are many other areas that must be addressed to successfully change the solution delivery process into a service-oriented approach including changes to software engineering, organizational structure, roles and responsibilities, governance, etc.
As with other architecture approaches, SOA provides high-level architectural principles, but it does not prescribe specific products or technologies. There are multiple products and technologies, frequently with overlapping capabilities, that could be included in an SOA. Therefore, architects must “fill in the details” by creating a reference architecture before any SOA initiative has a chance to succeed within an organization.
Thus, SOA requires both architecture and a broader strategy to be successfully implemented. The distinction between these two aspects is generally not clearly delineated in writings about SOA and frequently leads to confusion and ambiguity about what is SOA and what is not.
Although widespread, the adoption of SOA is far from universal. For some companies there is no justification to embark on an SOA initiative, for example, a small homogeneous IT environment gains little from SOA
Products Labeled “SOA”
The term “SOA” has become a marketing term and a wide variety of products have the term SOA included in their marketing verbiage.
Some of these products are rightfully described as SOA infrastructure products (e.g. ESB, Registry, Web Service Management). Other products that are labeled with SOA have only a very ancillary association with SOA. Today any product that can either consume or expose a Web Service has been labeled as “100% SOA”, “SOA ready”, or something similar.
This widespread use of the term SOA demonstrates that service orientation has become one of the primary architectural approach for the IT industry. Unfortunately, the overuse of the term SOA has diluted the true meaning and has led to confusion and is, in some cases, creating a backlash. Nonetheless, the concept of using SOA Services as the modus for interoperability is well established, and it is this concept that I embrace.
Additional Information
For additional information read the following blog posts:
- Using TOGAF Framework to Define/Governance SOA Updated for TOGAF 9.1
- Addressing SOA Criticism
- SOA Governance – On-Premise & in the Cloud
- My Fear for the Embrace of SOA & Cloud Computing
- Open Group SOA Governance Framework Released
- Identify and Discover Services – Part 3
- Identify and Discover Services – Part 2
- Identify and Discover Services – Part 1
- Determining the ROI of SOA Through Reuse
- The Hope, Carrot and Stick of SOA Change Management
- Service Engineering Structures
- SOA Empowered Organizational Structures
- SOA Governance is as Important as it is Mundane
- The Need for SOA Governance
- How is SOI Different From Traditional Integration
- Review of SOA: Design Patterns Book
- Service Oriented Integration
- SOA Reference Architecture
- Review of SOA: Principles of Service Design Book
- SOA 3.0 🙂
- SOA: Myth or Hype?
- Is 2006 the Year that SOA Really Takes Off?
- Successfully Planning for SOA: Building Your SOA Roadmap
- Utilizing Services in BI Solutions
- Utilizing Services in MDM Solutions
- Utilizing Services in Event Driven Solutions
- Utilizing Services in BPM Solutions
- Service Oriented Concepts
- Review of SOA: Field Guide to Integrating XML and Web Services Book