Integration Mule ESB - Alt.java-forum-stuttgart.de

1y ago
23 Views
2 Downloads
9.51 MB
83 Pages
Last View : 1d ago
Last Download : 3m ago
Upload by : Grady Mosby
Transcription

Spoilt for Choice – Which Integration Framework to choose? Integration www.mwea.de Kai Wähner vs. Mule ESB vs.

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 Developing Speaking Coaching Writing www.mwea.de Kai Wähner Contact Email: kai.waehner@mwea.de Blog: www.kai-waehner.de/blog Twitter: @KaiWaehner Social Networks: Xing, LinkedIn 11.06.2012 Seite 2

What is the Key Message? www.mwea.de Kai Wähner 11.06.2012 Seite 3

Key Messages Do not reinvent the „integration wheel“! www.mwea.de Kai Wähner 11.06.2012 Seite 4

Key Messages Do not reinvent the „integration wheel“! There are some good alternatives for Integration! www.mwea.de Kai Wähner 11.06.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 11.06.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 11.06.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 11.06.2012 Seite 8

What is the Problem? Growth Applications Interfaces Technologies Products www.mwea.de Kai Wähner 11.06.2012 Seite 9

Heterogeneity www.mwea.de Kai Wähner 11.06.2012 Seite 10

Spaghetti Solutions Everybody communicates to everybody www.mwea.de Kai Wähner 11.06.2012 Seite 11

Solution: Systems Integration All Roads lead to Rome . www.mwea.de Kai Wähner 11.06.2012 Seite 12

Alternatives for Systems Integration Integration Framework No Tool Low www.mwea.de Enterprise Service Bus (ESB) High Kai Wähner 11.06.2012 Complexity of Integration Seite 13

Alternatives for Systems Integration Integration Framework No Tool Enterprise Service Bus (ESB) Low High Complexity of Integration Spring Integration vs. Mule ESB vs. Apache Camel www.mwea.de Kai Wähner 11.06.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 11.06.2012 Seite 15

Wishes Standardized Modeling Efficient Realization Automatic Testing www.mwea.de Kai Wähner 11.06.2012 Seite 16

Enterprise Integration Patterns (EIP) www.mwea.de Kai Wähner 11.06.2012 Seite 17

Enterprise Integration Patterns (EIP) www.mwea.de Kai Wähner 11.06.2012 Seite 18

Enterprise Integration Patterns (EIP) www.mwea.de 19

Relation between EIPs and Integrations Frameworks Integration vs. Mule ESB vs. implement www.mwea.de Kai Wähner 11.06.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 11.06.2012 Seite 21

Similarities www.mwea.de Kai Wähner 11.06.2012 Seite 22

Connectivity Integration of different Technologies www.mwea.de Kai Wähner 11.06.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.“ Wikipedia www.mwea.de Kai Wähner 11.06.2012 Seite 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 Internal DSL www.mwea.de Kai Wähner 11.06.2012 Seite 25

Architecture ation (Exemplarily: Apache Camel Concepts are all the same, only different names) www.mwea.de Kai Wähner 11.06.2012 Seite 26

Deployment Standalone Application Server Web Container Spring Container OSGi Cloud www.mwea.de Kai Wähner 11.06.2012 Seite 27

Enterprise-Ready Maturity Transactions Concurrency Error handling Monitoring Testability www.mwea.de Kai Wähner 11.06.2012 Seite 28

Licensing Integration Apache License www.mwea.de Kai Wähner vs. Mule ESB Common Public Atttribution License (CPAL) vs. Apache License 11.06.2012 Seite 29

Commercial Support Integration www.mwea.de Kai Wähner vs. Mule ESB vs. 11.06.2012 Seite 30

Tool Support Integration Graph for Spring Integration Fuse IDE for Apache Camel www.mwea.de Kai Wähner Mule Studio for Mule ESB Talend Studio for Apache Camel 11.06.2012 Seite 31

Upcoming Procedure Concepts of each Framework Code Example Live Demo www.mwea.de Kai Wähner 11.06.2012 Seite 32

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) Focus www.mwea.de Kai Wähner 11.06.2012 Seite 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 11.06.2012 Seite 34

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 Wähner How to create own custom adapter? 11.06.2012 Seite 35

DSLs (Not production-ready yet) XML (Not production-ready yet) www.mwea.de Kai Wähner 11.06.2012 Seite 36

Code Example www.mwea.de Kai Wähner 11.06.2012 Seite 37

Code Example g-spring-integration-scala-dsl/ www.mwea.de Kai Wähner 11.06.2012 Seite 38

Live Demo Spring Integration in Action www.mwea.de Kai Wähner 11.06.2012 Seite 39

Integration Graph www.mwea.de Kai Wähner 11.06.2012 Seite 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 11.06.2012 Seite 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 11.06.2012 Seite 42

Mule ESB www.mwea.de Kai Wähner 11.06.2012 Seite 43

Standalone / Web Application Deployment 3USER/Embedding Mule in a Java Application or Webapp www.mwea.de Kai Wähner 11.06.2012 Seite 44

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 Wähner Atom Base64 encoded Byte arrays CSV Encrypted GZIP Hex Strings HTML/ XHTML Java Objects Amazon S3 Authorize.net Apple Push Bit.ly CMIS CyberSource Facebook Flickr HBase Magento JCR JDBC Jersey Jetty JMS LDAP Multicast POP3/S Quartz Restlet RMI SAP JSON EDI COBOL Copybook XML Many more Connectors easy to create own Connectors 11.06.2012 Seite 45

Connectivity Several Proprietary Connectors available, for instance: www.mwea.de Kai Wähner 11.06.2012 Seite 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 11.06.2012 Seite 47

DSLs XML www.mwea.de Kai Wähner 11.06.2012 Seite 48

Code Example www.mwea.de Kai Wähner 11.06.2012 Seite 49

Live Demo Mule in Action www.mwea.de Kai Wähner 11.06.2012 Seite 50

Mule Studio www.mwea.de Kai Wähner 11.06.2012 Seite 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 11.06.2012 Seite 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 11.06.2012 Seite 53

DSLs XML (Not production-ready yet) www.mwea.de Kai Wähner 11.06.2012 Seite 54

Connectivity SQL TCP Netty RMI FTP Twitter CXF Lucene HTTP MongoDB Kai Wähner Jetty JDBC MQ AMQP RSS Atom AWS www.mwea.de SMTP Bean-Validation JMX File XSLT LDAP IRC JMS EJB Quartz jclouds Akka Many more Components easy to create own Components 11.06.2012 Seite 55

Community Mailing Lists? Blogs? Articles? Conference talks? ESBs? Jobs? . www.mwea.de Kai Wähner 11.06.2012 Seite 56

Community Mailing Lists? Blogs? Articles? Conference talks? ESBs? Jobs? . Even JBoss‘ new ESB „SwitchYard“ uses Camel inside! www.mwea.de Kai Wähner 11.06.2012 Seite 57

Code Example www.mwea.de Kai Wähner 11.06.2012 Seite 58

Code Example www.mwea.de Kai Wähner 11.06.2012 Seite 59

Live Demo Apache Camel in Action www.mwea.de Kai Wähner 11.06.2012 Seite 60

Tool Support Fuse IDE vs. Talend Open Studio for ESB www.mwea.de Kai Wähner 11.06.2012 Seite 61

Fuse IDE www.mwea.de Kai Wähner 11.06.2012 Seite 62

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 11.06.2012 Seite 63

Talend Open Studio for ESB www.mwea.de Kai Wähner 11.06.2012 Seite 64

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 11.06.2012 Seite 65

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 11.06.2012 Seite 66

And the Winner is . Integration Mule ESB www.mwea.de Kai Wähner 11.06.2012 Seite 67

When to use? Integration Mule ESB www.mwea.de Kai Wähner 11.06.2012 Seite 68

When to use? Spring Project „Typical“ JVM Technologies No additional Framework Integration Mule ESB www.mwea.de Kai Wähner 11.06.2012 Seite 69

When to use? Integration One of the available proprietary Connectors is required www.mwea.de Kai Wähner Mule ESB 11.06.2012 Seite 70

When to use? Integration Mule ESB In all other Cases www.mwea.de Kai Wähner 11.06.2012 Seite 71

Alternatives for Systems Integration Integration Framework No Tool Low www.mwea.de Enterprise Service Bus (ESB) High Kai Wähner 11.06.2012 Complexity of Integration Seite 72

Alternatives for Systems Integration Integration Framework No Tool Low Enterprise Service Bus (ESB) High Complexity of Integration Integration Connectivity Routing Transformation www.mwea.de Kai Wähner 11.06.2012 Seite 73

Alternatives for Systems Integration Integration Framework No Tool Low High Integration Connectivity Routing Transformation www.mwea.de Enterprise Service Bus (ESB) Kai Wähner Complexity of Integration Spring Integration vs. Mule ESB vs. Apache Camel 11.06.2012 Seite 74

Alternatives for Systems Integration Integration Framework No Tool Low www.mwea.de Enterprise Service Bus (ESB) High Kai Wähner 11.06.2012 Complexity of Integration Seite 75

Alternatives for Systems Integration Integration Framework No Tool Low Enterprise Service Bus (ESB) High Complexity of Integration Middleware Product Integration Connectivity Routing Transformation www.mwea.de Kai Wähner Integration Business Process Management Business Activity Monitoring Registry / Repository Rules Engine 11.06.2012 Seite 76

Alternatives for Systems Integration Integration Framework No Tool Low Enterprise Service Bus (ESB) High Complexity of Integration Middleware Product Integration Connectivity Routing Transformation www.mwea.de Kai Wähner Integration Business Process Management Business Activity Monitoring Registry / Repository Rules Engine 11.06.2012 Seite 77

Alternatives for Systems Integration Integration Framework No Tool Low High Apache ServiceMix, Mule ESB, WSO2 ESB vs. IBM Message Broker, IBM ESB, Oracle ESB, webMethods ESB www.mwea.de Enterprise Service Bus (ESB) Kai Wähner Complexity of Integration Middleware Product Integration Business Process Management Business Activity Monitoring Registry / Repository Rules Engine 11.06.2012 Seite 78

Did you get the Key Messages? www.mwea.de Kai Wähner 11.06.2012 Seite 79

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 11.06.2012 Seite 80

Did you get the Key Messages? www.mwea.de Kai Wähner 11.06.2012 Seite 81

Become a Part of the Open Source Community www.mwea.de Kai Wähner 11.06.2012 Seite 82

Thank you for your Attention. Any Questions? Integration or Mule ESB or 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 Smart EAI

Spring Integration vs. Mule ESB vs. Apache Camel . www.mwea.de 1) Systems Integration 2) Integration Frameworks 3) Spring Integration 4) Mule ESB 5) Apache Camel 6) And the Winner is . Agenda Kai Wähner 11.06.2012 Seite 15 . www.mwea.de Wishes Kai Wähner 11.06.2012 Seite 16 .

Related Documents:

Mule ESB Support 7 Mule HA Clustering offers superior total cost of ownership and superior performance to many alternative approaches and is a fully supported configuration that is backed by the Mulesoft the company behind the worlds most popular Open Source ESB. 9 Summary As the leading open source enterprise service bus, Mule ESB is stable .

Server from Microsoft, Fuse ESB (Enterprise Service Mix), JBoss Enterprise Service bus, Mule ESB, Open ESB, PEtALS ESB, WSO2 Enterprise Service Bus, Oracle Enterprise Service bus and Oracle Service bus by Oracle and bunch of other Messaging Middleware on the market. Meanwhile there is no global standard for ESB, some expert prune down

What is Mule ESB? “Mule is a lightweight integration platform and service container that allows you to quickly and easily connect your applications together. Mule provides a robust, secure and scalable platform to build enterprise applications offering an array of transports such as JMS, HTTP, Email, FTP, JDBC and many more.

java.io Input and output java.lang Language support java.math Arbitrary-precision numbers java.net Networking java.nio "New" (memory-mapped) I/O java.rmi Remote method invocations java.security Security support java.sql Database support java.text Internationalized formatting of text and numbers java.time Dates, time, duration, time zones, etc.

3. We have to just unzip the downloaded file and go to bin directory of mule runtime. 4. In MS windows Operating system we have to run mule.bat file with admin privilege. 5. Mule will deploy default app and up now. Now you can manually deploy mule app by just past mule app zip file at app directory of runtime and check log in log directory. 6.

Mule ESB Mule ESB enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.

For a quick comparison of these ESB products, view the online ESB comparison matrix. Affordability Cost has been a major obstacle to widespread ESB adoption, and open source ESB software makes application integration affo

Biographies of regional and centre directors Regional directors Paul Johnstone – North of England Professor Paul Johnstone was director of public health for NHS North of England and substantively the regional director of public health for Yorkshire and the Humber since 2002. Paul has worked in many parts of the NHS, as a hospital doctor, GP and manager. He previously volunteered and worked .