• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
 

Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)

on

  • 5,631 views

Applications have to be integrated – no matter which programming languages, databases or infrastructures are used. However, the realization of integration scenarios is a complex and time-consuming ...

Applications have to be integrated – no matter which programming languages, databases or infrastructures are used. However, the realization of integration scenarios is a complex and time-consuming task. Over 10 years ago, Enteprise Integration Patterns (EIP) became the world wide defacto standard for splitting huge, complex integration scenarios into smaller recurring problems. These patterns appear in almost every integration project.
This session revisits EIPs and gives shows status quo. After giving a short introduction with several examples, the audience will learn which EIPs still have a „right to exist“, and which new EIPs emerged in the meantime. The end of the session shows different frameworks and tools which already implement EIPs and therefore help the architect to reduce efforts a lot.

Statistics

Views

Total Views
5,631
Views on SlideShare
2,154
Embed Views
3,477

Actions

Likes
5
Downloads
0
Comments
0

7 Embeds 3,477

http://www.kai-waehner.de 2355
http://java.dzone.com 1072
http://architects.dzone.com 45
http://translate.googleusercontent.com 2
http://dzone.com 1
http://www.0x90.pl 1
http://www.linkedin.com 1
More...

Accessibility

Categories

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

    Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB) Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB) Presentation Transcript

    • Enterprise Integration Patterns revisited Kai Wähner kwaehner@talend.com @KaiWaehner www.kai-waehner.de 11/19/2013 © Talend 2013 1
    • 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 Contact Consulting Developing Coaching Speaking Writing © Talend 2013 Email: kwaehner@talend.com Blog: www.kai-waehner.de/blog Twitter: @KaiWaehner Social Networks: Xing, LinkedIn 2
    • Key Messages Do not reinvent the „integration wheel“! EIPs solve typical integration problems! There is good tool support for EIPs! © Talend 2013 3
    • Agenda • • • • • Application Integration Enterprise Integration Patterns Modeling Frameworks and Tools Future © Talend 2013 4
    • Agenda • • • • • Application Integration Enterprise Integration Patterns Modeling Frameworks and Tools Future © Talend 2013 5
    • Growing IT infrastructure everywhere! • Applications • Interfaces • Technologies • Products © Talend 2013 6
    • Heterogeneity Host  Client / Server  SOA  Cloud  Big Data  ... © Talend 2013 7
    • Spaghetti solutions „point-to-point hell“ © Talend 2013 8
    • The solution: application integration All roads lead to Rome ... © Talend 2013 9
    • Writing glue code? 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 2013 10
    • Wishes for integrators • Standardized Modeling • Efficient Realization • Automatic Testing © Talend 2013 11
    • Agenda • • • • • Application Integration Enterprise Integration Patterns Modeling Frameworks and Tools Future © Talend 2013 12
    • What is a (Design) Pattern? “A software design pattern, in the sense of a template, is a general solution to a problem in programming. A design pattern provides a reusable architectural outline that may speed the development of many computer programs.” http://en.wikipedia.org/wiki/Design_pattern © Talend 2013 13
    • Enteprise Integration Patterns (EIP) © Talend 2013 14
    • Enteprise Integration Patterns (EIP) “The goal of EIPs is to document technology-independent design guidance that helps developers and architects describe and develop robust integration solutions.” http://www.eaipatterns.com © Talend 2013 15
    • History of EIPs ➜ Talk from Gregor Hohpe • • • • ➜ WSO2 Con 2011 „History, present, future of EIP“ A lot about past (ideas, creation of book, ...) http://www.youtube.com/watch?v=Xwi1DU6KoQ4 Today‘s Talk • Not too much about history • Just about present and future © Talend 2013 16
    • Status Quo? Enterprise Integration Patterns do not change ➜ Just technologies change ➜ Implementations are already available ➜ © Talend 2013 17
    • EIP Example: Splitter http://www.eaipatterns.com © Talend 2013 18
    • EIP Example: Aggregator http://www.eaipatterns.com © Talend 2013 19
    • A + B + C = ABC Combining EIPs shows their true power! © Talend 2013 20
    • EIP Example: Composed Message Processer http://www.eaipatterns.com © Talend 2013 21
    • Agenda • • • • • Application Integration Enterprise Integration Patterns Modeling Frameworks and Tools Future © Talend 2013 22
    • Enterprise Integration Patterns © Talend 2013 23
    • Use Case © Talend 2013 24
    • Modeling Tools: Microsoft Visio © Talend 2013 25
    • Modeling Tool: OmniGraffle © Talend 2013 26
    • Agenda • • • • • Application Integration Enterprise Integration Patterns Modeling Frameworks and Tools Future © Talend 2013 27
    • Alternatives for application integration Integration Framework Low © Talend 2013 Enterprise Service Bus Integration Suite High Complexity of Integration 28
    • When to use an integration framework? Integration Framework Low Enterprise Service Bus Integration Suite High Complexity of Integration INTEGRATION Connectivity Routing Transformation © Talend 2013 29
    • Connectivity Integration of different Technologies © Talend 2013 30
    • Connectivity TCP SQL XSLT LDAP SMTP Netty JMS Jetty RMI FTP Lucene EJB JDBC Twitter Bean-Validation JMX MQ AMQP CXF Akka HTTP MongoDB © Talend 2013 Quartz jclouds Atom AWS File RSS IRC Many further connectors, even B2B such as SAP or Salesforce Easy to create own components 31
    • Integration Frameworks Integration implement © Talend 2013 32
    • Code example – Apache Camel (Java DSL) © Talend 2013 33
    • Code example – Apache Camel (XML DSL) © Talend 2013 34
    • Tools Support and Commercial support Integration © Talend 2013 35
    • More details about integration frameworks... http://www.kai-waehner.de/blog/2013/09/25/how-to-choose-the-right-open-source-integration-framework-apache-camel-jbosstalend-spring-integration-pivotal-or-mule-esb-javaone-2013/
    • When to use an Enterprise Service Bus? Enterprise Service Bus Integration Framework Low Connectivity Routing Transformation © Talend 2013 Integration Suite High + Complexity of Integration INTEGRATION Tooling Monitoring Support 37
    • Enterprise Service Bus (ESB) Business Applications ESB Partners (B2B) Browsers Rich Clients Connectivity Services Mobile Devices SERVICE CONTAINER SERVICE REGISTRY TRANSPORTS TRANSFORMATION ROUTING ORCHESTRATION MESSAGING SECURITY Web Portal REST © Talend 2013 Data Sources Web Services .NET / HTTP BPEL J2EE Server MQ Series, JMS ESB FILE, FTP 38
    • Example: Talend ESB © Talend 2013 39
    • Example: Talend ESB © Talend 2013 40
    • When to use an integration suite? Integration Suite Enterprise Service Bus Integration Framework Low Connectivity Routing Transformation © Talend 2013 High + INTEGRATION Tooling Monitoring Support + BUSINESS PROCESS MGT. BIG DATA / MDM REGISTRY / REPOSITORY RULES ENGINE „YOU NAME IT“ Complexity of Integration 41
    • ESB vendor == integration suite vendor? Proprietary Open Source © Talend 2013 42
    • Example: Talend Unified Platform Big Data Data Quality Data Integration MDM ESB BPM  Commercial license  Subscription model  Support included  Open source license  Free of charge Big Data Data Quality Data Integration MDM ESB  Optional support  Based on open source projects such as Eclipse or Apache Camel, CXF, Hadoop © Talend 2013 43
    • More details about ESBs and suites... http://www.kai-waehner.de/blog/2013/01/23/spoilt-for-choicehow-to-choose-the-right-enterprise-service-bus-esb/
    • Agenda • • • • • Application Integration Enterprise Integration Patterns Modeling Frameworks and Tools Future © Talend 2013 45
    • Future Of EIPs: The BAD News ➜ New Patterns (since release of the book)?  NOT YET • Conversations • Complex Event Processing • Error Handling ➜ More Details: „EIP Visions“  TO BE DETERMINED • • • • EIP I: Messaging  done EIP II: Conversations  50 page paper EIP III: Process  tbd EIP IV: Event Processing  tbd http://www.eaipatterns.com/ramblings/72_eipvolumes.html © Talend 2013 46
    • Future Of EIPs: The GOOD News ➜ New Patterns not necessary!  OFTEN • Messaging is a good thing (usually) • Conversations == State == Anti Pattern (often) • Integration scenarios can be solved with existing patterns (usually) ➜ Better Tooling  YES • More frameworks and products? • More users? © Talend 2013 47
    • Complementary: SOA Design Patterns Patterns for performance, scalability, and availability ➜ Security and manageability patterns ➜ Message exchange patterns ➜ Service consumer patterns ➜ Service integration patterns ➜ © Talend 2013 48
    • Did you get the key messages? © Talend 2013 49
    • Key Messages Do not reinvent the „integration wheel“! EIPs solve typical integration problems! There is good tool support for EIPs! © Talend 2013 50
    • Did you get the key messages? © Talend 2013 51
    • Thank you for your attention. Questions? KAI WÄHNER kwaehner@talend.com www.kai-waehner.de LinkedIn / Xing @KaiWaehner © Talend 2013 52