service orientation main issues: what’s special about services? essentials of service-oriented se...

55
Service Orientation Main issues: • What’s special about services? • Essentials of service- oriented SE ©2008 John Wiley & Sons Ltd. www.wileyeurope.com/college/van vliet

Upload: alfred-bradford

Post on 28-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Service Orientation

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 2: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Overview

• Services, service description, service communication

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

2©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 3: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

3©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 4: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Main ingredients

• Services• Service descriptions• Messages

• Implementation: through web services

4©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 5: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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 – …

5©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 6: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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, …

6©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 7: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

7©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 8: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

8©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 9: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Service discovery

9

Service registry

Service provider

Service requestor

lookup

bind

publish

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 10: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Service discovery

10

Rental agency 1Rental agency 2

Rental agency 2Municipality

system

Apartment(immediate, cheap) publish

Agency 1

Apartment?

Rental agreement

Rental agency 1

Rental agency 1

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 11: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

11©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 12: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Is discovery really new?

• Many design patterns loosen coupling between classes

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

12©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 13: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Services can be composed

• Service can be a building block for larger services

• Not different from CBSE and other approaches

13©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 14: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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)

14©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 15: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Service discovery

15

Rental agency 1Rental agency 2

Rental agency 1Municipality

system

Apartment(immediate, cheap)

Agency 1

Apartment?

Rental agreement

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 16: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Services are loosely coupled

• Rental agencies come and go

• No assumptions possible

• Stronger than CBSE loose coupling

16©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 17: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Services are stateless

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

17©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 18: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

18©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 19: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

19©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 20: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

20©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 21: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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)

21©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 22: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Overview

• Services, service description, service communication

• Service-Oriented Architecture (SOA)

• Web services• SOSE: Service-Oriented Software Engineering

22©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 23: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Overview

• Services, service description, service communication

• Service-Oriented Architecture (SOA)

• Web services

• SOSE: Service-Oriented Software Engineering

23©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 24: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

24©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 25: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

25©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 26: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

26©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 27: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

WSDL

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

= (binding, network address)

27©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 28: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

UDDI

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

28©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 29: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

UDDI (cnt’d)

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

of visibility– Mapping problems

29©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 30: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Overview

• Services, service description, service communication

• Service-Oriented Architecture (SOA)• Web services

• SOSE: Service-Oriented Software Engineering

30©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 31: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

SOSE life cycle

31

Service orientedanalysis

Service orienteddesign

Servicedevelopment

Servicetesting

Servicedeployment

Serviceadministration

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 32: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

32©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 33: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Terminology

33

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 34: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Strategies for life cycle organization

• Top-down strategy

• Bottom-up strategy

• Agile strategy

34©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 35: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Top-down strategy

35

Service orientedanalysis

Service orienteddesign

Servicedevelopment

Servicetesting

Servicedeployment

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 36: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Top-down SO analysis

36

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 37: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Bottom-up strategy

37

Model applicationservices

Design applicationservice

Developapplication

services

Testservices

Deployservices

application service = infrastructure service©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 38: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Agile strategy

38

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 39: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Service oriented analysis

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

39©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 40: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Goals of SO analysis

Appropriateness for intended use Identify preliminary issues that may challenge required service

autonomy Define known preliminary composition models

40

Service operation Service operation

candidatescandidates

Service candidates Service candidates

(logical contexts)(logical contexts)

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 41: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

3 Analysis sub-steps

41

Service orientedanalysis

Service orienteddesign

Defineanalysis scope

Identifyautomation

systems

Modelcandidate services

step 3

step 2

step 1

...

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 42: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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 diagrams42

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 43: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Order Fulfillment Process

43

start

receive PO

validate PO

POvalid

TransformPO

ImportPO

Send POto queue

stopSendnotification

yes

no

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 44: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Step 2: Identify automation systems

• What is already implemented?– encapsulate– replace

• Models: UML deployment diagram, mapping tables

44©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 45: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Order Fulfillment Process

45

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 46: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 47: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Example service operation candidates

47

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

...

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 48: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

48©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 49: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Task- versus entity-centred services

• Task-centred– (+) direct mapping of

business requirements– (-) dependent on specific

process

• Entity-centred– (+) agility– (-) upfront analysis– (-) dependent on controllers

49©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 50: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Benefits of business-centric SOA

• introduce agility

• prepare for orchestration

• enable reuse

50©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 51: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Service-oriented design: design sub-steps

56

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 52: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Entity-centric business services• Goal: entity-centric business service layer + parent

orchestration layer

57

Customer

PO

Employee

Invoice

Order

1

**

1

1

1

*

*

1

1

1

*

*

1

*EmailWeekly hours

CustomerHours billed

...

...

...

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

...

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 53: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Infrastructure services

58

Infrastructure service layer

Business service layer

Orchestration/coordination layer

POprocessing

service

POservice

Notificationservice

VerifyPO

service

Transformservice

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 54: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

Task-centric business services

• UML sequence diagram– express and refine order of invocations implicit

in the UML use case diagram

59

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

©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet

Page 55: Service Orientation Main issues: What’s special about services? Essentials of service-oriented SE ©2008 John Wiley & Sons Ltd

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

60©2008 John Wiley & Sons Ltd.

www.wileyeurope.com/college/van vliet