Top Banner
Guerrilla SOA How to fight back when a vendor takes control of your enterprise Dr. Jim Webber http://jim.webber.name
42

Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Apr 08, 2018

Download

Documents

truongdiep
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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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

Dr. Jim Webber http://jim.webber.name

Page 2: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Fundamental Premise

There are two things money cannot buy:

1.  Love (Lennon/McCartney)

2.  An SOA (Webber)

Page 3: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Roadmap

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

Page 4: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Today’s Enterprise Architecture

Page 7: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Integration Two Years Later

Enterprise Service Bus

Page 10: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Skeletons in the Closet...

Enterprise Service Bus

Page 11: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

...And the Reality

•  The mess is swept under the carpet hidden inside a vendor box –  Mixing business rules, transformations, QoS etc with

connectors •  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! –  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 with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 endpoints underpin scalable, robust

systems –  Smart networks are failure points

Page 14: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

More plumbing gets built

Page 15: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

SOA “experts” grow powerful

Page 16: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

And ESB software grows…

Page 17: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

… the wrong way

Page 18: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

On a rich diet

BPM

Rules Engine

Low Latency

Adapters

GUI Tools

Transformations

Security

Reliability

Page 19: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Integration five years from now

Enterprise Service Bus

Page 20: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Integration ten years from now

ESB

Page 21: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Architectural Fantasy

Page 22: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Ungovernable

Page 23: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Doesn’t Scale

Page 24: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 25: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 26: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 27: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 28: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 29: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 30: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 31: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Application Integration... •  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 32: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

...and Composite Business Processes

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

SOAP Messaging,

WS-*

Page 33: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Metadata, Metadata, Metadata…

<endpoint…>

</endpoint>

<mex…>

</mex>

<wsdl…>

<policy…>

</policy>

</wsdl>

Page 34: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Policy and Contract

<wsdl…>

<policy…>

</policy>

</wsdl>

<wsdl…>

<policy…>

<security-policy>

</security-policy>

<transaction-policy>

</transaction-policy>

<reliability-policy>

</reliability-policy>

</policy>

</wsdl>

Page 35: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Web

Ser

vice

s C

lient

Sta

ck (W

CF)

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 36: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Web

Ser

vice

s C

lient

Sta

ck (W

CF)

End-to-End Messaging

Proxy API

Consumer Implementation

Security Handler

Tx Handler

RM Handler

Web

Ser

vice

s C

lient

Sta

ck (W

CF)

Proxy API

Service Implementation

Security Handler

Tx Handler

RM Handler

Transport

Page 37: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

“WS-Fabric”

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

Page 38: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Same Old Architects

•  Business and IT people collaborate around automating business processes –  Re-using those processes (services) already

deployed into the service ecosystem •  Service architects and developers build

services –  Using WS toolkits like WCF and Axis –  Or RESTlet, NetKernel, ASP.Net MVC, Rails, etc

•  Enterprise architects spread best practices –  and undertake necessary governance roles

Page 39: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

ESB xor 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 40: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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!

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

Page 41: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

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 42: Guerrilla SOA with Web Services - Jim Webberjimwebber.org/downloads/presentations/2009-04-GIDS-Guerrilla-SOA.pdf · Guerrilla SOA How to fight back ... – Using WS toolkits like

Questions?

Blog: http://jim.webber.name

GET /Connected

Jim Webber Savas Parastatidis Ian Robinson

Expected 2009…