InterConnect
2017
HHI-2158
Technical Introduction to
IBM Integration Bus
Geza Geleji
Development, IBM Integration Bus
1 3/29/2017
2 3/29/2017
Please note
IBM’s statements regarding its plans, directions, and intent
are subject to change or withdrawal without notice at IBM’s
sole discretion.
Information regarding potential future products is intended to
outline our general product direction and it should not be relied
on in making a purchasing decision.
The information mentioned regarding potential future products
is not a commitment, promise, or legal obligation to deliver
any material, code or functionality. Information about potential
future products may not be incorporated into any contract.
The development, release, and timing of any future features
or functionality described for our products remains at our sole
discretion.
Performance is based on measurements and projections
using standard IBM benchmarks in a controlled environment.
The actual throughput or performance that any user will
experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in
the user’s job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no
assurance can be given that an individual user will achieve
results similar to those stated here.
IIB Sessions at InterConnect 2017
3 3/29/2017
In case slide decks aren’t your thing…
▪ https://developer.ibm.com/integration
▪ Lots of blog entries, regular updates and links to product demo
videos! All our recent enablement material is on YouTube.
4 3/29/2017
Async Callable Flow Invoke Nodes https://youtu.be/btFcvdleDMw
Running IIB in BlueMix Container Service https://youtu.be/ybGOiPZO3sY
IIB and Kibana dashboards https://youtu.be/sCPrT2dHKSs
IIB and Hybrid Connect https://youtu.be/gWbxIooq3_g
IIB and LDAP https://youtu.be/HrqY9MyfzNs
IIB LoopBack Request node https://youtu.be/rUK_OQ5-Anw
Using IIB to integrate with MongoDB and Cloudant https://youtu.be/Is1pphngUlM
Using IIB for REST, Graphical Mapping & Salesforce https://youtu.be/XIK6QvNSHdY
IIB, Kafka and Twilio SMS https://youtu.be/7mCQ_cfGGtU
Using Kafka with IIB https://youtu.be/kYv0crxL86Y
Consuming REST APIs using the IIB REST Request node https://youtu.be/C_6gPlrCHZQ
Easy demo of an IIB App Connect node https://youtu.be/StwPbOiFKzk
5 3/29/2017
What is IBM Integration Bus?
IBM Integration Bus is the new name for WebSphere Message Broker
▪ technology progression over 15 years, installed at 2500+ customers worldwide across all industries
▪ fully supported worldwide by IBM global support network, standard 5 + 3 years support policy
▪ version to version migration is key design consideration
▪ global skills availability - SMEs available globally via IBM and partners
▪ close interaction with growing and loyal customer base: beta and lab advocacy programs
▪ also incorporates WebSphere ESB use-cases
Edge
MQ, JMS,
MSMQ
Healthcare
Retail
Web Services
FilesERP/EIS/CRM
Web 2.0 Mobile
Mainframe
CICS/IMS
Devices Applications
Microsoft Databases
Integration
Gateway Integration BusIBM’s Strategic
Integration Technology
Single engineered
product for .NET, Java
and fully heterogeneous
integration scenarios
DataPower continues to
evolve for integration
gateway use cases
FAST LIGHT
DEPLOYMENT
VIRTUAL-
IZATION
SUPPORT
STATELESS
ENGINE
DISTRIBUTED
DEPLOY
READY
DEVOPS
TOOLING
SUPPORT
CLOUD
FIRST
JSON /
REST
SUPPORT
CONNEC-
TIVITY
IBM Integration Bus - A Lightweight Integration Runtime
7 3/29/2017
Message
Flows Message
Models
Transformation &
Orchestration
Tooling
• Reusable
• Transactional
8 3/29/2017
Message Flows
output target
(failure)
input source output targetroute
output targetmapping
9 3/29/2017
Message Flow example
10 3/29/2017
Message Flow nodes
11 3/29/2017
Message
ModelsMessage
Flows
Transformation &
Orchestration
Tooling
12 3/29/2017
Parsers
Parser converts
bit-stream to
logical structure
Model
…draCscihparG,htimSderF
input message bit stream
…n/<htimS.rM>eman<>redro<
output message bit stream
Parser converts
logical structure
to bit-stream
Model
13 3/29/2017
Message Modeling
<order>
<name>
<first>John</first>
<last>Smith</last>
</name>
<item>Graphics Card</item>
<quantity>32</quantity>
<price>200</price>
<date>07/11/09</date>
</order>
John,Smith,Graphics Card,
32,200,07/11/09
John Smith............
Graphics Card.........
3220020071109.........
order
name
first
String
last
String
item
String
qty.
Integer
price
Integer
date
Date
Physical Logical
Standards based model
definitions:
• XML
• DFDL
14 3/29/2017
Creating Message Models
Message Model
C Header
XML
Schema
COBOL
Copybook
WSDL
DTD
File Import
Business
Object
Discovery
(e.g. SAP,
Siebel,
PeopleSoft)
Pre-built
SOAP, MIME,
CSV, IDOC,
SWIFT,
EDIFACT, X12,
FIX, HL7,
etc.
Define
your own
using the
Eclipse-based
Tooling
IBM Integration Bus parsers
15 3/29/2017
Transformation &
Orchestration
Message
Flows
Message
Models
Tooling
16 3/29/2017
Message Transformation Options
Mapping
• graphical, easy
to use
• drag and drop
fields, apply
functions
• embed Java
programs
• ability to use
XPath for tree
access, JAXB
Java Compute
• describe powerful
transformations
quickly
• uses SQL-based
language (ESQL)
Compute
• convert XML
to anything
• uses standard
XSL Style
sheets
XSL Transform
• use any of the
40+ .NET
languages (e.g.
C#, VB.NET)
• access COM
objects
• Windows only
.NETCompute
17 3/29/2017
Easily Address Message Elements
IF Body.Order.Date < ‘2008/01/01’ THEN
INSERT INTO Database.OldOrders (LastName,Item,Quantity)
VALUES (Body.Order.Name.Last,
Body.Order.Item,
Body.Order.Quantity);
END IF;
Compute
Java Compute
String lastName = (String)assembly.getMessage().evaluateXPath("/Body/Order/Name/Last");
Object inMsgJavaObj = jaxbContext.createUnmarshaller().unmarshal(inMessage.getDOMDocument());
SaleEnvelope saleEnvelope = (SaleEnvelope) inMsgJavaObj;
SaleListA saleListOut = new SaleListA();
// [...]
SaleEnvelopeA saleEnvelopeOut = new SaleEnvelopeA();
saleEnvelopeOut.setSaleListA(saleListOut);
Object outMsgJavaObj = saleEnvelopeOut;
Document outDocument = outMessage.createDOMDocument(MbXMLNSC.PARSER_NAME);
jaxbContext.createMarshaller().marshal(outMsgJavaObj, outDocument);
18 3/29/2017
Easily Address Message Elements
Mapping
Route
19 3/29/2017
Tooling
Message
Flows
Message
Models
Transformation &
Orchestration
20 3/29/2017
What’s inside?
External
system
External
system
Version
control
system
IBM Integration Bus
Integration Node
Integration Server
Application
Libraries
Application
Libraries
Message flows
Message flows
Message flows
Integration Server
Message flows
IBM
Integration
web user
interface
WebSphere
Application
Server
administrative
console
IBM
Integration
Explorer
IBM
Integration
Toolkit
HTTP and
Java
administration
clients
21 3/29/2017
Development: The Integration Toolkit
• Eclipse based tooling for
developing integrations
• Easy “getting started”
accelerators, tutorials,
examples
• Create, manage and deploy
various deployable containers
for runtime artefacts such as
Applications, Libraries,
Integration Services, REST
APIs
22 3/29/2017
Administration: The Web User Interface
• Administer deployed
artefacts, configurable
services, policies,
monitoring, business
transactions, etc.
23 3/29/2017
View Runtime Statistics Using The Web User Interface
• control statistics at all levels
• easily view and compare flows, helping
to understand which are processing the
most messages or have the highest
elapsed time
• easily view and compare nodes,
helping to understand which have the
highest CPU or elapsed times.
• view all statistics metrics available for
each flow
24 3/29/2017
IBM Integration Bus on Cloud
• A fully managed Integration Bus SaaS offering
25 3/29/2017
Notices and disclaimers
Copyright © 2017 by International Business Machines Corporation (IBM).
No part of this document may be reproduced or transmitted in any form
without written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to
products that have not yet been announced by IBM) has been reviewed
for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no
responsibility to update this information. This document is distributed
“as is” without any warranty, either express or implied. In no event
shall IBM be liable for any damage arising from the use of this
information, including but not limited to, loss of data, business
interruption, loss of profit or loss of opportunity. IBM products and
services are warranted according to the terms and conditions of the
agreements under which they are provided.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product
plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a
controlled, isolated environments. Customer examples are presented
as illustrations of how those customers have used IBM products and
the results they may have achieved. Actual performance, cost, savings or
other results in other operating environments may vary.
References in this document to IBM products, programs, or services
does not imply that IBM intends to make such products, programs or
services available in all countries in which IBM operates or does
business.
Workshops, sessions and associated materials may have been prepared
by independent session speakers, and do not necessarily reflect the
views of IBM. All materials and discussions are provided for informational
purposes only, and are neither intended to, nor shall constitute legal or
other guidance or advice to any individual participant or their specific
situation.
It is the customer’s responsibility to insure its own compliance with legal
requirements and to obtain advice of competent legal counsel as to
the identification and interpretation of any relevant laws and regulatory
requirements that may affect the customer’s business and any actions
the customer may need to take to comply with such laws. IBM does not
provide legal advice or represent or warrant that its services or products
will ensure that the customer is in compliance with any law.
26 3/29/2017
Notices and disclaimers
continued
Information concerning non-IBM products was obtained from the
suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products in
connection with this publication and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be
addressed to the suppliers of those products. IBM does not warrant the
quality of any third-party products, or the ability of any such third-party
products to interoperate with IBM’s products. IBM expressly disclaims
all warranties, expressed or implied, including but not limited to, the
implied warranties of merchantability and fitness for a particular,
purpose.
The provision of the information contained herein is not intended to, and
does not, grant any right or license under any IBM patents, copyrights,
trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS,
Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services®,
Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®,
IBM Social Business®, Information on Demand, ILOG, Maximo®,
MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower,
PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®,
PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®,
SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®,
Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and
System z® Z/OS, are trademarks of International Business Machines
Corporation, registered in many jurisdictions worldwide. Other product
and service names might be trademarks of IBM or other companies. A
current list of IBM trademarks is available on the Web at "Copyright and
trademark information" at: www.ibm.com/legal/copytrade.shtml.
InterConnect
2017
Thank you!
27 3/29/2017
Geza Geleji
gezagel@uk.ibm.com

Technical Introduction to IBM Integration Bus

  • 1.
    InterConnect 2017 HHI-2158 Technical Introduction to IBMIntegration Bus Geza Geleji Development, IBM Integration Bus 1 3/29/2017
  • 2.
    2 3/29/2017 Please note IBM’sstatements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3.
    IIB Sessions atInterConnect 2017 3 3/29/2017
  • 4.
    In case slidedecks aren’t your thing… ▪ https://developer.ibm.com/integration ▪ Lots of blog entries, regular updates and links to product demo videos! All our recent enablement material is on YouTube. 4 3/29/2017 Async Callable Flow Invoke Nodes https://youtu.be/btFcvdleDMw Running IIB in BlueMix Container Service https://youtu.be/ybGOiPZO3sY IIB and Kibana dashboards https://youtu.be/sCPrT2dHKSs IIB and Hybrid Connect https://youtu.be/gWbxIooq3_g IIB and LDAP https://youtu.be/HrqY9MyfzNs IIB LoopBack Request node https://youtu.be/rUK_OQ5-Anw Using IIB to integrate with MongoDB and Cloudant https://youtu.be/Is1pphngUlM Using IIB for REST, Graphical Mapping & Salesforce https://youtu.be/XIK6QvNSHdY IIB, Kafka and Twilio SMS https://youtu.be/7mCQ_cfGGtU Using Kafka with IIB https://youtu.be/kYv0crxL86Y Consuming REST APIs using the IIB REST Request node https://youtu.be/C_6gPlrCHZQ Easy demo of an IIB App Connect node https://youtu.be/StwPbOiFKzk
  • 5.
    5 3/29/2017 What isIBM Integration Bus? IBM Integration Bus is the new name for WebSphere Message Broker ▪ technology progression over 15 years, installed at 2500+ customers worldwide across all industries ▪ fully supported worldwide by IBM global support network, standard 5 + 3 years support policy ▪ version to version migration is key design consideration ▪ global skills availability - SMEs available globally via IBM and partners ▪ close interaction with growing and loyal customer base: beta and lab advocacy programs ▪ also incorporates WebSphere ESB use-cases Edge MQ, JMS, MSMQ Healthcare Retail Web Services FilesERP/EIS/CRM Web 2.0 Mobile Mainframe CICS/IMS Devices Applications Microsoft Databases Integration Gateway Integration BusIBM’s Strategic Integration Technology Single engineered product for .NET, Java and fully heterogeneous integration scenarios DataPower continues to evolve for integration gateway use cases
  • 6.
  • 7.
  • 8.
    • Reusable • Transactional 83/29/2017 Message Flows output target (failure) input source output targetroute output targetmapping
  • 9.
  • 10.
  • 11.
  • 12.
    12 3/29/2017 Parsers Parser converts bit-streamto logical structure Model …draCscihparG,htimSderF input message bit stream …n/<htimS.rM>eman<>redro< output message bit stream Parser converts logical structure to bit-stream Model
  • 13.
    13 3/29/2017 Message Modeling <order> <name> <first>John</first> <last>Smith</last> </name> <item>GraphicsCard</item> <quantity>32</quantity> <price>200</price> <date>07/11/09</date> </order> John,Smith,Graphics Card, 32,200,07/11/09 John Smith............ Graphics Card......... 3220020071109......... order name first String last String item String qty. Integer price Integer date Date Physical Logical Standards based model definitions: • XML • DFDL
  • 14.
    14 3/29/2017 Creating MessageModels Message Model C Header XML Schema COBOL Copybook WSDL DTD File Import Business Object Discovery (e.g. SAP, Siebel, PeopleSoft) Pre-built SOAP, MIME, CSV, IDOC, SWIFT, EDIFACT, X12, FIX, HL7, etc. Define your own using the Eclipse-based Tooling IBM Integration Bus parsers
  • 15.
  • 16.
    16 3/29/2017 Message TransformationOptions Mapping • graphical, easy to use • drag and drop fields, apply functions • embed Java programs • ability to use XPath for tree access, JAXB Java Compute • describe powerful transformations quickly • uses SQL-based language (ESQL) Compute • convert XML to anything • uses standard XSL Style sheets XSL Transform • use any of the 40+ .NET languages (e.g. C#, VB.NET) • access COM objects • Windows only .NETCompute
  • 17.
    17 3/29/2017 Easily AddressMessage Elements IF Body.Order.Date < ‘2008/01/01’ THEN INSERT INTO Database.OldOrders (LastName,Item,Quantity) VALUES (Body.Order.Name.Last, Body.Order.Item, Body.Order.Quantity); END IF; Compute Java Compute String lastName = (String)assembly.getMessage().evaluateXPath("/Body/Order/Name/Last"); Object inMsgJavaObj = jaxbContext.createUnmarshaller().unmarshal(inMessage.getDOMDocument()); SaleEnvelope saleEnvelope = (SaleEnvelope) inMsgJavaObj; SaleListA saleListOut = new SaleListA(); // [...] SaleEnvelopeA saleEnvelopeOut = new SaleEnvelopeA(); saleEnvelopeOut.setSaleListA(saleListOut); Object outMsgJavaObj = saleEnvelopeOut; Document outDocument = outMessage.createDOMDocument(MbXMLNSC.PARSER_NAME); jaxbContext.createMarshaller().marshal(outMsgJavaObj, outDocument);
  • 18.
    18 3/29/2017 Easily AddressMessage Elements Mapping Route
  • 19.
  • 20.
    20 3/29/2017 What’s inside? External system External system Version control system IBMIntegration Bus Integration Node Integration Server Application Libraries Application Libraries Message flows Message flows Message flows Integration Server Message flows IBM Integration web user interface WebSphere Application Server administrative console IBM Integration Explorer IBM Integration Toolkit HTTP and Java administration clients
  • 21.
    21 3/29/2017 Development: TheIntegration Toolkit • Eclipse based tooling for developing integrations • Easy “getting started” accelerators, tutorials, examples • Create, manage and deploy various deployable containers for runtime artefacts such as Applications, Libraries, Integration Services, REST APIs
  • 22.
    22 3/29/2017 Administration: TheWeb User Interface • Administer deployed artefacts, configurable services, policies, monitoring, business transactions, etc.
  • 23.
    23 3/29/2017 View RuntimeStatistics Using The Web User Interface • control statistics at all levels • easily view and compare flows, helping to understand which are processing the most messages or have the highest elapsed time • easily view and compare nodes, helping to understand which have the highest CPU or elapsed times. • view all statistics metrics available for each flow
  • 24.
    24 3/29/2017 IBM IntegrationBus on Cloud • A fully managed Integration Bus SaaS offering
  • 25.
    25 3/29/2017 Notices anddisclaimers Copyright © 2017 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied. In no event shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data, business interruption, loss of profit or loss of opportunity. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.” Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 26.
    26 3/29/2017 Notices anddisclaimers continued Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a particular, purpose. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services®, Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 27.