Top Banner
Guerrilla SOA How to fight back when a vendor takes control of your enterprise Jim Webber Global Architecture Lead, ThoughtWorks http://jim.webber.name
34

Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Dec 31, 2015

Download

Documents

upton-wong

Guerrilla SOA How to fight back when a vendor takes control of your enterprise. Jim Webber Global Architecture Lead, ThoughtWorks http://jim.webber.name. There are two things money cannot buy: Love (Lennon/McCartney) An SOA (Webber). Fundamental Premise. Roadmap. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Guerrilla SOAHow to fight back when a vendor takes control of your

enterprise

Jim WebberGlobal Architecture Lead, ThoughtWorks

http://jim.webber.name

Page 2: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Fundamental Premise

There are two things money cannot buy:

1. Love(Lennon/McCartney)

2. An SOA(Webber)

Page 3: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Roadmap

•Enterprise Application Integration Approaches

•Enterprise Architecture, now and future•The Appealing Rationale for ESB...•Enterprise Architecture•Realising SOA with Web Services•What this means for you•Conclusions•Q&A

Page 4: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Integration Approaches

•Data integration– Extract, transform, route, inject data

•Application level– Re-use application APIs, or I/O mechanisms

•EAI implementation– Queues etc

•Business domain tier– Integration at the object level, as typified by CORBA, DCOM etc

•User interface – Screen scraping, revamping, etc.– Last resort, when an application offers no other hooks

Page 5: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

To ESB or not to ESB, that is the question

•Product vendors are keen to provide product solution for everything–Or to supply “consultantware” solutions

•The Enterprise Service Bus is the latest incarnation of EAI technology that supports a number of useful functions:–Transformations; adapters; choreography; reliability; security etc

•Seems like a good idea...

Page 6: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Today’s Enterprise Architecture

Accounting Marketing

SupportProduct Development

Page 7: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

How did we get here?

•Tactical decisions•Time and technology pressures•Path of least resistance for individual applications

•This is the thin end of the wedge, technical debt can only increase from here

•Help!

Page 8: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Vendor Solutions Appear

• Business needs to compete– IT needs to be responsive

• SOA gives IT a business process focus

• Web Services are the most sensible way to implement SOA

• More proprietary middleware is the answer!–2 + 2 = 5 http://www.capeclear.com/technology/index.shtml

Page 9: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Integration Two Years Later

Accounting Marketing

SupportProduct Development

Enterprise Service Bus

Page 10: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Skeletons in the Closet...

Enterprise Service Bus

Page 11: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

The Appealing Rationale for ESB...

•Perceived single framework for all integration needs

•Perceived simple connectivity between systems

•Some features for security, reliable delivery, etc.

•All you have to do is agree to lock yourself into a ESB and all this can be yours...

Page 12: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

...And the Reality

• The mess is swept under the carpet– The spaghetti is still there, but it’s hidden inside a vendor box

• But the spaghetti is worse with an ESB– Mixing business rules, transformations, QoS etc with connectors

• What if I wanted to remove or replace my current ESB platform?

– Vendor lock-in of the whole network!– ESBs are proprietary, so no guarantees that the messages

transmitted across the bus are actually based on any open protocol

• Held to ransom by the ESB vendor!– Cannot easily replace one ESB with another– Can only easily integrate systems for which the ESB vendor

provides specific adaptors– Or invest your money into extending their product

Page 13: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Intelligent Networks, Dumb Idea?

• Isn't this precisely what we're trying to get away from?

• Integration should happen on the wire by default, not inside some server

•The ESB approach eschews the dumb network, smart endpoint notion that underpins scalable, robust systems

•ESB vendors are the new telcos – telling us that smarts in the network is for our own good

•But let’s see how ESBs play out over the longer term

Page 14: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Integration five years from now

Accounting Marketing

SupportProduct Development

ResearchIT

Enterprise Service Bus

Page 15: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Integration ten years from now

Accounting Marketing

SupportProduct Development

ResearchIT

ESB

Page 16: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

How did this happen?

•Same old story:–Tactical decisions–Time and technology pressures–Path of least resistance for individual applications

•Centralised ownership of the ESB sometimes is an inhibitor–Too much effort to get on the bus, technically, politically

–Individuals always mean to redress hacked integrations

–But seldom do – it’s too hard when systems are live

Page 17: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Spaghetti is a fact of life

•Businesses change•Processes change•Applications change• Integration changes•Need an enterprise computing strategy that:

–Reflects the changing structure of the business;–Is spaghetti-friendly;–Commoditised;–Robust, secure, dependable, etc.

Page 18: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Business-Led Integration

• ESBs integrate with whatever existing systems expose–Green screen, web pages, CORBA objects, XML, etc

• Integration happens at a low level–Mapping of bits and bytes of one variety onto bits and bytes

of another format• This makes it hard to engage business in such projects–Without business benefit no software has value

• Integration is currently opaque to the business• Business must be involved in integration projects – not just initiate them–The integration domain must use the same vocabulary as

the business domain

Page 19: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Spaghetti-Oriented Architecture

•Fighting against spaghetti is usually unsuccessful–This does not mean integration should be undertaken without diligence!

•SOA is an approach which is spaghetti-agnostic

•Services are designed for integration with any consumer–Integration is decentralised

•Result:–Loosely coupled, re-usable services–Focus on business-meaningful process orchestration

Page 20: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

SOA and Web Services Approach

• Applications (or subsets of applications) are identified as being service-amenable–Or (sub) processes are identified for which there is no existing

application/service• Web Services infrastructure is layered on top of the application, exposing a SOAP interface to the rest of the network–Business meaningful message exchanges

• Other services consume the functionality via SOAP message exchanges

• Traditional integration infrastructure is kept within the Web Service implementation, if used at all

Page 21: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Building the Service-Oriented Enterprise

•SOAP becomes the ubiquitous transfer mechanism across the enterprise (or Internet!)

• In effect, SOAP messages are the “EAI backbone” –The underlying transport protocols are arbitrary

•Applications understand SOAP messages natively–True end to end integration, but maintains loose coupling

• In this context, existing ESB/EAI software becomes a toolkit for implementing individual Web Services

•But integration happens at the SOAP level–Can commoditise what’s underneath

Page 22: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Decentralised Integration

• The QoS functionality that a Web Service requires is implemented on a per-service basis

– Not “one size fits all”• Implement only those

QoS protocols that the service currently needs

– Push the integration functionality to the edges

• SOAP + WS-Addressing becomes the “bus”

• Incremental and autonomous

– Deliver high business-value services first!

Non-Repudiation

Reliable Delivery

Security

Transactions

Page 23: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Application Integration...

Bus

Choreography/Rules/Routing/Transformations

Adapter Adapter Adapter

Application Domain

• EAI/ESB frameworks are fine for application integration–A framework for development of (distributed) applications

• Think of the EAI toolkit as a container for your application–Application versus enterprise framework

Page 24: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

...and Composite Business Processes

•Processes across the enterprise consume and coordinate lower-level applications–Exposed via standards-based services

Bus

Choreography/Rules/Routing/Transformations

Adapter Adapter Adapter

Application Domain

Gateway

Enterprise Process Domain

SOAP Messaging,

WS-*

Page 25: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Metadata, Metadata, Metadata…

<endpoint…>

</endpoint>

<mex…>

</mex>

<wsdl…>

<policy…>

</policy>

</wsdl>

Page 26: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Policy and Contract

<wsdl…>

<policy…>

</policy>

</wsdl>

<wsdl…>

<policy…>

<security-policy>

</security-policy>

<transaction-policy>

</transaction-policy>

<reliability-policy>

</reliability-policy>

</policy>

</wsdl>

Page 27: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Web

Serv

ices C

lien

t S

tack

(WC

F)

Proxy Generation

<wsdl…>

<policy…>

<security-policy>

</security-policy>

<transaction-policy>

</transaction-policy>

<reliability-policy>

</reliability-policy>

</policy>

</wsdl>

Proxy API

Consumer Implementation

Security Handler

Tx Handler

RM Handler

Page 28: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Web

Serv

ices C

lien

t S

tack

(WC

F)

End-to-End Messaging

Proxy API

Consumer Implementation

Security Handler

Tx Handler

RM Handler

Web

Serv

ices C

lien

t S

tack

(WC

F)

Proxy API

Service Implementation

Security Handler

Tx Handler

RM Handler

Transport

Can do

this

today

with W

SIT

and WC

F

Page 29: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

“WS-Fabric”

Service

Adm

inis

trat

ive

dom

ain

Service

Service

Service

Administrative domain

Service

Service Adm

inistrative dom

ain

network

SOAP messaging is the communication channel for applications. The ESB (if it exists) is pushed to the endpoints.

Page 30: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Same Old Architects

• Business people and application architects design business-centric workflows which consume services–Re-using the functionality already deployed into the service

ecosystem• Service architects and developers build services

–Using WS toolkits like WCF and Axis• Enterprise architects influence QoS at the SOAP level...–Using the WS-* specs

• ...and at the transport level–Existing investments can form the underlay for SOA

• And undertake necessary governance roles

Page 31: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

ESB or SOA?

• Investing in proprietary integration systems now is investing in future legacy

•ESB is not the solution–It’s oh-so 1990’s integration glue

•SOA is the solution–Because it focuses on supporting business processes

•Web Services are a robust and commoditised platform for SOA delivery

Page 32: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Conclusions

• SOA is the right integration architecture going forward–SOA can be implemented incrementally–Drive SOA from a business perspective

• Most valuable processes/applications/services first–Commoditisation across the board

• Servers, developers, networking, re-use existing software, etc

• Migrating towards a successful SOA is not always easy–Learning to build dependable SOAs can be difficult–ESBs and Wizards cannot help – you need service-savvy

geeks and process-aware business people• No centralised integration middleware needed

–Metadata, metadata, metadata!

It looks like you’re trying to build an SOA...

Page 33: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Quote of the Day

“…the idiots that are running around yelling "guerrilla SOA" have to be put in their place.”

Quoted on InfoQ: http://www.infoq.com/news/2007/11/soa-long

Page 34: Guerrilla SOA How to fight back when a vendor takes control of your enterprise

Questions?

Blog: http://jim.webber.name