ESBs and IBM Integration Bus (IIB) Juarez Barbosa Junior Senior Software Architect jbarbosa@ie.ibm.com ESB – Introduction • ESB – Enterprise Service Bus − IIB, Mule ESB, MS BizTalk, Oracle ESB, OpenESB, SAP PI, Talend, Apache Camel − An ESB acts as a message broker between Service Consumers and Service Providers. − The ESB can perform message transformations, mapping, routing and connection to applications via a variety of communication protocols. − Its primary use is in enterprise application integration (EAI) of heterogeneous, disparate and complex systems. − Its main architectural / integration principles: loose coupling, interoperability, endpoint and protocols abstraction, flexibility, agility, location and identity virtualization, easier interfacing, reduced costs, simplicity © IBM 2016 2 ESB - Introduction © IBM 2016 3 ESB – Introduction • An ESB middleware: − Identifies messages and routes them among applications and services − Enables messages to flow across different transport protocols as they move from service requestor to service provider and back again − Transforms message formats between requestor and service − Recognizes and distributes business events to and from different sources − Provides robust and secure communications − Creates an extensible architecture based on pluggable components − Provides intelligent routing and location-independent processing − Manages descriptions and definitions of messages and their formats through metadata − Integrates all types of assets to match the needs of your enterprise © IBM 2016 4 ESB – Enterprise Service Bus © IBM 2016 5 ESB – Enterprise Service Bus © IBM 2016 6 ESB – Introduction • ESB Integration Interaction Styles − SOAs in which applications communicate through reusable services with well-defined, explicit interfaces. Service-oriented interactions leverage underlying messaging and event communication models. − Message-driven architectures in which applications send messages through the ESB to receiving applications. − Event-driven architectures in which applications generate and consume messages independently of one another. © IBM 2016 7 ESB – Stack and Patterns © IBM 2016 8 ESB – Patterns © IBM 2016 9 IIB – Introduction • IIB – IBM Integration Bus − NEON, MSQI, WebSphere MQ Integrator, WBIMB, WMB, then merged with WESB -> IBM Integration Bus − Single engineered product for .NET, Java and fully heterogeneous integration scenarios − DataPower is also considered a component in IIB ecosystem − DataPower continues to evolve for integration gateway use-cases © IBM 2016 10 IIB – Technical Overview © IBM 2016 11 IIB – Architecture, Components, Concepts − − − − − IBM Integration Server / Integration Node IBM Integration Bus Web Interface (GUI) IBM Integration Toolkit IBM Integration Console Message Flow, Built-in Node Types, Patterns, BAR file, Message Models, Transformation Interfaces, Healthcare Pack, Javascript API − Integration with WMQ (in IIB v10 it’s not a strict requirement, depends on features you need to use) − Administrative role-based Security, HTTPS, User Roles − Operation Modes © IBM 2016 12 IIB – Integration Bus Web Interface © IBM 2016 13 IIB – Integration Toolkit (IIT) © IBM 2016 14 IIB – Message Flow © IBM 2016 15 IIB – Built-in Node - Terminology © IBM 2016 16 IIB – Built-in Nodes - Types © IBM 2016 17 IIB - Demo − − − − © IBM 2016 IBM Integration Console IBM Integration Toolkit IBM Integration Bus Web GUI Basic IIB Commands (IIT Commands, IIB Commands) − Some commands can be run only on the computer on which the integration node is running, and other commands can be run remotely − We have IIT (IBM Integration Toolkit - BARs and Message Defs ) commands as well as IIB (IBM Integration Bus - Integration Node Admin) commands − Start, Stop, List Integration Nodes, Start, Stop Flows, Retrieve Op Mode, IBM Integration Toolkit Debugging Demo 18