24 Patterns: Implementing Self-Service in an SOA Environment
3.1 Overview of SOA
SOA defines integration architectures based on the concept of a service.
Applications collaborate by invoking each others services, and services are
composed into larger sequences to implement business processes.
The drive for SOA
The main driver for SOA is to define an architectural approach that assists in the
flexible integration of IT systems. Organizations spend a considerable amount of
time and money trying to achieve rapid, flexible integration of IT systems across
all elements of the business cycle. The drivers behind this objective include:
򐂰 Increasing the speed at which businesses can implement new products and
processes, can change existing ones, or can recombine them in new ways
򐂰 Reducing implementation and ownership costs of IT systems and the
integration between them
򐂰 Enabling flexible pricing models by outsourcing more fine-grained elements of
the business than were previously possible or by moving from fixed to
variable pricing, based on transaction volumes
򐂰 Simplifying the integration work that is required by mergers and acquisitions
򐂰 Achieving better IT use and return on investment
򐂰 Achieving implementation of business processes at a level that is
independent from the applications and platforms that are used to support the
processes
SOA prescribes a set of design principles and an architectural approach to
achieve this rapid, flexible integration.
Definition of SOA
SOA is an integration architecture approach that is based on the concept of a
service. The business and infrastructure functions that are required to build
distributed systems are provided as services that collectively, or individually,
deliver application functionality to either user applications or other services.
SOA specifies that within any given architecture, there should be a consistent
mechanism by which services communicate. That mechanism should be loosely
coupled and should support the use of explicit interfaces.
SOA brings the benefits of loose coupling and encapsulation to integration at an
enterprise level. It applies successful concepts that are proven by
Object-Oriented development, Component-Based Design, and Enterprise
Chapter 3. SOA and the Enterprise Service Bus 25
Application Integration technology to an architectural approach for IT system
integration.
Services are the building blocks to SOA. They provide the function out of which
you can build distributed systems. Services can be invoked independently by
either external or internal service consumers to process simple functions or can
be chained together to form more complex functionality and to quickly devise
new functionality.
By adopting an SOA approach and implementing it using supporting
technologies, you can build flexible systems that implement changing business
processes quickly and make extensive use of reusable components.
Figure 3-1 illustrates a company that wants to implement a new business
process to support customers who place orders from a Web site.
Figure 3-1 A service-oriented approach to building systems
The company already has existing retail, warehouse, and billing systems. It
would like to build the new process by reusing the functionality that is provided by
those systems, rather than having to write new applications or new interfaces to
the existing systems.
If the company has already adopted an SOA approach, it will have defined the
interfaces to its existing systems in terms of the functions or services that they
can offer to support the building of business processes. The defined interfaces
makes building the new Web front end to the system very simple. All the
company needs to do is to develop an application that makes calls to the
services to complete the new business process.
Business
Process
Bill
Customer
Defined
Services
Receive
Order
Service
Customer
Billing
Service
Fulfill
Order
Service
Restock
Service
IT
Systems
Web
Application
Retail
System
CRM
Warehouse
System
Receive
Order
Fulfill
Order
Restock

Get Patterns: Implementing Self-Service in an SOA Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.