SlideShare a Scribd company logo
Effective Application Development
in IBM Integration Bus
Andrew Coleman
Architect, IBM Integration Bus on Cloud
Chair, W3C XML Query Working Group
Please Note:
2
•  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.
Effective Application Development
•  What should you consider when building connectivity solutions?
– What technology is provided to help you?
– What design techniques should you know about?
– What should you try to avoid?
•  Main points
– Design with IIB features
– Design for performance and scalability
– Design for administration
– Design with interfaces
– Design consistently
•  Test
1. Design with IIB facilities
Tools of the Trade!
•  Built-in nodes encapsulate transports, technologies and applications
– Our intent is always to make the common tasks easy, and the rest possible!
– Use the built-in nodes to reduce the amount of custom code required
– Makes best use of built-in facilities like activity trace and resource statistics
Create Your Connectivity Solution
•  Integration Bus can interact with a huge range of environments
•  Transports and protocols
– MQ / SOAP / HTTP / TCPIP / JMS
•  Data repositories
– File / Database / IMS
•  Applications
– SAP / Siebel / PeopleSoft / JDEdwards
– CICS / IMS
– .Net
•  APIs
– SCA
– CORBA
•  All input nodes can be configured to work with any message format.
Getting data in and out of IIB
•  WMB and Integration Bus have several transformation options:
– Mapping
– XSLT
– ESQL
– Java
– .NET
•  Reflects the importance of transformation in connectivity solutions
– User-defined nodes supported for Java and C/C++
•  Every transformation option has strengths and weaknesses!
– Performance and scalability
– Backend integration
– Skill sets and learning curve
– Developer usability
– Portability and maintenance
•  Use a transformation technology appropriate to the problem at hand!
Transformation Options
Subflows
•  Subflows are simply message flows that are invoked from another flow
– Input and output nodes in the subflow become terminals in the main flow
– Use subflows to break up large problems into smaller more manageable chunks
•  Subflows are directly deployable to the runtime
– Shared subflows deployed just once per execution group (or application)
– No need to redeploy message flows after changes to shared routines are made
– Redeployment of a subflow is automatically picked up by any consumers
•  Models are needed for parsing, validation and transformation
– Models avoid the need to write custom code to parse messages!
Message Modelling
•  Graphical mapper requires models to display the message structure
– ESQL editor provides in line validation of code that navigates message trees
Message Modelling
•  XML documents and messages are modelled using XML schemas
– XSDs and WSDLs are deployed directly to the runtime – no import required!
•  Non XML data (both text and binary) is defined using DFDL schemas
– Data Format Description Language standardised through the Open Grid Forum
– DFDL schemas replace message set projects and the MRM message domain
– Input nodes support DFDL alongside XMLNSC, JSON, MRM etc
•  New model based tooling to design and test DFDL schema models
– Test parsing and test data generation built into editor!
– As with XSDs, DFDL schemas are also deployed directly to the runtime
Hia 1693-effective application-development_in_iib
2. Design for Performance
and Scalability
Design for Performance
•  There are several areas that incur a processing cost
– Parsing and serialization of messages as they enter and exit the flow
– Integration logic such as transformations executed during message processing
– Transformation cost includes general complexity, tree navigation and tree copying
– External resources such as interactions with databases and queue managers
•  Message flow design is critical to achieve high performance and scalability
– For example using global units of work to achieve transactionality across a flow
•  Performance is a large (and important) topic in its own right
– There is a wealth of information and guidance available online!
Design for Performance
•  Loops in a message flow are exactly like a recursive function call
– So each iteration of the loop consumes some stack space
•  Avoid loops unless you are certain that the number of iterations will not
become large
– Stack overflows will bring down the execution group along with all running
flows!
– There is usually an alternative design that avoids looping
Design for Scalability
•  Large messages can consume large amounts of memory/CPU
•  There is an industry trend toward larger data sets
– Already apparent in IIB deployments
•  A flow with a large memory overhead can
– slow down other flows by causing swapping
– in the worst case, bring down the execution group
•  Recommendations
– Consider whether a message 10 times the current size would be able to be
handled without a problem
– Where appropriate, use large message handling techniques in your flows
( see Large Messaging sample )
3. Design for Administration
Applications, Libraries, Services and REST APIs
•  Applications package end-to-end connectivity solutions
– The concept of an application is shared between the toolkit and runtime
– Applications are deployed and managed as a single unit of isolation
•  Libraries package resources for reuse (flows, scripts, models)
•  Resources in an application are not visible to anything else
– Use applications to manage your solutions inside an execution group
•  A Service is an Application with a well defined interface (WSDL)
•  A REST API is an Application built from a Swagger definition
Shared Libraries
•  New shared container for reusable artefacts
– Subflows, message models (XSD, DFDL)
– ESQL, maps
– NOT flows!
•  Saves memory
– Multiple applications can reference a single copy of a shared lib
•  Separately deployable from the application
•  Shared libraries have no running state
– Cannot be started or stopped
– No runtime threads assigned
•  v8/9 static libraries continue to work as before
V10
Static Libraries verses Shared Libraries
•  Static Libraries •  Shared Libraries (v10)
App1
Lib1 Lib2
App2
Lib1 Lib2
App3
Lib1 Lib2
App1
App2ShLib1
ShLib2
App3
Configurable Services
•  Use configurable services to externalize deployment time properties
– Allows deployment information to be configured by a system administrator
– For example, credentials for the database nodes and FTP server and port
– Ideal for moving solutions through staging environments (test to production)
Monitoring
•  Monitoring tools available via Web UI and Integration Explorer
– Statistics monitor resource usage across execution groups
– Range of options to update and visualise the resource statistics
– Activity Logging to focus on resource usage
Monitoring
•  Monitoring also provided on individual message flows
– Quick and easy way to identify hot spots in your solutions!
4. Design with Interfaces
Web Services
•  Drag and drop WSDL to generate integration service
– Generates a sub-flow for each SOAP operation
– Framework manages invocation of sub-flows and error handlers
REST APIs
•  New container type for implementing REST APIs
•  Generates framework based on Swagger definition
V10
5. Design consistently
Patterns for Simplified Development
•  Creates top-down, parameterized
connectivity solutions
•  Reduces common problems in flow
development
•  Establishes best practices for integration
•  Reduces time-to-value for solution
development
•  Patterns are easily extended with regular
IIB functionality
Pattern Generation
•  Pattern generation creates the production ready projects
– Generated projects reflect the configuration choices of the pattern user
– Configuration is saved so that the pattern can be re-generated if required
Built-In Patterns
•  Integration Bus provides a core set of built-in patterns
•  These implement a variety of common scenarios
– Web service front end to a MQ based application
– Processing data stored in a file and routing to one or more queues
– Adding a proxy in front of a web service provider
– Processing data from an SAP system and routing to MQ
– Shredding messages and routing to one or more queues
•  Patterns are selected based on client feedback and field experience
•  This core set of patterns continues to grow with each release
Pattern Authoring
•  Pattern becomes even more useful when you can create your own!
– Every organization has their own repeating connectivity patterns!
– Pattern authoring is the name we give to this technology in WMB and
Integration Bus
•  We recommend you start with a working solution
– One or more projects
•  Pattern authoring is a design activity
– It may be long lived
– It is often not sequential
•  Using patterns is a top-down activity driven by a requirement, but:
– Authoring a working solution is (typically) a bottom-up activity
– So pattern authoring bridges these two different approaches
•  Patterns have their own development cycle
– Pattern Authoring editor supports this design activity
Create Your Working Solution
•  No change at all - design your solutions as you do today
– Pattern authoring does not change the tools you use to create solutions
– The key to a good pattern is to create a good working solution!
Design Your Pattern
•  Straightforward to create patterns using the Pattern Authoring editor!
– Design the user interface which is presented to your pattern users
– Easy to add branding - style sheets, images and other files as required
Pattern Refinement
•  Pattern authoring supports property changes
– Node, user-defined properties (UDPs) and promoted node properties
•  Property variability is the most common type of variability that a pattern
might need to express - there are many others:
– Generate application text files such as ESQL scripts
– Make structural changes to Message Flows
– Create administration files such as MQSC scripts
•  It is impossible to try and predict all the possible extensions that a
pattern author might wish to implement
•  We provide two ways to extend pattern authoring
– Java code that is invoked when pattern instances are generated
– PHP templates that generate text files in pattern instance projects
Packaging a Pattern
Integra(on	API
•  The Integration API is our Java application development API
– Packaged along with the administration API in ConfigManagerProxy.jar
– Provides a complete Java API to manipulate message flows (and subflows)
•  The Integration API can be used in standalone applications or in patterns
– Wide variety of applications are now possible such as business data mashups
– Easy to implement mass creation of message flows during migration projects
6. Test!
Flow Exerciser
V10
Flow Exerciser
Click to start
recording
Flow Exerciser
Flow Exerciser
Now recording – the flow
is greyed out (read-only)
Flow Exerciser
Hia 1693-effective application-development_in_iib
Flow Exerciser
Flow Exerciser
Path through the
flow is highlighted
Click to see
message
content
Can re-send the recorded
messages (logical tree assembly)
Summary
•  Use the features of WMB & IIB to their full extent!
– Message modelling, transformation options, applications and libraries
– Capabilities link in with activity trace, record edit replay, and more
•  Libraries and subflows make for simpler designs
– Deployable subflows and libraries extend the benefits to the runtime
•  Consider production and performance early on in your design
– In particular, applications and configurable services
– Your system administrator will thank you for this!
•  Patterns address time-to-value for your solutions
– It takes just a few minutes to create a pattern!
– Why not create a patterns community in your organisation?
•  Developer Edition
– Free edition of IB for use in evaluation, dev and test usage
– Fully functional: all nodes available and no time limitations
– Throughput rate limited to 1TPS per integration flow
Notices and Disclaimers
46
Copyright © 2016 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.
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.
Notices and Disclaimers Con’t.
47
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
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 h erein 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.
Thank You
Your Feedback is
Important!
Access the InterConnect 2016
Conference Attendee Portal to complete
your session surveys from your
smartphone,
laptop or conference kiosk.

More Related Content

What's hot (20)

PPTX
ConnectorsForIntegration
bthomps1979
 
PDF
Effective admin and development in iib
m16k
 
PDF
DevOps & Continuous Test for IIB and IBM MQ
Stuart Feasey
 
PPTX
Operational and business monitoring with IBM Integration Bus-Sanjay Nagchowdhury
Karen Broughton-Mabbitt
 
PDF
Docker and IBM Integration Bus
Geza Geleji
 
PPTX
Overview - ESBs and IBM Integration Bus
Juarez Junior
 
PDF
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
Rob Convery
 
PDF
Technical Introduction to IBM Integration Bus
Geza Geleji
 
PPTX
Effective administration of IBM Integration Bus - Sanjay Nagchowdhury
Karen Broughton-Mabbitt
 
PPTX
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
Karen Broughton-Mabbitt
 
PDF
3298 microservices and how they relate to esb api and messaging - inter con...
Kim Clark
 
PDF
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Andrew Schofield
 
PDF
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
Rob Convery
 
PDF
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
Rob Convery
 
PPTX
Best Practices for Managing and Monitoring WebSphere Message Broker
Correlsense
 
PDF
IBM Integration Bus High Availability Overview
Peter Broadhurst
 
PDF
Impact 2014 - IIB - selecting the right transformation option
Andrew Coleman
 
PDF
Developing Integrations for IBM Integration Bus on Cloud
Geza Geleji
 
PPT
IBM Interconnect 2016 - Hybrid Cloud Messaging
Robert Nicholson
 
PDF
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
lisanl
 
ConnectorsForIntegration
bthomps1979
 
Effective admin and development in iib
m16k
 
DevOps & Continuous Test for IIB and IBM MQ
Stuart Feasey
 
Operational and business monitoring with IBM Integration Bus-Sanjay Nagchowdhury
Karen Broughton-Mabbitt
 
Docker and IBM Integration Bus
Geza Geleji
 
Overview - ESBs and IBM Integration Bus
Juarez Junior
 
Whats New in Integration What's New in IBM Integration Bus and IIB on Cloud
Rob Convery
 
Technical Introduction to IBM Integration Bus
Geza Geleji
 
Effective administration of IBM Integration Bus - Sanjay Nagchowdhury
Karen Broughton-Mabbitt
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
Karen Broughton-Mabbitt
 
3298 microservices and how they relate to esb api and messaging - inter con...
Kim Clark
 
Introducing IBM Message Hub: Cloud-scale messaging based on Apache Kafka
Andrew Schofield
 
Nobody Uses Files Any More Do They? New Technologies for Old Technology, File...
Rob Convery
 
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
Rob Convery
 
Best Practices for Managing and Monitoring WebSphere Message Broker
Correlsense
 
IBM Integration Bus High Availability Overview
Peter Broadhurst
 
Impact 2014 - IIB - selecting the right transformation option
Andrew Coleman
 
Developing Integrations for IBM Integration Bus on Cloud
Geza Geleji
 
IBM Interconnect 2016 - Hybrid Cloud Messaging
Robert Nicholson
 
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
lisanl
 

Viewers also liked (20)

PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
PPT
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
Karen Broughton-Mabbitt
 
PPT
IBM Hybrid Integration Platform
Robert Nicholson
 
PDF
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
Matt Leming
 
PDF
Industria 4.0 y Big Data
Enrique Puertas
 
PPTX
Some thoughts on IoT, HKNOG 4.0
APNIC
 
PDF
GetShift - IoT Devices Done Right.
Sean Greenhalgh
 
PPTX
Get a Better Understanding of the Internet of Things (IoT)
Tommy Hobin
 
PDF
Iomote - professional IoT and Industry 4.0 solutions
Claudio Carnevali
 
PDF
Industria 4.0
Universidad de Deusto
 
PDF
ECONOMIC DEVELOPMENT 4.0: Wisdom Networks crowdcreate economic development
Wisdom.To
 
PPTX
Key challenges facing the future of IoT
Ahmed Banafa
 
PDF
IoT Best practices
CocoaHeads France
 
PDF
Solving the Industry 4.0 challenges on the logistics domain using Apache Meso...
Big Data Spain
 
PPTX
Industry 4.0 Changes Everything
Imaginet
 
PPT
IBM WebSphere MQ Introduction
ejlp12
 
PPTX
Towards a Connected World of Supply Chain - Industrie 4.0
Sarathy Kalaichelvan
 
PDF
IoT Standards_ALICON_SE_2017_02_25_Rev_D
Ike Alisson
 
PDF
Open standards - Key to success for Industry 4.0
Stephane Potier
 
PDF
Information 4.0 for Industry 4.0 (TCWorld 2016)
Joe Gollner
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
Karen Broughton-Mabbitt
 
IBM Hybrid Integration Platform
Robert Nicholson
 
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
Matt Leming
 
Industria 4.0 y Big Data
Enrique Puertas
 
Some thoughts on IoT, HKNOG 4.0
APNIC
 
GetShift - IoT Devices Done Right.
Sean Greenhalgh
 
Get a Better Understanding of the Internet of Things (IoT)
Tommy Hobin
 
Iomote - professional IoT and Industry 4.0 solutions
Claudio Carnevali
 
Industria 4.0
Universidad de Deusto
 
ECONOMIC DEVELOPMENT 4.0: Wisdom Networks crowdcreate economic development
Wisdom.To
 
Key challenges facing the future of IoT
Ahmed Banafa
 
IoT Best practices
CocoaHeads France
 
Solving the Industry 4.0 challenges on the logistics domain using Apache Meso...
Big Data Spain
 
Industry 4.0 Changes Everything
Imaginet
 
IBM WebSphere MQ Introduction
ejlp12
 
Towards a Connected World of Supply Chain - Industrie 4.0
Sarathy Kalaichelvan
 
IoT Standards_ALICON_SE_2017_02_25_Rev_D
Ike Alisson
 
Open standards - Key to success for Industry 4.0
Stephane Potier
 
Information 4.0 for Industry 4.0 (TCWorld 2016)
Joe Gollner
 
Ad

Similar to Hia 1693-effective application-development_in_iib (20)

PPTX
1480-techintrotoiib-150224130001-conversion-gate01.pptx
BalakoteswaraReddyM
 
PPT
Effective Application Development with WebSphere Message Broker
Ant Phillips
 
PPT
A Software Factory Integrating Rational Team Concert and WebSphere tools
Prolifics
 
PDF
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
Brian Wilson
 
PDF
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
WSO2
 
PPT
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Prolifics
 
PDF
201307 esb01 - iib v9 patterns
kondapallishashi
 
PPT
Riding with camel
Sunitha Satyadas
 
PPT
Introduction to WebSphere Message Broker
Ant Phillips
 
PDF
ITI005En-SOA (II)
Huibert Aalbers
 
PPT
A Software Factory Integrating Rational & WebSphere Tools
ghodgkinson
 
PDF
Spagic 3: OSGi Universal Middleware for an effective SOA solution
SpagoWorld
 
PDF
JBoss / Red Hat: bridging the gap between web services technologies and real ...
ecows2011
 
PPT
Enterprise Software Architecture
rahmed_sct
 
PDF
SoC Keynote:The State of the Art in Integration Technology
Srinath Perera
 
PPTX
NServiceBus workshop presentation
Tomas Jansson
 
PPTX
Client Server Architecture
Rence Montanes
 
PDF
Maximize Messaging and Performance and Lowering Infrastructure Footprint
WSO2
 
PPSX
Temenos- Fiorano T24 Integration
Ashraf Imran
 
PPTX
Session
Amr Salah
 
1480-techintrotoiib-150224130001-conversion-gate01.pptx
BalakoteswaraReddyM
 
Effective Application Development with WebSphere Message Broker
Ant Phillips
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
Prolifics
 
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
Brian Wilson
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
WSO2
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Prolifics
 
201307 esb01 - iib v9 patterns
kondapallishashi
 
Riding with camel
Sunitha Satyadas
 
Introduction to WebSphere Message Broker
Ant Phillips
 
ITI005En-SOA (II)
Huibert Aalbers
 
A Software Factory Integrating Rational & WebSphere Tools
ghodgkinson
 
Spagic 3: OSGi Universal Middleware for an effective SOA solution
SpagoWorld
 
JBoss / Red Hat: bridging the gap between web services technologies and real ...
ecows2011
 
Enterprise Software Architecture
rahmed_sct
 
SoC Keynote:The State of the Art in Integration Technology
Srinath Perera
 
NServiceBus workshop presentation
Tomas Jansson
 
Client Server Architecture
Rence Montanes
 
Maximize Messaging and Performance and Lowering Infrastructure Footprint
WSO2
 
Temenos- Fiorano T24 Integration
Ashraf Imran
 
Session
Amr Salah
 
Ad

Recently uploaded (20)

PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PDF
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 

Hia 1693-effective application-development_in_iib

  • 1. Effective Application Development in IBM Integration Bus Andrew Coleman Architect, IBM Integration Bus on Cloud Chair, W3C XML Query Working Group
  • 2. Please Note: 2 •  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.
  • 3. Effective Application Development •  What should you consider when building connectivity solutions? – What technology is provided to help you? – What design techniques should you know about? – What should you try to avoid? •  Main points – Design with IIB features – Design for performance and scalability – Design for administration – Design with interfaces – Design consistently •  Test
  • 4. 1. Design with IIB facilities
  • 5. Tools of the Trade!
  • 6. •  Built-in nodes encapsulate transports, technologies and applications – Our intent is always to make the common tasks easy, and the rest possible! – Use the built-in nodes to reduce the amount of custom code required – Makes best use of built-in facilities like activity trace and resource statistics Create Your Connectivity Solution
  • 7. •  Integration Bus can interact with a huge range of environments •  Transports and protocols – MQ / SOAP / HTTP / TCPIP / JMS •  Data repositories – File / Database / IMS •  Applications – SAP / Siebel / PeopleSoft / JDEdwards – CICS / IMS – .Net •  APIs – SCA – CORBA •  All input nodes can be configured to work with any message format. Getting data in and out of IIB
  • 8. •  WMB and Integration Bus have several transformation options: – Mapping – XSLT – ESQL – Java – .NET •  Reflects the importance of transformation in connectivity solutions – User-defined nodes supported for Java and C/C++ •  Every transformation option has strengths and weaknesses! – Performance and scalability – Backend integration – Skill sets and learning curve – Developer usability – Portability and maintenance •  Use a transformation technology appropriate to the problem at hand! Transformation Options
  • 9. Subflows •  Subflows are simply message flows that are invoked from another flow – Input and output nodes in the subflow become terminals in the main flow – Use subflows to break up large problems into smaller more manageable chunks •  Subflows are directly deployable to the runtime – Shared subflows deployed just once per execution group (or application) – No need to redeploy message flows after changes to shared routines are made – Redeployment of a subflow is automatically picked up by any consumers
  • 10. •  Models are needed for parsing, validation and transformation – Models avoid the need to write custom code to parse messages! Message Modelling •  Graphical mapper requires models to display the message structure – ESQL editor provides in line validation of code that navigates message trees
  • 11. Message Modelling •  XML documents and messages are modelled using XML schemas – XSDs and WSDLs are deployed directly to the runtime – no import required! •  Non XML data (both text and binary) is defined using DFDL schemas – Data Format Description Language standardised through the Open Grid Forum – DFDL schemas replace message set projects and the MRM message domain – Input nodes support DFDL alongside XMLNSC, JSON, MRM etc •  New model based tooling to design and test DFDL schema models – Test parsing and test data generation built into editor! – As with XSDs, DFDL schemas are also deployed directly to the runtime
  • 13. 2. Design for Performance and Scalability
  • 14. Design for Performance •  There are several areas that incur a processing cost – Parsing and serialization of messages as they enter and exit the flow – Integration logic such as transformations executed during message processing – Transformation cost includes general complexity, tree navigation and tree copying – External resources such as interactions with databases and queue managers •  Message flow design is critical to achieve high performance and scalability – For example using global units of work to achieve transactionality across a flow •  Performance is a large (and important) topic in its own right – There is a wealth of information and guidance available online!
  • 15. Design for Performance •  Loops in a message flow are exactly like a recursive function call – So each iteration of the loop consumes some stack space •  Avoid loops unless you are certain that the number of iterations will not become large – Stack overflows will bring down the execution group along with all running flows! – There is usually an alternative design that avoids looping
  • 16. Design for Scalability •  Large messages can consume large amounts of memory/CPU •  There is an industry trend toward larger data sets – Already apparent in IIB deployments •  A flow with a large memory overhead can – slow down other flows by causing swapping – in the worst case, bring down the execution group •  Recommendations – Consider whether a message 10 times the current size would be able to be handled without a problem – Where appropriate, use large message handling techniques in your flows ( see Large Messaging sample )
  • 17. 3. Design for Administration
  • 18. Applications, Libraries, Services and REST APIs •  Applications package end-to-end connectivity solutions – The concept of an application is shared between the toolkit and runtime – Applications are deployed and managed as a single unit of isolation •  Libraries package resources for reuse (flows, scripts, models) •  Resources in an application are not visible to anything else – Use applications to manage your solutions inside an execution group •  A Service is an Application with a well defined interface (WSDL) •  A REST API is an Application built from a Swagger definition
  • 19. Shared Libraries •  New shared container for reusable artefacts – Subflows, message models (XSD, DFDL) – ESQL, maps – NOT flows! •  Saves memory – Multiple applications can reference a single copy of a shared lib •  Separately deployable from the application •  Shared libraries have no running state – Cannot be started or stopped – No runtime threads assigned •  v8/9 static libraries continue to work as before V10
  • 20. Static Libraries verses Shared Libraries •  Static Libraries •  Shared Libraries (v10) App1 Lib1 Lib2 App2 Lib1 Lib2 App3 Lib1 Lib2 App1 App2ShLib1 ShLib2 App3
  • 21. Configurable Services •  Use configurable services to externalize deployment time properties – Allows deployment information to be configured by a system administrator – For example, credentials for the database nodes and FTP server and port – Ideal for moving solutions through staging environments (test to production)
  • 22. Monitoring •  Monitoring tools available via Web UI and Integration Explorer – Statistics monitor resource usage across execution groups – Range of options to update and visualise the resource statistics – Activity Logging to focus on resource usage
  • 23. Monitoring •  Monitoring also provided on individual message flows – Quick and easy way to identify hot spots in your solutions!
  • 24. 4. Design with Interfaces
  • 25. Web Services •  Drag and drop WSDL to generate integration service – Generates a sub-flow for each SOAP operation – Framework manages invocation of sub-flows and error handlers
  • 26. REST APIs •  New container type for implementing REST APIs •  Generates framework based on Swagger definition V10
  • 28. Patterns for Simplified Development •  Creates top-down, parameterized connectivity solutions •  Reduces common problems in flow development •  Establishes best practices for integration •  Reduces time-to-value for solution development •  Patterns are easily extended with regular IIB functionality
  • 29. Pattern Generation •  Pattern generation creates the production ready projects – Generated projects reflect the configuration choices of the pattern user – Configuration is saved so that the pattern can be re-generated if required
  • 30. Built-In Patterns •  Integration Bus provides a core set of built-in patterns •  These implement a variety of common scenarios – Web service front end to a MQ based application – Processing data stored in a file and routing to one or more queues – Adding a proxy in front of a web service provider – Processing data from an SAP system and routing to MQ – Shredding messages and routing to one or more queues •  Patterns are selected based on client feedback and field experience •  This core set of patterns continues to grow with each release
  • 31. Pattern Authoring •  Pattern becomes even more useful when you can create your own! – Every organization has their own repeating connectivity patterns! – Pattern authoring is the name we give to this technology in WMB and Integration Bus •  We recommend you start with a working solution – One or more projects •  Pattern authoring is a design activity – It may be long lived – It is often not sequential •  Using patterns is a top-down activity driven by a requirement, but: – Authoring a working solution is (typically) a bottom-up activity – So pattern authoring bridges these two different approaches •  Patterns have their own development cycle – Pattern Authoring editor supports this design activity
  • 32. Create Your Working Solution •  No change at all - design your solutions as you do today – Pattern authoring does not change the tools you use to create solutions – The key to a good pattern is to create a good working solution!
  • 33. Design Your Pattern •  Straightforward to create patterns using the Pattern Authoring editor! – Design the user interface which is presented to your pattern users – Easy to add branding - style sheets, images and other files as required
  • 34. Pattern Refinement •  Pattern authoring supports property changes – Node, user-defined properties (UDPs) and promoted node properties •  Property variability is the most common type of variability that a pattern might need to express - there are many others: – Generate application text files such as ESQL scripts – Make structural changes to Message Flows – Create administration files such as MQSC scripts •  It is impossible to try and predict all the possible extensions that a pattern author might wish to implement •  We provide two ways to extend pattern authoring – Java code that is invoked when pattern instances are generated – PHP templates that generate text files in pattern instance projects
  • 36. Integra(on API •  The Integration API is our Java application development API – Packaged along with the administration API in ConfigManagerProxy.jar – Provides a complete Java API to manipulate message flows (and subflows) •  The Integration API can be used in standalone applications or in patterns – Wide variety of applications are now possible such as business data mashups – Easy to implement mass creation of message flows during migration projects
  • 38. Flow Exerciser Click to start recording
  • 40. Flow Exerciser Now recording – the flow is greyed out (read-only)
  • 44. Flow Exerciser Path through the flow is highlighted Click to see message content Can re-send the recorded messages (logical tree assembly)
  • 45. Summary •  Use the features of WMB & IIB to their full extent! – Message modelling, transformation options, applications and libraries – Capabilities link in with activity trace, record edit replay, and more •  Libraries and subflows make for simpler designs – Deployable subflows and libraries extend the benefits to the runtime •  Consider production and performance early on in your design – In particular, applications and configurable services – Your system administrator will thank you for this! •  Patterns address time-to-value for your solutions – It takes just a few minutes to create a pattern! – Why not create a patterns community in your organisation? •  Developer Edition – Free edition of IB for use in evaluation, dev and test usage – Fully functional: all nodes available and no time limitations – Throughput rate limited to 1TPS per integration flow
  • 46. Notices and Disclaimers 46 Copyright © 2016 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. 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.
  • 47. Notices and Disclaimers Con’t. 47 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 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 h erein 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.
  • 48. Thank You Your Feedback is Important! Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.