SlideShare a Scribd company logo
1 of 40
Download to read offline
The evolution of integration
              QCon London 2012
                     Paul Fremantle
               CTO and Co-Founder, WSO2
                    paul@wso2.com




© WSO2 2012                               @pzfreo #wso2
© WSO2 2012   @pzfreo #wso2
Batch file transfer -
              the cockroach of integration




© WSO2 2012                              @pzfreo #wso2
File transfer lives on


   Exis%ng	
  
   System	
  
                                          XML/JMS


   legacy  
   flat  file                                              Exis%ng	
  
                                                         System	
  
                           WSO2 ESB
                          Split/Iterate
                        DBLookup/Filter
                        Transform to MQ
                              Send


        
        
  WSO2 ESB                 Database  
     Poll
Record->XML
 XML->XML
    Send
 © WSO2 2012                                        @pzfreo #wso2
NEW YORK                LONDON
EAI




              Hub  


© WSO2 2012           @pzfreo #wso2
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
© WSO2 2012                                     @pzfreo #wso2
Hub approach with an ESB




© WSO2 2012                     @pzfreo #wso2
“Message Oriented Middleware”




              http://www.flickr.com/photos/robeast/
© WSO2 2012                                 @pzfreo #wso2
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
© WSO2 2012                                     @pzfreo #wso2
Queued Transaction Processing

    System  
                                               Queue  
       A  



               Transac%on	
  1:	
       Transac%on	
  2:	
  
               Add  entry  to  DB1      Add  entry  to  DB2  
               Enqueue  Message         Dequeue  Message  
      DB1  


                                                                System    
                                       DB2                         B  



© WSO2 2012                                                                  @pzfreo #wso2
AMQP




© WSO2 2012          @pzfreo #wso2
Event Driven Architecture

                                 Event  
                               Consumer  


          Event  
                     Event  
        Producer  

                                 Event  
                               Consumer  




© WSO2 2012                                 @pzfreo #wso2
“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



© WSO2 2012                              @pzfreo #wso2
EDA




© WSO2 2012         @pzfreo #wso2
Feedback loops
                                      Event  Broker  



                          Adapter  




                                                               Adapter  
          Black                                                             Black  
           Box                                                               Box  
         system                                                            system  



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



  © WSO2 2012                                                                         @pzfreo #wso2
Solution




© WSO2 2012              @pzfreo #wso2
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

© WSO2 2012                                        @pzfreo #wso2
Service




                 http://www.flickr.com/photos/yjv/
© WSO2 2012                                 @pzfreo #wso2
SOA failures



              One consumer per service




© WSO2 2012                          @pzfreo #wso2
SOA failures



     “Just buy an ESB from me”



© WSO2 2012                  @pzfreo #wso2
SOA failures



     Vendor Driven Architecture



© WSO2 2012                  @pzfreo #wso2
“soa” successes




© WSO2 2012                     @pzfreo #wso2
© WSO2 2012   @pzfreo #wso2
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

© WSO2 2012                                            @pzfreo #wso2
Running your SOA like a Web startup




© WSO2 2012                                                        @pzfreo #wso2
  http://www.zdnet.com/blog/hinchcliffe/running-your-soa-like-a-web-startup/525
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


© WSO2 2012                                      @pzfreo #wso2
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
© WSO2 2012                                     @pzfreo #wso2
Key API technologies
•    json / rest
•    OAuth / OAuth2 keys
•    SLA management
•    API portal / API Store
     –  Catalogue, subscription/purchase
     –  Monetization
     –  Forum, Ratings, Social
•  Analytics
© WSO2 2012                                @pzfreo #wso2
© WSO2 2012   @pzfreo #wso2
REST description




© WSO2 2012                      @pzfreo #wso2
High volume integration @ eBay




© WSO2 2012                @pzfreo #wso2
Change in focus
•    Security, tokens, access control/entitlement
•    Throttling, caching
•    Latency and CPU usage
•    Monitoring, BAM and CEP




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




© WSO2 2012                    @pzfreo #wso2
Scalable analytics




© WSO2 2012                        @pzfreo #wso2
Cloud integration

                                                                           Database  




                                           Cloud  Service  Gateway  
                ESB-­‐as-­‐a-­‐Service  




                                                                              SAP  




© WSO2 2012                                                            @pzfreo #wso2
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


© WSO2 2012                                      @pzfreo #wso2
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
© WSO2 2012                                    @pzfreo #wso2
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



© WSO2 2012                                 @pzfreo #wso2
© WSO2 2012
              ?   @pzfreo #wso2

More Related Content

What's hot

Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessWSO2
 
Ruby conf2010 OpenPaaS
Ruby conf2010 OpenPaaSRuby conf2010 OpenPaaS
Ruby conf2010 OpenPaaSDerek Collison
 
WSO2 Product Release webinar - WSO2 Carbon 4.3
WSO2 Product Release webinar - WSO2 Carbon 4.3 WSO2 Product Release webinar - WSO2 Carbon 4.3
WSO2 Product Release webinar - WSO2 Carbon 4.3 WSO2
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACSSimon Haslam
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2Afkham Azeez
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesWSO2
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and MicroservicesShaun Abram
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIdo Flatow
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersSimon Haslam
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloudPatric Boscolo
 
Microsoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure PlatformMicrosoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure PlatformEsri
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSimon Haslam
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2
 
Tips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceTips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceSimon Haslam
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)Ian Robinson
 
DC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern appsDC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern appsDatio Big Data
 

What's hot (20)

Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
Ruby conf2010 OpenPaaS
Ruby conf2010 OpenPaaSRuby conf2010 OpenPaaS
Ruby conf2010 OpenPaaS
 
WSO2 Product Release webinar - WSO2 Carbon 4.3
WSO2 Product Release webinar - WSO2 Carbon 4.3 WSO2 Product Release webinar - WSO2 Carbon 4.3
WSO2 Product Release webinar - WSO2 Carbon 4.3
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACS
 
JavaCro'15 - Oracle Java Cloud Service Java PaaS - Duško Vukmanović
JavaCro'15 - Oracle Java Cloud Service  Java PaaS - Duško VukmanovićJavaCro'15 - Oracle Java Cloud Service  Java PaaS - Duško Vukmanović
JavaCro'15 - Oracle Java Cloud Service Java PaaS - Duško Vukmanović
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in Enterprises
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and Microservices
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute Solutions
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite Customers
 
Global Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San DiegoGlobal Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San Diego
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloud
 
Microsoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure PlatformMicrosoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure Platform
 
Windows Azure Essentials
Windows Azure EssentialsWindows Azure Essentials
Windows Azure Essentials
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the Cloud
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012
 
Tips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceTips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud Service
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)
 
DC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern appsDC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern apps
 

Viewers also liked

BUS/210 The evolution of business
BUS/210 The evolution of businessBUS/210 The evolution of business
BUS/210 The evolution of businessShanda Huston
 
Evolution of business
Evolution of businessEvolution of business
Evolution of businesschikimali
 
EVOLUTION OF BUSINESS...
EVOLUTION OF BUSINESS...EVOLUTION OF BUSINESS...
EVOLUTION OF BUSINESS...baefun
 
Evolution Of Business Powerpoint
Evolution Of Business PowerpointEvolution Of Business Powerpoint
Evolution Of Business Powerpointcorona04
 
The evolution of business presentation
The evolution of business presentationThe evolution of business presentation
The evolution of business presentationShelly Oakley
 
The evolution of_business[2]
The evolution of_business[2]The evolution of_business[2]
The evolution of_business[2]xsaxsa
 
Evolution of business
Evolution of businessEvolution of business
Evolution of businessKayla Brown
 
Evolution Of Business
Evolution Of  BusinessEvolution Of  Business
Evolution Of BusinessSevenYA
 
Event Driven Architecture Concepts in Web Technologies - Part 1
Event Driven Architecture Concepts in Web Technologies - Part 1Event Driven Architecture Concepts in Web Technologies - Part 1
Event Driven Architecture Concepts in Web Technologies - Part 1Hamidreza Soleimani
 
The five stages of business evolution
The five stages of business evolutionThe five stages of business evolution
The five stages of business evolutionPeter Evans-Greenwood
 
E-Commerce and E-Business
E-Commerce and E-BusinessE-Commerce and E-Business
E-Commerce and E-BusinessMiguel Rebollo
 
Introduction to the Industrial Revolution
Introduction to the Industrial RevolutionIntroduction to the Industrial Revolution
Introduction to the Industrial RevolutionDan McDowell
 
Introduction to e business
Introduction to e businessIntroduction to e business
Introduction to e businessJohanna Heinonen
 
Intro to e-commerce and e-business
Intro to e-commerce and e-businessIntro to e-commerce and e-business
Intro to e-commerce and e-businessMoodleAdmin
 
E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)
E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)
E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)Sadiq Shariff
 
Final ppt of e business
Final ppt of e businessFinal ppt of e business
Final ppt of e businessAbhishek Raj
 

Viewers also liked (20)

BUS/210 The evolution of business
BUS/210 The evolution of businessBUS/210 The evolution of business
BUS/210 The evolution of business
 
Evolution of business
Evolution of businessEvolution of business
Evolution of business
 
EVOLUTION OF BUSINESS...
EVOLUTION OF BUSINESS...EVOLUTION OF BUSINESS...
EVOLUTION OF BUSINESS...
 
Evolution Of Business Powerpoint
Evolution Of Business PowerpointEvolution Of Business Powerpoint
Evolution Of Business Powerpoint
 
The evolution of business presentation
The evolution of business presentationThe evolution of business presentation
The evolution of business presentation
 
The evolution of_business[2]
The evolution of_business[2]The evolution of_business[2]
The evolution of_business[2]
 
Evolution of business
Evolution of businessEvolution of business
Evolution of business
 
Evolution Of Business
Evolution Of  BusinessEvolution Of  Business
Evolution Of Business
 
Event Driven Architecture Concepts in Web Technologies - Part 1
Event Driven Architecture Concepts in Web Technologies - Part 1Event Driven Architecture Concepts in Web Technologies - Part 1
Event Driven Architecture Concepts in Web Technologies - Part 1
 
Evolution
EvolutionEvolution
Evolution
 
The five stages of business evolution
The five stages of business evolutionThe five stages of business evolution
The five stages of business evolution
 
E-money
E-moneyE-money
E-money
 
E Business
E BusinessE Business
E Business
 
E-Commerce and E-Business
E-Commerce and E-BusinessE-Commerce and E-Business
E-Commerce and E-Business
 
Introduction to the Industrial Revolution
Introduction to the Industrial RevolutionIntroduction to the Industrial Revolution
Introduction to the Industrial Revolution
 
Introduction to e business
Introduction to e businessIntroduction to e business
Introduction to e business
 
Intro to e-commerce and e-business
Intro to e-commerce and e-businessIntro to e-commerce and e-business
Intro to e-commerce and e-business
 
E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)
E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)
E business ,e-commerce, e-marketing (sadiq shariff10@hotmail.com)
 
Final ppt of e business
Final ppt of e businessFinal ppt of e business
Final ppt of e business
 
E-business
E-businessE-business
E-business
 

Similar to The Evolution of Integration

Advanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa sAdvanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa sWSO2
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOAWSO2
 
Exploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformExploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformWSO2
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb ImplementationMurali Manohar
 
Why Does Modular Middleware Matters
Why Does Modular Middleware MattersWhy Does Modular Middleware Matters
Why Does Modular Middleware MattersWSO2
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo | MADP & MBaaS
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformWSO2
 
Programming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyProgramming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyC2B2 Consulting
 
Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow WSO2
 
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSandro Pereira
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...WSO2
 
Governance beyond ESB
Governance beyond ESBGovernance beyond ESB
Governance beyond ESBWSO2
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns WSO2
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
Introduction to the Azure Service Bus EAI & EDI featuresiedi features
Introduction to the Azure Service Bus EAI & EDI featuresiedi featuresIntroduction to the Azure Service Bus EAI & EDI featuresiedi features
Introduction to the Azure Service Bus EAI & EDI featuresiedi featuresSandro Pereira
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solutionSwati Bansal
 

Similar to The Evolution of Integration (20)

Evolution of PaaS
Evolution of PaaSEvolution of PaaS
Evolution of PaaS
 
Advanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa sAdvanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa s
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
Exploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformExploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 Platform
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb Implementation
 
Why Does Modular Middleware Matters
Why Does Modular Middleware MattersWhy Does Modular Middleware Matters
Why Does Modular Middleware Matters
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for Enterprises
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Programming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyProgramming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and Grizzly
 
Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow
 
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
 
Governance beyond ESB
Governance beyond ESBGovernance beyond ESB
Governance beyond ESB
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
 
Wso2 tutorial
Wso2 tutorialWso2 tutorial
Wso2 tutorial
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
Introduction to the Azure Service Bus EAI & EDI featuresiedi features
Introduction to the Azure Service Bus EAI & EDI featuresiedi featuresIntroduction to the Azure Service Bus EAI & EDI featuresiedi features
Introduction to the Azure Service Bus EAI & EDI featuresiedi features
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solution
 

More from Paul Fremantle

IoT and Blockchains - enhancing security and privacy
IoT and Blockchains - enhancing security and privacyIoT and Blockchains - enhancing security and privacy
IoT and Blockchains - enhancing security and privacyPaul Fremantle
 
Anonymous Individual Integration for IoT
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoTPaul Fremantle
 
Web API Management meets the Internet of Things
Web API Management meets the Internet of ThingsWeb API Management meets the Internet of Things
Web API Management meets the Internet of ThingsPaul Fremantle
 
IoT World - creating a secure robust IoT reference architecture
IoT World - creating a secure robust IoT reference architectureIoT World - creating a secure robust IoT reference architecture
IoT World - creating a secure robust IoT reference architecturePaul Fremantle
 
Apache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and EquinoxApache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and EquinoxPaul Fremantle
 
Securing the Internet of Things
Securing the Internet of ThingsSecuring the Internet of Things
Securing the Internet of ThingsPaul Fremantle
 
Federated Identity for IoT with OAuth2
Federated Identity for IoT with OAuth2Federated Identity for IoT with OAuth2
Federated Identity for IoT with OAuth2Paul Fremantle
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a ServicePaul Fremantle
 
Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredPaul Fremantle
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native SoftwarePaul Fremantle
 
Building Innovation with Open Source Approaches
Building Innovation with Open Source ApproachesBuilding Innovation with Open Source Approaches
Building Innovation with Open Source ApproachesPaul Fremantle
 
Three SOA Case Studies
Three SOA Case StudiesThree SOA Case Studies
Three SOA Case StudiesPaul Fremantle
 
Fast SOA with Apache Synapse
Fast SOA with Apache SynapseFast SOA with Apache Synapse
Fast SOA with Apache SynapsePaul Fremantle
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesPaul Fremantle
 

More from Paul Fremantle (14)

IoT and Blockchains - enhancing security and privacy
IoT and Blockchains - enhancing security and privacyIoT and Blockchains - enhancing security and privacy
IoT and Blockchains - enhancing security and privacy
 
Anonymous Individual Integration for IoT
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoT
 
Web API Management meets the Internet of Things
Web API Management meets the Internet of ThingsWeb API Management meets the Internet of Things
Web API Management meets the Internet of Things
 
IoT World - creating a secure robust IoT reference architecture
IoT World - creating a secure robust IoT reference architectureIoT World - creating a secure robust IoT reference architecture
IoT World - creating a secure robust IoT reference architecture
 
Apache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and EquinoxApache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and Equinox
 
Securing the Internet of Things
Securing the Internet of ThingsSecuring the Internet of Things
Securing the Internet of Things
 
Federated Identity for IoT with OAuth2
Federated Identity for IoT with OAuth2Federated Identity for IoT with OAuth2
Federated Identity for IoT with OAuth2
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a Service
 
Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and Metered
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native Software
 
Building Innovation with Open Source Approaches
Building Innovation with Open Source ApproachesBuilding Innovation with Open Source Approaches
Building Innovation with Open Source Approaches
 
Three SOA Case Studies
Three SOA Case StudiesThree SOA Case Studies
Three SOA Case Studies
 
Fast SOA with Apache Synapse
Fast SOA with Apache SynapseFast SOA with Apache Synapse
Fast SOA with Apache Synapse
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

The Evolution of Integration

  • 1. The evolution of integration QCon London 2012 Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com © WSO2 2012 @pzfreo #wso2
  • 2. © WSO2 2012 @pzfreo #wso2
  • 3. Batch file transfer - the cockroach of integration © WSO2 2012 @pzfreo #wso2
  • 4. File transfer lives on Exis%ng   System   XML/JMS legacy   flat  file   Exis%ng   System   WSO2 ESB Split/Iterate DBLookup/Filter Transform to MQ Send     WSO2 ESB Database   Poll Record->XML XML->XML Send © WSO2 2012 @pzfreo #wso2 NEW YORK LONDON
  • 5. EAI Hub   © WSO2 2012 @pzfreo #wso2
  • 6. 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 © WSO2 2012 @pzfreo #wso2
  • 7. Hub approach with an ESB © WSO2 2012 @pzfreo #wso2
  • 8. “Message Oriented Middleware” http://www.flickr.com/photos/robeast/ © WSO2 2012 @pzfreo #wso2
  • 9. 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 © WSO2 2012 @pzfreo #wso2
  • 10. Queued Transaction Processing System   Queue   A   Transac%on  1:   Transac%on  2:   Add  entry  to  DB1   Add  entry  to  DB2   Enqueue  Message   Dequeue  Message   DB1   System     DB2   B   © WSO2 2012 @pzfreo #wso2
  • 11. AMQP © WSO2 2012 @pzfreo #wso2
  • 12. Event Driven Architecture Event   Consumer   Event   Event   Producer   Event   Consumer   © WSO2 2012 @pzfreo #wso2
  • 13. “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 © WSO2 2012 @pzfreo #wso2
  • 14. EDA © WSO2 2012 @pzfreo #wso2
  • 15. Feedback loops Event  Broker   Adapter   Adapter   Black   Black   Box   Box   system   system   hEp://pzf.fremantle.org/2008/09/interesOng-­‐problem-­‐in-­‐event-­‐driven.html   © WSO2 2012 @pzfreo #wso2
  • 16. Solution © WSO2 2012 @pzfreo #wso2
  • 17. 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 © WSO2 2012 @pzfreo #wso2
  • 18. Service http://www.flickr.com/photos/yjv/ © WSO2 2012 @pzfreo #wso2
  • 19. SOA failures One consumer per service © WSO2 2012 @pzfreo #wso2
  • 20. SOA failures “Just buy an ESB from me” © WSO2 2012 @pzfreo #wso2
  • 21. SOA failures Vendor Driven Architecture © WSO2 2012 @pzfreo #wso2
  • 22. “soa” successes © WSO2 2012 @pzfreo #wso2
  • 23. © WSO2 2012 @pzfreo #wso2
  • 24. 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 © WSO2 2012 @pzfreo #wso2
  • 25. Running your SOA like a Web startup © WSO2 2012 @pzfreo #wso2 http://www.zdnet.com/blog/hinchcliffe/running-your-soa-like-a-web-startup/525
  • 26. 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 © WSO2 2012 @pzfreo #wso2
  • 27. 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 © WSO2 2012 @pzfreo #wso2
  • 28. Key API technologies •  json / rest •  OAuth / OAuth2 keys •  SLA management •  API portal / API Store –  Catalogue, subscription/purchase –  Monetization –  Forum, Ratings, Social •  Analytics © WSO2 2012 @pzfreo #wso2
  • 29. © WSO2 2012 @pzfreo #wso2
  • 30. REST description © WSO2 2012 @pzfreo #wso2
  • 31. High volume integration @ eBay © WSO2 2012 @pzfreo #wso2
  • 32. Change in focus •  Security, tokens, access control/entitlement •  Throttling, caching •  Latency and CPU usage •  Monitoring, BAM and CEP © WSO2 2012 @pzfreo #wso2
  • 33. © WSO2 2012 Intel  Xeon  CPU  E5520  @  2.27GHz,  4  Cores,   @pzfreo #wso2 8192  KB  Cache.  2  CPU  system.  
  • 34. API management © WSO2 2012 @pzfreo #wso2
  • 35. Scalable analytics © WSO2 2012 @pzfreo #wso2
  • 36. Cloud integration Database   Cloud  Service  Gateway   ESB-­‐as-­‐a-­‐Service   SAP   © WSO2 2012 @pzfreo #wso2
  • 37. 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 © WSO2 2012 @pzfreo #wso2
  • 38. 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 © WSO2 2012 @pzfreo #wso2
  • 39. 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 © WSO2 2012 @pzfreo #wso2
  • 40. © WSO2 2012 ? @pzfreo #wso2