49
© 2014 IBM Corporation 1144: IBM Integration Bus Services, APIs, Applications, & Libraries Matthew Golby-Kirk, IBM UK

1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Embed Size (px)

DESCRIPTION

Presentation from IBM Impact 2014. IBM Integration Bus includes a number of features for grouping and sharing your integration resources that make it easier to develop and maintain integration solutions: applications provide a means of grouping resources for a specific integration problem; libraries group reusable integration components for easier sharing; integration services allow you to define the inputs, outputs and operations for an effective service oriented architecture; APIs provide convenient access to integration services from external systems. These concepts are integral to IBM Integration Bus and this session will describe them, give guidance on best practices for their use, and also describe the recent enhancements that makes working with them even easier.

Citation preview

Page 1: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

© 2014 IBM Corporation

1144: IBM Integration Bus

Services, APIs,

Applications, & LibrariesMatthew Golby-Kirk, IBM UK

Page 2: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

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.

Page 3: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

IBM Integration Bus This Week – Selected Sessions

Monday

• 2.30-3.30 Palazzo H – Integration Featured Session

• 4.00-5.00 Palazzo H – What's New in IIB

• 5.15-6.15 Palazzo H – Introduction to IIB

Tuesday

• 10.30-11.30 Palazzo H – Cloud Integration Options

• 10.30-11.30 San Polo 3502 – Meet The Experts

• 1.00-2.00 Palazzo H – WESB Conversion

• 1.00-2.00 Marcello 4403 – IIB Retail Integration Pack

• 1.00-3.15 Murano 3303 – IIB V9 Lab

• 2.15-3.15 Palazzo H – Designing for Performance

• 3.45-4.45 Palazzo H – Mobile Integration

• 5.00-6.00 Palazzo H – DFDL Introduction

• 5.00-6.00 Marcello 4402 – Manufacturing in IIB

3

Page 4: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

IBM Integration Bus This Week – Selected Sessions

Wednesday

• 10.30-11.30 Palazzo H – .NET Integration

• 1.00-2.00 Palazzo H – Effective Application Development

• 1.00-2.00 Marcello 4403 – IIB Healthcare Integration Pack

• 1.00-2.00 San Polo 3503 – Meet The Experts (Repeat)

• 2.15-3.15 Palazzo H – Effective Administration

• 3.45-4.45 Palazzo H – Applications, Libraries, APIs

• 3.45-6.00 Murano 3303 – IIB Open Beta Lab

• 5.00-6.00 Palazzo H – Transformation Options in IIB

Thursday

• 9.00-10.00 Palazzo H – Predictive Analytics

• 10.30-11.30 Palazzo H – BPM Integration

• 1.00-2.00 Palazzo H – Modelling Industry Formats

• 2.15-3.15 Palazzo H – What's New in IIB (Repeat)

4

Page 5: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

5

Applications and Libraries

Applications and Libraries are a means of developing, deploying and managing

your integration solutions:

Application

• means of encapsulating resources to solve a specific

connectivity problem

• application can reference one or more libraries

Library

• a logical grouping of related routines and/or data

• libraries help with reuse and ease of resource management

• library can reference one or more libraries

� These concepts span all aspects of the product, and are designed to make the

development and management of IIB solutions easier.

Page 6: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

6

Features of Applications and Libraries

� Libraries facilitate re-use and simplify resource management

– Typically contain reusable helper routines and resources

• Subflows, ESQL, Java, Maps, Message models, Adapter files, etc.

– Use multiple libraries to group related resources (e.g. by type or function)

– Multiple applications can reference the same library

• Each application gets its own copy of the library during package/deploy

– Libraries are packaged as part of referencing application in the BAR

– Library can reference other Libraries

� Applications promote encapsulation and isolation

– Typically contain “main” message flows and dependent resources

• ESQL, Java, Maps, Message models, subflows, Adapter files, etc.

• dependent resources could live in referenced libraries

– Multiple applications can be packaged into a single BAR

– Multiple applications can be deployed to a server (execution group)

– Visibility of resource restricted to containing application

– Referenced libraries are deployed inside application container (by copy)

Page 7: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Applications and Libraries:

Each stage of the

development cycle

Page 8: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

8

Solution Lifecycle

Applications and libraries span the Toolkit, BAR and Runtime.

Manifested as existing well-known container formats (ZIPs)

One can work without applications and libraries if preferred

• No need to change existing project structure or deployment processes

• But these features will make your lives easier – consistent develop, deploy, manage experience!

BARToolkit Node

Prepare

Manage

Page 9: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

9

Creating a new Application or Library

New Application/Library can be

created via Quick Starts or New

menuUser can specify referenced

Libraries in the Application /

Library wizard

1

2

Page 10: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

10

Applications and Libraries in the Toolkit Navigator

Applications and libraries are shown in the Application

Development view

Each application and/or library is an Eclipse project (with a

special nature) that contains artefacts, such as: flows, XSDs,

Maps, ESQL, etc.

Referenced libraries show up twice for ease of navigation:

1. as children of the referencing application/library

2. as top-level containers in the Navigator

both entries refer to the same physical resources

Libraries not referenced by any application, show up only as top-

level containers in the Navigator

Application/library project can reference JCN and Java projects.

Artefacts in referenced JCN/Java projects are rendered as part

of application/library and deployed to the runtime as part of

corresponding container.

Application and/or library can reference other libraries. Artefacts

in referenced libraries are visible to the referencing

application/library. Referenced libraries are deployed to the

runtime as part of the referencing container.

Page 11: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

11

Applications and Libraries in the BAR Editor – Prepare

� Select applications to include into Bar file

� Read-only view of resources that are included into

application container – each application is AppZip

� Note that referenced libraries are included into

application container ‘by value’

Page 12: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

12

Applications and Libraries in the BAR editor - Manage

� View all application containers included in BAR file.

Applications bring in referenced libraries by value

� Override any configurable flow/node property values for

resources included in the application container

Page 13: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

13

Applications and Libraries on the Node (Broker)Deployed applications are displayed directly below server in the

Toolkit and IBX

Each application is an independent container within execution

group - it contains list of resource (e.g. flows).

Referenced libraries are listed as children of the referencing

application container

Deployed library resources appear as children of that library

If multiple applications reference the same library, each

application gets its own copy of the library

GUI, command line and CMP tools updated to expose

operations that are applicable to libraries and applications

• Starting and stopping applications

– Starting an application implicitly starts all containing

message flows

• Delete – deletes all containing resources (including

referenced libraries) and remove application container

Page 14: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

IBM Integration Bus:

Integration Services

Page 15: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Operation subflow

Operation subflow

Integration Service

WSDLWSDL Interface (WSDL)

SOAP / HTTP

Binding Style

Integration Services: Interfaces, Operations and Bindings

An interface is described using a WSDL document

An interface consists of one or more operations and a binding style.

The binding style specifies the protocol and data format of the operation.

An operation is a description of an action implemented by the service.

Each operation in the interface defines the data that is passed between the Consumer and the Provider

when the operation is invoked.

Each operation may have one or more faults to handle error conditions.

Integration Service

Client WebService

Consumer Provider

Page 16: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Operation

Creating an Integration Service

Page 17: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Subflows

XML Schema

WSDL

Message Flow

Log file

ServiceDescriptor

Generated Resources

Page 18: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Editing an Integration Service

Page 19: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

One Way Operation

Request Response Operation

Request Response Operation

Integration Service Interface

Page 20: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Error Handler subflows are now implemented so no longer

showing warning markers

getApproval operation now implemented so no longer

“greyed out”

Default HTTP binding provided

Implemented Integration Service

Page 21: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Error Flows (subflows)

Request_Response subflow

Core properties

Service Descriptor

Page 22: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Integration Bus Explorer

Integration Bus Toolkit

Service Deployment and Administration

Page 23: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Exporting Web Server Plugin Configuration

The WebSphere Application Server plug-in can be used in

complex scenarios to:

• Implement load-balancing

• Implement clustering for failover

• Expose application server and web server services and files

through a single front end

• Manage security for all URLs in a single place and in a consistent

manner

• Set up a network dispatcher to multiple web service endpoints

Web Server(eg WAS Web Server,

IHS – Apache Web Server)

Plug-in

ClientsHTTP HTTP

WMB

dataflowengine.exe

Page 24: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Clients

Web Server

Application ServerSystem B

WASplug-in

HTTPS

HTTP

HTTP

Application ServerSystem A

Clients

Web Server

Message BrokerSystem B

WASplug-in

HTTPS

HTTP

HTTP

Message BrokerSystem A

Using an External Web Server

Page 25: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Exporting Web Server Configuration Data

Use WebSphere Message Broker to help configure your existing topology, by generating

appropriate configuration data:

• Existing topology uses WebSphere Application Server - generate a configuration

file that can be read by the WAS web server plug-in

• Existing topology uses an Apache web server (e.g. IBM HTTP Server) - generate

a configuration file that can be merged into your Apache mod_proxy configuration

• Existing topology uses some other web server configuration – use the WMB API

to generate a per-broker list of port and URL data in CSV format

Page 26: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Generated WAS Plugin.xml and Mod_Proxy.conf

Page 27: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Java API Example - getPortConfigAsCsv

Page 28: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

IBM Integration Bus:

Service Discovery for MQ and

Databases

Page 29: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Integration Service

Database Service

MQ Service

Page 30: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Discovering Service Interfaces

Service discovery involves defining a common model for describing service interfaces.

• Interrogate IT systems: user refines and selects from what is discovered

• Define interchange data structures

• Declare resource-oriented operations or procedural style invocations

• Describe the service using a common model

Physical Logical

Binding PortType

CONTROL

INTEGRATEEXCHANGE

Page 31: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Services Discovery

Create Service definition using discovery

• User connects to a database

• User creates a .dbm file containing all database artefacts (tables, views,

stored procedures etc).

The user specifies the style of service to be created (Resource oriented or Operation)

• CRUD operations for one or more tables, views

A WSDL definition is created for database operations

• The Port Type describes the interfaces of the Database operations (groups

operations)

• A Database Connector Binding contains meta-data for each operation for the

interaction with database.

Page 32: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)
Page 33: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Start by Discovering a Service N

Page 34: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 1. Description

Database view of the world Service view of the world

Page 35: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 2. Database Definition

Database definition file provides re-use of existing artefacts.

ODBC data source name is required because although discovery is driven via a JDBC connection, at runtime IIB uses ODBC connectivity for certain node implementations

Page 36: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 3. Select Resources

Page 37: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 4. Service Operations

Page 38: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 4. Service Operations

Page 39: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 5. Service Interface

Page 40: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Database Service Editor – 6. Summary

Page 41: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Drag and Drop to generate code

Page 42: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Generated code

Page 43: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

WMB Tookit

App

MQ

Broker Developer

Runs a discovery tool in WMB toolkit

Enters MQ connection details

Discovers queues from queue manager

Selects appropriate queue (s) from search result

Refine selection to create service definition

MQ Application Developer

Provides data model (e.g. COBOL)

MQ Service Discovery

Page 44: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

WMB Tookit

App

MQ

Broker Developer

Runs a discovery tool in WMB toolkit

Enters MQ connection details

Discovers queues from queue manager

Selects appropriate queue (s) from search result

Refine selection to create service definition

MQ Application Developer

Provides data model (e.g. COBOL)

WMB Tookit

Other Broker Developer

Retrieves service definitions from catalogue

Indexed by service name or queue name

Uses service definition to configure MQ Nodes

Discovery and Push into Catalog

Page 45: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

MQ Service Discovery

Page 46: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Questions?

Page 47: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

We Value Your Feedback

Don’t forget to submit your Impact session and speaker

feedback! Your feedback is very important to us – we use it to

continually improve the conference.

Use the Conference Mobile App or the online Agenda Builder to

quickly submit your survey

• Navigate to “Surveys” to see a view of surveys for sessions

you’ve attended

47

Page 48: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Thank You

Page 49: 1144 IBM Integration Bus Services, APIs, Applications & Libraries (IBM IMPACT 2014)

Legal Disclaimer

• © IBM Corporation 2014. All Rights Reserved.

• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained

in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are

subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing

contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and

conditions of the applicable license agreement governing the use of IBM software.

• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or

capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to

future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by

you will result in any specific sales, revenue growth or other results.

• 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.

• All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs

and performance characteristics may vary by customer.

• Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server).

Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your

presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in

your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International

Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

• Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

• Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and

other countries.

• UNIX is a registered trademark of The Open Group in the United States and other countries.

• Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of

others.