It seems the virtues of SOA are finally beginning to pervade the corporate consciousness. While architects have considered it a best practice for decades, business managers are beginning to catch onto the fact that SOA may be their best ticket to business agility, and they’re starting to invest.
According to a recent ebizQ online survey of over 300 members from 21 industries, increasing business agility is the number one reason for SOA adoption. In fact the basic tenet of SOA is agility. The goal of SOA design is to minimize impact of change.
This article is based on an event-driven service design method that helps business analysts, architects and developers design services optimized for agility and reuse. Part of this method provides a framework for identifying service characteristics and patterns that can used to create reusable services.
Types of Services
A service is a software component or module that can be combined with other services to create a business solution or application. Types of services include:
Process oriented services. These are business processes that have multiple steps but fulfill a single business purpose, such as opening an account, or placing an order.
Function oriented services. This includes both business and system functions. Examples of a business function include a software module that calculates a mortgage, or performs a credit check. Examples of system functions include error handling and security authentication.
Data oriented services. There are a myriad of data oriented services required to maintain the integrity of distributed data across the architecture. These include accessing distributed data and presenting a single view, data mapping and transformation, maintaining data quality and integrity, and maintaining metadata.
A single process can include all of these types of services. But it is useful to classify the type of service because different types of services inherently have different characteristics, including behavior patterns and communication style.
The ability to describe event-triggered behavior directly in the
diagram separates BPMN from traditional modeling notations. An event can
start a...Learn More