Service Oriented Architecture
Creating a roadmap for service orientation and service consolidation through process execution
a paradigm consisting of design principles and the application of solution logic to achieve a service oriented environment
Service Oriented Architecture is the discipline needed to effectively implement business processes. With the process defined and business logic identified, SOA provides governance around the development, integration, and delivery processes so that your organization doesn’t waste time and money on custom, proprietary or complex systems or solutions. We define SOA as it relates to your enterprise or business domains and provide a framework and governance matrix for you to implement.
Service Stratum evangelizes Service Oriented Computing as described by Thomas Erl. Though a fairly new understanding into SOA, Thomas Erl presents SOA in a very conceptual way steering away from technology solutions. That is what makes his demonstration of SOA especially effective.
The definition of attributes or qualities of a service or composition make up its characteristics. Defining attributes or qualities of the service oriented solution helps realize the development of highly extensible and scalable solutions. Descriptive, thorough and modeled, the documentation surrounding service compositions and service orientation is critical to understand, not only how something works, but how and why it is designed as it is.
Services described in the context of Service Oriented Architecture do not always refer to web services. This is the main reason SOA initiatives fail. Many companies try to apply a technology or tactical solution to service orientation. However, Service Orientation is a strategic principle and implementing it requires a detailed knowledge of your business processes and strategic goals.
In determining how you will implement service orientation, you will come to the realization that there are guiding principles in the analysis, design and build out of each service. These principles set the boundaries necessary to developing services and service or business compositions. According to Thomas Erl, the following Principles of Service Design can be used when designing a Service Oriented Architecture.
- Standardized Service Contracts
- Service Loose Coupling
- Service Abstraction
- Service Autonomy
- Service Statelessness
- Service Discoverability
- Service Composability
- Service InterOperability
Design Patterns set the standard by which service orientation functions. As new solutions are identified, patterns are identified and applied to the service stratum. Antipatterns are also identified and avoided if at all possible. There are many patterns and each time an organization creates a new way of implementing service orientation a new pattern can also be created.
Each pattern should be deliverable, testable and tracked. Metrics like throughput, speed to delivery and time to execution help your technical team optimize and streamline the organization.
Service Compositions consist of process driven services tied together to achieve a larger process execution. To be a composition, each service process consists of an initiator, service provider and service consumer. Many service compositions can be modeled and composed using the Business Process Execution Language (BPEL) and run by an initiator consuming a service endpoint.
These compositions can be tied together through decision gateways and can be fully tracked and monitored.
The Service Inventory is like a service and service composition catalog. This inventory contains the specifics about how a service is built, the technical details, design characteristics and processing configuration and logic. The inventory should be manageable and deliverable and properly reflect the level of complexity and interconnectivity of the service.
Goals and Benefits
It should be your goal to have your entire Service Stratum modeled and cataloged. Each version is tracked and each contract implemented. A key goal to service orientation is your organization can start seeing a return on investment the first time a service is reused or a business process affects more than one business area. Reuse of enterprise services is also another benefit to service orientation. It is typical, in a bottom up approach, that the organization will start receiving an ROI within 3-5 years of start.