• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use?
 

CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use?

on

  • 11,724 views

Spoilt for Choice - Which Integration Framework to use on the Java (JVM) Platform? Apache Camel, Spring Integration, Mule ESB? Or when to use an Enterprise Service Bus (ESB) instead?

Spoilt for Choice - Which Integration Framework to use on the Java (JVM) Platform? Apache Camel, Spring Integration, Mule ESB? Or when to use an Enterprise Service Bus (ESB) instead?

Statistics

Views

Total Views
11,724
Views on SlideShare
3,817
Embed Views
7,907

Actions

Likes
13
Downloads
230
Comments
0

13 Embeds 7,907

http://www.javacodebook.com 4175
http://javacodebook.com 2727
http://www.kai-waehner.de 981
http://plus.url.google.com 11
http://webcache.googleusercontent.com 3
http://www.tuicool.com 3
http://www.slashdocs.com 1
http://1.rp-api.com 1
http://twitter.com 1
https://192.168.57.127 1
https://twitter.com 1
https://www.google.com.sg 1
http://translate.googleusercontent.com 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use? CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use? Presentation Transcript

    • Spoilt for Choice – Which Integration Framework to choose?Integration vs. Mule ESB vs.www.mwea.de Kai Wähner
    • Kai Wähner Main Tasks Evaluation of Technologies and Products Requirements Engineering Enterprise Architecture Management Business Process Management Architecture and Development of Applications Planning and Introduction of SOA Integration of Legacy Applications Cloud Computing Consulting Contact Developing Email: kai.waehner@mwea.de Speaking Blog: www.kai-waehner.de/blog Coaching Twitter: @KaiWaehner Writing Social Networks: Xing, LinkedInwww.mwea.de Kai Wähner 15.05.2012 Seite 2
    • What is the Key Message?www.mwea.de Kai Wähner 15.05.2012 Seite 3
    • Key Messages Do not reinvent the „integration wheel“!www.mwea.de Kai Wähner 15.05.2012 Seite 4
    • Key Messages Do not reinvent the „integration wheel“! There are some good alternatives for Integration!www.mwea.de Kai Wähner 15.05.2012 Seite 5
    • Key Messages Do not reinvent the „integration wheel“! There are some good alternatives for Integration! Often an ESB is the wrong Choice!www.mwea.de Kai Wähner 15.05.2012 Seite 6
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 7
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 8
    • What is the Problem? Growth •  Applications •  Interfaces •  Technologies •  Productswww.mwea.de Kai Wähner 15.05.2012 Seite 9
    • Heterogeneitywww.mwea.de Kai Wähner 15.05.2012 Seite 10
    • Spaghetti Solutions Everybody communicates to everybodywww.mwea.de Kai Wähner 15.05.2012 Seite 11
    • Solution: Systems Integration All Roads lead to Rome ...www.mwea.de Kai Wähner 15.05.2012 Seite 12
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low Highwww.mwea.de Kai Wähner 15.05.2012 Seite 13
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Spring Integration vs. Mule ESB vs. Apache Camelwww.mwea.de Kai Wähner 15.05.2012 Seite 14
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 15
    • Wishes •  Standardized Modeling •  Efficient Realization •  Automatic Testingwww.mwea.de Kai Wähner 15.05.2012 Seite 16
    • Enterprise Integration Patterns (EIP)www.mwea.de Kai Wähner 15.05.2012 Seite 17
    • Enterprise Integration Patterns (EIP)www.mwea.de Kai Wähner 15.05.2012 Seite 18
    • Enterprise Integration Patterns (EIP)www.mwea.de 19
    • Relation between EIPs and Integrations FrameworksIntegration vs. Mule ESB vs. implementwww.mwea.de Kai Wähner 15.05.2012 Seite 20
    • 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)www.mwea.de Kai Wähner 15.05.2012 Seite 21
    • Similaritieswww.mwea.de Kai Wähner 15.05.2012 Seite 22
    • Connectivity Integration of different Technologieswww.mwea.de Kai Wähner 15.05.2012 Seite 23
    • Domain Specific Languages (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.“ Wikipediawww.mwea.de Kai Wähner 15.05.2012 Seite 24
    • Architecture http://java.dzone.com/articles/apache-camel-integration (Exemplarily: Apache Camel => Concepts are all the same, only different names)www.mwea.de Kai Wähner 15.05.2012 Seite 25
    • Deployment Standalone Application Server Web Container Spring Container OSGi Cloudwww.mwea.de Kai Wähner 15.05.2012 Seite 26
    • Enterprise-Ready •  Maturity •  Transactions •  Concurrency •  Error handling •  Monitoring •  Testabilitywww.mwea.de Kai Wähner 15.05.2012 Seite 27
    • LicensingIntegration vs. Mule ESB vs. Apache License Common Public Apache License Atttribution License (CPAL)www.mwea.de Kai Wähner 15.05.2012 Seite 28
    • Commercial SupportIntegration vs. Mule ESB vs.www.mwea.de Kai Wähner 15.05.2012 Seite 29
    • Tool Support Integration Graph for Spring Integration Mule Studio for Mule ESB Fuse IDE for Apache Camel Talend Studio for Apache Camelwww.mwea.de Kai Wähner 15.05.2012 Seite 30
    • Upcoming Procedure • Concepts of each Framework • Code Example • Live Demowww.mwea.de Kai Wähner 15.05.2012 Seite 31
    • 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)www.mwea.de Kai Wähner 15.05.2012 Seite 32
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 33
    • Connectivity AMQP Feed File FTP(S) GemFire HTTP TCP How to create own custom adapter? UDP JDBC JMS Mail MongoDB Redis RMI SFTP Stream Twitter Web Service XML XMPPwww.mwea.de Kai Wähner 15.05.2012 Seite 34
    • DSLs XML (Not production-ready yet)www.mwea.de Kai Wähner 15.05.2012 Seite 35
    • Code Examplewww.mwea.de Kai Wähner 15.05.2012 Seite 36
    • Code Example http://blog.springsource.org/2012/03/05/introducing-spring-integration-scala-dsl/www.mwea.de Kai Wähner 15.05.2012 Seite 37
    • Live Demo Spring Integration in Actionwww.mwea.de Kai Wähner 15.05.2012 Seite 38
    • Integration Graphwww.mwea.de Kai Wähner 15.05.2012 Seite 39
    • 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) •  Simple Eclipse plugin – „Just Spring Integration“ •  Export of flow diagrams Contra •  Non-intuitive usability •  Unclear diagrams •  Immature (e.g. missing documentation, problems with code examples)www.mwea.de Kai Wähner 15.05.2012 Seite 40
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 41
    • Mule ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 42
    • Standalone / Web Application Deployment http://www.mulesoft.org/documentation/display/MULE3USER/Embedding+Mule+in+a+Java+Application+or+Webappwww.mwea.de Kai Wähner 15.05.2012 Seite 43
    • Connectivity AS400 Data Queue Amazon S3 Abdera Authorize.net Amazon SQS Atom Apple Push JCR jBPM Base64 encoded Bit.ly JDBC CICS CTG Byte arrays CMIS Jersey CXF CSV Jetty Email Encrypted JMS FTP LDAP Hibernate CyberSource Multicast HTTP/S Facebook POP3/S Legs4Mule GZIP Flickr Quartz IMAP/S Hex Strings HBase Restlet HTML/ XHTML Magento RMI Java Objects SAP Servlet SFTP SMTP/S SOAP JSON STDIO EDI TCP COBOL Copybook UDP XML VM XMPP Many more Connectors + WebSphere MQ WSDL easy to create own Connectorswww.mwea.de Kai Wähner 15.05.2012 Seite 44
    • Connectivity Several Proprietary Connectors available, for instance:www.mwea.de Kai Wähner 15.05.2012 Seite 45
    • 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 2010www.mwea.de Kai Wähner 15.05.2012 Seite 46
    • DSLs XMLwww.mwea.de Kai Wähner 15.05.2012 Seite 47
    • Code Examplewww.mwea.de Kai Wähner 15.05.2012 Seite 48
    • Live Demo Mule in Actionwww.mwea.de Kai Wähner 15.05.2012 Seite 49
    • Mule Studiowww.mwea.de Kai Wähner 15.05.2012 Seite 50
    • Mule Studio Pro •  Visual Designer for Mule Flows •  Visual „Live Monitoring“ •  Vice versa Editing (Code generation vs. coding by hand) •  Simple Eclipse plugin – „Just Mule“ •  Intuitive GUI Contra •  Proprietary •  Subscription required for many enterprise features (such as monitoring)www.mwea.de Kai Wähner 15.05.2012 Seite 51
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 52
    • DSLs XMLwww.mwea.de Kai Wähner 15.05.2012 Seite 53
    • 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 more Components + MongoDB easy to create own Componentswww.mwea.de Kai Wähner 15.05.2012 Seite 54
    • Code Examplewww.mwea.de Kai Wähner 15.05.2012 Seite 55
    • Code Examplewww.mwea.de Kai Wähner 15.05.2012 Seite 56
    • Live Demo Apache Camel in Actionwww.mwea.de Kai Wähner 15.05.2012 Seite 57
    • Tool Support Fuse IDE vs. Talend Open Studio for ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 58
    • Fuse IDEwww.mwea.de Kai Wähner 15.05.2012 Seite 59
    • Fuse IDE Pro •  Visual Designer for Camel routes •  Visual „Live Monitoring“ (for debugging, browsing, tracing) •  Vice versa Editing (code generation vs. coding by-hand) •  Just a simple Eclipse-Plugin – „Just Camel“ •  Intuitive GUI •  Export of route diagrams •  JUnit Test Wizard (generates scaffolding for tests) Contra •  Proprietary •  Subscription required •  Only XML DSL (this is not really a contra, because only Camel offers other DSLs)www.mwea.de Kai Wähner 15.05.2012 Seite 60
    • Talend Open Studio for ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 61
    • Talend Open Studio for ESB Pro •  Visual Designer for Camel routes •  Visual „Live Monitoring“ •  Open Source (at github) •  Community Edition (not all features) •  Zero Coding Contra •  Zero Coding •  Only Java DSL (plus a lot of boilerplate code) •  No vice versa code editing (only code generation) •  No intuitive user interface => no simple Eclipse plugin => based on Eclipse, but it is more an own product (1GB) => full ESB onlywww.mwea.de Kai Wähner 15.05.2012 Seite 62
    • Agenda 1)  Systems Integration 2)  Integration Frameworks 3)  Spring Integration 4)  Mule ESB 5)  Apache Camel 6)  And the Winner is ...www.mwea.de Kai Wähner 15.05.2012 Seite 63
    • And the Winner is ... Integration Mule ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 64
    • When to use? Integration Mule ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 65
    • When to use? •  Spring Project •  „Typical“ JVM Technologies •  No additional Framework Integration Mule ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 66
    • When to use? Integration •  One of the available proprietary Connectors is required Mule ESBwww.mwea.de Kai Wähner 15.05.2012 Seite 67
    • When to use? Integration Mule ESB •  In all other Caseswww.mwea.de Kai Wähner 15.05.2012 Seite 68
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low Highwww.mwea.de Kai Wähner 15.05.2012 Seite 69
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Integration Connectivity Routing Transformationwww.mwea.de Kai Wähner 15.05.2012 Seite 70
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Spring Integration Integration vs. Connectivity Mule ESB Routing vs. Transformation Apache Camelwww.mwea.de Kai Wähner 15.05.2012 Seite 71
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low Highwww.mwea.de Kai Wähner 15.05.2012 Seite 72
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Middleware Product Integration Integration Connectivity Business Process Management Routing Business Activity Monitoring Transformation Registry / Repository Rules Enginewww.mwea.de Kai Wähner 15.05.2012 Seite 73
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Middleware Product Integration Integration Connectivity Business Process Management Routing Business Activity Monitoring Transformation Registry / Repository Rules Enginewww.mwea.de Kai Wähner 15.05.2012 Seite 74
    • Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Apache ServiceMix, Mule ESB, WSO2 ESB Middleware Product vs. Integration IBM Message Broker, Business Process Management IBM ESB, Oracle ESB, Business Activity Monitoring webMethods ESB Registry / Repository Rules Enginewww.mwea.de Kai Wähner 15.05.2012 Seite 75
    • Did you get the Key Messages?www.mwea.de Kai Wähner 15.05.2012 Seite 76
    • Key Messages Do not reinvent the „integration wheel“! There are some good alternatives for Integration! Often an ESB is the wrong Choice!www.mwea.de Kai Wähner 15.05.2012 Seite 77
    • Did you get the Key Messages?www.mwea.de Kai Wähner 15.05.2012 Seite 78
    • Become a Part of the Open Source Communitywww.mwea.de Kai Wähner 15.05.2012 Seite 79
    • Thank you for your Attention. Any Questions? Integration or Mule ESB or = Smart EAI Kai Wähner MaibornWolff et al: www.mwea.de Email: kai.waehner@mwea.de Twitter: @KaiWaehner Blog: www.kai-waehner.de/blogwww.mwea.de Kai Wähner