Contenu connexe
Similaire à Chris Riley S O A Modeling
Similaire à Chris Riley S O A Modeling (20)
Plus de SOA Symposium (12)
Chris Riley S O A Modeling
- 1. SOA Workshop
This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
info@soasymposium.com
Founding Sponsors
Platinum Sponsors
Gold Sponsors Silver Sponsors
An Introduction to Service Modeling
SOA Systems Inc.
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 1
- 2. SOA Workshop
About the Book Series
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.
www.soabooks.com
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
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 2
- 3. SOA Workshop
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”
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 3
- 4. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 4
- 5. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 5
- 6. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 6
- 7. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 7
- 8. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 8
- 9. SOA Workshop
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)
A generic service-oriented
Service-Oriented
analysis process that can be Analysis
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 9
- 10. SOA Workshop
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)
A generic
service Service Modeling
modeling
process that
can be
further
customized.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 10
- 11. SOA Workshop
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.)
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 11
- 12. SOA Workshop
Logic Types and Service Layers
Non-
Business Utility Agnostic
Agnostic
Logic Logic Logic
Logic
Utility
Service X X
Layer
Entity
Service X X
Layer
Task
Service X X
Layer
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 policy vehicle shipment
purchase order benefit site ingredient
claim vendor region asset
employee partner zone equipment
customer credit note account material
product ledger license resource
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 12
- 13. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 13
- 14. SOA Workshop
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. © SOA Systems Inc. (www.soasystems.com)
Copyright
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 14
- 15. SOA Workshop
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.
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 15
- 16. SOA Workshop
Service Layer Abstraction
A typical
complex
composition
will 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, (www.soasystems.com)
Copyright © SOA Systems Inc.
see SOAPatterns.org.
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 16
- 17. SOA Workshop
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
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 17
- 18. SOA Workshop
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 notify@soasystems.com
Contact info@soasystems.com
Copyright © SOA Systems Inc. (www.soasystems.com)
An Introduction to Service Modeling
(Copyright © SOA Systems Inc.,
soacp.com, soaschool.com) 18