Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Enterprise Integration Patterns Revisited (EIP)...

Kai Waehner
January 29, 2015

Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Internet of Things (IoT) and Cloud

Data exchanges between companies increase a lot. Hence, the number of applications, which must be integrated increases, too. The realization of these integration scenarios is a complex and time-consuming task because different applications and services do not use the same concepts, interfaces, data formats and technologies.

Originated and published over ten years ago by Gregor Hohpe and Bobby Woolf, Enterprise Integration Patterns (EIP) became the world wide de facto standard for describing integration problems. They offer a standardized way to split huge, complex integration scenarios into smaller recurring problems. This session revisits EIPs and gives an overview about the status quo and its relevance regarding modern concepts such as Big Data, Internet of Things or Microservices.

Fortunately, EIPs offer more possibilities than just being used for modeling integration problems in a standardized way. Several frameworks and tools already implement these patterns. The developer does not have to implement EIPs on his own. Therefore, the end of the session shows different open source frameworks and proprietary tools available, which can be used for modeling and implementing complex integration scenarios by using the EIPs.

Kai Waehner

January 29, 2015
Tweet

More Decks by Kai Waehner

Other Decks in Technology

Transcript

  1. Enterprise Integration Patterns Revisited for an Era of Big Data

    and Internet of Things Kai Wähner [email protected] @KaiWaehner www.kai-waehner.de Xing / LinkedIn  Please connect!
  2. Consulting Developing Coaching Speaking Writing Selling 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 – Email: [email protected] – Blog: www.kai-waehner.de/blog – Twitter: @KaiWaehner – Social Networks: Xing, LinkedIn
  3. Key Messages – Integration is the key factor for success

    in the future of IT! – Enterprise Integration Patterns are used everywhere! – Real time integration is the game changer in a Big Data and IoT world!
  4. Growing IT Infrastructure Everywhere • Applications • Interfaces • Technologies

    • Products • Cloud • Mobile • Internet of Things
  5. 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... Writing a lot of Glue Code?
  6. Custom Glue Code is no Option! • Standardized Modeling •

    Efficient Realization • Automatic Testing
  7. “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 What is a Design Pattern?
  8. “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 Enterprise Integration Patterns (EIP)
  9. 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
  10. Status Quo • Enterprise Integration Patterns do not change •

    Just technologies change • Implementations for EIPs are already available
  11. Complexity of Integration Enterprise Service Bus Integration Suite Low High

    Integration Framework Alternatives for Application Integration
  12. Kai Wähner - Enterprise Integration Patterns Revisited Complexity of Integration

    Enterprise Service Bus Integration Suite Low High Integration Framework INTEGRATION Connectivity Routing Transformation When to use an Integration Framework?
  13. Many further connectors Easy to create own components HTTP FTP

    File XSLT MQ JDBC Akka TCP SMTP RSS Quartz jclouds LDAP JMS EJB AMQP Atom AWS Bean-Validation CXF IRC Jetty JMX Lucene Netty RMI SQL Twitter MongoDB Connectivity
  14. Kai Wähner - Enterprise Integration Patterns Revisited Connectivity Routing Transformation

    INTEGRATION Tooling Monitoring Support Complexity of Integration Enterprise Service Bus Integration Suite Low High Integration Framework + When to use an Enterprise Service Bus?
  15. Enterprise Service Bus (ESB) Decision Data Conversion Transitions Process Call

    Process Design Tools Integration Processes Connectors to vendor applications Connectors to technologies Connectors (e.g. JMS, java, FTP) (e.g. SAP, SF.com) Enterprise Integration Patterns
  16. Example: TIBCO BusinessWorks Graphical Process Modeling Native Standards based XSLT

    Mapper Adapters, Services, Processes, Deployment, Management Drag-n-Drop Access to Resources Fully Integrated Test Environment Intuitive graphical design environment streamlines time and cost of development and training
  17. Adaptive Integration Approaches • One size does not fit all

    – Empower the business with a common set of tools to innovate and integrate – Bring new business solutions to the ICC once they have matured iSaaS: Self-Service Integration for DIY Integrators TIBCO™ Simplr™ Cloud Bus Comprehensive PaaS: Integration Platform as a Service Enterprise Business Users Department Audience Leading on-premise Enterprise Integration Platform BusinessWorks
  18. Simple Cloud Integration with TIBCO Simplr TIBCO Simplr™ is a

    subscription cloud service that makes it easy to automate moving of data between apps on the Web The images on this slide illustrate product features or functionality under consideration by TIBCO for inclusion in future releases or future products. If implemented, the actual functionality/design pattern may bear no resemblance to these images.
  19. Simple Cloud Integration with TIBCO Simplr • Connectors – SaaS

    APIs baked in a common user interface built by TIBCO (for now) • Recipes – Combinations of connectors preconfigured as “apps” – Just configure to your accounts – Customize as needed • Drag and Drop ease The images on this slide illustrate product features or functionality under consideration by TIBCO for inclusion in future releases or future products. If implemented, the actual functionality/design pattern may bear no resemblance to these images.
  20. Kai Wähner - Enterprise Integration Patterns Revisited Social Networks Location

    Weather Markets Marketing campaigns Sales results Textile manufacturing processes Shipping Manufacturing Delivery time © Copyright 2000-2014 TIBCO Software Inc. Everything is Connected
  21. Evolution of Integration Microservices Web APIs Real-time Web Oriented Architecture

    Enabling Technologies In-Memory, Multicore REST, JSON Demand Drivers Mobile, Cloud Fast Data, IoT Services Web Services Real-time Service Oriented Architecture Enabling Technologies XML, SOAP, WS-* Process Modeling Demand Drivers E-Commerce BPM Interfaces Adapters Real-time Enterprise Application Integration Enabling Technologies Client-Server Messaging Middleware Demand Drivers ERP Analytics Records Batch Jobs Non-realtime Enabling Technologies Mainframe ETL, Databases Data Integration Demand Drivers Data Processing MIS Are we there yet? Level-Up by utilizing the lessons, assets and practices of the previous Level Accelerating Productivity & Agility
  22. Enterprise Integration Patterns (EIPs) … • … are needed everywhere!

    • Not just in an Integration Framework or Enterprise Service Bus (ESB)!
  23. Acting in Real Time required! Time Business Value Business Event

    Data Ready for Analysis Analysis Completed Decision Made $$$$ $$$ $$ $ Action Taken Event Processing speeds action and increases business value by seizing opportunities while they matter
  24. Connectivity Routing Transformation Complexity of Integration Enterprise Service Bus Integration

    Suite Low High Integration Framework INTEGRATION Tooling Monitoring Support + API MANAGEMENT BIG DATA INTERNET OF THINGS STREAMING ANALYTICS „YOU NAME IT“ + When to use an Integration Suite?
  25. EIPs for Streaming Analytics Stream Processing for Real Time Processing

    of Big Masses of Data ( Fast Data) Example: TIBCO StreamBase
  26. EIPs for Open API and API Management Your Enterprise Closed

    APIs EDI Web B2B SOA FTP Pre-defined integration points Limited, trusted partners Strictly constrained interactions Enterprise friendly Open APIs Opportunistic access points Many partners, untrusted Encourage new ideas Developer friendly Your Enterprise Partners Innovators Known Parties Consumers Unknown Parties Suppliers Coopetition Employees API API API API API API API API API API API API API API API API API API API API
  27. EIPs for Business Logic (e.g. within Microservices) • Services implementing

    a limited set of business functions • Services developed, deployed and scaled independently Benefits • Shorter time to results • Increased flexibility Challenges • Duplication of efforts • Sustain Quality Back end Interfaces micro service Integration micro service Integration Integration API Gateway
  28. EIPs for Integration of “Internet of Everything”  Real Time

    Integration with Things, APIs, Business Processes, Cloud, Social, etc. http://blogs.cisco.com/ioe/how-the-internet-of-everything-will-change-the-worldfor-the-better-infographic
  29. Open Source Proprietary ESB Vendor == Integration Suite Vendor? Watch

    out! • All integrated within one product?  Vision! • Not integrated?  Often reality! • Loosely coupled, highly integrated?  Best choice!
  30. Custom combination of ESB, BPM, MDM, etc.? • A lot

    of glue code • Testing • Bugfixing • No support •„Full-stack vendors“ already had •the problems you would have!
  31. 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
  32. Future of EIPs: The GOOD News • New Patterns not

    necessary!  OFTEN – EIPs were based on Messaging already, which 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 (e.g. Stream Processing for Big Data / Fast Data, Internet of Things) – Stable, mature tools – New standards (MQTT, OMG's DDS, Eclipse Open IoT Stack, etc.) – Support for new hardware (iBeacons, OSIsoft Pi, Google Glass, etc.) – Ease of use (no coding) – Better scalability
  33. Complementary: SOA Design Patterns • Patterns for performance, scalability, and

    availability • Security and manageability patterns • Message exchange patterns • Service consumer patterns • Service integration patterns
  34. Future of Integration and EIPs Buy this book if you

    do not own it already! Integration will get even more important in the future than it is today! The number of different data sources and technologies increases even more than in the past: • CRM, ERP, Host, B2B, etc. will not disappear • DWH, Hadoop cluster, event / streaming server, In-Memory DB – all of them have to communicate • Cloud, Mobile, APIs, Big Data, Internet of Things are no option, but our future! EVERYTHING HAS TO BE INTEGRATED!
  35. Integration is the key factor for success in the future

    of IT! Enterprise Integration Patterns are used everywhere! Real time integration is the game changer in a Big Data and IoT world! Recap: Key Messages