Service Oriented Architecture Modeling
There are many facets of an enterprise Service Oriented Architecture (SOA), each facet typically requiring in depth knowledge of its usage and proper application. SOAModeling.org provides completeness through all levels of a SOA, from concepts through architecture to implementation.
The OASIS SOA Reference Architecture Technical Committee is currently creating a reference architecture that adheres to the OASIS SOA Reference Model. You can download the second public review draft of this document at the following link:
OASIS Reference Architecture Foundation for Service Oriented Architecture
Evolution of Service Oriented Architecture
SOA can be viewed as an evolutionary computing architecture that closely mirrors the history of the industrial revolution. With SOA, computing architectures are expanding beyond object oriented self-sufficiency and now allowing for highly specialized and interoperable computing consumer/producer relationships. This summary provides some history and relationships between SOA and previous enterprise tiered architectures, object oriented paradigms, and structured procedural programming.
Pre 1980, structured procedural programming was prevalent for assembling well structured software code (that was the hope) into a software system. Procedural style APIs focus on the natural ability to solve problems via a functional process. The focus is primarily on how to get from point A to point B. This functional way of solving a problem is often a necessary first step when exploring an unfamiliar problem domain. Between 1980 and 1990, OO evolved and established its dominance in the software industry. OO focuses on combining elements of the problem domain in the form of objects containing data and methods which helps solve the problem of how to get from point A to point B in a way that will also be good to get to point C (reusability).
However, OO evolved prior to the common distributed computing environments that we have today. Between 1990 and 2000, enterprise tiered architectures evolved and demonstrated that combining methods with data between tiers worked against scalability and loose coupling of the enterprise system, thus the use of data transfer objects between tiers and the focus on the data model for communication between tiers of the enterprise system. Up to the year 2000, individual computing systems remained relatively self-sufficient.
The pre-SOA tiered enterprise architectures and implementations did not provide a good solution for computing specialization and computing interdependence at a business or government level. SOA exploded from the evolution of the tiered enterprise architectures and pressures to provide specialized B2B and G2B interoperability. Under the realm of a SOA ecosystem fall the concepts of acting in a SOA ecosystem, social structures, service description, service visibility, service interactions, policies and contracts, governance, etc. and this mix of concepts combine to provide the architectures for the implementations of the automated computing needs for modern computing consumer/producer relationships. SOA is a computing architecture that allows for complex relationships and specializations of computing services on a global scale.
A Service Oriented Architecture Reference Model public review document (PDF file) by the OASIS SOA Reference Modal Technical Committee.
Searchable listings of SOA products, standards, standards organizations, patterns, technologies, and protocols. Search using multiple criteria. Select different catalogs using the "Pages" window under the "Products and Standards Catalog" tab.
Links