QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul...

40
@pzfreo #wso2 © WSO2 2012 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 [email protected]

Transcript of QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul...

Page 1: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

The evolution of integration QCon London 2012

Paul Fremantle CTO and Co-Founder, WSO2

[email protected]

Page 2: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Page 3: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Batch file transfer - the cockroach of integration

Page 4: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

File transfer lives on

Database  

legacy  flat  file  

NEW YORK

Exis%ng  System  

   

WSO2 ESB Poll

Record->XML XML->XML

Send

LONDON

WSO2 ESB Split/Iterate

DBLookup/Filter Transform to MQ

Send

Exis%ng  System  

XML/JMS

Page 5: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

EAI

Hub  

Page 6: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

EAI hub

•  Many integration models still uses the “hub model” today (even with an ESB) – Most vendors renamed their hub to ESB

•  Why? – Well understood pattern – Easy to manage

•  Why not? – Too many meetings with the “EAI Hub Team” – MQSI experiences

Page 7: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Hub approach with an ESB

Page 8: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

“Message Oriented Middleware”

http://www.flickr.com/photos/robeast/

Page 9: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

MOM model

•  Decouple message producers from consumers – Decoupled in addressing and in time

•  Not inherently decoupled in message format – Though in many cases that too

•  One-way asynchronous messages – But request-reply possible using “Reply Queues”

•  Usually used with reliable delivery

Page 10: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Queued Transaction Processing

System  A  

DB1  

Queue  

Transac%on  1:  Add  entry  to  DB1  Enqueue  Message  

System    B  DB2  

Transac%on  2:  Add  entry  to  DB2  Dequeue  Message  

Page 11: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

AMQP

Page 12: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Event Driven Architecture

Event  Producer   Event  

Event  Consumer  

Event  Consumer  

Page 13: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

“Event Driven Architecture”

•  Actually how Apache (and WSO2) work(s) – Mailing lists = topics

•  Can be layered with reliable delivery

•  Used a lot in high-volume logging, trading environments, fraud detection, etc

•  Requires a very different mindset

Page 14: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

EDA

Page 15: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Feedback loops

Black  Box  

system  

Black  Box  

system  

Adapter  

Adapter  

Event  Broker  

hEp://pzf.fremantle.org/2008/09/interesOng-­‐problem-­‐in-­‐event-­‐driven.html  

Page 16: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Solution

Page 17: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Why did SOA evolve?

•  Directly came out of XML – Understanding the schema and structure of

messages – Especially within the “fabric” not just at the

endpoints

•  What’s different? – Metadata – Policies – Security

Page 18: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Service

http://www.flickr.com/photos/yjv/

Page 19: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

SOA failures

One consumer per service

Page 20: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

SOA failures

“Just buy an ESB from me”

Page 21: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

SOA failures

Vendor Driven Architecture

Page 22: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

“soa” successes

Page 23: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Page 24: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Why ESB/SOA model isn’t just EAI

•  Policy based –  XACML, Throttling Policy, etc –  eBay’s Internal Service Router

•  Independent management –  Loose coupling of configuration –  Hot deploy / re-deploy / continuous delivery

•  Governance –  Lifecycle and Dependency management –  Analysis and reporting on the meta-model

•  Non-blocking asynchronous routing •  Distributed architecture

Page 25: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Running your SOA like a Web startup

http://www.zdnet.com/blog/hinchcliffe/running-your-soa-like-a-web-startup/525

Page 26: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

API

•  An API is a business capability delivered over the Internet to internal or external consumers – Network accessible function

– Available using standard web protocols

– With well-defined interfaces

– Designed for access by third-parties

Page 27: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

What is different from an API and a Service?

•  Publishing your API in a Portal •  Expecting people to use it without them

having to meet with you •  Making it easy to consume (JSON? Ready

built clients in Github?) •  Governance – Caring who uses it – Letting them know when you version it – Meeting an SLA

Page 28: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Key API technologies

•  json / rest

•  OAuth / OAuth2 keys

•  SLA management

•  API portal / API Store – Catalogue, subscription/purchase

– Monetization

– Forum, Ratings, Social

•  Analytics

Page 29: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Page 30: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

REST description

Page 31: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

High volume integration @ eBay

Page 32: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Change in focus

•  Security, tokens, access control/entitlement

•  Throttling, caching

•  Latency and CPU usage

•  Monitoring, BAM and CEP

Page 33: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012 Intel  Xeon  CPU  E5520  @  2.27GHz,  4  Cores,  8192  KB  Cache.  2  CPU  system.  

Page 34: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

API management

Page 35: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Scalable analytics

Page 36: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Cloud integration

ESB-­‐as-­‐a-­‐Service  

SAP  

Database  Cloud  Service  Gatew

ay  

Page 37: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Cloud integration

•  APIs are the right approach – Use a “cloud gateway” to bridge into internal

systems

•  “Push-me pull-you” pattern – Use an active ESB in the cloud

•  Analytics – See what is happening

Page 38: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

What’s next?

•  Still a long way from canonical models

•  Successful systems are using “soa” and “rest” at scale – Architecture is more important than dogma

•  Governance sounds boring but is key

•  Applying monetization approaches and “API Store” models

•  Analytics and feedback loops

Page 39: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

Summary

•  Integration has evolved in some interesting ways – Async messaging, EDA, APIs, High Volume

•  Evolution isn’t monotonic

•  Doing APIs right is about the mindset as much as the technology

Page 40: QCon London 2012...© WSO2 2012 @pzfreo #wso2 The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com© WSO2 2012 @pzfreo #wso2 File …

@pzfreo #wso2 © WSO2 2012

?