Professional Documents
Culture Documents
Integration
vs.
Mule ESB
vs.
www.mwea.de
Kai Whner
Contact
Email: kai.waehner@mwea.de Blog: www.kai-waehner.de/blog Twitter: @KaiWaehner Social Networks: Xing, LinkedIn
15.05.2012
Seite 2
www.mwea.de
Kai Whner
15.05.2012
Seite 3
Key Messages
www.mwea.de
Kai Whner
15.05.2012
Seite 4
Key Messages
Do not reinvent the integration wheel! There are some good alternatives for Integration!
www.mwea.de
Kai Whner
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 Whner 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 Whner
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 Whner
15.05.2012
Seite 8
Growth
! Applications ! Interfaces ! Technologies ! Products
www.mwea.de
Kai Whner
15.05.2012
Seite 9
Heterogeneity
www.mwea.de
Kai Whner
15.05.2012
Seite 10
Spaghetti Solutions
No Tool
Integration Framework
Low
High
Complexity of Integration
www.mwea.de
Kai Whner
15.05.2012
Seite 13
No Tool
Integration Framework
Low
High
Complexity of Integration
www.mwea.de
Kai Whner
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 Whner
15.05.2012
Seite 15
Wishes
www.mwea.de
Kai Whner
15.05.2012
Seite 17
www.mwea.de
Kai Whner
15.05.2012
Seite 18
www.mwea.de
19
Integration
vs.
vs.
www.mwea.de
Kai Whner
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 Whner
15.05.2012
Seite 21
Similarities
www.mwea.de
Kai Whner
15.05.2012
Seite 22
Connectivity
www.mwea.de
Kai Whner
15.05.2012
Seite 23
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 Whner
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 Whner
15.05.2012
Seite 25
Deployment
Standalone
Web Container
www.mwea.de
Kai Whner
15.05.2012
Seite 26
Enterprise-Ready
Licensing
Integration
vs.
Mule ESB
vs.
Apache License
Apache License
www.mwea.de
Kai Whner
15.05.2012
Seite 28
Commercial Support
Integration
vs.
Mule ESB
vs.
www.mwea.de
Kai Whner
15.05.2012
Seite 29
Tool Support
Integration Graph for Spring Integration Mule Studio for Mule ESB
www.mwea.de
Kai Whner
15.05.2012
Seite 30
Upcoming Procedure
www.mwea.de
Kai Whner
15.05.2012
Seite 31
Comparison Criteria
Focus
! 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 Whner
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 Whner
15.05.2012
Seite 33
Connectivity
AMQP Feed File FTP(S) GemFire HTTP TCP UDP JDBC JMS Mail MongoDB Redis RMI SFTP Stream Twitter Web Service XML XMPP
www.mwea.de
Kai Whner
15.05.2012
Seite 34
DSLs
XML
(Not production-ready yet)
www.mwea.de
Kai Whner
15.05.2012
Seite 35
Code Example
www.mwea.de
Kai Whner
15.05.2012
Seite 36
Code Example
http://blog.springsource.org/2012/03/05/introducing-spring-integration-scala-dsl/
www.mwea.de
Kai Whner
15.05.2012
Seite 37
Live Demo
Integration Graph
www.mwea.de
Kai Whner
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 Whner
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 Whner
15.05.2012
Seite 41
Mule ESB
www.mwea.de
Kai Whner
15.05.2012
Seite 42
http://www.mulesoft.org/documentation/display/MULE3USER/Embedding+Mule+in+a+Java+Application+or+Webapp
www.mwea.de Kai Whner 15.05.2012 Seite 43
Connectivity
AS400 Data Queue Abdera Amazon SQS jBPM CICS CTG CXF Email FTP Hibernate HTTP/S Legs4Mule IMAP/S Servlet SFTP SMTP/S SOAP STDIO TCP UDP VM XMPP WebSphere MQ WSDL
www.mwea.de Kai Whner
JCR JDBC Jersey Jetty JMS LDAP Multicast POP3/S Quartz Restlet RMI SAP
Connectivity
www.mwea.de
Kai Whner
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 2010
www.mwea.de
Kai Whner
15.05.2012
Seite 46
DSLs
XML
www.mwea.de
Kai Whner
15.05.2012
Seite 47
Code Example
www.mwea.de
Kai Whner
15.05.2012
Seite 48
Live Demo
Mule in Action
www.mwea.de Kai Whner 15.05.2012 Seite 49
Mule Studio
www.mwea.de
Kai Whner
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 Whner
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 Whner
15.05.2012
Seite 52
DSLs
XML
www.mwea.de
Kai Whner
15.05.2012
Seite 53
Connectivity
SQL
TCP RMI
MongoDB
www.mwea.de Kai Whner
Code Example
www.mwea.de
Kai Whner
15.05.2012
Seite 55
Code Example
www.mwea.de
Kai Whner
15.05.2012
Seite 56
Live Demo
Tool Support
Fuse IDE
vs.
www.mwea.de
Kai Whner
15.05.2012
Seite 58
Fuse IDE
www.mwea.de
Kai Whner
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 Whner
15.05.2012
Seite 60
www.mwea.de
Kai Whner
15.05.2012
Seite 61
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 Whner
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 Whner
15.05.2012
Seite 63
www.mwea.de
Kai Whner
15.05.2012
Seite 64
When to use?
www.mwea.de
Kai Whner
15.05.2012
Seite 65
When to use?
www.mwea.de
Kai Whner
15.05.2012
Seite 66
When to use?
Integration
! One of the available proprietary Connectors is required
Mule ESB
www.mwea.de
Kai Whner
15.05.2012
Seite 67
When to use?
www.mwea.de
Kai Whner
15.05.2012
Seite 68
No Tool
Integration Framework
Low
High
Complexity of Integration
www.mwea.de
Kai Whner
15.05.2012
Seite 69
No Tool
Integration Framework
Low
High
Complexity of Integration
Integration
Connectivity Routing Transformation
www.mwea.de Kai Whner 15.05.2012 Seite 70
No Tool
Integration Framework
Low
High
Complexity of Integration
Integration
Connectivity Routing Transformation
www.mwea.de Kai Whner
No Tool
Integration Framework
Low
High
Complexity of Integration
www.mwea.de
Kai Whner
15.05.2012
Seite 72
No Tool
Integration Framework
Low
High
Complexity of Integration
Integration Business Process Management Business Activity Monitoring Registry / Repository Rules Engine
15.05.2012 Seite 73
No Tool
Integration Framework
Low
High
Complexity of Integration
Integration Business Process Management Business Activity Monitoring Registry / Repository Rules Engine
15.05.2012 Seite 74
No Tool
Integration Framework
Low
High
Complexity of Integration
Apache ServiceMix, Mule ESB, WSO2 ESB vs. IBM Message Broker, IBM ESB, Oracle ESB, webMethods ESB
www.mwea.de Kai Whner
Middleware Product
Integration Business Process Management Business Activity Monitoring Registry / Repository Rules Engine
15.05.2012 Seite 75
www.mwea.de
Kai Whner
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 Whner 15.05.2012 Seite 77
www.mwea.de
Kai Whner
15.05.2012
Seite 78
www.mwea.de
Kai Whner
15.05.2012
Seite 79
Integration
or Mule ESB or
Smart EAI
Kai Whner MaibornWolff et al: www.mwea.de Email: kai.waehner@mwea.de Twitter: @KaiWaehner Blog: www.kai-waehner.de/blog
www.mwea.de
Kai Whner