Enterprise Briefing

advertisement
our business revolves around you
LiquidHub Lunch & Learn
Demystifying SOA: Concepts & Best
Practices
Prepared by:
Ray Bordogna
Partner & Chief Strategy Officer
LiquidHub, Inc.
Presented:
Tuesday, February 26, 2008
2
Executive Briefing Outline
 About LiquidHub, Inc.
 Section I:
The Business Process
 Section II:
The IT Environment
 Section III:
SOA Introductory Concepts
 Section IV:
SOA Implementation Considerations
 Section V:
SOA Proof of Concept (POC)
3
About LiquidHub, Inc.
#339 in 2005 List
 LiquidHub is a systems integrator & technology
consultancy focused on enabling the Agile Enterprise
through our Strategy, Applications, Data, and
Infrastructure solutions and an engagement lifecycle of
planning, execution, and management.
 Specific solutions include Enterprise & SOA, Enterprise
Integration, Enterprise Portals, Content Management,
and scalable Applications and Security Infrastructures.
 With offices in Philadelphia, Boston, and Hyderabad,
India, our more than 475 associates serve clients in Life
Sciences, Financial Services & other key industries
globally, at our sites or theirs.
 LiquidHub’s Enterprise Services Transformation
Roadmap (ESTR) helps organizations plan for
technology simplicity and reusability, providing a
roadmap to the Agile Enterprise. ESTR provides our
clients with a clear process for evaluating business
needs, identifying existing technology & process assets,
and planning the implementation and integration of new
technologies in a way that ensures technology reuse
and lower total cost of ownership.
4
The LiquidHub Enterprise Services Architecture (ESA) Framework
Enterprise Architecture
Frameworks (e.g., Zachman)
Enterprise Services Architecture
ESTR: (Integrated View)
Service Orientation
Services Definition:
1. Loosely Coupled
- Abstracted
- Platform Independent
integrates
Planning Approaches (e.g., EAP)
Enterprise Planning Methodology
2. Designed & Built for Agility
3. Articulating
4. Meaningful to the Service
Consumer
5. Contract-based
6. Standards-based
7. Discoverable
Reference Models (e.g., TOGAF)
Solution Methodology (Project)
Service-Oriented Principles:
1. Federated
2. Traceable
3. Aligned with Business & IT
4. Evolutionary
5. Managed
Governance Models (e.g., TOGAF)
ESA Reference Model
6. Application Neutral
5
The LiquidHub Enterprise Architecture Framework
Business
Strategy
What markets do we
compete in and how
are we different?
CAPABILITY 1
Business
Architecture
What processes
support our
capabilities?
Process 1
Application
(Services)
Architecture
What applications
(services) enable
our processes?
Service 1
Data
Architecture
What data support
our business?
DB 1
Infrastructure
Architecture
What is the
foundation of our
business?
Process 6
Process 12
Service 3
Service 6
Service 7
DB 12
Device 2
Device 13
Business
Resource
Architecture
What is our optimal
resource allocation?
Financial
Architecture
What is our optimal
investment portfolio?
IT
Business
Expense: $XX
Capital $YY
IT
Development: $XX
Maintenance: $YY
6
The LiquidHub Enterprise Services Transformation Roadmap (ESTR)
Program
Management Governance
Plan
Model
Business
Architecture
Model
SDLC
Methodology
Refinement
Business Service
Domain Model
Business
Solution
Delivery
Roadmap
Business
Services
Design
Composite Applications
Orchestration &
Choreography
Business
Project
Services
Portfolio
Implementation Management
Business
Process
Optimization
The
Agile
Enterprise
Your
Current
Enterprise
Information
Architecture
& Taxonomy
Business
Process
Model
Technology
Services
Reference Model
Phases
Work
Streams
Enterprise
Data Model/
Semantic
Model
Metadata
Repository
Design
Security
Network
Architecture Services
Architecture
Application
Integration
Platforms Blueprint
Envision
(Strategy and Plan)
Program Management
Enterprise Business Services
Information Management
Technology Shared Services
Engineer
(Architect/Design)
Application
(SOA)
Platforms
Federated
Data Source
and
Data Services
Network
Infrastructure
Services
Execute
Application
Management
Services
(Develop/Implement)
7
The LiquidHub ESA Reference Model (Portfolio of Services)
Business Architecture & Business Process Models
Enterprise Business Services
Business Applications
Enterprise Packaged Applications
Business Process Services
Business Services
Information Assets
Business Services
Domain 1
Domain 2
Customer
Finance
Orders
Technology Shared Services
Enterprise Presentation Services
Enterprise Application Services
Information Services
Data Infrastructure
Client Services
Core Application Services
Personalization Services
Business Intelligence
Business Process Integration
Data Access Services
Digital Asset Management
Enterprise Platforms
Integration Platforms
Application Platforms
Infrastructure Services
Monitoring
Services
Network Backbone &
Topology
Directory
Services
File and Print Access
Services
Security & Access
Management
Development &
Deployment
Network Resource
Management
Messaging &
Calendaring
Routing & Security
Architecture
Mobile, Wireless
& Telephony
Storage Architecture
our business revolves around you
Section I
The Business Process
9
An Enterprise can be Viewed as a Collection of Processes
An Enterprise
Inputs
Outputs
Resources
10
In fact, the essence of strategy revolves around processes
 The business process movement has
many parents, but none has been more
influential than Michael E. Porter, who
has given us the ideas that dominate
today's thinking about strategy and the
role of processes in achieving
competitive advantage.
 Competitors, Porter argued, would
always try to copy your innovations and
"best practices." What they couldn't
easily copy was a well integrated Value
Chain in which every activity fit
together to achieve a well thought out
strategy. As Porter explained; "The
essence of strategy is choosing to
perform activities differently than
rivals do.“
 Porter suggests that smart senior
executives think in terms of processes.
In effect, one strategic goal of the
organization should be to create value
chains and processes that are
unique and that fit together to give
the organization a clear competitive
advantage that is difficult for rivals to
duplicate.
Limited
Passenger
Service
Frequent &
Reliable
Departures
Short, Point to
Point Routes to
2nd Airports
Lean, Productive
Ground & Gate
Crews
Very Low Ticket
Prices
High Aircraft
Utilization
Adapted from “What is Strategy,” HBR, Porter 1996
11
But, what about the capability to Introduce and/or Change processes?
Enterprise A
Enterprise A*
How fast?
How much $?
The ability to implement new processes and change existing processes in a fast, cost-effective
manner facilitates competitive advantage and is the essence of ‘agility.’
our business revolves around you
Section II
The IT Environment
13
Issue #1: The n(n-1) Integration Complexity
 Consider the n(n-1) integration
problem. Many organizations face
integration problems of some sort;
perhaps because of a corporate
merger, a new business alliance or
just the need to interconnect
existing systems. If n application
systems must be directly
interconnected, the process will
produce n(n-1) interfaces. Note
that each arrowhead represents an
interface.
 This set of 5 applications requires
20 interfaces; adding a 6th
application would require 10 new
interfaces.
 And to further increase complexity,
one must modify code in each of
the existing applications to include
the new interfaces, generating
substantial testing costs.
 To reduce this cost and complexity,
a solution that produces the
minimum interfaces is required.
Application 1
Application 4
(.NET)
Application 2
Application 5
(J2EE)
Application 3
Systems (n)
# of Interfaces: n(n-1)
1
0
2
2
3
6
4
12
5
20
6
30
1
14
2
Issue #2: Redundant & Non-Reusable Programming
 Over time, many enterprise
application portfolios have
increased in redundancy due to
business combinations and business
unit independence. As a result,
many organizations deal with
redundant applications – or
applications with functions that
can’t easily be reused.
 Commonly, in decentralized
organizations, business unit
independence hinders any
coordinated effort to create
reusable functional assets or
services. Collectively, this
redundancy increases both cost and
time to market to deploy new
products or services, because
changes have to be made in each
application or system that is
affected. This lack of reuse
ultimately requires more
resources – and often more
time – to deliver new
applications.
Application Portfolio
1
1
Application 1
Application 2
2
1
1
Application 3
Application 4
our business revolves around you
Section III
SOA Introductory Concepts
16
Service-Oriented Architecture (SOA) is a multi-purpose buzzword
A service-oriented architecture is a collection of
services that communicate with each other. The
services are self-contained and do not depend on
the context or state of the other service. They work
within a distributed systems architecture. Source:
Is it an
Enterprise Architecture?
DMReview.com
SOA is an architectural style whose goal is to
achieve loose coupling among interacting software
agents. A service is a unit of work done by a
service provider to achieve desired end results for
a service consumer. Both provider and consumer
are roles played by software agents on behalf of
their owners. Source: XML.com
A service-oriented architecture is essentially a
collection of services. These services communicate
with each other. The communication can involve
either simple data passing or it could involve two or
more services coordinating some activity. Some
means of connecting services to each other is
needed. Source: service-architecture.com
SOA refers to the re-engineering of IT systems and
development that makes use of reusable chunks of
software, aligned to business processes.
Source: Diagonal Integrators
SOA is one of the most popular architectural
paradigms today, but without any standardized
reference model. It is an architecture that provides
seamless Enterprise Information Integration
between loosely coupled distributed applications or
services over the network. Source: ASP Alliance
Is it an
Application Architecture?
Is it Software
Architecture?
Is it an
Approach?
Is it a
Framework?
Is it a
Reference Model?
In computing, the term Service-Oriented
Architecture (SOA) expresses a perspective of
software architecture that defines the use of
services to support the requirements of
software users. In a SOA environment, nodes
on a network[1] make resources available to
other participants in the network as
independent services that the participants
access in a standardized way. Most definitions
of SOA identify the use of Web services (i.e.
using SOAP or REST) in its implementation.
However, one can implement SOA using any
service-based technology.
Source: http://en.wikipedia.org/wiki/Serviceoriented_architecture
Service-oriented architecture (SOA) is an
evolution of distributed computing based on the
request/reply design paradigm for synchronous
and asynchronous applications. Source:
Javaworld.com
Service-oriented architecture (SOA) is a design
methodology aimed at maximizing the reuse of
application-neutral services to increase IT
adaptability and efficiency. Source:
http://dev2dev.bea.com/soa/
SOA is an architectural style for building
software applications that use services available
in a network such as the web. It promotes loose
coupling between software components so that
they can be reused. Applications in SOA are built
based on services. Source: Sun.com
17
Basic Concept: The Service
Definition of a Service: A service is a unit of logic expressed in software
that is designed for re-use by other software elements in different
execution contexts.
Service
Interface
Service
Content
Provides service identification,
definition of parameters, and
conventions concerning passing
the service results back to the
consumer
Service content provides or
encapsulates logic such as a
business process, a technical
feature, a stateless computation,
etc…
1
2
18
3
Fundamental SOA consists of services, descriptions & messages
3
Services Communicate Through Messaging
Process
Step
Service
Encapsulation
service
service
 Messages are “independent units of communication”
which need to be outfitted with enough intelligence to
self-govern their parts of processing logic.
 Similar to services, messages must be autonomous
since after a service sends a message on its way, it
loses control of what happens to the message
thereafter.
Service A
sub-process
Service B
Self-governing
message
PROCESS
service
Service
Composition
1
Services Encapsulate Logic
service
description
for Service B
 In SOA, units of logic are known as services.
2
 To retain their independence, services encapsulate
logic within a distinct context. This context can be
specific to a business task or some other logical
grouping.
 In SOA, services are aware of each other through
the use of service descriptions.
 The concern addressed by a service can be large or
small. Therefore, the size and scope of the logic
represented by the service can vary.
 A service description establishes the name of the
service and the data expected and returned by the
service.
 A collective is composed of several services.
 The manner is which services use service
descriptions results in a relationship classified as
loosely coupled.
Services Relate Through Service Descriptions
19
The Nature of a Service
 A service can be a simple business capability:
 getStockQuote
 getCustomerAddress
 checkCreditRating
 A service can be a complex business
transaction:
 openAccount:
 verifyCustomerIdentity
 createCustomerAccount
 commitInventory
 sellCoveredOption
 scheduleDelivery
 A service can be a system service:
 logMessageIn
 authenticateUser
 This may seem like an artificial distinction of
services.
 The distinction is made to help quantify the
level of granularity.
 Services may be low-level (i.e., fine-grained) or
complex high-level (coarse-grained) functions
and there are tradeoffs in:




Performance
Flexibility
Maintainability
Reuse
 The level of granularity is a statement of a
service’s functional richness.
Adapted from “Migrating to a Service-Oriented Architecture,” IBM, 2005
20
“Granularity”
The term “granularity” is most commonly used
to communicate the level of (or absence of)
detail associated with some aspect of software
program design.
Within a service, different forms of granularity
exist, all of which can be impacted by how
service-orientation design principles are
applied.
Functional Granularity refers to the potential
breadth of the service’s functional scope. For
example, “Consolidate Invoices” is a coarse
grained service.
Data Granularity refers to the quantity of data a service needs
to exchange in order to carry out its function. There has been a
tendency for services implemented as Web Services to exchange
document-centric messages – messages containing entire
information sets or business documents.
Constraint Granularity refers to the amount of detail with
which a particular constraint is expressed. The schema or data
model representing the structure of the information being
exchanged by a service can define a series of specific validation
constraints (data type, data length, data format, allowed values,
etc…) for a give value and would represent a fine-grained
constraint as opposed to a coarse-grained level of constraint
granularity that would permit a range of values with no
predefined length or formal restrictions.
Consolidate
Invoices
 Get Invoice
 Get Header
 Retrieve PO Records
 Perform Calculations
 View Client History
A fine-grained service will have less work
to do than a coarse grained service.
Adapted from “ SOA: Principles of Service Design,” Erl, 2007
21
These Design Issues Require (Service-Oriented) Principles
How should the
relationship between
services be defined?
How should
services be
designed?
Service A
Service B
Self-governing
message
How should
service
descriptions be
designed?
service
description
for Service B
How should messages
be designed?
22
The Service-Orientation Design Paradigm & Principles
 a design paradigm is an approach to designing solution logic.
 when building distributed solution logic, design approaches
revolve around a software engineering theory known as the
"separation of concerns” which states that a larger problem is
more effectively solved when decomposed into a set of smaller
problems or concerns. This gives us the option of partitioning
solution logic into capabilities, each designed to solve an
individual concern. Related capabilities can be grouped into
units of solution logic.
 The fundamental benefit to solving problems this way is that a
number of the solution logic units can be designed to solve
immediate concerns while still remaining agnostic to the greater
problem. This provides the constant opportunity for us to reutilize
the capabilities within those units to solve other problems as
well.
Service Oriented Design Principles:
1. Standardized Service Contract
2. Service Loose Coupling
3. Service Abstraction
4. Service Reusability
5. Service Autonomy
6. Service Statelessness
7. Service Composability
8. Service Discoverability
 What distinguishes service-orientation is the manner in which it
carries out the separation of concerns and how it shapes the
individual units of solution logic. Applying service-orientation to a
meaningful extent results in solution logic that can be safely
classified as "service-oriented" and units that qualify as
"services." To understand exactly what that means requires an
appreciation of the strategic goals of service-oriented computing
combined with knowledge of the following service-orientation
design principles:
Adapted from “ SOA: Principles of Service Design,” Erl, 2007
23
Principle #1: Standardized Service Contract
"Services within the same service
inventory are in compliance with
the same contract design
standards."
Services express their purpose and
capabilities via a service contract. The
Standardized Service Contract design
principle is perhaps the most
fundamental part of service-orientation
in that it essentially requires that specific
considerations be taken into account
when designing a service’s public
technical interface and assessing the
nature and quantity of content that will
be published as part of a service’s
official contract.
A great deal of emphasis is placed on
specific aspects of contract design,
including the manner in which services
express functionality, how data types
and data models are defined, and how
policies are asserted and attached.
There is a constant focus on ensuring
that service contracts are both
optimized, appropriately granular, and
standardized to ensure that the
endpoints established by services are
consistent, reliable, and governable.
WSDL
<definitions>
<types>
<message>
<parts>
WS Policy
<Policy>
XML
Schema
<schema>
<ExactlyOne>
<All>
<element>
<complex type>
assertions…
<portType>
Figure: Using Web service contract documents (WSDL, XML schema, and WS-Policy
definitions) as an example, this illustration highlights the areas that are typically
affected by the application of this design principle.
Adapted from “ SOA: Principles of Service Design,” Erl, 2007
24
Key Concept: The Service Contract
Definition: A Service Contract establishes the terms
of engagement, providing technical constraints and
requirements as well as any semantic information the
service owner wishes to make public
Historical Context: In the past, technical contracts
have commonly been represented by a form of
technical interface known as the API. The Interface
Definition Language (IDL) and Abstract Syntax
Notation (ASN.1) were frequently used to express
technical contracts for remote invocation frameworks
such as those based on Remote Procedure Calls
(RPC).
Web Services: established a non-proprietary
distributed communications framework that introduced
the Web Services Description Language (WSDL) as the
core part of the service contract. The XML schema
language is used to define the data model for
messages exchanged via Web services and the WSPolicy language facilitates policy assertion definition
and attachment to various parts of the WSDL
Service Contract
Technical Web Service Contract
WSDL
XML Schema
WS Policy
SLA
Figure: A Web Service can be comprised of the following
service description documents: WSDL Definition, XML
Schema Definition and WS Policy Description.
The term “technical service contract” is used simply to
refer to service description documents that are
programmatically consumed at runtime. Note that SLAs
and other human consumable service description
documents can also be part of the service.
25
Principle #2: Service Loose Coupling
"Service contracts impose low consumer
coupling requirements and are
themselves decoupled from their
surrounding environment."
Coupling refers to a connection or relationship
between two things. A measure of coupling is
comparable to a level of dependency. This
principle advocates the creation of a specific
type of relationship within and outside of
service boundaries, with a constant emphasis
on reducing (“loosening”) dependencies
between the service contract, its
implementation, and its service consumers.
The principle of Service Loose Coupling
promotes the independent design and
evolution of a service’s logic and
implementation while still guaranteeing
baseline interoperability with consumers that
have come to rely on the service’s capabilities.
There are numerous types of coupling
involved in the design of a service, each of
which can impact the content and granularity
of its contract. Achieving the appropriate level
of coupling requires that practical
considerations be balanced against various
service design preferences.
26
Principle #3: Service Abstraction
Service contracts only contain
essential information and
information about services is
limited to what is published in
service contracts.
Abstraction ties into many aspects of
service-orientation. On a
fundamental level, this principle
emphasizes the need to hide as
much of the underlying details of a
service as possible. Doing so directly
enables and preserves the
previously described loosely coupled
relationship. Service Abstraction also
plays a significant role in the
positioning and design of service
compositions.
Various forms of meta data come
into the picture when assessing
appropriate abstraction levels. The
extent of abstraction applied can
affect service contract granularity
and can further influence the
ultimate cost and effort of governing
the service.
27
Principle #4: Service Reusability
Services contain and express agnostic logic
and can be positioned as reusable
enterprise resources.
Reuse is strongly emphasized within serviceorientation; so much so, that it becomes a core
part of typical service analysis and design
processes, and also forms the basis for key
service models. The advent of mature, nonproprietary service technology has provided the
opportunity to maximize the reuse potential of
multi-purpose logic on an unprecedented level.
The principle of Service Reusability emphasizes
the positioning of services as enterprise resources
with agnostic functional contexts. Numerous
design considerations are raised to ensure that
individual service capabilities are appropriately
defined in relation to an agnostic service context,
and to guarantee that they can facilitate the
necessary reuse requirements.
28
Principle #5: Service Autonomy
"Services exercise a high level of control over
their underlying runtime execution
environment."
For services to carry out their capabilities
consistently and reliably, their underlying solution
logic needs to have a significant degree of control
over its environment and resources. The principle of
Service Autonomy supports the extent to which
other design principles can be effectively realized in
real world production environments by fostering
design characteristics that increase a service’s
reliability and behavioral predictability.
This principle raises various issues that pertain to
the design of service logic as well as the service’s
actual implementation environment. Isolation levels
and service normalization considerations are taken
into account to achieve a suitable measure of
autonomy, especially for reusable services that are
frequently shared.
29
Principle #6: Service Statelessness
"Services minimize resource
consumption by deferring the
management of state
information when necessary."
The management of excessive state
information can compromise the
availability of a service and
undermine its scalability potential.
Services are therefore ideally
designed to remain stateful only
when required. Applying the principle
of Service Statelessness requires that
measures of realistically attainable
statelessness be assessed, based on
the adequacy of the surrounding
technology architecture to provide
state management delegation and
deferral options.
30
Principle #7: Service Discoverability
"Services are supplemented
with communicative meta data
by which they can be effectively
discovered and interpreted."
For services to be positioned as IT
assets with repeatable ROI they
need to be easily identified and
understood when opportunities for
reuse present themselves. The
service design therefore needs to
take the “communications quality” of
the service and its individual
capabilities into account, regardless
of whether a discovery mechanism
(such as a service registry) is an
immediate part of the environment.
31
Principle #8: Service Composability
"Services are effective composition
participants, regardless of the size and
complexity of the composition."
As the sophistication of service-oriented
solutions continues to grow, so does the
complexity of underlying service composition
configurations. The ability to effectively
compose services is a critical requirement for
achieving some of the most fundamental goals
of service-oriented computing.
Complex service compositions place demands
on service design that need to be anticipated to
avoid massive retro-fitting efforts. Services are
expected to be capable of participating as
effective composition members, regardless of
whether they need to be immediately enlisted
in a composition. The principle of Service
Composability addresses this requirement by
ensuring that a variety of considerations are
taken into account.
32
Summary of Service-Orientation Principles

Loose Coupling:

Services maintain a relationship that minimizes dependencies and only requires that they retain
an awareness of each other


Services minimize retaining information specific to an activity
Discoverability:


Logic is divided into services with the intention of promoting reuse
Statelessness:


Beyond what is described in the service contract, services hide logic from the outside world
Reusability:


Services have control over the logic they encapsulate
Abstraction:


Services adhere to a communications agreement, as defined collectively by one or more service
descriptions and related documents
Autonomy:


other components. Often such components cannot be used independently of the overall system. That is the
design is component-based, but the components are not stand alone.
Service Contract:


vs. Tight-Coupling: the functionality of each component heavily depends on the functionality implemented by
Services are designed to be outwardly descriptive so that they can be found and assessed via
available discovery mechanisms
Composability:

Collections of services can be coordinated and assembled to form composite services
33
Service-Orientation & the Enterprise
 Business Logic: is structured into
processes that express business
requirements
 Application Logic: is an automated
implementation of business logic
organized into technology solutions
 Services establish an abstraction
layer wedged between traditional
business & application layers.
 Services are developed & deployed in
proprietary environments, wherein
they are individually responsible for the
encapsulation of specific application
logic.
Business Process Layer
Services Layer
 From an IT perspective, this
enterprise logic can be divided into 2
important halves: business logic and
application logic
Business Logic
Application Logic
Application Layer
 The collective logic (or processes)
that defines and drives the enterprise
is an ever-evolving entity constantly
changing in response to external &
internal influences
Application A
(.NET)
Application B
(J2EE)
Application C
(Legacy)
34
Business Processes & Services
“Open account for customer”
Business Process
Presentation – user interface
Business Process
Orchestration
Business
Services
Get
customer
details
Locate
account
type
Add
account to
customer
Coarse
Grained
Service Orchestration
(Process Orchestration)
Technical
Services
Locate
customer
record
Check
customer
status
Lookup
account
type
table
Retrieve
account
details
Create
CustomerAccount
record
Fine
Grained
Adapted from ANZ Banking Group Australia
35
SOA & Web Services
 SOA can be implemented without Web services, and Web services can be used for non-SOA (e.g. RPC)
interactions. However, Web services delivers key standards for implementing SOA.
 The WS-* family scales to meet integration challenges intra-enterprise (enterprise application integration
[EAI]) and inter-enterprise (business to business [B2B]).
 XML is an ideal candidate for loosely coupled inter-application data sharing. XML is not self-describing,
but XML Schema can be be used to constrain message layout and content.
SOA
“The architecture”






Services architecture
Service contract
Message based
Service directory
Protocol independent
Coarse grained & document centric






Web services specs
WSDL
SOAP & XML
UDDI
HTTP
Doc literal binding
 RPC interactions
 Binary XML
Web services
“An Implementation”
 Process orchestration (BPEL)
You don't have SOA until you build/buy
services and compose them to implement
business functionality.
Web Services is the stack of standard web technologies
required at both consumer and provider ends to implement the
pipe for shipping XML messages between them.
36
In theory, SOA does not equal Web Services but is there another model?
is used to invoke operations defined by
SOAP
is accessed using
Web Services
describes
serves as a registry for
is accessed using
enables discovery of
UDDI
Figure 1. Web Services Model
WSDL
SOA is often discussed in conjunction
with Web services, but the 2 are not
synonymous. In theory, SOA does not
require Web services, and simply
implementing Web services does not
result in an SOA. However, Web
services are the 1st standard for
service-oriented computing to gain the
near-universal vendor support. By
standardizing essential elements of
SOA, Web services remove the risk of
having to be on a particular technology
(e.g., CORBA).
is used to invoke operations defined by
?
is accessed using
Enterprise
Services
describes
serves as a registry for
is accessed using
enables discovery of
?
Figure 2. ? Model
?
37
1st and 2nd Generation SOA
1st generation SOA, mostly inspired by
the initial set of web services, defined SOA
as an architecture modeled around 3 basic
components:
 service requester
FIND:
Service
Registry
PUBLISH
Discover &
retrieve WSDL
 service provider
 service registry
1st generation web services standards:
 WSDL described the service
 SOAP provided the messaging format
 UDDI provided the standardized service
registry format
2nd generation SOA added:
 WS-* specifications (extension)
 WS-BPEL supported the interest in
applying service-orientation concepts to the
world of business analysis.
Service
Requestor
BIND & EXECUTE
Service
Provider
38
Contemporary Service Oriented Architecture Reference Model
Corporate Network
Enterprise Service Bus
Business
Process
Modeling
Adapter
Presentation Services
SOA
Repository
SOA App
Testing
SOA
Governance





Portal Services
Device Services
Messaging Services
Security Services
Translation Services
Data Services





Data Federation
ETL
Metadata Management
Data Archiving
Backup & Recovery







Identity & Authentication
Message Management
System Management
Security Management
Resilience & Recovery
Provisioning
Federation Services
Workflow
Engine
In House
Apps
Adapter
SOA Registry
Package
Apps
Adapter
Service
Broker
Collab’n
Apps
Infrastructure Services
Software Development
Modeling Tools
Programming Tools
App Servers
DBMS
CM & Lifecycle Tools
Testing Tools
Adapter
SOA
Supervisor
BI Apps &
Services
Source: Hurwitz Group, 2006
39
2 Key Advantages of SOA: easier logic evolution & state management
 SOA establishes a loosely-coupled
relationship between units of processing
encapsulated as services. This allows
the logic within each service boundary to
be updated and evolved independently
of existing service requestors, as long as
the original service contract is preserved.
logic
logic
Service B
Service A
logic
 SOA promotes the standardization of
XML data representation throughout
solution environments. Further, service
statelessness is emphasized by
deferring state management to the
message level. This maximizes reuse,
availability and scalability of service logic
but also provides a standardized state
management approach.
Self-governing
message
service
description
for Service B
40
Comparing Previous Architectures to Web Services
 Compared to Web Services, CORBA solutions:
 Are nearly as capable for cross-platform and cross-language development
 Are harder to understand because CORBA relies on IDL to translate data
 Can handle higher transaction loads because they keep a persistent connection
 Compared to Web Services, RMI solutions:
 Lock you into a purely Java solution on both the client and server
 Can be somewhat more difficult to deploy because of network port considerations
 Can handle higher transaction loads because RMI keeps a persistent connection between clients
and servers at the expense of servicing fewer clients per server
 In a Java-only trusted environment, RMI will perform faster than XML-based Web Services
because of the reduced work in getting the data into a wire-friendly format
 Compared to Web Services, DCOM solutions:
 Are nearly as capable for Microsoft cross-language development but lock you into Microsoft.
 Compared to Web Services, CGI solutions:
 Are more difficult to find because of no directory service
 Are more difficult to write clients for without a well-documented service-specific API to rely on
 Are more difficult to interact with because there’s no accepted data interchange format.
 Compared to Web Services, Servlet solutions:
 Can only be written in Java
 Lack a service directory
 Lack an interface specification explaining how to communicate with them; no accepted data
interchange format
41
Distributed Internet Architecture vs. Service Oriented Architecture
Category
Application
Logic
Application
Processing
Technology
Distributed Internet Architecture
Service-Oriented Architecture
 Tightly Coupled: at design time, the expected interaction
components will have with others is taken into account – so much so
that actual references to other physical components can be embedded in
code. It is efficient in that little processing is wasted in trying to locate a
required component but the embedded coupling leads to a tightly
coupled component network.
 Parameter-based Data Exchange: components provide methods
that, once invoked, send and receive parameter data.
 Re-use: emphasized but rarely achieved due to tight-coupling.
 Loosely Coupled: SOA still reply on components but the use of Web Services
(i.e., standardized interface and open communications framework) supports a
composition model, allowing individual services to participate in aggregate
assemblies.
 Document-Style Data Exchange: web services communicate with SOAP
messages which rely primarily on document-style messages which are structured to
be as self-sufficient (meta information, processing instructions and policy rules) as
possible which results in less individual transactions.
 Re-use: fosters re-use and cross-application interoperability by promoting the
creation of solution-agnostic services.
 Inter-Component Communication: DIA promotes the use of
proprietary communication protocols such as DCOM and vendor
implementations of CORBA for remote data exchange
 supports the creation of stateful and stateless components that interact
with synchronous data exchanges (asynchronous supported by some
platforms but rarely used).
Inter-Service Communication: Message-based communication that involves
the serialization, transmission an de-serialization of SOAP messages containing XML
payloads. (Despite improved parsers and hardware accelerators, SOAP still lags
RPC communication.) Document and message modeling conventions and the
strategic placement of validation logic are important factors that shape the
transport layer of SOA.
Although synchronous communication is supported, asynchronous patterns are
encouraged, as they help minimize communication.
 Further supporting the statelessness of services are various context management
options that can be employed, such as WS-Coordination and WS-BPEL
 There is no governance of the technologies used by DIAs (e.g.,
components, server-side scripts, raw web technologies such as HTML
and HTTP)
 XML data representation and the Web Services technology platform
 Traditional delegation and impersonation approaches as well as HTTP
encryption
 WS-Security Framework: emphasize the placement of security logic onto the
messaging level. SOAP messages provide header blocks in which security logic can
be stored which helps to preserve individual autonomy and loose coupling between
services as well as the extent to which a service can remain fully stateless.
 Maintaining component-based applications involves keeping track of
individual component instances, tracing local and remote communication
problems, monitoring server resource demands and standard DBA tasks.
 DIA introduces the Web Server as the official first point of contact for
clients so is must therefore be designed for scalability.
 RPC-based data exchange generally requires a response from an
initiating component and an exception handling routine is employed.
 Require additional runtime administration since problems with messaging
frameworks (especially when working with asynchronous exchange patterns) can
more easily go undetected than with RPC-based data exchanges since so many
variations exist as to how messages can be interchanged.
 WS-* extensions for messaging frameworks have yet to reach maturity
 UDDI helps with resource management and service description
Security
Administration
our business revolves around you
Section IV
SOA Implementation Considerations
43
Where are We? An SOA Maturity Model
Collaborative services creating
dynamic, collaborative business relationships
Services directly implement business
service capability
Service as a process creates
modular units of business process
Service increases loose coupling
and separation of concerns
Data integration,
client neutrality,
shared internal services
Federated Business
Business Services
Business Process Improvement
Application Integration
Technical Applications
Adapted from CBDi
44
What’s Our Approach? Top-Down, Bottom-Up, Middle-out, Hybrid?
“Top down” and “bottom up” considerations need to be balanced.
Governance
•
•
Executive
Business
Ownership
Architecture
•
•
•
•
Technical
Ownership
Principles
Patterns
Architecture
Skills
Funding
Repository
Top down
•
Measurement
Management
Rewards
Business
SOA
Technology
Enablers
Proof of
Concepts
Simple Web
Services
Select
SOA tools
Bottom up
Design and
Development
Skills
work_stream: Business Services 46
ESTR Guidelines:
Tips for Smarter Service Design
The coarse- and fine-grained trade-off is a matter of latency and usability. At the end of the day, you should move to a good SOA, exposing the right
services that do the right things, and not be as concerned about granularity. Services that implement fine-grained interfaces and that are meant for local invocation
will work well. Moreover, services that implement fine-grained interfaces, that are meant for distributed invocation, and that are on a low-latency network will also
work well.
No.
01
02
03
04
05
06
Tip
Description
Design services to
be shared
The value of a service is magnified by the value of the relationships enabled. Being shared does not mean the
code is shared; the service is shared. One of the important advantages of a services-based model is that the
provider of a service is not concerned with the consumer's platform and the consumer does not have to install and
maintain software. Services enable the acquisition of new functionality without having to deploy and maintain new
applications.
Services have a
clear purpose
The business value of services to consumers of those services must be clear and unambiguous. To maximize the
value of services, it is necessary to understand the core competencies your organization provides to others. When
this business value can be articulated clearly, it defines the requirements for services that are useful to others in
your value chain.
Services are
discoverable and
support
introspection
To share services, the producer of a service must be able to publish it in a form the consumer of the service can
find and bind to dynamically. The consumer must be able to discern how to use the service without having to talk
person to person to the producer of the service. The conversation on how to use the service is ideally machine to
machine.
Services are
designed to be
loosely coupled
Services are intended live in a loosely coupled environment and should use other services to perform common
clearly defined tasks (for example, authentication or reporting). The value of services is magnified by their reuse
and further magnified by their ability to be combined with other services to create new services. As services are
typically owned by multiple entities, they need to be loosely coupled to allow each one to change and evolve
independently of the others.
Services plug into
a framework
Once a service has been discovered, it needs a framework that provides other common services and loose
coupling. While services may be created without an SOA, they need an SOA to operate in. SOAs by their nature
are federated, as they need to interact in a loosely coupled manner.
A service has a
well-defined use
policy/contract
It is important to realize that in a services model both the consumer and the producer of a service need the ability
to set use polices. The consumer and producer of a service define policies around security, availability, reliability,
and error and exception handling.
Common Tangible Benefits of SOA
Many of the benefits promised by SOA do not manifest themselves until
the use of service-oriented principles becomes established within an
enterprise. As a result, there are few short-term benefits
 Improved Integration (and intrinsic interoperability)
 Because of the vendor-neutral communications framework established by Web Services driven
SOA, the potential exists for enterprises to implement highly standardized service descriptions and
message structures
 State of Federation, where previously isolated environment now can interoperate without requiring
expensive and fragile point-to-point solutions
 Inherent Reuse
 Building services to be inherently reusable results in a moderately increased development effort
and requires design standards.
 Subsequently leveraging reuse within services lowers the cost and building service-oriented
solutions
 Streamlined Architectures & Solutions
 The concept of composition can lead to highly optimized automation environments:
 Assembly of service collections into aggregate services
 The WS* platform is based on the principle of composability
 Leveraging the Legacy Investment
 Industry-wide acceptance of the Web Services technology set has spawned a large adapter market
 Best of Breed Alternatives
 Because SOA establishes a vendor-neutral communications framework, IT is not longer restricted
to a single proprietary development and/or middleware platform
 Organizational Agility
 How building blocks can be realized and maintained within existing financial and cultural
constraints ultimately determines the agility of the organization as a whole
47
48
Common Pitfalls of Adopting SOA
 Building service-oriented architectures like traditional distributed architectures
 Problems:
 proliferation of RPC-style service descriptions (leading to increased volumes of fine-grained message
exchanges)
 inhibiting the adoption of features provided by WS-* specifications
 Further entrenchment of synchronous communication patterns
 Creation of hybrid or non-standardized services
 Not creating a transition plan
 Migration needs to happen at the technical, process and organization levels to avoid ad-hoc
adoption
 Not standardizing SOA
 Like any other architecture, SOA requires the creation and enforcement of design standards
 Failing to create an XML foundation architecture
 SOA requires standardizing how core XML technologies are used to represent, validate and process
corporate data
 Failing to account for SOA performance requirements
 As message-based communication increases, processing latency can be an issue
 Lack of proper SOA security model
 Secure Sockets Layer (SSL) is not the technology of choice for SOA; the need for message-level
security implies that the WS-Security Framework is optimal
 Failure to understand standards organizations
 Web Services Interoperability (WS-I): Basic Profile and Basic Security Profile
49
Performance Issues
 Message-based communication in SOAs can, in fact, increase performance requirements
when compared to RPC-style communication within traditional distributed architecture
 XML processing-related performance challenges
 Web services security measures, such as encryption and digital signing, add new layers of processing to both
the senders and recipients of messages
 Need to test the message processing capabilities of your environments
 Stress testing the vendor supplied processors (for XML, XSLT, SOAP, etc..)
 Considering alternative processors, accelerators or other types of technology:
 XML-binary Optimized Packaging (XOP)
 SOA Message Transmission Optimization Mechanism (MTOM)
 Performance is one of the reasons why:
 Coarse-grained service interfaces and asynchronous messaging are emphasized when building
Web Services
50
Best Practice: Create a Services Blueprint for Transformation
Partner &
Supplier
Interaction
Fund Accounting
Cash Management
Process Information Requests
Pricing
• Price/Value Investments
• Correct Pricing Error
Securities Accounting
• Conduct Securities
Lending
• Perform Clearing &
Settlement
Analysis &
Product
Development
Performance Analysis
• Product/Service Success
Analytics
Service Development
• R&D
• Product Lifecycle
Manage Accounts
• Setup/Maintain
Person
• Setup/Maintain
Account
• Setup/Maintain
DC/DB Plan
• Setup/Maintain Trust
Manage Information
Requests
• Provide Information
• Provide Personalized
Performance Data
Prepare Client Transactions
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Prepare Purchase
Prepare Redemption
Prepare Exchange
Prepare Buy
Prepare Sell
Exercise Options
Prepare Contribution
Prepare Withdrawal
Prepare Rollover
Perform Adjustments
Administer Installment Setup
Administer Annuitization Setup
Administer Loan
Prepare Asset/ Account Transfer
Prepare Plan Level Transfer
Prepare 1035 Exchange
Terminate Person
Prepare Death Claim
• Analyze/Understand
Client
• Perform Market
Research/Analysis
• Create/Modify
Products/Services
• Educate Client
• Prepare Communications
Customer Service
• Call Center Services
• Customer Lifecycle
• Customer Segment
Management
• Reconcile Checks
• Reconcile Client
Accounts
• Reconcile Transfer
Agency Accounts
• Reconcile Custody
Bank Accounts
• Reconcile Omnibus
Accounts
Compliance
Sales Force Automation
Investment Strategies Management
• Monitor Investment
Compliance
• Monitor Client
Compliance
• Audit Dividend &
Capital Gain
Disbursements
Client Control
Reporting
• Process As-of
Transactions
• Provide Tax Services
Customer
Segments
Manage Portfolios
Replicate Indexes
Manage Order Routing and Execution
Monitor Performance
Money Movement
• Move Money
Inventory
Management
• Manage Literature
Inventory
• Fulfill Literature
Requests
Retirement
Client
Brokerage
Client
Web
Endowment
Client
Investment Management
•
•
•
•
Kiosk/POS
Call Center/IVR
• Campaign Management
• Contact Management
• Sales Goal Performance
Management/Dashboard
Management & Operations
• Account
• Reconciliation
Channels
Marketing
Account Management
• Manage Assets
• Manage Account Balance
• Administer Installment
Payment
• Rebalance Assets
• Calculate Benefits
• Convert New Plan
• Bill Fees
• Process Credit/Margin
• Calculate Annuity Payments
• Administer Annuitization
Payment
• Manage Loans
• Manage Trust Assets
• Manage Trust Income &
Disbursements
• Process Corporate Actions
• Withhold Taxes
• Purge/Archive Records
• Manage Client Payments
• Prepare Excess Refund
• Prepare Pass-Through
Dividend
• Manage Brokerage Orders
External
Advisors
Transaction
Clearinghouses
• Create Financial Plan
• Manage Financial Plan
• Generate Reports
• Generate Statements
• Generate Confirm/
Notifications
Process Client Transactions
Trust
Accounting
Customer
Relationship
Management
Financial Planning
• Manage Cash
Brokers
Advisory Services
Record Keeping
Client
Trust Client
Mobile
Financial Management
• Perform Corporate
Budgeting
• Provide Executive
Information
• Execute
Monthly/Yearly
Financials
• Perform AP/AR
• Issue Payroll
• Track Assets
• Prepare Compliance
Reporting
Human
Resources
• Hire/Retain/Release
Employees
• Provide Career
Management
• Provide Work/Life
Initiatives
• Prepare Compliance
Reporting
Fax
Defined
Contribution
Client
Paper
Defined
Benefit
Client
51
Best Practice: Create an ESA Reference Model
Business Architecture & Business Process Models
Enterprise Business Services
Business Applications
Enterprise Packaged Applications
Business Process Services
Business Services
Information Assets
Business Services
Domain 1
Domain 2
Customer
Finance
Orders
Technology Shared Services
Enterprise Presentation Services
Enterprise Application Services
Information Services
Data Infrastructure
Client Services
Core Application Services
Personalization Services
Business Intelligence
Business Process Integration
Data Access Services
Digital Asset Management
Enterprise Platforms
Integration Platforms
Application Platforms
Infrastructure Services
Monitoring
Services
Network Backbone &
Topology
Directory
Services
File and Print Access
Services
Security & Access
Management
Development &
Deployment
Network Resource
Management
Messaging &
Calendaring
Routing & Security
Architecture
Mobile, Wireless
& Telephony
Storage Architecture
52
Best Practice: Create & Publish an SOA Standards Stack
Layer
Standard
Consumer
Provider
Generic vocabulary
UBL
Knowledge definition
UML
Choreography
BPEL
Presentation
WSRP
Service invocation
SOAP, WSIF
Security
WS-Security – Liberty profile supports this (including
SAML and XACML)
Service description
WSDL
Schema of the syntax
XML Schema, RelaxNG, DTD, ASN.1, RDF
Schema, IFX, LIXI
Document syntax
XML, EDI, IIOP, BER encoding
Messaging envelope
SOAP, S/MIME, ebMS, WS-Reliability
XML transformation
XSLT
Data queries
XPATH, XQUERY, XBRL
Single
standard
desirable
Multiple
standards
acceptable
53
Best Practice: Define Registry/Repository Use Cases
System Admin
Publish Polcies
Approves Services
Enterprise Business Project
Architect Owner
PM
Publish Service
Notifications
Update Service
Perform Cataloging
Deprecate Service
Perform Versioning
Developer
Registry
Store Artifacts
Delete Service
Performs Validation
Discover Service
Retrieve Service
Service Consumer
54
Considerations when Implementing Service-Oriented Architecture
 Service identification:
 What is a service?
 What is the business functionality to be provided by
a given service?
 What is the optimal granularity of the service?
 Service domain definition:
 How should services be grouped together into
logical domains?
 Service packaging:
 How will existing functionality within, say, legacy
mainframe systems be re-engineered or wrapped
into reusable services?
 Service orchestration:
 How are composite services orchestrated?
 Service location:
 Where should a service be located within the
enterprise?
 Service routing:
 How are requests from service consumers routed to
the appropriate service and/or service domain?
 Service Publication and Discovery:
 How should the services be catalogued so that
business and IT users can identify and possible reuse the services in their applications and
processes?
 Service governance:
 How will the enterprise exercise governance
processes to administer and maintain services?
 What standards will be defined for messaging,
choreography, etc., that can be adopted
consistently within the organization.
 Service Development & Deployment :
 What modeling, design, development & deployment
platforms to be used?
 Service Integration Testing :
 What is the testing strategy for loosely coupled
components?
 What testing harnesses or tools will be used?
 Service Performance :
 How to ensure throughput, availability, reliability?
 Service Versioning & Release Management:
 What are the procedures for service versioning,
release management & migration
our business revolves around you
Section VI
SOA POC: Insurance Claim Processing
56
SOA POC: Business Scenario
1. A customer enters a claim via the website / portal
2. The entry is validated against a customer information system (service)
3. A valid entry is registered – customer has valid policy (service)
4. Customer receives acknowledgement of claim registration (service)
5. Claim checked against insurance policy (coverage, amount, provider)
6. Claim approved or rejected or requires clarification
7. Customer notified of approval or rejection (notification service)
8. If Approve or Reject, process to logical end
9. Send payment advice to Accounts Payable
10. Update customer claim processed (service)
11. Notify customer
-------------------------------------------------------------- Customer can query status of claim (service)
57
SOA POC: Business Process Swim Lane Diagram
Medical Claim Process
Verification/
Validation/
Registration
Client/User
Claim Inquiry (Acknowledgement No.)
Claim Info (Response)
Claim Acknowledgement
Invalid Provider/Subscriber Data
Invalid/Duplicate Claim
No
No
Claim
Verification
Service
Verify
OK?
Yes
Claim
Validation
Service
Validation
OK?
Yes
Claim
Registration
Yes
Update
Total Claim
Amount
Compute line item
coverage = 0
No
Total Computed Claim
No
Policy & Claim Info
Valid Claim Info
Provider/Subscriber Info
Compute line item
coverage based on
deductible & maximum
Yes
Line Item
covered?
Assess Line
Item
coverage
with policy
Extract
Each Claim
Line Item
Claim Info
Approval &
Payment
Policy & Claim
Reconcilaition
Verified & Validated Claim
Check
Claim
Amount
Yes
Amount >
10000
Yes
Approve /
Adust /
Deny
Prepare
Approval
Notifcation
Initiate
Funds
Transfer
Approved/
Adjusted
Denied
Prepare
Denial
Notification
Update
Claim
Status
Notification
Updated Claim Info
Notify
Customer
Notify
Accounts &
Audit
Data
Data Access Framework
Claims
DB
Policy
DB
Provider/
Subscriber
DB
Policy
Holder
DB
Address
DB
Notification Systems
58
SOA POC: Business Process Model (Level 0)
59
SOA POC: Business Process Model (Level 1)
60
SOA POC: Process Choreography
61
SOA POC: Service Interface Definition (WSDL)
62
SOA POC: Schema Definition
63
SOA POC: Service Interaction Diagram
Medical Claim Process - Process and Service Interaction Diagram
Medical
Claim UI
Process
Client
Submit a
Claim Process
ClaimReconciliation
Claim Verification
Subscriber
Process
Get
Process
Duplicate
Verification Service
Provider
Claim
Registration
Policy
Claim Verification Get All
Verification Service Service
Service
Claims Service
Process
Claim
Accounts
Get
Approval Process
Payable
Policy
Get
Process
History
Manual Approval
Service
Task
Funds
Transfer
Service
Notification
Service
Claim
Inquiry
Process
Status
Inquiry
Service
Claim
Claim
Claim
Acknowledg
Claim
Acknowledg
Acknowledg
Duplicate Claim
Response
Duplicate Claim
Response
Duplicate Claim
Duplicate Claim
Response
Response
GetClaimsRequest
ClaimsArray
SubscriberVerifyRequest
SubscriberVerifyResponse
ProviderVerifyRequest
ProviderVerifyResponse
Register Claim Request
Claim Reconcilaition request
Claim Reconcilaition Response
GetPolicy
Request
Policy
GetPolicyHistory
Request
PolicyHistory
Manual Approval Request
Request
Response
Manual Approval Response
Pay
Request
Claim
PayableResponse
Pay Response
Notification Request
InquireAClaimRequest
Request
Response
InquireAClaimResponse
64
Example: SOA Implementation Project Approach
Phase
Requirements
Gathering &
Analysis
Activity
Role
Artifacts
Current & Future state problem
definition
BA
Requirements
Functional description of
requirements
BA
Use Cases
Business Process Modeling
BA
Business Process Model, Event Based
Sequence Diagrams (“Swim-Lane” Diagrams) (
)
BA / Architect
Final Business Process Model, Event Based
Sequence Diagrams (“Swim-Lane” Diagrams),
Functional Specs
Business Process
Design
Detailed Business Process Modeling
& Simulation
Business Process
Technical Design
Business Process Choreography
Design
Architect/Developer
BPEL, Data Model, UI Model, Process Test Use
Cases , Functional/Technical Specs (WSDL)
Business Process
Implementation
Coarse-Grained Service
Identification, Design &
Development
Architect/Developer
Process & Service Interaction Diagrams,
Revised Data Model, Service Test Use Cases,
Functional/Technical Specs (WSDL)
Service
Implementation
Fine-Grained Services Identification,
Design & Development
Architect/Developer
Class Diagrams, Final-Data Model, Service Test
Use Cases (WSDL)
65
SOA POC: High Level Technical Architecture
66
SOA POC: Technology Landscape
WBI Modeler & Monitors
Process Choreographer (WebSphere Server Foundation)
SOAP/HTTP, SOAP/JMS, EJB
WebSphere MQ
Broker (WBIMB)
WMQ Applications
Message flows
Web Services
(Java, .NET, Other)
our business revolves around you
Additional Resources
LiquidHub’s SOA Foundations Course for Managers:
Concepts, Strategy and Technology
 Lesson 1: Introduction
 Contemporary Business and IT
Challenges
 Enterprise Architecture Concepts
 Service Oriented Architecture Concepts
 SOA Benefits
 Lesson 2: The Evolution of SOA
 SOA vs. Past Architectures
E.g., SOA vs. Client Server
Architecture
 Lesson 3: The Road To SOA
 SOA Enterprise Strategy
 SOA Enterprise Governance
 Lesson 4: The SOA Delivery
Lifecycle
 SOA SDLC Phases
 SOA Templates
 SOA Project Roles
 Lesson 5: SOA Project Management
 Resource Planning
 Migration Planning
 Elevation Planning
 Integration Planning
 Lesson 6: Web Services
Fundamentals
 XML Overview
 SOAP Overview
 UDDI Overview
 WS* Overview
 Lesson 7: Key SOA Technologies
 Business Process Management Suite
 Enterprise Services Bus
 Repository / Registry
 Lesson 8: Case Studies
 SOA Strategy: HBR Peachtree Healthcare
 SOA Implementation: LH IBM wS
68
Download