SlideShare a Scribd company logo
Spoilt for Choice –
Which Integration Framework to choose?
                      Kai Wähner, Principal Consultant
Kai Wähner



                                         Main Tasks
                                  Requirements Engineering
                              Enterprise Architecture Management
                                Business Process Management
                               Architecture and Development of
                                         Applications
                                 Service-oriented Architecture
                               Integration of Legacy Applications
                                       Cloud Computing
                                           Big Data

                 Consulting
                                           Contact
                 Developing
                  Coaching       Email: kwaehner@talend.com
                  Speaking      Blog: www.kai-waehner.de/blog
                   Writing           Twitter: @KaiWaehner
                                Social Networks: Xing, LinkedIn
 © Talend 2011                                                      2
Key messages




Do not reinvent the „integration wheel“!
There are some good frameworks for
integration!
Often, an ESB is the better choice!
© Talend 2011                              3
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               4
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               5
Growing IT infrastructure everywhere!




                                        • Applications
                                        • Interfaces
                                        • Technologies
                                        • Products



© Talend 2011                                            6
Heterogeneity




Host  Client / Server  SOA  Cloud  Big Data 

© Talend 2011                                  7
Spaghetti solutions




           „point-to-point hell“
© Talend 2011                      8
The solution: application integration




                                   All Roads
                                lead to Rome ...
© Talend 2011                                      9
Writing glue code? (example: AWS S3 with Java)
                AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(
                    S3Sample.class.getResourceAsStream("AwsCredentials.properties")));

                String bucketName = "my-first-s3-bucket-" + UUID.randomUUID();
                String key = "MyObjectKey";

                try {

                  s3.createBucket(bucketName);
                  s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile()));

                  S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));

                  ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()
                      .withBucketName(bucketName)
                      .withPrefix("My"));

                  s3.deleteObject(bucketName, key);
                  s3.deleteBucket(bucketName);

                } catch (AmazonServiceException ase) {
                  // error handling...
                } catch (AmazonClientException ace) {
                  // error handling...
                }

© Talend 2011                                                                                10
Wishes for integrators




                         • Standardized Modeling
                         • Efficient Realization
                         • Automatic Testing
© Talend 2011                                      11
Alternatives for application integration




                                   Enterprise Service Bus
                Integration                (ESB)
      API
                Framework
                                                               Complexity
                                                              of Integration
 Low                                                   High




Spring Integration vs. Mule vs. Apache Camel

© Talend 2011                                                             12
Enterprise Integration Patterns (EIP)




© Talend 2011                           13
Enterprise Integration Patterns (EIP)




© Talend 2011                           14
Enterprise Integration Patterns (EIP)




© Talend 2011                           15
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               16
Relation between EIPs and Integrations Frameworks




                vs. Mule      ESB vs.
Integration

                     implement




© Talend 2011                                       17
Comparison Criteria


                • Open source
                • Basic concepts / architecture
                • Testability
                • Commercial support
                • Error handling
                • Monitoring
                • Enterprise readiness
                • Developer-centric vs. designer-centric
                • Expandability
                • Deployment
                • Popularity
                • Tool support
                • Connectivity
                • Domain specific language (DSL)

© Talend 2011                                              18
Similarities




© Talend 2011   19
Connectivity




 Integration
 of different
Technologies


© Talend 2011   20
Domain specific language (DSL)



     „A domain-specific language (DSL) is a programming language or
     specification language dedicated to a particular problem domain, a
     particular problem representation technique, and / or a particular
     solution technique.“

                                           Wikipedia




                Internal DSL

© Talend 2011                                                             21
Architecture




                                                          http://java.dzone.com/articles/apache-camel-integration




                (Exemplarily: Apache Camel => Concepts are all the same, only different names)
© Talend 2011                                                                                                       22
Deployment


Standalone           Application
                     Server
                Web Container
                        Spring Container
                              OSGi
                            Cloud

© Talend 2011                              23
Enterprise readiness




                       • Maturity
                       • Transactions
                       • Concurrency
                       • Error handling
                       • Monitoring
                       • Testability
© Talend 2011                             24
Licensing




                  vs. Mule     ESB vs.
Integration



 Apache License        Common Public       Apache License
                     Attribution License
                           (CPAL)

                        attention:
                      more restrictive!
© Talend 2011                                               25
Commercial support




                vs. Mule   ESB vs.
Integration




© Talend 2011                        26
Tooling

STS Integration Graph (for Spring Integration)     Mule Studio (for Mule ESB)




           Fuse IDE (for Apache Camel)           Talend ESB (for Apache Camel)




   © Talend 2011                                                                 27
Comparison Criteria


                • Open source
                • Basic concepts / architecture
                • Testability
                • Commercial support
                • Error handling
                • Monitoring
                • Enterprise readiness
                • Developer-centric vs. designer-centric
                • Expandability
                • Deployment
Focus           • Popularity
                • Tool support
                • Connectivity
                • Domain specific language (DSL)

© Talend 2011                                              28
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               29
Connectivity

         AMQP
         Feed
         File
         FTP(S)
         GemFire
         HTTP
         TCP
         UDP
         JDBC
         JMS
         Mail
         MongoDB
         Redis
         RMI
         SFTP
         Stream
         Twitter
         Web Service
         XML
         XMPP
         „Some more“   ... easy to create own connectors using a template!

© Talend 2011                                                                30
Domain specific language (DSL)




                                 (Not production-ready yet)




           XML
                                 (Not production-ready yet)



© Talend 2011                                                 31
Code example (XML DSL)




© Talend 2011            32
Code example (Scala DSL)




                http://blog.springsource.org/2012/03/05/introducing-spring-integration-scala-dsl/


                http://blog.springsource.org/2012/03/05/introducing-spring-integration-scala-dsl/




© Talend 2011                                                                                       33
Live demo




                Spring Integration in
                Action
© Talend 2011                           34
Tooling: STS Integration Graph




© Talend 2011                    35
Tooling: STS Integration Graph


          Pro
          • Visual designer for Spring Integration flows
          • Vice versa editing (code generation vs. coding by hand)
          • Open source (part of Spring IDE at github)
          • Perfect for usage in Spring projects (which use Spring Tool Suite)
          • Simple Eclipse plugin – „just Spring Integration“


          Contra
          • Simple Eclipse plugin – there are no „ESB add-ons“
          • Non-intuitive usability
          • Unclear diagrams
          • Immature (e.g. missing documentation, problems with code examples)
          • No unified platform (integration, bpm, etc.)


© Talend 2011                                                                    36
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               37
Mule ESB




© Talend 2011   38
Deployment as web application or standalone




http://www.mulesoft.org/documentation/display/MULE3USER/Embedding+Mule+in+a+Java+Application+or+Webapp
© Talend 2011                                                                                            39
Connectivity

      AS400 Data Queue                    Amazon S3
      Abdera                              Authorize.net
      Amazon SQS         Atom             Apple Push
      jBPM               Base64 encoded   Bit.ly
      CICS CTG           Byte arrays      CMIS
      CXF                CSV
      Email              Encrypted
      FTP
      Hibernate                           CyberSource
      HTTP/S                              Facebook
      Legs4Mule          GZIP             Flickr
      IMAP/S             Hex Strings      HBase
                         HTML/ XHTML      Magento
                         Java Objects
      Servlet
      SFTP
      SMTP/S
      SOAP
                         JSON
      STDIO
                         EDI
      TCP
                         COBOL Copybook
      UDP
                         XML
      VM                                     Many further connectors +
      XMPP                                 easy to create own connectors
      WebSphere MQ
      WSDL
                                               via Maven archetypes
© Talend 2011                                                              40
Connectivity


                Several B2B connectors available, especially for:




© Talend 2011                                                       41
Missing OSGi support




    „OSGi adds another complexity to building
    applications. [...] OSGi is a great
    specification for middleware vendors, but a
    terrible specification for the end user.“
                        Ross Mason, MuleSoft, November 2010
© Talend 2011                                                 42
Domain specific language (DSL)




                    XML

© Talend 2011                    43
Code example (XML DSL – no alternative)




© Talend 2011                             44
Live demo




                Mule in Action
© Talend 2011                    45
Tooling: Mule Studio




© Talend 2011          46
Tooling: Mule Studio



                Pro
                • Visual Designer for Mule Flows
                • Visual „live monitoring“
                • Vice versa editing (code generation vs. coding by hand)
                • Intuitive GUI

                Contra
                • Proprietary
                • Subscription required for enterprise features (such as monitoring)
                • No unified platform (integration, bpm, etc.)


                                                   Reminder: „Open source“ does NOT mean „for free“!




© Talend 2011                                                                                    47
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               48
Community  Camel rocks!




                           Mailing Lists?
                           Forums?
                           Blogs?
                           Articles?
                           Conference talks?
                           ESBs?
                           Professionals?
                           Jobs?
                           Knowlegde?
                           ...


© Talend 2011                                  49
Connectivity

                                        LDAP                   XSLT
                      TCP
SQL                                                  SMTP                       JMS
                                    Netty                          Jetty
                RMI
                             FTP            Lucene          JDBC              EJB
 Twitter
                      Bean-Validation                  MQ      IRC
   JMX                                                                     Quartz
                CXF         RSS                AMQP
                                                             jclouds
                                     Atom
        AWS
                             Akka
                 HTTP
File
                                                 Many further components +
                                               easy to create own components
     MongoDB                                        via Maven archetypes
© Talend 2011                                                                         50
Connectivity


     Many B2B connectors available (Talend ESB only), for
     example:




© Talend 2011                                               51
Domain specific language (DSL)




                XML




                                 (Not production-ready yet)
© Talend 2011                                                 52
Code example (XML DSL)




© Talend 2011            53
Code example (Java DSL)




© Talend 2011             54
Live demo




                Apache Camel in Action
© Talend 2011                            55
Tooling: Fuse IDE




© Talend 2011       56
Tooling: RedHat / JBoss + FuseSource




                JBoss ESB, Switchyard, Fuse ESB

                  Roadmap: http://www.redhat.com/promo/jboss_integration_week/



© Talend 2011                                                                    57
Tooling: Fuse IDE



                Pro
                • Visual designer for Camel routes
                • Visual „live monitoring“ (for debugging, browsing, tracing)
                • Vice versa editing (code generation vs. coding by-hand)
                • Intuitive GUI
                • Now open sourced (after acquisition of Red Hat)

                Contra
                • Unsure future ?
                • Subscription required for enterprise features (such as monitoring)
                • No unified platform (integration, bpm, etc.)

                                                     Reminder: „Open source“ does NOT mean „for free“


© Talend 2011                                                                                     58
Tooling: Talend ESB




© Talend 2011         59
Tooling: Talend ESB


                Pro
                • Visual Designer for Camel routes
                • Visual „live monitoring“ (for debugging, browsing, tracing)
                • Open source
                • Zero Coding (you can also write custom code, of course)
                • Unified platform (for ESB, DI, BPM, Big Data, Data Quality, MDM)
                • GUI palette for Camel components (instead of writing endpoint URIs)

                Contra
                • No vice versa code editing (only code generation)
                • Full ESB, not just Camel tooling (may be bad in a few use cases)
                • Subscription required for enterprise features (such as monitoring)



                                                 Reminder: „Open source“ does NOT mean „for free“!
© Talend 2011                                                                                   60
Agenda



 Application Integration
 Integration Frameworks
 Spring Integration
 Mule
 Apache Camel
 And the Winner is ...




© Talend 2011               61
… all three integration frameworks!




                                              Integration

                                              Mule ESB



© Talend 2011                                               62
When to use which one?




                         Integration

                         Mule ESB




© Talend 2011                          63
When to use which one?


• Spring Project
• „Typical“ JVM Technologies
  (File, JMS, REST, SOAP, ...)
• No additional Framework wanted
                                   Integration

                                   Mule ESB




© Talend 2011                                    64
When to use which one?




                                Integration
• One of its
  B2B connectors is required
  (and it is not available in
                                Mule ESB
Camel)




© Talend 2011                                 65
When to use which one?




                             Integration

                             Mule ESB


• In all other cases
  (largest community, best
concepts,
  most connectors)
© Talend 2011                              66
… after you learned the differences 


                        Hmm...
                 Actually, when should
                        I use an
                integration framework?




© Talend 2011                            67
When to use an integration framework?




                   Enterprise      Integration Suite
  Integration     Service Bus
  Framework
                                                          Complexity
                                                         of Integration
  Low                                             High




INTEGRATION
  Connectivity
       Routing
Transformation
  © Talend 2011                                                      68
When to use an Enterprise Service Bus (ESB)?




                      Enterprise    Integration Suite
 Integration         Service Bus
 Framework
                                                           Complexity
                                                          of Integration
 Low                                               High




                 INTEGRATION
 Connectivity       Tooling
      Routing
Transformation
 © Talend 2011
                 + Monitoring
                    Support                                           69
When to use an integration suite?




                      Enterprise          Integration Suite
 Integration         Service Bus
 Framework
                                                                 Complexity
                                                                of Integration
 Low                                                     High




                                       BUSINESS PROCESS MGT.
                 INTEGRATION               BIG DATA / MDM
 Connectivity       Tooling
                 +                 +
                                       REGISTRY / REPOSITORY
      Routing      Monitoring              RULES ENGINE
Transformation
 © Talend 2011
                    Support                „YOU NAME IT“                    70
Talend Unified Platform




                                   Data            Data
                  Big Data        Quality       Integration     MDM         ESB   BPM

                                                                                         Commercial license
                                                                                         Subscription model
                                                                                         Support included


                                                                                         Open source license
                                                                                         Free of charge
                                                                                         Optional support
                Big           Data             Data
                Data         Quality        Integration
                                                              MDM     ESB


                                                                                         Based on open source
                                                                                          projects such as
                                                                                          Eclipse or Apache
                                                                                          Camel, CXF, Hadoop


© Talend 2011                                                                                                    71
ESB Vendor == Integration Suite Vendor ???



                                                     Proprietary



                                             Open Source




© Talend 2011                                                      72
ESB Vendor == Integration Suite Vendor ???




                ESB           BPM            Big Data
© Talend 2011                                           73
Custom combination of ESB, BPM, Big Data, etc.?




                                 •   A lot of glue code
                                 •   Testing
                                 •   Bugfixing
                                 •   No support

                                 Some other people already had
                                 the problems you would have!


© Talend 2011                                                    74
Did you get the key messages?




© Talend 2011                   75
Key messages




Do not reinvent the „integration wheel“!
There are some good frameworks for
integration!
Often, an ESB is the better choice!
© Talend 2011                              76
Did you get the key messages?




© Talend 2011                   77
Thank you for your attention. Questions?


                            KAI WÄHNER
                      kwaehner@talend.com
                       www.kai-waehner.de
                            LinkedIn / Xing
                             @KaiWaehner

More Related Content

What's hot (20)

PPTX
Kafka at Peak Performance
Todd Palino
 
PPTX
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
Flink Forward
 
PDF
OSMC 2022 | VictoriaMetrics: scaling to 100 million metrics per second by Ali...
NETWAYS
 
PPTX
IBM Cloud Pak for Integration 2020.2.1 installation
khawkwf
 
PDF
Extending kubernetes with CustomResourceDefinitions
Stefan Schimanski
 
PDF
AWS Security 솔루션 자세히 살펴보기 :: 신용녀 :: AWS Finance Seminar
Amazon Web Services Korea
 
PDF
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner
 
PDF
Openshift
Knoldus Inc.
 
PDF
How to migrate an application in IBM APIc, and preserve its client credential
Shiu-Fun Poon
 
PDF
Nfs protocol sequence_diagram
Roberto Castro
 
PDF
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
PDF
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Web Services Korea
 
PPTX
Introduction to kubernetes
Rishabh Indoria
 
PDF
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
Amazon Web Services Korea
 
PPTX
Monolithic architecture
SRM University Delhi-NCR sonepat
 
PDF
Kubernetes - A Comprehensive Overview
Bob Killen
 
PPTX
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
PDF
How to write a Dockerfile
Knoldus Inc.
 
PPTX
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang
 
PDF
Integration Patterns for Microservices Architectures
NATS
 
Kafka at Peak Performance
Todd Palino
 
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
Flink Forward
 
OSMC 2022 | VictoriaMetrics: scaling to 100 million metrics per second by Ali...
NETWAYS
 
IBM Cloud Pak for Integration 2020.2.1 installation
khawkwf
 
Extending kubernetes with CustomResourceDefinitions
Stefan Schimanski
 
AWS Security 솔루션 자세히 살펴보기 :: 신용녀 :: AWS Finance Seminar
Amazon Web Services Korea
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner
 
Openshift
Knoldus Inc.
 
How to migrate an application in IBM APIc, and preserve its client credential
Shiu-Fun Poon
 
Nfs protocol sequence_diagram
Roberto Castro
 
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Web Services Korea
 
Introduction to kubernetes
Rishabh Indoria
 
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
Amazon Web Services Korea
 
Monolithic architecture
SRM University Delhi-NCR sonepat
 
Kubernetes - A Comprehensive Overview
Bob Killen
 
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
How to write a Dockerfile
Knoldus Inc.
 
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang
 
Integration Patterns for Microservices Architectures
NATS
 

Viewers also liked (20)

PPTX
JBoss Fuse Workshop 101 part 2
Christina Lin
 
PPTX
Jboss Fuse Workshop 101 part 1
Christina Lin
 
PPTX
Fuse webinar
Ugo Landini
 
PPT
Fuse overview
Rob Davies
 
PDF
Introduction à mule esb
Mehdi EL KRARI
 
PDF
Tp talend esb fonctionnalites supplementaires
Alahyane Ahmed
 
PPSX
Fonctionnalités JBoss ESB
Fourat Zouari
 
PDF
Tp soa avec talend esb
Alahyane Ahmed
 
PDF
Exploitez toute la valeur de vos données client et produit grâce à talend 6
Jean-Michel Franco
 
PDF
Presentation mug-mule esb
FastConnect
 
PDF
GlassFish ESB Ch'ti JUG
Ch'ti JUG
 
PDF
3_ CFT & les plates-formes d\'intégration à base d\'ESB
Jean-Claude Bellando
 
PDF
Offrir de l'analytique en temps réel en un clic
Jean-Michel Franco
 
PDF
Talend Petals Link Solutions Linux Ow2
Catherine Nuel
 
PDF
Talend ESB : Monitoring, Repartition de Charge et Authentification
Lilia Sfaxi
 
PDF
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
confluent
 
PDF
Integration Patterns for Mission Critical Systems
Angelo Corsaro
 
PDF
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
ODP
Mule integration patterns
himajareddys
 
PDF
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Kai Wähner
 
JBoss Fuse Workshop 101 part 2
Christina Lin
 
Jboss Fuse Workshop 101 part 1
Christina Lin
 
Fuse webinar
Ugo Landini
 
Fuse overview
Rob Davies
 
Introduction à mule esb
Mehdi EL KRARI
 
Tp talend esb fonctionnalites supplementaires
Alahyane Ahmed
 
Fonctionnalités JBoss ESB
Fourat Zouari
 
Tp soa avec talend esb
Alahyane Ahmed
 
Exploitez toute la valeur de vos données client et produit grâce à talend 6
Jean-Michel Franco
 
Presentation mug-mule esb
FastConnect
 
GlassFish ESB Ch'ti JUG
Ch'ti JUG
 
3_ CFT & les plates-formes d\'intégration à base d\'ESB
Jean-Claude Bellando
 
Offrir de l'analytique en temps réel en un clic
Jean-Michel Franco
 
Talend Petals Link Solutions Linux Ow2
Catherine Nuel
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Lilia Sfaxi
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
confluent
 
Integration Patterns for Mission Critical Systems
Angelo Corsaro
 
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Mule integration patterns
himajareddys
 
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Kai Wähner
 
Ad

Similar to Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterprise Service Bus (ESB) (20)

PDF
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Kai Wähner
 
PDF
2012 05 confess_camel_cloud_integration
Kai Wähner
 
PDF
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
PDF
Devoxx 2011 integration-camel-cxf-servicemix-activemq
Charles Moulliard
 
PDF
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
PDF
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Kai Wähner
 
PDF
Make easier Integration of your services with Fuse Solutions - RedHat 2013
Charles Moulliard
 
PDF
CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use?
Kai Wähner
 
PDF
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Kai Wähner
 
PPT
Java overview the piramide of success
Artem Bilan
 
PDF
Next Generation – Systems Integration in the Cloud Era with Apache Camel - Ja...
Kai Wähner
 
PDF
Introducing Scalate, the Scala Template Engine
James Strachan
 
PDF
Java EE Technical Keynote - JavaOne India 2011
Arun Gupta
 
PDF
20100907 fuse-community-evening-adrian-trenaman-no-logo
Adrian Trenaman
 
PDF
2011 JavaOne Apache TomEE Java EE 6 Web Profile
David Blevins
 
PDF
Mule ESB - Integration Simplified
Rich Software
 
PDF
New Ways To Engage With Tiempo 2011
Tiempo Development
 
PDF
colony framework & omni platform
Hive Solutions
 
PDF
Hive solutions cloudviews 2010 presentation
EuroCloud
 
PDF
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Eric D. Schabell
 
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Kai Wähner
 
2012 05 confess_camel_cloud_integration
Kai Wähner
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
Devoxx 2011 integration-camel-cxf-servicemix-activemq
Charles Moulliard
 
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Kai Wähner
 
Make easier Integration of your services with Fuse Solutions - RedHat 2013
Charles Moulliard
 
CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use?
Kai Wähner
 
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Kai Wähner
 
Java overview the piramide of success
Artem Bilan
 
Next Generation – Systems Integration in the Cloud Era with Apache Camel - Ja...
Kai Wähner
 
Introducing Scalate, the Scala Template Engine
James Strachan
 
Java EE Technical Keynote - JavaOne India 2011
Arun Gupta
 
20100907 fuse-community-evening-adrian-trenaman-no-logo
Adrian Trenaman
 
2011 JavaOne Apache TomEE Java EE 6 Web Profile
David Blevins
 
Mule ESB - Integration Simplified
Rich Software
 
New Ways To Engage With Tiempo 2011
Tiempo Development
 
colony framework & omni platform
Hive Solutions
 
Hive solutions cloudviews 2010 presentation
EuroCloud
 
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Eric D. Schabell
 
Ad

More from Kai Wähner (20)

PDF
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Kai Wähner
 
PDF
When NOT to use Apache Kafka?
Kai Wähner
 
PDF
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kai Wähner
 
PDF
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
Kai Wähner
 
PDF
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Kai Wähner
 
PDF
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Kai Wähner
 
PDF
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Kai Wähner
 
PDF
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Kai Wähner
 
PDF
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Kai Wähner
 
PDF
Apache Kafka in the Healthcare Industry
Kai Wähner
 
PDF
Apache Kafka in the Healthcare Industry
Kai Wähner
 
PDF
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Kai Wähner
 
PDF
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kai Wähner
 
PDF
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Kai Wähner
 
PDF
Apache Kafka Landscape for Automotive and Manufacturing
Kai Wähner
 
PDF
Kappa vs Lambda Architectures and Technology Comparison
Kai Wähner
 
PPTX
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Kai Wähner
 
PDF
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Kai Wähner
 
PDF
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Kai Wähner
 
PDF
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Kai Wähner
 
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Kai Wähner
 
When NOT to use Apache Kafka?
Kai Wähner
 
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kai Wähner
 
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
Kai Wähner
 
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Kai Wähner
 
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Kai Wähner
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Kai Wähner
 
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Kai Wähner
 
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Kai Wähner
 
Apache Kafka in the Healthcare Industry
Kai Wähner
 
Apache Kafka in the Healthcare Industry
Kai Wähner
 
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Kai Wähner
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kai Wähner
 
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Kai Wähner
 
Apache Kafka Landscape for Automotive and Manufacturing
Kai Wähner
 
Kappa vs Lambda Architectures and Technology Comparison
Kai Wähner
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Kai Wähner
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Kai Wähner
 
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Kai Wähner
 
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Kai Wähner
 

Recently uploaded (20)

PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 

Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterprise Service Bus (ESB)

  • 1. Spoilt for Choice – Which Integration Framework to choose? Kai Wähner, Principal Consultant
  • 2. Kai Wähner Main Tasks Requirements Engineering Enterprise Architecture Management Business Process Management Architecture and Development of Applications Service-oriented Architecture Integration of Legacy Applications Cloud Computing Big Data Consulting Contact Developing Coaching Email: [email protected] Speaking Blog: www.kai-waehner.de/blog Writing Twitter: @KaiWaehner Social Networks: Xing, LinkedIn © Talend 2011 2
  • 3. Key messages Do not reinvent the „integration wheel“! There are some good frameworks for integration! Often, an ESB is the better choice! © Talend 2011 3
  • 4. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 4
  • 5. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 5
  • 6. Growing IT infrastructure everywhere! • Applications • Interfaces • Technologies • Products © Talend 2011 6
  • 7. Heterogeneity Host  Client / Server  SOA  Cloud  Big Data  © Talend 2011 7
  • 8. Spaghetti solutions „point-to-point hell“ © Talend 2011 8
  • 9. The solution: application integration All Roads lead to Rome ... © Talend 2011 9
  • 10. Writing glue code? (example: AWS S3 with Java) AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials( S3Sample.class.getResourceAsStream("AwsCredentials.properties"))); String bucketName = "my-first-s3-bucket-" + UUID.randomUUID(); String key = "MyObjectKey"; try { s3.createBucket(bucketName); s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile())); S3Object object = s3.getObject(new GetObjectRequest(bucketName, key)); ObjectListing objectListing = s3.listObjects(new ListObjectsRequest() .withBucketName(bucketName) .withPrefix("My")); s3.deleteObject(bucketName, key); s3.deleteBucket(bucketName); } catch (AmazonServiceException ase) { // error handling... } catch (AmazonClientException ace) { // error handling... } © Talend 2011 10
  • 11. Wishes for integrators • Standardized Modeling • Efficient Realization • Automatic Testing © Talend 2011 11
  • 12. Alternatives for application integration Enterprise Service Bus Integration (ESB) API Framework Complexity of Integration Low High Spring Integration vs. Mule vs. Apache Camel © Talend 2011 12
  • 13. Enterprise Integration Patterns (EIP) © Talend 2011 13
  • 14. Enterprise Integration Patterns (EIP) © Talend 2011 14
  • 15. Enterprise Integration Patterns (EIP) © Talend 2011 15
  • 16. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 16
  • 17. Relation between EIPs and Integrations Frameworks vs. Mule ESB vs. Integration implement © Talend 2011 17
  • 18. Comparison Criteria • Open source • Basic concepts / architecture • Testability • Commercial support • Error handling • Monitoring • Enterprise readiness • Developer-centric vs. designer-centric • Expandability • Deployment • Popularity • Tool support • Connectivity • Domain specific language (DSL) © Talend 2011 18
  • 20. Connectivity Integration of different Technologies © Talend 2011 20
  • 21. Domain specific language (DSL) „A domain-specific language (DSL) is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and / or a particular solution technique.“ Wikipedia Internal DSL © Talend 2011 21
  • 22. Architecture http://java.dzone.com/articles/apache-camel-integration (Exemplarily: Apache Camel => Concepts are all the same, only different names) © Talend 2011 22
  • 23. Deployment Standalone Application Server Web Container Spring Container OSGi Cloud © Talend 2011 23
  • 24. Enterprise readiness • Maturity • Transactions • Concurrency • Error handling • Monitoring • Testability © Talend 2011 24
  • 25. Licensing vs. Mule ESB vs. Integration Apache License Common Public Apache License Attribution License (CPAL) attention: more restrictive! © Talend 2011 25
  • 26. Commercial support vs. Mule ESB vs. Integration © Talend 2011 26
  • 27. Tooling STS Integration Graph (for Spring Integration) Mule Studio (for Mule ESB) Fuse IDE (for Apache Camel) Talend ESB (for Apache Camel) © Talend 2011 27
  • 28. Comparison Criteria • Open source • Basic concepts / architecture • Testability • Commercial support • Error handling • Monitoring • Enterprise readiness • Developer-centric vs. designer-centric • Expandability • Deployment Focus • Popularity • Tool support • Connectivity • Domain specific language (DSL) © Talend 2011 28
  • 29. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 29
  • 30. Connectivity AMQP Feed File FTP(S) GemFire HTTP TCP UDP JDBC JMS Mail MongoDB Redis RMI SFTP Stream Twitter Web Service XML XMPP „Some more“ ... easy to create own connectors using a template! © Talend 2011 30
  • 31. Domain specific language (DSL) (Not production-ready yet) XML (Not production-ready yet) © Talend 2011 31
  • 32. Code example (XML DSL) © Talend 2011 32
  • 33. Code example (Scala DSL) http://blog.springsource.org/2012/03/05/introducing-spring-integration-scala-dsl/ http://blog.springsource.org/2012/03/05/introducing-spring-integration-scala-dsl/ © Talend 2011 33
  • 34. Live demo Spring Integration in Action © Talend 2011 34
  • 35. Tooling: STS Integration Graph © Talend 2011 35
  • 36. Tooling: STS Integration Graph Pro • Visual designer for Spring Integration flows • Vice versa editing (code generation vs. coding by hand) • Open source (part of Spring IDE at github) • Perfect for usage in Spring projects (which use Spring Tool Suite) • Simple Eclipse plugin – „just Spring Integration“ Contra • Simple Eclipse plugin – there are no „ESB add-ons“ • Non-intuitive usability • Unclear diagrams • Immature (e.g. missing documentation, problems with code examples) • No unified platform (integration, bpm, etc.) © Talend 2011 36
  • 37. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 37
  • 39. Deployment as web application or standalone http://www.mulesoft.org/documentation/display/MULE3USER/Embedding+Mule+in+a+Java+Application+or+Webapp © Talend 2011 39
  • 40. Connectivity AS400 Data Queue Amazon S3 Abdera Authorize.net Amazon SQS Atom Apple Push jBPM Base64 encoded Bit.ly CICS CTG Byte arrays CMIS CXF CSV Email Encrypted FTP Hibernate CyberSource HTTP/S Facebook Legs4Mule GZIP Flickr IMAP/S Hex Strings HBase HTML/ XHTML Magento Java Objects Servlet SFTP SMTP/S SOAP JSON STDIO EDI TCP COBOL Copybook UDP XML VM Many further connectors + XMPP easy to create own connectors WebSphere MQ WSDL via Maven archetypes © Talend 2011 40
  • 41. Connectivity Several B2B connectors available, especially for: © Talend 2011 41
  • 42. Missing OSGi support „OSGi adds another complexity to building applications. [...] OSGi is a great specification for middleware vendors, but a terrible specification for the end user.“ Ross Mason, MuleSoft, November 2010 © Talend 2011 42
  • 43. Domain specific language (DSL) XML © Talend 2011 43
  • 44. Code example (XML DSL – no alternative) © Talend 2011 44
  • 45. Live demo Mule in Action © Talend 2011 45
  • 46. Tooling: Mule Studio © Talend 2011 46
  • 47. Tooling: Mule Studio Pro • Visual Designer for Mule Flows • Visual „live monitoring“ • Vice versa editing (code generation vs. coding by hand) • Intuitive GUI Contra • Proprietary • Subscription required for enterprise features (such as monitoring) • No unified platform (integration, bpm, etc.) Reminder: „Open source“ does NOT mean „for free“! © Talend 2011 47
  • 48. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 48
  • 49. Community  Camel rocks! Mailing Lists? Forums? Blogs? Articles? Conference talks? ESBs? Professionals? Jobs? Knowlegde? ... © Talend 2011 49
  • 50. Connectivity LDAP XSLT TCP SQL SMTP JMS Netty Jetty RMI FTP Lucene JDBC EJB Twitter Bean-Validation MQ IRC JMX Quartz CXF RSS AMQP jclouds Atom AWS Akka HTTP File Many further components + easy to create own components MongoDB via Maven archetypes © Talend 2011 50
  • 51. Connectivity Many B2B connectors available (Talend ESB only), for example: © Talend 2011 51
  • 52. Domain specific language (DSL) XML (Not production-ready yet) © Talend 2011 52
  • 53. Code example (XML DSL) © Talend 2011 53
  • 54. Code example (Java DSL) © Talend 2011 54
  • 55. Live demo Apache Camel in Action © Talend 2011 55
  • 56. Tooling: Fuse IDE © Talend 2011 56
  • 57. Tooling: RedHat / JBoss + FuseSource JBoss ESB, Switchyard, Fuse ESB Roadmap: http://www.redhat.com/promo/jboss_integration_week/ © Talend 2011 57
  • 58. Tooling: Fuse IDE Pro • Visual designer for Camel routes • Visual „live monitoring“ (for debugging, browsing, tracing) • Vice versa editing (code generation vs. coding by-hand) • Intuitive GUI • Now open sourced (after acquisition of Red Hat) Contra • Unsure future ? • Subscription required for enterprise features (such as monitoring) • No unified platform (integration, bpm, etc.) Reminder: „Open source“ does NOT mean „for free“ © Talend 2011 58
  • 59. Tooling: Talend ESB © Talend 2011 59
  • 60. Tooling: Talend ESB Pro • Visual Designer for Camel routes • Visual „live monitoring“ (for debugging, browsing, tracing) • Open source • Zero Coding (you can also write custom code, of course) • Unified platform (for ESB, DI, BPM, Big Data, Data Quality, MDM) • GUI palette for Camel components (instead of writing endpoint URIs) Contra • No vice versa code editing (only code generation) • Full ESB, not just Camel tooling (may be bad in a few use cases) • Subscription required for enterprise features (such as monitoring) Reminder: „Open source“ does NOT mean „for free“! © Talend 2011 60
  • 61. Agenda  Application Integration  Integration Frameworks  Spring Integration  Mule  Apache Camel  And the Winner is ... © Talend 2011 61
  • 62. … all three integration frameworks! Integration Mule ESB © Talend 2011 62
  • 63. When to use which one? Integration Mule ESB © Talend 2011 63
  • 64. When to use which one? • Spring Project • „Typical“ JVM Technologies (File, JMS, REST, SOAP, ...) • No additional Framework wanted Integration Mule ESB © Talend 2011 64
  • 65. When to use which one? Integration • One of its B2B connectors is required (and it is not available in Mule ESB Camel) © Talend 2011 65
  • 66. When to use which one? Integration Mule ESB • In all other cases (largest community, best concepts, most connectors) © Talend 2011 66
  • 67. … after you learned the differences  Hmm... Actually, when should I use an integration framework? © Talend 2011 67
  • 68. When to use an integration framework? Enterprise Integration Suite Integration Service Bus Framework Complexity of Integration Low High INTEGRATION Connectivity Routing Transformation © Talend 2011 68
  • 69. When to use an Enterprise Service Bus (ESB)? Enterprise Integration Suite Integration Service Bus Framework Complexity of Integration Low High INTEGRATION Connectivity Tooling Routing Transformation © Talend 2011 + Monitoring Support 69
  • 70. When to use an integration suite? Enterprise Integration Suite Integration Service Bus Framework Complexity of Integration Low High BUSINESS PROCESS MGT. INTEGRATION BIG DATA / MDM Connectivity Tooling + + REGISTRY / REPOSITORY Routing Monitoring RULES ENGINE Transformation © Talend 2011 Support „YOU NAME IT“ 70
  • 71. Talend Unified Platform Data Data Big Data Quality Integration MDM ESB BPM  Commercial license  Subscription model  Support included  Open source license  Free of charge  Optional support Big Data Data Data Quality Integration MDM ESB  Based on open source projects such as Eclipse or Apache Camel, CXF, Hadoop © Talend 2011 71
  • 72. ESB Vendor == Integration Suite Vendor ??? Proprietary Open Source © Talend 2011 72
  • 73. ESB Vendor == Integration Suite Vendor ??? ESB BPM Big Data © Talend 2011 73
  • 74. Custom combination of ESB, BPM, Big Data, etc.? • A lot of glue code • Testing • Bugfixing • No support Some other people already had the problems you would have! © Talend 2011 74
  • 75. Did you get the key messages? © Talend 2011 75
  • 76. Key messages Do not reinvent the „integration wheel“! There are some good frameworks for integration! Often, an ESB is the better choice! © Talend 2011 76
  • 77. Did you get the key messages? © Talend 2011 77
  • 78. Thank you for your attention. Questions? KAI WÄHNER [email protected] www.kai-waehner.de LinkedIn / Xing @KaiWaehner