Chris Riley S O A Modeling

18
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 [email protected] Gold Sponsors Platinum Sponsors Silver Sponsors SOA Systems Inc. An Introduction to Service Modeling

Transcript of Chris Riley S O A Modeling

Page 1: Chris  Riley    S O A Modeling

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

[email protected]

Gold Sponsors

Platinum Sponsors

Silver Sponsors

SOA Systems Inc.

An Introduction to Service Modeling

Page 2: Chris  Riley    S O A 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

Page 3: Chris  Riley    S O A Modeling

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”

Page 4: Chris  Riley    S O A Modeling

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.

Page 5: Chris  Riley    S O A Modeling

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.

Page 6: Chris  Riley    S O A Modeling

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.

Page 7: Chris  Riley    S O A Modeling

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.

Page 8: Chris  Riley    S O A Modeling

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.

Page 9: Chris  Riley    S O A Modeling

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.

Page 10: Chris  Riley    S O A Modeling

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.

Page 11: Chris  Riley    S O A Modeling

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.)

Page 12: Chris  Riley    S O A Modeling

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

Page 13: Chris  Riley    S O A Modeling

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.

Page 14: Chris  Riley    S O A Modeling

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.

Page 15: Chris  Riley    S O A Modeling

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.

Page 16: Chris  Riley    S O A Modeling

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.

Page 17: Chris  Riley    S O A Modeling

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

Page 18: Chris  Riley    S O A Modeling

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]