A Technical Introduction to IBM Integration...

28
A Technical Introduction to IBM Integration Bus Martin Ross IBM 01/11/2016 Session JA

Transcript of A Technical Introduction to IBM Integration...

Page 2: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

• What is IBM Integration Bus

• Key Concepts

• Product overview

– System design

– User roles and environments

– Some other useful features

• Getting Started

Agenda

Page 3: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

What is IBM Integration Bus

• Rich IDE with unit test capability • Developer Edition • IBM Integration Community• Pattern based development• Open an extensible• OT4I GitHub repos

• Heterogeneous Integration• Extensive connectivity options• Version to Version compatible• Scalable• Available• Failover• Administration automation• Monitoring

• Analyse data in real-time• Embedded ODM• Analytics engine integration

• REST API• SaaS Java Acript APIs• MQTT Connector• JSON transformation• APIM integration

• IIB on Cloud• Deploy on AWS, Azure, SoftLayer• PureApp as a Service IIB Patterns• CHEF scripts

Cloud

Mobile & APIs

• Healthcare• Retail• Manufacturing• And more..

Platforms

Open & Developer focussed

IndustryAnalytics

Page 4: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

What is IBM Integration Bus

MQ

Page 5: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Message Flows

Output targetTransform

Input source Output target

Output target (Failure)

• Reusable

• Scalable

• Transactional

Page 7: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

• The building blocks of message

flows

• Each node type performs a

different (input, output or

processing) action

• Many different node types

– Grouped into logical categories in

the editor

Nodes

Page 8: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Lots of Nodes are Built in

Page 9: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Node Anatomy

input terminal

input connection

output connection

node

input message

tree output terminals

Failure terminal

output message

trees

Properties

Action

Page 10: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

The Parser and Message Tree

…draCscihparG,htimSderF

Input Message Bit-stream

…n/<htimS.rM>eman<>redro<

Output Message Bit-stream

Parser converts

bit-stream to

logical tree

Model

Parser converts

logical tree to bit-

stream

Model

Page 11: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Message Model

<order>

<name>

<first>John</first>

<last>Smith</last>

</name>

<item>Graphics Card</item>

<quantity>32</quantity>

<price>200</price>

<date>2007-11-14</date>

</order>

Order

Name Item Qty Price Date

First LastStrin

g

String

String Integer Integer Date

Physical Logical

XM

L

{“order”:

{“name”:

{“first”:”John”,

“last”:”Smith”},

“item”:”Graphics Card”,

“quantity”:32,

“price”:200,

“date”:”2007-11-14”}} JS

ON

John,Smith,Graphics Card,

32,200,07/11/14

CS

V

John Smith............

Graphics Card.........

3220020071114......... CB

L

.XSD.DFDL

.DFDL

Page 12: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Creating Message Models

Message Model

C Header

XML

Schema

COBOL

Copybook

WSDL

Import

Discover

(e.g. SAP,

Siebel,

PeopleSoft,

Database)

StandardSOAP, MIME,

CSV EDIFACT,

SWIFT X12,

HL7, ISO8583,

TLOG, FIXML,

ARTS ….

Define

your ownDFDL Editor

and Tester

XSD editor

Parsers

IBM Integration Bus

Page 13: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Powerful transformation and programming

options

• Graphical, easy to use

• Drag and Drop fields, apply functions

• XML to XML Transformation

• Uses standard XSL Stylesheets

• Describe powerful transformations quickly

• Uses SQL-based language (ESQL)

• Uses Java programming language

• Ability to use XPath, JAXB

• Invoke general purpose logic in any .NET supported language

• Windows only

Page 14: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Easily Address Message Elements

public class jcn extends MbJavaComputeNode {

public void evaluate(MbMessageAssembly assembly) throws MbException {

...

String lastName =

(String)assembly.getMessage().evaluateXPath(“/Body/Order/Name/Last”);

...

}

}

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);

ENDIF;

Page 15: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Easily Address Message Elements

Page 16: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

IBM and third-party extensions

• Many other nodes and features available through product extensions

• Write your own User-Defined Nodes or Connectors

– Native node framework available in C and Java

– OT4i connector framework provides means to implement full lifecycle, including endpoint

discovery

V4.0.0.0June 2015

V1.0.0.0Jun 2014

V1.0.0.1Oct 2014

Page 17: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Applications and LibrariesIntegration Services and REST APIs

• Containers to develop, deploy and manage your integration solutions.

• Application

– Group resources for a specific integration solution

– Applications can reference libraries

• Library

– Group common resources for reuse

– Shared libraries provide full resource reuse

– deploy and manage one copy of those resources

• Integration Service

– Specialised application – Implement a Web Service described by a

WSDL

• REST API

– Specialised application - Implement a REST API described by a

swagger document.

Page 18: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Architected for Performance and Scalability

Shared Libraries

Page 19: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

User Roles and Environments

• Integration Developer

– Develops message flows,

message models etc.

– Unit Tests on local machine

– Creates Broker Archive (BAR)

files containing required

artefacts

• Administrator

– Customizes BAR for target

environment

– Deploys BAR to target node

– Node and Server

management and operational

control

– Monitoring

Development Test QA Production

Page 20: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

IBM Integration Bus on Cloud

• A fully managed Integration Bus service

Page 22: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Hybrid Cloud Deployment

• IIB ‘Switch’ agent makes secure outbound

connection to IIB on Cloud

– Mutually authenticated TLS

– Each customer has dedicated switch server in

the cloud

– No need to open ports in on-prem firewall

• MQ (client) and database connections can be

made from flow in cloud to on-prem queue

manager or database

– Without any changes to IIB flow, or BAR file

DB2

MQ

On-prem systems of record

IIB Switch

secure connection

Page 23: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Hybrid Cloud Deployment

• ‘Callable flows’

– A flow running on-prem can directly

invoke flow running in the cloud

– And vice-versa

– Routed through IIB Switch

– Dynamic routing

• New nodes

– Flow invoke, Callable input/output

• Also supports invocation between

multiple on-prem IIB nodes

– For distributed processing

IIB Switch

secure connection

On-prem Integration Bus v10

Page 24: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Some Other Useful Features

MyVar = Cache.Value;IIB Node 1 IIB Node 2

Cache.Value = 42;

Cache.Value = 42;

v7v8

v9

v10

Page 27: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

• Universal connectivity from anywhere, to anywhere

• Comprehensive protocols, transports, data formats and processing

– Connect to applications, services, systems and devices

– Understands the broadest range of data formats

• Simple programming with patterns and graphical data flows

– Patterns for top-down, parameterized connectivity of common use

cases

– Graphical data flows represent application and service connectivity

• Extensive management, performance and scalability

• New IBM Integration Bus on Cloud fully managed service

– Sign up for a free trial

• Download and use Developer Edition

– Fully functional and free (for dev / test)

Summary

Page 28: A Technical Introduction to IBM Integration Busconferences.gse.org.uk/attachments/presentations/LrooLp_1477951774.pdfA Technical Introduction to IBM Integration Bus Martin Ross IBM

Session feedback

• Please submit your feedback at

http://conferences.gse.org.uk/2016/feedback/JA

• Session is JA