Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Similar to CamelOne 2012 - Spoilt for Choice: Which Integration Framework to use?(20)

Advertisement

More from Kai Wähner(20)

Advertisement

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

  1. Spoilt for Choice – Which Integration Framework to choose? Integration vs. Mule ESB vs. www.mwea.de Kai Wähner
  2. 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, LinkedIn www.mwea.de Kai Wähner 15.05.2012 Seite 2
  3. What is the Key Message? www.mwea.de Kai Wähner 15.05.2012 Seite 3
  4. Key Messages Do not reinvent the „integration wheel“! www.mwea.de Kai Wähner 15.05.2012 Seite 4
  5. 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
  6. 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
  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 7
  8. 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
  9. What is the Problem? Growth •  Applications •  Interfaces •  Technologies •  Products www.mwea.de Kai Wähner 15.05.2012 Seite 9
  10. Heterogeneity www.mwea.de Kai Wähner 15.05.2012 Seite 10
  11. Spaghetti Solutions Everybody communicates to everybody www.mwea.de Kai Wähner 15.05.2012 Seite 11
  12. Solution: Systems Integration All Roads lead to Rome ... www.mwea.de Kai Wähner 15.05.2012 Seite 12
  13. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High www.mwea.de Kai Wähner 15.05.2012 Seite 13
  14. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Spring Integration vs. Mule ESB vs. Apache Camel www.mwea.de Kai Wähner 15.05.2012 Seite 14
  15. 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
  16. Wishes •  Standardized Modeling •  Efficient Realization •  Automatic Testing www.mwea.de Kai Wähner 15.05.2012 Seite 16
  17. Enterprise Integration Patterns (EIP) www.mwea.de Kai Wähner 15.05.2012 Seite 17
  18. Enterprise Integration Patterns (EIP) www.mwea.de Kai Wähner 15.05.2012 Seite 18
  19. Enterprise Integration Patterns (EIP) www.mwea.de 19
  20. Relation between EIPs and Integrations Frameworks Integration vs. Mule ESB vs. implement www.mwea.de Kai Wähner 15.05.2012 Seite 20
  21. 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
  22. Similarities www.mwea.de Kai Wähner 15.05.2012 Seite 22
  23. Connectivity Integration of different Technologies www.mwea.de Kai Wähner 15.05.2012 Seite 23
  24. 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.“ Wikipedia www.mwea.de Kai Wähner 15.05.2012 Seite 24
  25. 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
  26. Deployment Standalone Application Server Web Container Spring Container OSGi Cloud www.mwea.de Kai Wähner 15.05.2012 Seite 26
  27. Enterprise-Ready •  Maturity •  Transactions •  Concurrency •  Error handling •  Monitoring •  Testability www.mwea.de Kai Wähner 15.05.2012 Seite 27
  28. Licensing Integration vs. Mule ESB vs. Apache License Common Public Apache License Atttribution License (CPAL) www.mwea.de Kai Wähner 15.05.2012 Seite 28
  29. Commercial Support Integration vs. Mule ESB vs. www.mwea.de Kai Wähner 15.05.2012 Seite 29
  30. Tool Support Integration Graph for Spring Integration Mule Studio for Mule ESB Fuse IDE for Apache Camel Talend Studio for Apache Camel www.mwea.de Kai Wähner 15.05.2012 Seite 30
  31. Upcoming Procedure • Concepts of each Framework • Code Example • Live Demo www.mwea.de Kai Wähner 15.05.2012 Seite 31
  32. 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
  33. 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
  34. 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 XMPP www.mwea.de Kai Wähner 15.05.2012 Seite 34
  35. DSLs XML (Not production-ready yet) www.mwea.de Kai Wähner 15.05.2012 Seite 35
  36. Code Example www.mwea.de Kai Wähner 15.05.2012 Seite 36
  37. 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
  38. Live Demo Spring Integration in Action www.mwea.de Kai Wähner 15.05.2012 Seite 38
  39. Integration Graph www.mwea.de Kai Wähner 15.05.2012 Seite 39
  40. 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
  41. 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
  42. Mule ESB www.mwea.de Kai Wähner 15.05.2012 Seite 42
  43. Standalone / Web Application Deployment http://www.mulesoft.org/documentation/display/MULE3USER/Embedding+Mule+in+a+Java+Application+or+Webapp www.mwea.de Kai Wähner 15.05.2012 Seite 43
  44. 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 Connectors www.mwea.de Kai Wähner 15.05.2012 Seite 44
  45. Connectivity Several Proprietary Connectors available, for instance: www.mwea.de Kai Wähner 15.05.2012 Seite 45
  46. 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 www.mwea.de Kai Wähner 15.05.2012 Seite 46
  47. DSLs XML www.mwea.de Kai Wähner 15.05.2012 Seite 47
  48. Code Example www.mwea.de Kai Wähner 15.05.2012 Seite 48
  49. Live Demo Mule in Action www.mwea.de Kai Wähner 15.05.2012 Seite 49
  50. Mule Studio www.mwea.de Kai Wähner 15.05.2012 Seite 50
  51. 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
  52. 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
  53. DSLs XML www.mwea.de Kai Wähner 15.05.2012 Seite 53
  54. 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 Components www.mwea.de Kai Wähner 15.05.2012 Seite 54
  55. Code Example www.mwea.de Kai Wähner 15.05.2012 Seite 55
  56. Code Example www.mwea.de Kai Wähner 15.05.2012 Seite 56
  57. Live Demo Apache Camel in Action www.mwea.de Kai Wähner 15.05.2012 Seite 57
  58. Tool Support Fuse IDE vs. Talend Open Studio for ESB www.mwea.de Kai Wähner 15.05.2012 Seite 58
  59. Fuse IDE www.mwea.de Kai Wähner 15.05.2012 Seite 59
  60. 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
  61. Talend Open Studio for ESB www.mwea.de Kai Wähner 15.05.2012 Seite 61
  62. 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 only www.mwea.de Kai Wähner 15.05.2012 Seite 62
  63. 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
  64. And the Winner is ... Integration Mule ESB www.mwea.de Kai Wähner 15.05.2012 Seite 64
  65. When to use? Integration Mule ESB www.mwea.de Kai Wähner 15.05.2012 Seite 65
  66. When to use? •  Spring Project •  „Typical“ JVM Technologies •  No additional Framework Integration Mule ESB www.mwea.de Kai Wähner 15.05.2012 Seite 66
  67. When to use? Integration •  One of the available proprietary Connectors is required Mule ESB www.mwea.de Kai Wähner 15.05.2012 Seite 67
  68. When to use? Integration Mule ESB •  In all other Cases www.mwea.de Kai Wähner 15.05.2012 Seite 68
  69. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High www.mwea.de Kai Wähner 15.05.2012 Seite 69
  70. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High Integration Connectivity Routing Transformation www.mwea.de Kai Wähner 15.05.2012 Seite 70
  71. 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 Camel www.mwea.de Kai Wähner 15.05.2012 Seite 71
  72. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) No Tool Framework Complexity of Integration Low High www.mwea.de Kai Wähner 15.05.2012 Seite 72
  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 Engine www.mwea.de Kai Wähner 15.05.2012 Seite 73
  74. 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 Engine www.mwea.de Kai Wähner 15.05.2012 Seite 74
  75. 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 Engine www.mwea.de Kai Wähner 15.05.2012 Seite 75
  76. Did you get the Key Messages? www.mwea.de Kai Wähner 15.05.2012 Seite 76
  77. 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
  78. Did you get the Key Messages? www.mwea.de Kai Wähner 15.05.2012 Seite 78
  79. Become a Part of the Open Source Community www.mwea.de Kai Wähner 15.05.2012 Seite 79
  80. 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/blog www.mwea.de Kai Wähner
Advertisement