Introduction to IBM Integration Bus (IIB) - WebSphereRus

952 downloads 30316 Views 10MB Size Report
© 2012 IBM Corporation Introduction to IBM Integration Bus (IIB) Subhajit Maitra – IT Specialist, System Z Software, zChampion-maitras@@us.ibm.com
Subhajit Maitra – IT Specialist, System Z Software, zChampion- maitras@@us.ibm.com

Introduction to IBM Integration Bus (IIB)

V9.0.0.1

© 2012 IBM Corporation

Agenda ƒ What is IIB (Message Broker)? ƒ Programming Concepts – Message Flows – Nodes – Message Model ƒ Product Overview – Components – Architecture – IIB on z/OS ƒ What’s new in Message Broker V8 ƒ What’s new in IBM Integration Bus V9

1

© 2012 IBM Corporation

WebSphere Message Broker

Introducing IBM Integration Bus ƒ IBM’s Strategic Integration Technology – Single engineered product for .NET, Java and fully heterogeneous integration scenarios – DataPower continues to evolve as IBM’s integration gateway Integration Gateway

Edge

ƒ A Natural Evolution for WebSphere Message Broker users – Significant innovation and evolution of WMB technology base – New features for Policy-based WLM, BPM integration, Business rules and .NET ƒ – – –

2

Designed to incorporate WebSphere Enterprise Service Bus use cases Capabilities of WESB are folded in to IBM Integration Bus over time Conversion tools for initial use cases built in to IIB from day one WESB technology remains in market, supported. Migrate to Integration Bus when ready IBM Integration Bus V9

© 2013 IBM Corporation

Product Roadmap IBM Integration Bus V9 Q2 2013 Policy-based Workload Management and Flow Management Web-based Visualization and Performance Analysis MQ and Database Service Discovery Business Rules and BPM Integration .NET Input, Dynamics, MSMQ

IBM's plans, directions, and intent are subject to change or withdrawal

V9 FP1 Q4 2013

Message Broker V8 FP2 Q1 2013 Message Broker V8 FP1 Q2 2012 Message Broker V8 Q4 2011

Healthcare Connectivity Pack V8 Q1 2013

Healthcare Connectivity Pack V7 FP2 Q1 2012

3

DICOM Medical Imaging Web-based Operational Monitoring CDA Analytics and Reporting Message Broker V8 Exploitation

IBM Integration Bus V9

Healthcare Connectivity Pack V8 FP1 Q3 2013

© 2013 IBM Corporation

IBM Software Group

What is an “Enterprise Service Bus (ESB)”? "Gartner estimates that up to 30% of the cost of implementing an application is related to the development of the interfaces” (Gartner, January 2000)

Application B

Application A

CICS

IBM Integration Bus Adapter

Adapter

Transport

Transport

• The “Broker” (or “hub” or “gateway” or …) is central and the intermediary between the applications • It typically has responsibility for routing and transforming data between the applications • A Broker must be polyvalent with support for multiple data formats and protocols, extremely reliable and scalable

© 2013 IBM Corporation

IIB z/OS

4

IBM Software Group

Business value of an ESB • Traditional communications • Point to point • Each application must adapt the data to its particular need • The number of transformations grows exponentially n*(n-1) • Communications with a ESB

ESB

• Hub ‘n spoke logic • Maintenance can be centralised • Promotes reutilisation (Note: although an ESB appears architecturally as a single middle point, scalability and high-availability requirements imply that multiple physical hubs are required)

© 2013 IBM Corporation

IIB z/OS

5

IBM WebSphere System Z Software

What is IBM Integration Bus? ƒ IBM Integration Bus enables “universal connectivity” by integrating protocols, message formats and mediation patterns – Emphasis on application re-use

ƒ Fits naturally with WebSphere MQ – Robust, scalable architecture – Optimized for high throughput – Flexible broker topologies

ƒ Three programming constructs are used: – Message Flows – Nodes – Message Models

© 2011 IBM Corporation

6

IBM Software Group

IBM Integration Bus (formerly WMB)… ƒ Routes, Transforms, Augments “messages” ƒ Supports multi-format (XML, SOAP, fixed, variable length, tagged, SWIFT, IDOC, etc.) ƒ Accepts multi-protocol (HTTP, JMS, MQ, SOAP, TCP/IP, local files, FTP, etc.) ƒ Offers full database support (DB2, Oracle, Informix, Microsoft SQL Server, Sybase, etc.) ƒ Supports common ERP and EIS interfaces (CICS, IMS, SAP, PeopleSoft, Siebel, etc.) ƒ Provides a drag ‘n drop visual development based upon Eclipse, supporting a variety of development languages (Java, eSQL, XSLT, PHP, .Net, etc.) ƒ Offers a scalable, high-performance, resilient, low-latency “execution container” ƒ Provides transactional (2PC) support (MQ, DB2) ƒ Supports Point-To-Point, Pub/Sub, Event, Synchronous and Asynchronous message processing styles ƒ Includes full life-cycle tooling (development, administration, runtime) ƒ Is extensible with open parser, node & administration interfaces ƒ Supports all major hardware and O/S platforms © 2013 IBM Corporation

IIB z/OS

7

IBM WebSphere System Z Software

Application Connectivity

ƒ Protocols – e.g. MQ, TCP/IP, HTTP, File system, FTP, SMTP etc.

ƒ Message Formats – e.g. Binary (C/COBOL), XML, Industry (SWIFT, EDI, HL7), User-defined

ƒ Mediation Patterns – e.g. Route, Transform, Enrich, Filter, Monitor, Distribute, Decompose, Correlate, Fire and Forget, Request/Reply, Publish/Subscribe, Aggregation, Fan-in, Complex Event Processing © 2011 IBM Corporation

8

IBM WebSphere System Z Software

Mediation Patterns – Routing and Transformation MQ

MQ

Mr. Smith, Graphics Card, 32, 100, 11/07/2009

WS

[Customer, Order, Quantity, Price, Date] John Smith Graphics Card 32 200 07/11/2009 [Customer, Order, Quantity, Price, Date]

© 2011 IBM Corporation

9

IBM WebSphere System Z Software

Application Connectivity with IIB

MQ

MQ

WS

ƒ IIB can act as an intermediary ƒ Flexible topologies

© 2011 IBM Corporation

10

IBM WebSphere System Z Software

Message Flows Output target (Failure)

Input source

Output target

ƒ Reusable ƒ Scalable ƒ Transactional

Transform

© 2011 IBM Corporation

Output target

11

IBM WebSphere System Z Software

Message Flow Example

© 2011 IBM Corporation

12

IBM WebSphere System Z Software

Nodes ƒ 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 message flow editor

© 2011 IBM Corporation

13

Lots of Nodes are Built in [1]

14

© 2012 IBM Corporation

WebSphere Message Broker

Lots of Nodes are Built in [2]

ƒ Many other nodes available through product extensions and supportpacs – For example, WebSphere TX, Tibco RV, VSAM, QSAM ƒ Write your own User-Defined Nodes in C or Java

15

© 2012 IBM Corporation

WebSphere Message Broker

Node Terminology node

error terminal

output connectors

input connector

input message tree

16

© 2012 IBM Corporation

input terminal

Action output terminals

WebSphere Message Broker

output message trees

IBM Software Group

The Integration Toolkit ● The GUI used for all ESB development tasks ● Eclipse based, standard interface for Windows or Linux (http://www.eclipse.org/org/) ● Provides various “perspectives” for different tasks to be performed Message Flow Developer Perspective Debug Perspective Java Perspective etc…

● Let’s take a closer look at it…….

© 2013 IBM Corporation

IIB z/OS

17

IBM Software Group

The Integration Toolkit tour

Navigator pane Editor pane

Outline pane © 2013 IBM Corporation

Properties IIB z/OS

18

IBM Software Group

Integration Toolkit - Flow definition

● ● ● ● ●

© 2013 IBM Corporation

A “flow” defines the handling of a message The IIB Toolkit is used to define a sequence of Nodes representing actions Each Node allows for customisation “Drag ‘n Drop” development for many standard operations Some nodes allow complex operations (eg. Compute, JavaCompute, XSLT)

IIB z/OS

19

IBM WebSphere System Z Software

Patterns

A pattern is a reusable solution that encapsulates a tested approach to solving a common architecture, design, or deployment task in a particular context.

© 2011 IBM Corporation

20

IBM Software Group

Pattern example 1.Select a pattern

5. Name artifacts it! Working flow generated! 2. Validate That’s it

4. Input Q info 3. Fill in basic info

© 2013 IBM Corporation

IIB z/OS

21

IBM WebSphere System Z Software

Message Modeling Fred Smith

struct { int height; int age; char firstname[24]; char lastname[24]; } Person; 172

32

Fred

TYPE

Person

age

name

height

integer

integer

Smith

first

last

string

string

PER + 172 + 32 + Fred Smith

© 2011 IBM Corporation

22

IBM WebSphere System Z Software

The Logical Message Model - Addressing InputRoot

Properties

MQMD

OutputRoot

Body

Properties

CustomerOrderMessage Item

Age

First

Examples:

Item

Name

Other

Body

SupplySystemMessage

Person

Address

MQMD

Height

Supplier

DespatchTo

ID

Address

Last InputRoot.Body.CustomerOrderMessage.Person.Age

ƒ Update NAMESDB with the value of InputRoot.Body.CustomerOrderMessage.Person.Name.Last ƒ Set the output message OutputRoot.Body.SupplySystemMessage.DespatchTo field to be the value of the input message InputRoot.Body.CustomerOrderMessage.Address

© 2011 IBM Corporation

23

IBM WebSphere System Z Software

Parsers Model Input Message Bit-stream F r e d

S m i t h , G r a p h i c s

C a r d …

Parser converts logical structure to bit-stream

Parser converts bit-stream to logical structure < o r d e r > < n a m e > M r . S m i t h < / n …

Output Message Bit-stream

Model

© 2011 IBM Corporation

24

IBM WebSphere System Z Software

Creating Message Models C Header

COBOL WSDL Copybook Pre-built

XML Schema

DTD

Enterprise Information System

SOAP, MIME, CSV, IDOC, SWIFT, EDIFACT, X12, FIX, HL7, etc

(SAP, Siebel, PeopleSoft)

Define your own using the Eclipse-based Tooling

WebSphere Transformation Extender

File Import Message Set

Type tree

Parsers IBM Integration Bus

© 2011 IBM Corporation

25

IBM WebSphere System Z Software

Message Transformation

ƒ The conversion of one message format into another

ƒ Describe powerful transformations quickly

ƒ Uses Java programming language

ƒ Transform using PHP scripts

ƒ Uses SQL-based language (ESQL)

ƒ Ability to use XPath

ƒ PHP 5.2 compliant

ƒ Convert XML to anything

ƒ Run a WebSphere Transformation Extender map

ƒ Graphical, easy to use ƒ Drag and Drop fields, apply functions

© 2011 IBM Corporation

ƒ Uses standard XSL Style sheets

26

IBM WebSphere System Z Software

Examples of Message Addressing 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;

© 2011 IBM Corporation

27

IBM Software Group

Development

© 2013 IBM Corporation

ƒ When “drag ‘n drop” development with the standard nodes isn’t sufficient, programming can be done typically with eSQL (procedural language based upon the SQL99 standard), Java, PHP, .Net, XSLT or additional add-on extensions such as WTX ƒ Custom nodes can also be developed either in Java or C++ ƒ Toolkit supports tracing and interactive debugging ƒ Team development and administration is supported by scripting and/or standard market plugin extensions to the IIB Toolkit, eg. CVS, ClearCase, PVCS, TeamCode, etc. IIB z/OS

28

IBM Software Group

eSQL DataInsert

IF Root.XML.Person.Taille > 183 THEN INSERT INTO Database.MesGrandsCopains (Name,Height,Age) VALUES (Body.Person.Nom, Body.Person.Taille, Body.Person.Age); ENDIF;

Compute

IF (Body.Person.Name = ‘Carl’) THEN OutputRoot.Properties.MessageFormat = 'XML'; ELSE IF (Body.Person.Name = ‘Rudi’ ) OutputRoot.Properties.MessageFormat = 'CWF'; ELSE IF (Body.Person.Name = ‘Saad’) OutputRoot.Properties.MessageFormat = 'TDS'; ENDIF;

© 2013 IBM Corporation

Data types INTEGER FLOAT DECIMAL STRING DATETIME BOOLEAN REFERENCE NULL ... Operators - + * / || AND OR NOT = > >= <