Soa Blueprint - Reference Architecture
Soa Blueprint - Reference Architecture
VERSION 1.1
SOA Alliance
Group of SOA Practitioners
Abstract
Service Oriented Architecture (SOA) is the business • Every major standards body has multiple working
operations strategy for leveraging information to meet or expert groups attempting to define the SOA
organizational objectives such as growing revenue, Blueprint or SOA Reference Architecture from
increasing customer satisfaction and improving product their point of view.
quality. • Even though SOA is in the initial phases, there are
not sufficient development and management tools.
SOA is not a well traveled road and lacks many of the
shared experiences, assets and patterns required for • Enterprises are attempting to solve similar
widespread and reliable adoption. Moreover, without a problems but without a forum for sharing best
common language and industry blueprints, SOA may practices across the industry. Various product
fail to deliver the promised benefits of intra and inter- vendors, system integrators, analysts have all
enterprise services reuse and process interoperability – attempted to share these practices – however, the
instead adding more custom logic and increased information may have been lost in translation
complexity to IT infrastructure.. because of lack of common vocabulary across the
industry.
A group of SOA Practitioners have agreed to come
together under the SOA Alliance to provide leadership These conditions add to the confusion resulting in
in the industry to address the challenges. The SOA delayed adoption of SOA.
Blueprint is envisioned as a multi-volume collection of
publications that can act as a standard reference SOA Reference Architecture – Definition
encyclopedia for all SOA stakeholders. This document,
the SOA Reference Architecture, is an early asset The SOA Reference Architecture is an ideal “Target
created as part of the broader SOA Blueprint initiative. State” architecture for an Enterprise or Line-Of-
It is intended to provide the end user / consumer Business (LOB). Some also refer to this as the “Future
perspective which hopefully will influence both the State” or “Future Vision” of the Enterprise. The
vendor community and the standards organizations. objective of the SOA Blueprint is to provide
enterprises the ability to build a Roadmap to start the
Keywords journey to the Target State from their Current State.
Service Oriented Architecture, SOA, SOA Alliance
Figure 1 -- SOA Foundation The above diagram illustrated the enterprise SOA
maturity model which can be classified into following
The three foundation components are: stages.
• Business Architecture: Based on the business • Web Application Development Stage: Provide
strategy, objectives, priorities and processes. browser based business solutions to both internal
Getting this right is essential for the successful and external users. This could be in the form of
implementation of SOA. One of the major benefits rolling out web based CRM, ERP or custom
of SOA is reuse of business processes which applications. In addition, IT organizations would
provides higher ROI than the potential reuse of typically deploy enterprise services such as content
Infrastructure or Data components. This also management, search, instant messaging, discussion
includes the business processes as well as forums, white board, etc.
implementation of business applications.
• Develop Composite Applications: Access and
• Infrastructure Architecture: This is the engine that provide aggregated information from multiple
enables SOA and should address all the aspects of sources to the users, initially internally and later
the infrastructure from networks, servers, data externally. This generally requires focus on
centers, firewalls, to application infrastructure, improving data quality.
security, monitoring, middleware, etc.
• Automate Business Process: This is the stage
• Information and Data Architecture: This deals where the applications, data and infrastructure
with identifying the Key Performance Indicators work with the user to provide the capability that
and the information needs that drive the enterprise. need to perform their roles effectively in the
Data Architecture deals with the logical and organizations. It empowers them by providing the
physical modeling of the data as well as data right information at the right time. It is this stage
manipulation and data quality. where the enterprise matures and is enabled to
achieve higher ROI by consolidating multiple
The SOA Reference architecture covers each of these business systems to a single system. This also
areas at length by providing approaches, requirements requires business organizations to transform from
and design patterns wherever possible. their current state to the target state of end-to-end
business process management, rather than point
Enterprise SOA Maturity Model solutions.
The SOA maturity model helps enterprises develop a
roadmap to achieve their Target State.
SOA Reference Architecture
It is not necessary for IT organizations to deploy the Contract Management, etc.) or other industry-specific
entire infrastructure identified in this SOA Reference large application suites.
Architecture. One of the SOA Best Practices is to
invest in the infrastructure only whenever it is required Most of the packaged applications are now internet
to provide business solutions. Following is a brief protocol based which means that users can access
description of each of the components: many of its functions using any (supported) browser.
Some of the latest versions of the packaged application
Web Application Tier have provided the capability to expose a limited set of
The primary requirement for this tier is that all the functions as discrete callable services or externally
business systems / solutions should be accessible from controlled business processes.
any (supported) browser. To a large extent, this is the
user interface or the presentation tier and shall contain Some of the best practices for leveraging packaged
business logic for components such as enterprise applications include:
infrastructure services, applications, etc. • Identify and implement the best of the breed
packaged applications that meet the business
Packaged Applications requirement.
• Limit the amount of custom development
Typically enterprises tend to go out in the market and requirement making it easier and cheaper to
license the best of the breed packaged applications that maintain and upgrade.
meet their businesses requirements. IT organizations, • Attempt to achieve one standard implementation
either themselves or by leveraging the System worldwide.
Integrators, then tailor the packaged applications to • Leverage the UI and the business process provided
meet their needs. Examples of such packaged by the packaged applications, wherever possible.
applications are Customer Relationship Management • Leverage Published API’s rather than directly
(Call Center, Sales Force Automation, Campaign accessing the DB.
Management, Order Management, etc.), Enterprise
Resource Planning (Human Resources, Finance,
Following are recommended approaches for taking the • Making modifications to the user navigation or
Packaged Application through the SOA Maturity user interface for some of the core transactions is
Model: not easy.
• As most of the major packaged applications are
1. Develop Web Applications not based on open/standard technologies, their
• Deploy the latest version of the application that is performance may not scale to the business needs.
accessible by any browser; preferably a version • Proprietary development model makes it difficult
that supports appropriate portal standards such as to find resources or rapidly deploy new business
WSRP. capability.
• Expose application services for consumption by • Integration to other technology is not straight
Custom Applications, preferably as web services. forward resulting in point-to-point integration and
This may require an adapter to enable access the possibly poor data quality.
application. Some recent versions of applications
provide Integration Gateways or Web Services Following are some options for developing custom
access directly to the application services. applications.
• Provide seamless user experience by incorporating 1. Develop and deploy custom applications on an
the enterprise look and feel (templates, skins, Application Server
skeletons, CSS) as well as integrating with the 2. Develop and deploy custom applications by
enterprise Single Sign-On Solution. leveraging a Portal
• Externalize Authentication by integrating to the 3. Develop a thick client either using tools based on
Enterprise Identity and Access Manger (typically open standards or proprietary development tools
LDAP).
This document shall focus on options 1 and 2. The first
2. Develop Composite Applications step for IT organizations is to determine the approach,
• Identify business objects that could be shared infrastructure and tools for developing custom
across the enterprise as composite applications. applications. In addition, IT organizations need to
• Send event notifications (triggers) to the composite define the governance and organization model to
applications to initiative specific actions. develop the custom solution. This is not in scope for
• Modify business processes and user interfaces as the SOA Reference Architecture document.
required to enable the composite applications.
• Expose additional business services to enable the A short note on the thick client custom applications;
composite applications to synchronize / update the these applications are typically developed using
packaged application. SWING, Visual Studio or similar other tools. Most of
these thick clients need to interface with some external
3. Automate Business Processes systems and the recommended approach would be to
• Understand and model business processes to leverage open standards such as SOAP, Web Services,
identify opportunities for re-engineering. XMPP, WebDAV etc. instead of directly accessing any
• Identify re-usable portions of business processes external resources such as databases, file systems or the
that can potentially be automated by a business like. This approach makes it easier for IT organizations
process engine. to support and upgrade the integration.
• Expand the number of services and business
processes already exposed in the prior stage. Custom Applications Business Requirements
Typically most enterprises have already deployed
• Reduce / consolidate the number of applications
external sites as well as multiple internal
deployed.
sites/applications to support the diverse needs of each
of the business units. These are most probably built in
Custom Applications silos and the first step is to standardize (unify) the look
feel and the infrastructure across the enterprise which
Organizations may prefer to create a distinct brand and shall make it easier for a customer, partner and an
unique experience for their customers and partners that employee to get the information they are seeking.
is significantly different than the one offered by the
off-the-shelf packaged applications. This requires Following are the business requirements for this phase
providing a consistent seamless interface to the users which are based on various survey feedbacks from
(both internal and external). Packaged applications users and discussion with various business units.
have the following limitations in this regard: • Unify user experience on the external site, making
it easy for potential users, partners, customers and
analysts to find information that they are looking
for. This proposed architecture would provide the
• Standardize the look and feel across all sites following benefits:
(internal and external) as well as process and
procedures for publishing content. • Based on SOA which promotes re-use at all levels.
• Create one my<company name> site for all • Provides capabilities to deliver in weeks not
employees, contractors, partners, customers to months (once there is a stable framework in place).
personalize the services/content. • Leverage each product for what it is good at,
• Provide secure access to confidential information example: Portal for presentation based on
for all sites (internal and external). entitlements.
• Provide a highly reliable, available and scalable • Allow business to combine services to deliver new
environment. capabilities.
• Facilitate branding and accessing multiple • Domain Layer abstracts the data source and the
application through a common portal. relationship, thereby minimizing the impact of
• Allow users to login once and gain access to all changes to the source systems.
their services. • Loosely coupling Presentation from the business
• Ability to personalize service based on roles and logic makes it reliable and scalable.
responsibility of the user. • Consistent with SOA principles.
• Reduce maintenance cost of maintaining multiple
systems/applications; standardize on one Following are the roles of each of the layers in the
platform/environment. proposed architecture:
• Standardize on one look and feel; eliminate
multiple user training requirements. 1. Presentation Layer: A Portal is responsible for
• Reduce operations and support cost to enable IT to handling all presentation services. Portlets drive
deploy scarce resources on developing new the user experience where a portlet is a view on an
functionality. application.
• Single point of entry for all employees, customers, The Service Bus should be able to receive any
partners, etc. synchronous or asynchronous message in any protocol
• Provide Application (Portlets) access based on the and route it to the destination based on configuration
role of the user. rules. In addition, it should provide the capability to
• Enable consolidation of infrastructure (both transform the message to the format required by the
hardware and software). destination. As this controls the message flow between
the consumer and the producer, the Service Bus is in
• Always-ON capability provided by the Enterprise
the unique situation to manage, monitor and enforce
(Role based) Portal.
the service levels.
• Simpler re-branding of sites.
• Multi-Channel delivery provided by the Federated
Portal by leveraging Services.
Additional Information
Figure 12 – Enterprise Security Components Acknowledgements
The authors would like to acknowledge the many
Delegated Admin: User and Resource Administration organizations and individuals that contributed portions
application that enables administrators (based on their of this document, performed substantial editing of the
role) create/modify/delete user privileges. This content, or who provided reviews and feedback.
application updates the same repository leveraged by Specifically, we would like to acknowledge:
the Enterprise Security Server.
Erik Dahl, SVP Lead Integration Architect, Bank of
Enterprise Security Server: Provide security services America
such as User Authentication, User Identity Robert Eisenberg, Principal, REA Associates
Management, Authorization, Auditing, User Profile Ashok Kumar, Manager, SOA Architecture, Car
Management and User provisioning. Rental Group
Jeffery Lamb, Enterprise Architect, Wells Fargo
• Identity Management involves managing user Tom Mitchell, Lead Technical Architect, Wells Fargo
identities within and across multiple applications – Private Client Services
of an enterprise. Mapping of multiple identities to Burc Oral, Principal, Dev Atma Technologies, Inc.
a single user or linking a user identity in one Yogish Pai, Chief Architect, AuqaLogic Composer &
application with a different identity of the same Chair – SOA Blueprint working groups
user in another application allows multiple legacy John Schmidt, SVP Architecture/Engineering, Bank
user identities to co-exist. of America
• Authentication involves validating the identity of a Sankar Ram Sundaresan, Chief Architect, e-Business
user. Several authentication mechanisms may be IT, Hewelett-Packard Company
used in an enterprise with the most common one
being validating against a password. Other Copyright
mechanisms may involve digital certificates, smart
cards etc. Enterprise-wide policies can be Copyright © 2006.
instituted to ensure that users present conclusive
The authors grant a non-exclusive licence to the Integration
proof of identity before being provided access to Consortium to publish this document in full on the World Wide
resources. From a convenience and usability Web (prime sites and mirrors) and in printed form. Any other
perspective, users may need to be able to sign on usage is prohibited without the express permission of the
once and gain access to multiple resources. authors.
However, this also increases the need to add