service orientation main issues: whats special about services? essentials of service-oriented se

62
Service Orientation Main issues: • What’s special about services? • Essentials of service- oriented SE

Upload: ulises-bunkley

Post on 29-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

Service Orientation

Main issues:

• What’s special about services?

• Essentials of service-oriented SE

Page 2: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 2

Overview

Services, service description, service communication

Service-Oriented Architecture (SOA) Web services SOSE: Service-Oriented Software Engineering

Page 3: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 3

Italian restaurant analogy

Restaurant provides food: a service

After the order is taken, food is produced, served, …: service may consist of other services

The menu indicates the service provided: a service description

The order is written down, or yelled at, the cook: services communicate through messages

Page 4: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 4

Main ingredients

Services Service descriptions Messages

Implementation: through web services

Page 5: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 5

Other example

Citizen looking for a house: Check personal data System X Check tax history System Y Check credit history System Z Search rental agencies System A,B …

Page 6: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 6

What’s a service

Platform-independent computational entity that can be used in a platform-independent way

Callable entities or application functionalities accessed via exchange of messages

Component capable of performing a task

Often just used in connection with something else: SOA, Web services, …

Page 7: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 7

What’s a service, cnt’d

Shift from producing software to using software You need not host the software Or keep track of versions, releases Need not make sure it evolves Etc

Software is “somewhere”, deployed on as-needed basis

SaaS: Software as a Service

Page 8: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 8

Key aspects

Services can be discovered Services can be composed to form larger services Services adhere to a service contract Services are loosely coupled Services are stateless Services are autonomous Services hide their logic Services are reusable Services use open standards Services facilitate interoperability

Page 9: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 9

Service discovery

Service registry

Service provider

Service requestor

lookup

bind

publish

Page 10: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 10

Service discovery

Rental agency 1Rental agency 2

Rental agency 2Municipality

system

Apartment(immediate, cheap) publish

Agency 1

Apartment?

Rental agreement

Rental agency 1

Rental agency 1

Page 11: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 11

Service discovery

Discovery is dynamic, each invocation may select a different one

Primary criterion in selection: contract

Selection may be based on workload, complexity of the question, etc optimize compute resources

If answer fails, or takes too long select another service more fault-tolerance

Page 12: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 12

Is discovery really new?

Many design patterns loosen coupling between classes

Factory pattern: creates object without specifying the exact class of the object.

Page 13: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 13

Services can be composed

Service can be a building block for larger services

Not different from CBSE and other approaches

Page 14: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 14

Services adhere to a contract

Request to registry should contain everything needed, not just functionality

For “normal” components, much is implicit: Platform characteristics Quality information Tacit design decisions

Trust promises?

Quality of Services (QoC), levels thereof

Service Level Agreement (SLA)

Page 15: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 15

Service discovery

Rental agency 1Rental agency 2

Rental agency 1Municipality

system

Apartment(immediate, cheap)

Agency 1

Apartment?

Rental agreement

Page 16: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 16

Services are loosely coupled

Rental agencies come and go

No assumptions possible

Stronger than CBSE loose coupling

Page 17: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 17

Services are stateless

Rental agency cannot retain information: it doesn’t know if and when it will be invoked again, and by whom

Page 18: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 18

Services are autonomous, hide their logic

Rental agency has its own rules on how to structure its process

Its logic does not depend on the municipality service it is invoked by

This works two ways: outside doesn’t know the inside, and vice versa

Page 19: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 19

Services are reusable

Service models a business process: Not very fine grained Collecting debt status from one credit company is not a

service, checking credit status is

Deciding on proper granularity raises lots of debate

Page 20: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 20

Service use open standards

Proprietary standards vendor lockin

There are lots of open standards: How services are described How services communicate How services exchange data etc

Page 21: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 21

Services facilitate interoperability

Because of open standards, explicit contracts and loose coupling

Classical CBSE solutions pose problems: Proprietary formats Platform differences Etc

Interoperability within an organization (EAI) and between (B2B)

Page 22: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 22

Overview

Services, service description, service communication

Service-Oriented Architecture (SOA)

Web services SOSE: Service-Oriented Software Engineering

Page 23: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 23

Service-Oriented Architecture

Architecture: the fundamental organization of a system in its components,

their relationships to each other and to the environment and the principles guiding its design and evolution

SOA: Any system made out of services?

Page 24: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 24

What is SOA?

Infrastructure service layer

Orchestration/coordination layer

Business services layer

serv

ice b

us

service

serviceservice

service

logicalphysical

Page 25: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 25

Service bus

Event-based messaging engine

Origin: EAI, solve integration problems

Often takes care of: Mediation: protocol translation, data transformation, etc Quality of Service issues: security, reliable delivery of messages, etc Management issues: logging, audit info, etc. Service discovery

Can be central (broker, hub), or decentral (smart endpoints)

Page 26: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 26

Service coordination

Orchestration: central control

Choreography: decentral control

Page 27: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 27

Overview

Services, service description, service communication Service-Oriented Architecture (SOA)

Web services

SOSE: Service-Oriented Software Engineering

Page 28: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 28

Web services

Implementation means to realize services Based on open standards:

XML SOAP: Simple Object Access Protocol WSDL: Web Services Description Language UDDI: Universal Description, Discovery and Integration BPEL4WS: Business Process Execution Language for Web

Services

Main standardization bodies: OASIS, W3C

Page 29: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 29

Coordination of Web services

BPEL4WS

WSDL

Java

WSDL

Java

WSDL

Java

Page 30: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 30

Web services stack

BPEL4WS

WSDL UDDI

HTTP, FTP, …

SOAP

composition

description

messages

network

discovery

Page 31: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 31

XML

Looks like HTML Language/vocabulary defined in schema:

collection of trees Only syntax Semantic Web, Web 2.0: semantics as well: OWL

and descendants

Page 32: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 32

SOAP

Message inside an envelope Envelop has optional header (~address), and

mandatory body: actual container of data SOAP message is unidirectional: it’s NOT a

conversation

Page 33: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 33

WSDL

Four parts: Web service interfaces Message definitions Bindings: transport, format details Services: endpoints for accessing service. Endpoint =

(binding, network address)

Page 34: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 34

UDDI

Three (main) parts: Info about organization that publishes the services Descriptive info about each service Technical info to link services to implementation

Page 35: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 35

UDDI (cnt’d)

Original dream: one global registry Reality: many registries, with different levels of

visibility Mapping problems

Page 36: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 36

BPEL4WS

Three main parts: Partnerlinks: dependencies between services: who sends what to

whom Global variables Workflow model: “program”

BPEL4WS is an orchestration language; executable WS-CDL (Web Services Choreography Description

Language) is a choreography language; not executable

Page 37: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 37

Overview

Services, service description, service communication Service-Oriented Architecture (SOA) Web services

SOSE: Service-Oriented Software Engineering

Page 38: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 38

SOSE life cycle

Service orientedanalysis

Service orienteddesign

Servicedevelopment

Servicetesting

Servicedeployment

Serviceadministration

Page 39: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 39

Terminology

service oriented environment (or service oriented ecosystem)

business process + supporting services application (infrastructure) service

business service Task-centric business service Entity-centric business service

hybrid service

Page 40: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 40

Terminology

orderfulfilmentservice

purchaseorder

service

sendutility

service

wrapperservice

customerprofileservice

hybrid services

business services

infrastructure services

entity-centric

verifyPO

service

task-centric

notificationservice

hybrid services

business services

infrastructure services

task centric

entity centric

Page 41: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 41

Strategies for life cycle organization

Top-down strategy

Bottom-up strategy

Agile strategy

Page 42: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 42

Top-down strategy

Service orientedanalysis

Service orienteddesign

Servicedevelopment

Servicetesting

Servicedeployment

Page 43: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 43

Top-down SO analysis

Define enterprisebusiness models

Define enterpriseservice model

Compose SOA

Perform serviceoriented analysis

Service orienteddesign

....

step 1 step 2

step 3 step 4

step 1

step 4step 3

step 2

Page 44: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 44

Bottom-up strategy

Model applicationservices

Design applicationservice

Developapplication

services

Testservices

Deployservices

application service = infrastructure service

Page 45: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 45

SO analysis

SO design

Develop services

Test service operations

Deploy services

Revisit business(and process) services

Top-downanalysis

on-going

align withcurrent state

businessmodels

align withcurrent state

businessmodels

Agile strategy

Page 46: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 46

Service oriented analysis

The process of determining how business automation requirements can be represented through service orientation

Page 47: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 47

Goals of SO analysis

Appropriateness for intended use Identify preliminary issues that may challenge required

service autonomy Define known preliminary composition models

Service operation Service operation

candidatescandidates

Service candidates Service candidates

(logical contexts)(logical contexts)

Page 48: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 48

3 Analysis sub-steps

Service orientedanalysis

Service orienteddesign

Defineanalysis scope

Identifyautomation

systems

Modelcandidate services

step 3

step 2

step 1

...

Page 49: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 49

Step 1: Define analysis scope

Mature and understood business requirements S = ∑i Si, where smaller services may still be quite complex

Can lead to process-agnostic services/service operations (generic service

portfolio) services delivering business-specific tasks

Models: UML use case or activity diagrams

Page 50: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 50

Order Fulfillment Process

start

receive PO

validate PO

POvalid

TransformPO

ImportPO

Send POto queue

stopSendnotification

yes

no

Page 51: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 51

Step 2: Identify automation systems

What is already implemented? encapsulate replace

Models: UML deployment diagram, mapping tables

Page 52: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 52

Order Fulfillment Process

start

receive PO

validate PO

POvalid

TransformPO

ImportPO

Send POto queue

stopSendnotification

yes

no

alreadyautomatedby Orderfulfillmentservice

same asprevious

same asprevious

(XML -> native format)(currently custom component)service candidate

(into accounting sys.)service candidate(currently custom legacy)service candidate

(to accounting clerk'swork queue)same as previous

Page 53: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 53

Step 3: Model candidate services

How to compose services?

Service (candidates) conceptual model operations + service contexts SO principles

Focus on task- and entity-centred services

Models: BPM, UML use case or class diag.

Page 54: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 54

Example service operation candidates

Receive PO document

PO processingservice

Validate PO document

(If PO document is invalid,)send rejection notification

(and end process)

Transform PO document into native

electronic PO format

<<include>>

<<include>>

...

Page 55: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 55

Example business process logic

Not service operation candidates if PO document is valid, proceed with the transform PO

document step if the PO document is invalid, end process

Page 56: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 56

Task- versus entity-centred services

Task-centred (+) direct mapping of

business requirements (-) dependent on specific

process

Entity-centred (+) agility (-) upfront analysis (-) dependent on

controllers

Page 57: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 57

Benefits of business-centric SOA

introduce agility

prepare for orchestration

enable reuse

Page 58: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 63

Service-oriented design: design sub-steps

Service orientedanalysis

Service orienteddesign

Compose SOA

Design entity-centric business services

Design infrastructure services

step 3

step 2

step 1

...

Design task-centricbusiness services

step 4

Design SO business process

step 5

Page 59: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 64

Entity-centric business services

Customer

PO

Employee

Invoice

Order

1

**

1

1

1

*

*

1

1

1

*

*

1

*EmailWeekly hours

CustomerHours billed

...

...

...

Goal: entity-centric business service layer + parent orchestration layer

Receive PO document

PO processingservice

Validate PO document

(If PO document is invalid,)send rejection notification

(and end process)

Transform PO document into native

electronic PO format

<<include>>

<<include>>

...

Page 60: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 65

Infrastructure services

Infrastructure service layer

Business service layer

Orchestration/coordination layer

POprocessing

service

POservice

Notificationservice

VerifyPO

service

Transformservice

Page 61: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 66

Task-centric business services

UML sequence diagram express and refine order of invocations implicit in the UML use

case diagram

Receive PO document

PO processingservice

Validate PO document

(If PO document is invalid,)send rejection notification

(and end process)

Transform PO document into native

electronic PO format

<<include>>

<<include>>

...

Verify POservice

POservice

Notificationservice

get_PO[PO data]

send_reject

verify

Page 62: Service Orientation Main issues: Whats special about services? Essentials of service-oriented SE

SE, Servic Orientation, Hans van Vliet, ©2008 67

Summary

Services have a long history (telephony) Most important characteristic: dynamic discovery

of services SOA as architectural style Today’s Web services mostly syntax-based Key design decisions in SOSE concern service

layering, industry standards, and relevant SO principles

SOSE differentiates from traditional life cycles mainly in the analysis and design phases