SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 1
Founding Sponsors
This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
Gold Sponsors
Platinum Sponsors
Silver Sponsors
SOA Systems Inc.
An Introduction to Service Modeling
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 2
Copyright © SOA Systems Inc. (www.soasystems.com)
About the Book Series
www.soabooks.com
Five titles currently in
development for
release in 2009.
The Prentice Hall Service-Oriented Computing Series
is the top-selling SOA book series in the world.
Copyright © SOA Systems Inc. (www.soasystems.com)
About the SOA Certified
Professional Program
Industry-recognized certification program for the following designations:
• Certified SOA Architect
• Certified SOA Analyst
• Certified SOA Consultant
For more information:
• www.soacp.com
• www.soaschool.com
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 3
Copyright © SOA Systems Inc. (www.soasystems.com)
A Note About
SOAMethodology.com
Before we begin:
The following description of Service Modeling is part of a
mainstream SOA methodology that is further explained at
www.soamethodology.com.
This mainstream methodology is not proprietary and does not compete
with other approaches. It is the result of on-going industry research that
provides a balanced blend of the most common, proven, and mature
approaches currently in use.
For any given IT enterprise, this methodology is considered a starting
point only, and almost always requires further customization.
The purpose of this mainstream methodology is to raise key
considerations for the delivery of SOA projects and specific project
lifecycle stages.
Copyright © SOA Systems Inc. (www.soasystems.com)
Service Delivery Terminology
Let’s first establish some common terms:
• “Service Candidate”
• “Service Inventory Blueprint”
• “Service-Oriented Analysis”
• “Service Modeling”
• “Service-Oriented Design”
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 4
Copyright © SOA Systems Inc. (www.soasystems.com)
SOA Projects
SOA projects introduce new considerations and
tend to augment traditional the project lifecycle.
Specifically, SOA projects require:
• more up-front analysis effort
• closer collaboration between business and
technology experts
• a careful prioritization of tactical and strategic
needs
Copyright © SOA Systems Inc. (www.soasystems.com)
Up-Front Analysis
• An SOA project is often actually a service delivery
project that is part of a larger SOA initiative.
• The scope of the initiative and the size of the target
service inventory tend to determine the amount of
up-front effort.
• More up-front analysis results in a better defined
blueprint which results in a better quality inventory of
services.
• This up-front analysis effort is carried out iteratively as
part of the Inventory Analysis Cycle.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 5
Copyright © SOA Systems Inc. (www.soasystems.com)
Up-Front Analysis
The Inventory Analysis
process is comprised of
an iterative cycle during
which the service
inventory blueprint is
incrementally defined
as a result of repeated
iterations of steps that
include the service-
oriented analysis.
Copyright © SOA Systems Inc. (www.soasystems.com)
Analysis Collaboration
• To carry out the up-front analysis work requires the
involvement of business analysis and technology
architecture experts.
• Business expertise is needed for the definition of
business service abstraction layers.
• Technology architecture expertise is needed for all
services.
• This form of collaboration establishes the basis for the
service-oriented analysis process.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 6
Copyright © SOA Systems Inc. (www.soasystems.com)
Analysis Collaboration
How analysts and architects work together in
SOA projects is a departure from traditional projects.
Copyright © SOA Systems Inc. (www.soasystems.com)
SOA Project Delivery
Prior to commencing with the analysis process, a project approach needs to be chosen to best organize the overall delivery lifecycle.
Three common delivery approaches have emerged:
- top-down
- bottom-up
- meet-in-the-middle
Of these, some extent of top-down delivery is usually required to incorporate meaningful levels of inventory and service analysis.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 7
Copyright © SOA Systems Inc. (www.soasystems.com)
Tactical vs. Strategic
• In service delivery projects there is a constant
need to balance pressing tactical requirements
against preferred strategic requirements.
• Tactical refers to the fulfillment of short-term,
immediate requirements (which are usually
specific to the organization).
• Strategic refers the fulfillment of long-term goals
associated with SOA and service-oriented
computing.
Copyright © SOA Systems Inc. (www.soasystems.com)
Tactical vs. Strategic
• The greater the priority of tactical requirements,
generally the less time there is for up-front analysis
effort. This leads to a tendency to apply more of a
bottom-up approach.
• The greater the priority of strategic goals, the more is
invested in up-front analysis stages, which
corresponds with a top-down approach.
• The meet-in-the-middle delivery approach attempts
to provide a compromise by allowing a top-down
analysis to occur while delivering services that are
later re-aligned.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 8
Copyright © SOA Systems Inc. (www.soasystems.com)
Service Delivery & Governance
Up-front analysis as
part of a top-down
effort reduces the
eventual
governance
burden.
The bottom-up
approach results in
less up-front
impact, but defers
burden to the
governance phase.
Copyright © SOA Systems Inc. (www.soasystems.com)
Service-Oriented Analysis
• A service-oriented analysis is a formal process completed jointly by business analysts and technology architects.
• Service modeling is a sub-process of service-oriented analysis that produces conceptual service definitions called service candidates.
• The subsequent service-oriented design process uses these candidates as a starting point and then shapes them into physical service services.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 9
Copyright © SOA Systems Inc. (www.soasystems.com)
Service-Oriented Analysis
• The typical scope of a service-oriented analysis
is one business process.
• In a top-down delivery, the service-oriented
analysis process is carried out repeatedly as part
of the Inventory Analysis Cycle.
• Each iteration is focused on analyzing a different
business process.
Copyright © SOA Systems Inc. (www.soasystems.com)
Service-Oriented AnalysisA generic service-oriented
analysis process that can be
further customized.
In a nutshell, it represents a
parent process comprised of
two information gathering steps
and a detailed service modeling
sub-process.
Business logic is essentially
decomposed into preliminary
service operation candidates
that are then grouped into
logical contexts that represent
conceptual services called
service candidates.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 10
Copyright © SOA Systems Inc. (www.soasystems.com)
Service Modeling
• Service modeling is essentially a process by which proposed capabilities are identified and grouped into proposed services.
• It is therefore important to continually remind ourselves that we are not actually implementing a physical design at this stage.
• Using the terms “service candidate”, “service operation candidate”, and “service composition candidate” clearly communicates this.
Copyright © SOA Systems Inc. (www.soasystems.com)
Service ModelingA generic
service
modeling
process that
can be
further
customized.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 11
Copyright © SOA Systems Inc. (www.soasystems.com)
Logic Types
There are four fundamental service logic types that
allow you to choose and position (and customize)
service models and service abstraction layers as
part of a service inventory blueprint:
• business
• utility
• agnostic
• non-agnostic
Copyright © SOA Systems Inc. (www.soasystems.com)
Service Models
The following primary service models exist:
• Entity Service – Functional business context associated
with a business entity or a collection of related
business entities.
• Utility Service – Functional non-business context
associated with a related set of processing
capabilities.
• Task Service – Functional business context associated
with a specific business process. (A variation of this
service model is the Orchestrated Task Service.)
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 12
Copyright © SOA Systems Inc. (www.soasystems.com)
Logic Types and Service Layers
Business
Logic
Utility
Logic
Agnostic
Logic
Non-
Agnostic
Logic
Utility
Service
Layer
X X
Entity
Service
Layer
X X
Task
Service
Layer
X X
Copyright © SOA Systems Inc. (www.soasystems.com)
Entity Service Definition
• An entity service is a form of business service
because it has a business-centric context.
• It derives its context from a specific business
entity (or a group of related business entities).
• Examples of business entities:
invoice
purchase order
claim
employee
customer
product
policy
benefit
vendor
partner
credit note
ledger
vehicle
site
region
zone
account
license
shipment
ingredient
asset
equipment
material
resource
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 13
Copyright © SOA Systems Inc. (www.soasystems.com)
Entity Service Definition
• Entity service capabilities
provide functionality
centered around the
processing of the
information set associated
with the business entity.
• This leads to many CRUD-
style capabilities.
Copyright © SOA Systems Inc. (www.soasystems.com)
Utility Service Definition
• The purpose of the utility service layer is to establish services that provide functionality that addresses cross-cutting concerns.
• These types of services have a functional scope that is deliberately non-business-centric.
• They are also referred to as “application services” or “infrastructure services”.
• Utility services often encapsulate enterprise resources, such as legacy systems and databases, and expose them in unique contexts.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 14
Copyright © SOA Systems Inc. (www.soasystems.com)
Utility Service Definition
• Utility services are typically composed by parent
business services.
• Utility services are often
the most challenging
type of service to
design and evolve
because an
appropriate functional
context is difficult to
determine.
• Following are some guidelines for defining utility
service contexts.
Copyright © SOA Systems Inc. (www.soasystems.com)
Task Service Definition
• Task services encapsulate business logic specific to a
parent task or business process.
• A parent task represents business process logic that
spans business entities.
• Task services are intentionally non-agnostic and therefore have limited reuse potential.
• The task service definition results from the application
of the Non-Agnostic Context pattern in addition to any
further analysis steps that may be part of the overall
modeling process.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 15
Copyright © SOA Systems Inc. (www.soasystems.com)
Task Service Definition
• Task services usually act as controllers in complex
compositions, but they are ideally modeled to
participate as composition
members as well.
• Task services tend to be
more stateful than agnostic
services and almost always
expose fewer capabilities.
Copyright © SOA Systems Inc. (www.soasystems.com)
Service Layer Abstraction
Service layers abstract
different types of logic…
…and establish logical
domains for governance
purposes.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 16
Copyright © SOA Systems Inc. (www.soasystems.com)
Service Layer Abstraction
A typicalcomplex compositionwill span multiple layers.
Copyright © SOA Systems Inc. (www.soasystems.com)
Primitive Service Definition
and SOA Patterns
The primitive service definition process is carried out by
sequentially applying the following patterns:
• Service Encapsulation
• Agnostic Context Definition
• Non-Agnostic Context Definition
• Agnostic Capability Definition
• Capability Composition
• Capability Recomposition
Note that each pattern essentially corresponds to a
foundational step within service-oriented analysis and
design. For more information, see SOAPatterns.org.
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 17
Copyright © SOA Systems Inc. (www.soasystems.com)
Project
Roles
SOA project roles
have common
relationships with
specific phases of
a typical SOA
project delivery
lifecycle.
Note that this
diagram does
not show the
service
governance
lifecycle.
Copyright © SOA Systems Inc. (www.soasystems.com)
Services and Granularity
SOA Workshop
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 18
Copyright © SOA Systems Inc. (www.soasystems.com)
Contact and Resources
SOA Systems Inc. www.soasystems.com
SOA Training www.soaschool.com
SOA Certification www.soacp.com
SOA Books www.soabooks.com
SOA Magazine www.soamag.com
SOA Patterns www.soapatterns.org
Updates [email protected]
Contact [email protected]