Avoiding SOA Pitfalls

39
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Avoiding SOA Pitfalls Radovan Janeček SOFSEM 2009

description

Avoiding SOA Pitfalls. Radovan Jane ček SOFSEM 2009. Agenda. Definitions and context settings Pitfalls: Organization Methodology Technology Summarizing. Definitions and context. Eight Years of SOA Wins and Mistakes. Co-founded Systinet (2000) Web Services stacks in C++ and Java - PowerPoint PPT Presentation

Transcript of Avoiding SOA Pitfalls

Page 1: Avoiding SOA Pitfalls

© 2006 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice

Avoiding SOA Pitfalls

Radovan Janeček

SOFSEM 2009

Page 2: Avoiding SOA Pitfalls

Agenda• Definitions and context settings

• Pitfalls:−Organization

−Methodology

−Technology

• Summarizing

2 April 20, 2023

Page 3: Avoiding SOA Pitfalls

DEFINITIONS AND CONTEXT

3 April 20, 2023

Page 4: Avoiding SOA Pitfalls

Eight Years of SOA Wins and Mistakes• Co-founded Systinet (2000)

−Web Services stacks in C++ and Java−Service Registry−SOA Governance

• Led SOA Center in Mercury/HP (2006)−SOA Governance, Quality, Management

• BTO, Chief Architect (2008)−Service and Data Models−Integration strategy (SOA based)

• R&D Director, HP Service Portfolio Management

Page 5: Avoiding SOA Pitfalls

5 April 20, 2023

Page 6: Avoiding SOA Pitfalls

6

Page 7: Avoiding SOA Pitfalls

7 April 20, 2023

Page 8: Avoiding SOA Pitfalls

BTO Blueprint

8 April 20, 2023

IT STRATEGY IT OPERATIONSIT APPLICATIONS

Manage service lifecycle

Continually improve services

Manage assets, improve

service cost efficiency

Self servicecapabilities

Manage business

requirements

Manage quality

requirements

Verify functional

quality

Automate test

planning, execution

Analysisof defects

Ensureapplication

security

Vulnerability

assessments

for developme

nt,QA and

production

Validate performanc

e

Diagnose performance problems

Tune environme

nt

Quality Management

QA

Business

CAB

Automate configuration and change (client, server, network, storage)

. Manage IT compliance and audit

Provision and scale

Baseline environment

IT Service Manageme

nt

DESIGN ASSEMBLE

/BUILD

Development

ITIL Service Desk

Compliance /

Security

Operations CAB

Manage enterprise portfolio

Resource constrained portfolio optimizatio

n

Manage projects

and programs

Control and

enforcement

Portfolio and

Financial Management

CIO/Biz/IT Steering

Committee

FederatedCMDB

Discovery+ mapping

• Projectproposals

• Newapplications

• New services

• Newarchitectures

Strategic Demand

Operational Demand

• Defects

• Enhancements• Operational

change requests

• Service catalog

• Knowledge mgmt.

SLAs andincidents

RFCs and

incidents

Change impact

andcollisions

Quality management

repository

Defects andissues

New projects

and enhanceme

nts

Remediation

BUSINESSBUSINESS STRATEGY

BUSINESS OPERATIONS

Manage SOA portfolio

Publish services and manage consumption

CTO Office

SOArepository

Serviceportfolio

repository

Change notification

Tests - Monitors

Manage business transaction and

end-user experience

Manage composite

applications and SOA services

Business Service

Management

Application

Support

Manage infrastructure

domains, events and services

NOC

Isolation,triage

Business impact

PMO

Operations OrchestrationBusiness Service

Automation

Page 9: Avoiding SOA Pitfalls

Service Oriented Architecture• Technology

• Methodology

• Organization

• Snake-Oil Archtiecture

9 April 20, 2023

Page 10: Avoiding SOA Pitfalls

SOA: Technology• WSA – Web Services Architecture

http://www.w3.org/TR/ws-arch/

−SOAP and WS-*−HTTP used as transport protocol for SOAP

messages−WSDL for service definition (ala IDL)

• WOA – Web Oriented Architecture http://en.wikipedia.org/wiki/Web_Oriented_Architecture

−REST – REpresentational State Transfer−XML/HTTP; Atom; APP−HTTP used as application protocol−No explicit contract - Introspection

10 April 20, 2023

Page 11: Avoiding SOA Pitfalls

SOA: Methodology• ESB – Enterprise Service Bus

−Strong middleware: security, content based routing, reliability, process execution, failover, load balancing, monitoring, auditing, …

−Clients talk to ESB and ESB distributes messages to Services

• ESN – Enterprise Service Network (very unknown term)−Clients talk directly to Services

−Services are responsible for security, failover, etc.

11 April 20, 2023

Page 12: Avoiding SOA Pitfalls

SOA: Organization• Business Service Lifecycle

−Inception

−Budgeting

−Governance

−Development

−Production

−Retirement

• Visibility, Trust, Control

12 April 20, 2023

Page 13: Avoiding SOA Pitfalls

SOA: Snake-Oil• Business and IT alignment• Faster development• Easier and more robust integration• Services are loosely coupled / more

−Robust

−Flexible

• You can buy SOA

13 April 20, 2023

Page 14: Avoiding SOA Pitfalls

14 April 20, 2023

Observations You Can Make• Lighter-weight middlewares are winning

• EAI is ‘enemy’ of SOA

• EAI and SOA projects are failing mainly due to organization aspects

• Subjective presentation

Page 15: Avoiding SOA Pitfalls

SOA PITFALLSSOA is so powerful. Why is it failing? Again?

15 April 20, 2023

Page 16: Avoiding SOA Pitfalls

SOA: Organization• SOA is failing because of its ‘success’

−Became visible to business

−Large scope

−Snake-oil

• Agreement: Organization changes necessary−… but which ones?

16 April 20, 2023

Page 17: Avoiding SOA Pitfalls

#10: Project-driven SOA• SOA is implemented within specific project(s)• Good

−Validation of the concept−Starting point

• Bad−Silo reinforcement−No proof it will work across silos

• Reasons−Alignment with business, Commitment, Experience−Financial: funding, incentives−Trust!

17 April 20, 2023

Page 18: Avoiding SOA Pitfalls

#10: Suggestion• Align with business on the importance

−Cross-portfolio (silo) integrated solutions

−Identify the most critical solutions (not services!)

• Define SOA Governance model

18 April 20, 2023

Funding Model, Commitments

Trust, Experience, Alignment

Page 19: Avoiding SOA Pitfalls

SOA: Organization Summary• Centralized SOA Governance

−Visibility−Trust −Control

• Decentralized development• Services are FEATURES• Centralized solution testing• Service Portfolio Management• Budgeting

−Incentives to• Use• Provide

−Subscription models

19 April 20, 2023

Page 20: Avoiding SOA Pitfalls

SOA: Methodology• Blind application of Distributed Systems theory

−Transparency doesn’t work in real life• (not) Delivered by EAI middlewares

• #1: SOA as ‘better’ EAI• #3: API granularity• #5: New business logic• #6: Intermediaries and de-coupling• #7: ESB (or HUB) improves the overall system• #8: Common data model

20 April 20, 2023

Page 21: Avoiding SOA Pitfalls

More on SOA vs EAI

21 April 20, 2023

EAI SOAa b

c

d

e

Page 22: Avoiding SOA Pitfalls

BTO Blueprint

22 April 20, 2023

IT STRATEGY IT OPERATIONSIT APPLICATIONS

Manage service lifecycle

Continually improve services

Manage assets, improve

service cost efficiency

Self servicecapabilities

Manage business

requirements

Manage quality

requirements

Verify functional

quality

Automate test

planning, execution

Analysisof defects

Ensureapplication

security

Vulnerability

assessments

for developme

nt,QA and

production

Validate performanc

e

Diagnose performance problems

Tune environme

nt

Quality Management

QA

Business

CAB

Automate configuration and change (client, server, network, storage)

. Manage IT compliance and audit

Provision and scale

Baseline environment

IT Service Manageme

nt

DESIGN ASSEMBLE

/BUILD

Development

ITIL Service Desk

Compliance /

Security

Operations CAB

Manage enterprise portfolio

Resource constrained portfolio optimizatio

n

Manage projects

and programs

Control and

enforcement

Portfolio and

Financial Management

CIO/Biz/IT Steering

Committee

FederatedCMDB

Discovery+ mapping

• Projectproposals

• Newapplications

• New services

• Newarchitectures

Strategic Demand

Operational Demand

• Defects

• Enhancements• Operational

change requests

• Service catalog

• Knowledge mgmt.

SLAs andincidents

RFCs and

incidents

Change impact

andcollisions

Quality management

repository

Defects andissues

New projects

and enhanceme

nts

Remediation

BUSINESSBUSINESS STRATEGY

BUSINESS OPERATIONS

Manage SOA portfolio

Publish services and manage consumption

CTO Office

SOArepository

Serviceportfolio

repository

Change notification

Tests - Monitors

Manage business transaction and

end-user experience

Manage composite

applications and SOA services

Business Service

Management

Application

Support

Manage infrastructure

domains, events and services

NOC

Isolation,triage

Business impact

PMO

Operations OrchestrationBusiness Service

Automation

Page 23: Avoiding SOA Pitfalls

ESN vs. ESB

23 April 20, 2023

ESN ESBE

SB

Service A Service B

Page 24: Avoiding SOA Pitfalls

#7: HUB Better Than Point-to-Point

24 April 20, 2023

Page 25: Avoiding SOA Pitfalls

#7: HUB Better Than Point-to-Point

25 April 20, 2023

Page 26: Avoiding SOA Pitfalls

#7: HUB Better Than Point-to-Point• Nothing wrong on P2P if Governance is in place• HUB will not help if Governance is missing• Advantages hypothetical

−Real dependencies are not that complex• Disadvantages are real

−Deployment cost, integration cost (multiple HUBs), evolution issues (multiple places to change)

• HUB de-facto implements additional business logic−E.g. content based routing, orchestration, etc.−Who owns it? What about contracts?−Why is this logic not provided by a service?

26 April 20, 2023

Page 27: Avoiding SOA Pitfalls

#7: Suggestion• SOA: Service, Consumer, Contract – no HUB• Use Service Registry for late binding• Strictly use middleware-type HUBs behind

service’s façade• Do contract management (even very

simple one helps)

27 April 20, 2023

Time saving, Right focus, Success

Page 28: Avoiding SOA Pitfalls

Four Ways for One Use Case

28 April 20, 2023

lookup

create

update

?

lookup

create

update

?submit

BPEL

?

PUT

?GET

Event Source Incident Manager

Page 29: Avoiding SOA Pitfalls

Other

Related

#8: Common Data Model Alternative

29 April 20, 2023

CMS

Core

Configuration Management

Other

Related

QM

Core

Quality Management

Page 30: Avoiding SOA Pitfalls

#8: Service Model Overlaps Create CDM

30 April 20, 2023

Other

Related

CMS

Core

Configuration M

anagement

Other

Related

QMCore

Quality Management

Page 31: Avoiding SOA Pitfalls

SOA: Technology• WSA is ‘CORBA in angle brackets’• WOA builds on successful history and

experience

• #2: Standard compliance gives loose coupling

• #4: REST not enterprise ready

31 April 20, 2023

Page 32: Avoiding SOA Pitfalls

32 April 20, 2023

Page 33: Avoiding SOA Pitfalls

#2: WS-* Standards• Innoq: http://www.innoq.com/soa/ws-standards/poster/innoQ%20WS-Standards%20Poster%202007-

02.pdf

• SOAP, WS-Security, WS-Transactions, WS-BPEL, WS-ReliableMessaging, WS-Addressing

• XML Schema−Data description

−Strong typing (usually used for)

• Strong typing creates tight coupling among systems−Changes into data schema affect consumers

33 April 20, 2023

Page 34: Avoiding SOA Pitfalls

#2: Standards• Standards are not enough!

−Generic envelopes

−Industry standards often ‘tailored’ when used

• Data externalization rules−Mapping to standards

• Dates, Versions, References, MIME types, etc.

−Identification

−Cross references (hyperlinks?)

• Business vocabulary and taxonomies• Look carefully at adoption outside of your

company

34 April 20, 2023

Page 35: Avoiding SOA Pitfalls

Scalability: # of Changes and Evolution

• http://www.google.com/search?q=20/5• http://www.google.com/search?q=ba856• http://www.google.com/search?q=5m+in+inches• http://www.google.com/search?

q=weather+San+Francisco

35 April 20, 2023

How many different APIs?

How many changes into client code?

Impact on existing clients?

REST wins

Page 36: Avoiding SOA Pitfalls

SUMMARIZING

36 April 20, 2023

Page 37: Avoiding SOA Pitfalls

Good Distributed Applications/Services• Should not ‘outsource’ their BL to

middleware• Should minimize use of middleware even

for fulfilling ‘enterprise readiness’ requirements−i.e. moving them to application level

• Should realize the distribution is part of the business logic−E.g. no distributed transactions!

37 April 20, 2023

Page 38: Avoiding SOA Pitfalls

38 April 20, 2023

Observations You Can Make• Lighter-weight middlewares are winning

• EAI is ‘enemy’ of SOA

• EAI and SOA projects are failing mainly due to organization aspects

• Subjective presentation

Page 39: Avoiding SOA Pitfalls

THANK YOUBuilding distributed services is HARD. No silver bullet.

39 April 20, 2023