0% found this document useful (0 votes)
30 views213 pages

Technical Ibm App Connect Intro

app connect technical

Uploaded by

sweetniax0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views213 pages

Technical Ibm App Connect Intro

app connect technical

Uploaded by

sweetniax0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

V12.

cover

Front cover
Notebook
Technical Introduction to IBM App Connect
Enterprise
Course code DL10020 ERC 1.0

IBM Training
January 2024 edition
Notices
© Copyright International Business Machines Corporation 2024.
This document may not be reproduced in whole or in part without the prior written permission of IBM.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM
representative for information on the products and services currently available in your area. Any reference to an IBM product, program,
or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent
product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's
responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this
document does not grant you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive, MD-NC119, Armonk, NY 10504-1785, US
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied
warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein;
these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s)
and/or the program(s) described in this publication at any time without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in any manner serve as an
endorsement of those websites. The materials at those websites are not part of the materials for this IBM product and use of those
websites is at your own risk.
IBM may use or distribute any of the information you provide in any way it believes appropriate without incurring any obligation to you.
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 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.
This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible,
the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to
actual people or business enterprises is entirely coincidental.
Trademarks
IBM, the IBM logo, and [Link] are trademarks or registered trademarks of International Business Machines Corp., 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 [Link]/legal/[Link].
V12.0
Contents

TOC

Contents
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Course description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

Unit 1. IBM App Connect Enterprise overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.1. Features and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Features and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
What is IBM App Connect? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Digital marketplace trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
IBM App Connect Enterprise overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Hub and spoke design model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
Integration modernization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-10
IBM App Connect Enterprise main components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11
Message routing and transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-12
IBM App Connect Enterprise connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-13
Examples of IBM App Connect connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-15
Tutorials gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-16
Web user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-17
IBM App Connect Enterprise runtime security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-18
IBM App Connect Enterprise for Healthcare v5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-19
1.2. IBM App Connect Enterprise on IBM Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-20
IBM App Connect Enterprise on IBM Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-21
IBM Cloud Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-22
Smart connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-23
Flexible deployment options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-24
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-25
Checkpoint questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-26
Checkpoint answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-27

Unit 2. Message flows overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.1. Message processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Message processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Message flow main components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Message processing styles (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Message processing styles (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.2. Message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10
Introduction to message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-11
Message flow toolbox nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-13
Message flow connector nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14
Message routing nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-15
Subflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-16
Message model and tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-18
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20

© Copyright IBM Corp. 2024 1iii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Contents

TOC Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-21


Review answers (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-22
Review answers (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-23

Unit 3. Mapping messages overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.1. Message maps overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Message maps overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Introduction to message maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Message map behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Message map characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Graphical data map type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.2. Graphical Data Mapping editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10
Graphical Data Mapping editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11
Graphical Data Mapping editor (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-12
Graphical Data Mapping editor (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-13
Mapping node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-14
3.3. Mapping connections and elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-15
Mapping connections and elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16
IBM App Connect flexibility in creating transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17
Transform properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-18
Automatically mapping input to output elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19
Mapping the Environment tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-20
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-22
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23

Unit 4. Processing and modeling data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.1. Processing messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Processing messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
FileInput node basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
FileInput node error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
FileOutput node basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
4.2. Routing or enriching a message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Routing or enriching a message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-10
FileRead node basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-11
FileExists node basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-12
4.3. Message modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-13
Message modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-14
Introduction to Message modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-15
Data Format Description Language (DFDL) basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-16
DFDL schema editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-17
DFDL schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-18
Assigning the DFDL parser to a message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-19
DFDL use cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-20
4.4. Message validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-21
Message validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-22
Message validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-23
Parsing and validation in message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-24
Trace console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-25
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-26
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-27
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-28

© Copyright IBM Corp. 2024 1iv


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Contents

TOC Unit 5. Testing and debugging message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.1. Integration testing overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Integration testing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Integration testing basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
IBM App Connect debugging tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.2. Testing message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Testing message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10
Flow debugger overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11
Flow exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-13
Trace node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-14
User trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-15
App Connect Enterprise activity logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-16
Test client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-17
Testing message flows with the Unit Test Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-18
Test Client trace events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20
Review questions (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-21
Review questions (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-22
Review answers (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23
Review answers (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-24

Unit 6. Securing message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.1. Message flow security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Message flow security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Message flow security overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Security-enabled message processing nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Security exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Authentication and validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Using credentials stored in a vault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-10
6.2. Security administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-11
Security administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-12
Security profile basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-13
Security profile benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-14
Creating a security profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-15
Administration security basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-16
Configuration files and security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-17
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-18
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-19
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-20

Unit 7. Monitoring message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.1. Monitoring events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Monitoring events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Event monitoring and auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
Business transaction definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Message flow event monitoring configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Event monitoring support: Input node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
Event monitoring support: Output node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-10
Transaction correlators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-11
Customizing a message flow event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-12
7.2. Record and replay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-13

© Copyright IBM Corp. 2024 1v


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Contents

TOC Record and replay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-14


Recording data overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-15
Record and replay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-16
Viewing the recorded data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-17
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-18
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-19
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-20

Unit 8. Expanding for production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.1. Applications and libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Applications and libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Applications and libraries overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
Static libraries basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7
Shared libraries basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
8.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling external systems8-9
Calling external systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-10
User-defined properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-11
BAR files overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-12
Configuring for production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-13
8.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Performance monitoring8-14
Performance monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-15
Statistics data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-16
Monitoring support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-17
Generate monitoring events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-18
Performance challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-19
Tuning options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-20
Detecting and removing obstructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-21
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-22
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-23
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-24

Unit 9. Course Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
IBM credentials: Badges and certifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Learn more about this product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Additional resources (1 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Additional resources (2 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Additional resources (3 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
Additional resources (4 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8
Additional resources (5 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
Course completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-10
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-11

Appendix 1. List of abbreviations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

© Copyright IBM Corp. 2024 1vi


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Trademarks

TMK

Trademarks
The reader should recognize that the following terms, which appear in the content of this training
document, are official trademarks of IBM or other companies:
IBM, the IBM logo, and [Link] are trademarks or registered trademarks of International
Business Machines Corp., registered in many jurisdictions worldwide.
The following are trademarks of International Business Machines Corporation, registered in many
jurisdictions worldwide:
Bluemix® Cognitive Era™ Cognos®
SPSS® Watson Avatar® Worklight®
Windows is a trademark of Microsoft Corporation in the United States, other countries, or both.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other product and service names might be trademarks of IBM or other companies.

© Copyright IBM Corp. 2024 vii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Course description

pref

Course description
Technical Introduction to IBM App Connect Enterprise 12

Duration: 1 day

Purpose
In this course, you learn how IBM App Connect Enterprise enables information that is packaged as
messages to flow between different business applications, ranging from large traditional systems
through autonomous devices such as sensors and pipelines. You also learn how IBM App Connect
Enterprise constructs message flow applications to transport and transform data. The course also
explains how to control the flow of data by using various processing nodes. Topics include an
overview of mapping, testing, securing, and monitoring message flows. The course also provides
techniques used to expand the capabilities of message flow applications by making them aware of
the runtime environments in which they operate.

Audience
This course is designed for system administrators, system architects, application developers,
quality assurance specialists, and technical sales and marketing professionals.

Prerequisites
• None

Objectives
• Explain the business value of IBM App Connect Enterprise
• Comprehend the high-level architecture of IBM App Connect Enterprise
• Identify the components of a message flow application and message processing nodes
• Explain how the Graphical Data Mapping Editor can be used to map logical messages
• Understand how an environment tree can be used to store information in a message flow
• Explain the concepts of message models and how they are used to help message
transformation
• Identify the debugging tools to aid in testing and troubleshooting message flows
• Identify the steps needed to implement message-level security in a message flow
• Describe how a Security Vault is used to secure a message flow
• Identify the characteristics of a monitoring event in a message flow
• Explain how the record and replay function can be used to capture and review processed
messages

© Copyright IBM Corp. 2024 viii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Course description

pref • Explain the purpose of a business transaction definition in monitoring message flows
• Explain how deployed applications and shared libraries at run time affect the visibility of
resources at runtime
• Describe how promoted properties, user-defined properties, and operational policies are used
to develop environment-aware message flows

© Copyright IBM Corp. 2024 ix


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Agenda

pref

Agenda

Note

The following unit and exercise durations are estimates, and might not reflect every class
experience.

Day 1
(00:15) Course introduction
(00:30) Unit 1. IBM App Connect Enterprise overview
(00:30) Unit 2. Message flows overview
(00:30) Unit 3. Mapping messages overview
(00:30) Unit 4. Processing data overview
(00:30) Unit 5. Testing and debugging message flows
(00:30) Unit 6. Securing message flows overview
(00:30) Unit 7. Monitoring message flows overview
(00:30) Unit 8. Expanding for production
(00:15) Unit 9. Course Summary

© Copyright IBM Corp. 2024 x


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Unit 1. IBM App Connect Enterprise


overview
Estimated time
00:30

Overview
This unit introduces IBM App Connect Enterprise, including its components, functions, and
business value. You review the types of resources that you can export and import into IBM App
Connect Enterprise.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 1-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Unit objectives • Describe the features and functions of IBM App Connect Enterprise
• Explain the business value of IBM App Connect Enterprise
• Comprehend the high-level architecture of IBM App Connect
Enterprise

© Copyright IBM Corporation 2024

Figure 1-1. Unit objectives

After completing this unit, you should be able to:


• Describe the features and functions of IBM App Connect Enterprise
• Explain the business value of IBM App Connect Enterprise
• Comprehend the high-level architecture of IBM App Connect Enterprise

© Copyright IBM Corp. 2024 1-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Topics • Features and functions


• Architecture
• IBM App Connect Enterprise on IBM Cloud

© Copyright IBM Corporation 2024

Figure 1-2. Topics

This unit is broken down into the following topics:


• Features and functions
• Architecture
• IBM App Connect Enterprise on IBM Cloud

© Copyright IBM Corp. 2024 1-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty
1.1. Features and functions

© Copyright IBM Corp. 2024 1-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Featuress and
d
functions

Figure 1-3. Features and functions

This portion of the unit focuses on the features and functions of IBM App Connect Enterprise. You
learn about the main components of IBM App Connect and how it can be used to easily connect
people, processes, and data across hybrid environments.

© Copyright IBM Corp. 2024 1-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

What is IBM App Connect?


• IBM App Connect provides an out of the box set of
capabilities that integrate virtually on any data source and
connects to any protocol

• Provides a comprehensive solution for integration of


systems and applications across business users and
integration experts

• AI-powered features accelerate project timelines by


automating integration which in turn increases cost
savings

• IBM provides multiple deployment options and flexibility

• IBM has a strong history and support for integration


solutions

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-4. What is IBM App Connect?

IBM App Connect can accomplish the following:


Provides integration for initial and future projects will allow the solution to be extended and scaled
to meet future needs
Does not have limited deployment options
Can be flexibility to provide integration across many different deployment and architectures

© Copyright IBM Corp. 2024 1-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Digital marketplace trends

• Businesses can accelerate integration initiatives with modern low-code and no-code technologies with IBM App
Connect Enterprise
New Integrators Traditional Integrators

Citizen Business App / API Integration Integration


developer technologist developer expert architect

Need no-code tech Need high Need smart tooling Need powerful IDE Need power tools to
to address light and productivity tools to to access and including graphical support wide range
medium complexity rapidly assemble expose back-end tools & custom of integrations
integrations integrations data coding

Gartner Forecast Analysis: Low-code Development Technologies Worldwide, Oct 2022

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-5. Digital marketplace trends

• This slide exemplifies how IBM App Connect features can assist a growing trend in the digital
labor marketplace.
• By 2026, developers outside of formal IT departments account for at least 80% of the user
base for low-code dev tools, up from 60% in 2021, due to multitudes of citizen development,
and executive-sponsored democratization initiatives.

© Copyright IBM Corp. 2024 1-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM App Connect Enterprise overview


• IBM App Connect Enterprise enables information that is packaged as messages to flow between
different business applications, ranging from large traditional systems through autonomous
devices such as sensors and pipelines.
• IBM App Connect Enterprise provides:
ƒ Connectivity to pre-built app connectors
ƒ Routing data from sender to recipient based on the content of the message
ƒ Transformation of messages from one format to another
ƒ Mapping messages flows without the need to write code
• IBM App Connect Enterprise enables sharing of data between applications and services securely
irrespective of the data format and protocol that these systems and services use between them.
• IBM App Connect is IBM’s integration solution that provides options to connect to multiple
systems, ranging from network and protocol level connectivity to any SaaS applications.

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-6. IBM App Connect Enterprise overview

IBM App Connect Enterprise:


• Simplifies application connectivity, routes, and transforms messages, simplifies programming,
and provides operational management and performance tools.
• Includes features for universal connectivity to provide a flexible and dynamic infrastructure.
These features include tools to help with the conversion of earlier versions of App Connect
Enterprise assets so that they run on the updated version.
• Includes comprehensive operations and supports a wide range of protocols so that messages
can be transformed and routed from anywhere, to anywhere.
• Has extensive administration and systems management facilities included web tools for
real-time performance statistics.

© Copyright IBM Corp. 2024 1-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Hub and spoke design model


• App Connect Enterprise supports the hub-and-spoke architectural pattern.
ƒ IBM App Connect Enterprise can host services that are used by multiple workloads
ƒ Allows for seamless integration across systems and maximizes operational efficiency

Point to point Hub and spoke

Application Reusable connector

Integration code Integration hub

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-7. Hub and spoke design model

• Traditionally, IBM App Connect Enterprise and its predecessor IBM Integration Bus have been
used within enterprises to support an enterprise service bus. The hub and spoke architecture
was created in response to the proliferation of point-to-point application interfaces.
• In enterprise-scale systems integration, the hub-and-spoke model operates on a simple
concept: applications serve as spokes while the integration middleware functions as a neutral
hub. This middleware efficiently routes messages to their intended destinations, allowing the
spoke systems (or nodes) to remain oblivious to the specific systems involved in message
transmission.
• Regardless of the origin or recipient of messages, the hub-and-spoke approach ensures
seamless communication among interconnected systems

© Copyright IBM Corp. 2024 1-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Integration modernization
• IBM App Connect Enterprise supports all integration topologies.
• Applications can be implemented in an Enterprise Service Bus (ESB) or as a cloud-native app.
Fine-grained Decentralized API =
Centralized ESB
integration ownership Application
API Gateway API Gateway API API
Program
API Interface

API
API
API Gateway API Gateway

API API

Containerization Application autonomy

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-8. Integration modernization

• IBM Integration Bus (IIB) 10 was released in March 2015. Throughout the years It has been
enhanced with new features that are delivered alongside maintenance as part of quarterly fix
packs.
• IBM App Connect Enterprise is the official successor to IBM Integration Bus and is the
follow-on offering that Integration Bus customers should upgrade to. IBM App Connect
Enterprise focuses on changes to the IIB runtime architecture, which makes it better for
running inside containers.
▪ This allows IBM App Connect Enterprise to build and run applications as truly cloud native
with tailored architecture for use in container technologies, such as Docker that runs under
a Kubernetes framework.
▪ The heavily centralized ESB pattern can be broken up in this way, and so can the older hub
and spoke pattern. This makes each individual integration easier to change independently,
and improves agility, scaling, and resilience.
▪ This approach supports the ability to make a change to an individual integration with
complete confidence that you will not introduce any instability into the environment on
which the other integrations are running.
• It is important to understand this trend and how App Connect Enterprise can be used to
support an agile integration architecture.

© Copyright IBM Corp. 2024 1-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM App Connect Enterprise main components


IBM App Connect Enterprise

IBM IBM
App Connect Enterprise App Connect Enterprise
web user interface Toolkit On Premises
HTTP
administration
clients Integration node
Mainframe
Integration server

Application
Any Public or Private
Cloud

Static Message Shared


Message flows
libraries models Libraries
Hybrid Cloud
External
systems

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-9. IBM App Connect Enterprise main components

• IBM App Connect Enterprise includes components for development and runtime
administration.
• The runtime engine of IBM App Connect Enterprise is the integration node, also known as the
integration broker. The integration node processes in-flight messages that are based on
message flows and messages. The message flow controls the type and sequence of
operations on the incoming messages. Logical message trees describe the structure of the
data as it is processed.
• An integration server is a named grouping of message flows that are assigned to an integration
node. Each integration server is started as a separate operating system process, providing an
isolated runtime environment for a set of deployed message flows.
• Message flows are run on integration servers to provide isolation and scalability. Message
flows can interact with external systems such as web services and databases. A message flow
runs as a thread within one or more integration servers.
• An application is a container for all the resources that are required to create a solution. A
library is typically a reusable, logical grouping of related code, data, or both that an application
references. When an application is deployed, a broker archive (BAR) file is created.
• As shown in the figure, various administrative tools can be used to manage the integration
node and monitor message flows and message content. The IBM App Connect Enterprise web
user interface is used to manage integration nodes, integration servers, and message flows at
run time.

© Copyright IBM Corp. 2024 1-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Message routing and transformation


• Integration node Node
Node
ƒ Routes, transforms, and enriches in-flight messages as determined by message flows
and message models
ƒ There can be many integration nodes, each running on separate systems to provide
protection against failure or separate the work
• Integration server
ƒ Named grouping of message flows that are assigned to an integration node
ƒ Each integration server is a separate operating system process, which provides
isolated runtime environments for a set of deployed message flow applications
• Message flow applications
ƒ Describe the application connectivity logic, which defines the exact path that the data
takes in the integration node, and the processing that is applied to it by the message
processing nodes in that flow
ƒ Reference message models that describe the data

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-10. Message routing and transformation

• The runtime engine of IBM App Connect Enterprise is the integration node, also known as the
integration broker. The integration node routes, transforms, and enriches in-flight messages
based on the message flows and message models.
• You can create integration nodes on every operating system that IBM App Connect Enterprise
supports. An integration node is a system service on Windows, a daemon process on UNIX, or
a started task on z/OS. It controls processes that run message flows.
• There can be many integration nodes, and each can be running on a different system. This
architecture provides protection against failure and can separate work across different
divisions in a business. The integration node offers various ways to scale message throughput
(parallel processing).
• An integration server is a named grouping of message flows that are assigned to an integration
node. Each integration server is started as a separate operating system process, providing an
isolated runtime environment for a set of deployed message flows.
• In IBM App Connect Enterprise, the message flow defines the sequence of operations on a
message. The actions are defined in terms of the message format, its content, and the results
of individual actions along the message flow as determined by the message flow processing
nodes and connections. A message flow can route messages from a sender to a recipient
based on the content of the message. The direction of the flow is from the source application
to the destination application. In other words, it is assumed that the destination wants,
expects, and handles all messages sent to it. Message flows are covered in more detail in the
next unit.

© Copyright IBM Corp. 2024 1-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM App Connect Enterprise connectivity


• IBM App Connect Enterprise provides connectivity across an organization's applications
ƒ Avoids rewrites in response to new integration requirements
ƒ Simplifies maintenance by reducing expensive coupling
ƒ Provides flexibility, which adds anonymity between data producers and consumers
ƒ Adds insight into applications and the business value that they bring

Integration
gateway IBM App Connect Enterprise

ERP, EIS, Files Devices Mobile Messaging


CRM middleware

Web Microsoft Databases Mainframe


services .NET CICS/IMS

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-11. IBM App Connect Enterprise connectivity

• Enterprise systems consist of many logical endpoints such as off-the-shelf applications,


services, packaged applications, web applications, devices, appliances, and custom-built
software.
• Endpoints expose a set of inputs and outputs, which include messaging middleware such as
IBM MQ and JMS, protocols such as TCP/IP, HTTP, FTP, and SMTP, and databases such as
Db2 and SQL Server. Endpoints also include formats such as flat files, COBOL, XML, industry
standards (SWIFT, EDI, HL7), and user-defined data.
• IBM App Connect Enterprise connects these endpoints in the following ways:
▪ avoids rewrites in response to new integration requirements
▪ simplifies maintenance by reducing expensive coupling
▪ flexibility adds anonymity between producers and consumers of data
▪ adds insight into applications and the business value that they bring
▪ delivers a comprehensive integration solution
• IBM App Connect Enterprise connects a wide range of applications, services, and systems
across heterogeneous IT environments. It provides the visibility and control capabilities that
are needed to support critical business activities such as monitoring, auditing, process
management, and analytics.
• IBM App Connect Enterprise can help to:
▪ Rapidly enable business insight to be applied to in-flight data
▪ Accelerate creation of integration services for workflow applications
▪ Increase operational awareness and control over workload

© Copyright IBM Corp. 2024 1-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty
▪ Gain visibility and insight of integration in application environments

© Copyright IBM Corp. 2024 1-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Examples of IBM App Connect connectivity


Applications Integration layer Server applications
Integration nodes
Integration servers
HTTP DB2
HTTP JDBC
server ODBC

TCP

IBM MQ endpoint CICS


IBM Queue
MQ manager definition

JCA Policies
SAP
adapter
IBM MQ

Security Transaction
manager manager

Queues

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-12. Examples of IBM App Connect connectivity

• IBM App Connect Enterprise integrates many different products. The functions and features
that you add by using supplementary products do not have an impact on your applications, but
grants more options in the integration layer, which represents the operations of IBM App
Connect Enterprise.
• There are many different ways to connect into an IBM App Connect Enterprise flow. Some of
these connection methods include IBM MQ, JMS, HTTP, and web services.
• IBM App Connect Enterprise has message flow nodes that are designed to allow
interoperability with other IBM products such as IBM MQ File Transfer Edition.

© Copyright IBM Corp. 2024 1-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Tutorials gallery
• Tutorials Gallery is
accessible from the
Welcome page or
the Help menu.
• The gallery provides
access to a set of
tutorials that are
stored in a GitHub
repository
• Tutorials can
downloaded and
deployed to test
integrated solutions

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-13. Tutorials gallery

• This slide highlights the robust tutorials included in the IBM App Connect Enterprise Toolkit.
• You can then explore the configuration of the solution components to learn how to develop
integration solutions of your own
• Github repository tutorials are updated on a regular basis.

© Copyright IBM Corp. 2024 1-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Web user interface


• The IBM App Connect Enterprise
web user interface allows you to
do the following tasks:
ƒ View and manage IBM App
Connect Enterprise resources
without any additional
management software
ƒ Access operational features such
as the built-in data record and
replay tool
ƒ Configure policy-based workload
management
ƒ Deploy IBM App Connect
Enterprise applications

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-14. Web user interface

• IBM App Connect Enterprise has an administrative web user interface for interacting with
independent integration servers.
• The web user interface enables users to access integration server resources by using a web
browser and provides integration administrators with a method of administering those
resources. You can perform the following administrative tasks from the web user interface:
▪ View and manage integration server resources, such as deploying application BAR files,
and stopping, starting, or deleting deployed applications.
▪ Work with statistics and accounting data for your message flows.
▪ Work with statistics for the resources that are used by your integration servers.
▪ View and replay recorded data.
▪ Start and stop user trace and service trace.
▪ Push (export) the definition of one or more deployed REST APIs to IBM API Connect.

© Copyright IBM Corp. 2024 1-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM App Connect Enterprise runtime security


• Identifies who is authorized to submit a message to a message flow
• IBM App Connect Enterprise Runtime Security Manager can mange the following
tasks:
ƒ Allows end-to-end processing on behalf of the identity in the message
ƒ Specifies identity authentication, mapping, authorization, and propagation
ƒ Administrator configures by using security profiles
• Choose between file-based authorization or IBM MQ queue-based authorization
• Can be offloaded to an IBM DataPower appliance
• Specifies resources that are accessible to that message flow

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-15. IBM App Connect Enterprise runtime security

• Security is an important consideration for both developers of IBM App Connect Enterprise
applications, and for system administrators that are configuring IBM App Connect Enterprise
authorities.
• When you are designing an IBM App Connect Enterprise application, it is important to consider
the security measures that are needed to protect the information in the system. When a
message arrives at an input node, a security profile is used to indicate whether runtime
security is configured.
• The security manager of the integration node is called to read the security profile. The security
profile specifies the combination of authentication, authorization, and mapping that is done
with the identity of the message, and by what external security provider.
• At subsequent processing nodes in the message flow, it might be necessary for an identity to
be used to access a resource such as a database. The identity that is used to access such a
resource remains a proxy identity, either the identity of the integration nodes, or an identity
that is configured by using a command. The resource is accessed by using the appropriate
proxy identity.
• Two external security providers are supported so that the integration node can participate in a
centralized security framework: LDAP for authentication and authorization and Tivoli
Federated Identity Manager for authentication, mapping, and authorization.

© Copyright IBM Corp. 2024 1-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM App Connect Enterprise for Healthcare v5.0


• Pattern-based, healthcare-focused development tooling, including built-in testing tools to rapidly create
integrations between clinical and enterprise systems
• Independent integration runtimes for customers
wishing to run container-based and microservice
aligned architectures
• An ‘add-on’ for IBM App Connect Enterprise v12 /
CP4I (separate purchase required)
• Delivers industry-specific development accelerators
to rapidly solve common healthcare integration
problems.
• Clinical system connectivity via message-format
support for HL7 v2.7 / v2.6 / v2.5.1, HIPAA, and
Clinical Documents (CDA/CCD).

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-16. IBM App Connect Enterprise for Healthcare v5.0

• The healthcare industry has some unique connectivity and integration needs. Some of the
formats of the messages like patient data, electronic medical records have a complex format,
which needs data transformation to be able to route the messages to other applications. Some
of the formats that are used are HL7 v2, v2.3, FHIR v4.
• App Connect for Healthcare (ACH) is an add-on on top of App Connect Enterprise or CP4I to
cater to all the integration needs of Healthcare setup – it could be hospitals, medical colleges,
pathological laboratories or in some cases payers / insurances. ACH helps integrate the
clinical applications like medical imaging systems and electronic medical records with the
central IT systems like ERP, CRM, billing, and invoice systems.
• ACH provides out of the box nodes. Along with the healthcare-specific nodes, ACH also
provides accelerators that are called Patterns. Patterns are pre-built integration flows that can
be used to transform data from one format to another. The customer can directly use the
pattern if it suits their needs or modify it according to their use case.
• ACH can run on Windows or Linux and container platforms on CP4I.
• ACH is not a separate product, but just an add-on on top of IBM App Connect Enterprise or
CP4I.

© Copyright IBM Corp. 2024 1-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty
1.2. IBM App Connect Enterprise on IBM Cloud

© Copyright IBM Corp. 2024 1-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM
M Appp Connectt
Enterprise
e on
n IBM
M
Cloud

Figure 1-17. IBM App Connect Enterprise on IBM Cloud

This portion of the course centers on how IBM App Connect Enterprise can be run on a SaaS
application on IBM Cloud. You can also run it in a container as part of IBM Cloud Pak for
Integration.

© Copyright IBM Corp. 2024 1-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

IBM Cloud Integration


• IBM App Connect Enterprise offering in an IBM administered cloud environment
ƒ Helps eliminate typical
inhibitors to start App
Connect Enterprise
projects
ƒ Allows users to focus on
developing solutions
ƒ Developers can use the
same development
tools for both cloud and
on-premises software
ƒ Assets can be deployed
to either environment

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-18. IBM Cloud Integration

• The IBM App Connect cloud service is fully managed and hosted on IBM Cloud. As a managed
service (iPaaS), App Connect on IBM Cloud is a cloud-based solution that simplifies
application integration across on-premises and cloud environments to help accelerate
innovation and decrease integration and operations costs. IBM App Connect Enterprise on
IBM Cloud has a broad range of capabilities to connect different applications that include
enterprise-wide connectivity options for deep integration needs. Clients can use the IBM App
Connect Enterprise Toolkit to build integration assets that are packaged and deployed as an
Integration Server.
• IBM App Connect on IBM Cloud provides a free Lite plan that includes the enterprise
integration capabilities on IBM Cloud, Professional plans that charges you based on the
number of flow runs you execute, and Enterprise plans (IBM App Connect Enterprise on IBM
Cloud) that provide everything in the Professional plans in addition to running integration
solutions in containers on IBM Cloud.
• IBM App Connect provides the Designer web user interface suitable for business users to
quickly connect apps to automate tasks and boost productivity. Instead of manually
performing high-touch, repetitive integration tasks, you can use a simple, business-oriented
interface to create workflows and get notifications, sync data, and track outcomes. IT
personnel can use the 'configuration no-coding' approach of App Connect Designer to create
flows for APIs, add apps that expose in-house applications and systems.

© Copyright IBM Corp. 2024 1-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Smart connectors
• Smart connectors inherently handle authentication, manages sessions, can listen on events and
have built-in error handling
• All smart connectors offer native support for:
ƒ Performing metadata discovery
ƒ Managing security
ƒ Managing session
ƒ Enhanced actions
ƒ Events support
ƒ Built-in error handling
ƒ Batch and bulk interactions
ƒ Managing scaling and deployment

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-19. Smart connectors

• Prebuilt, security-rich intelligent connectors let you connect applications on premises or in the
cloud. IBM App Connect supports a wide range of data formats, application infrastructures,
and integration styles.
• Connectors constitute the runtime part of connecting to external systems or applications. You
can deploy connectors by installing the connector runtime files on an integration node.

© Copyright IBM Corp. 2024 1-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Flexible deployment options

Cloud Pak for Integration App Connect Software App Connect SaaS

Consume application Deploy on-premises or Access a highly available,


integration capabilities in a any cloud, bring your multi-tenant service that
unified integration own Red Hat OpenShift, is fully managed,
platform, other K8s platforms, or maintained, and operated
on OpenShift anywhere VMware by the IBM product team

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-20. Flexible deployment options

IBM App Connect can extend IBM Cloud services to other hybrid and multi-cloud locations that
are delivered as a service from a single pane of glass controlled through the public cloud. It can be
installed in any environment of the customers’ choosing. It can also be Multi-tenant and fully
managed service (including hybrid license). IBM App Connect can also be used as a single tenant
as a fully managed service.

© Copyright IBM Corp. 2024 1-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Unit summary • Describe the features and functions of IBM App Connect Enterprise
• Explain the business value of IBM App Connect Enterprise
• Comprehend the high-level architecture of IBM App Connect
Enterprise

© Copyright IBM Corporation 2024

Figure 1-21. Unit summary

You have completed this unit. In this unit you were provided a comprehensive overview of IBM Ap
Connect Enterprise. Having completing this unit, you should be able to:
• Describe the features and functions of IBM App Connect Enterprise
• Explain the business value of IBM App Connect Enterprise
• Comprehend the high-level architecture of IBM App Connect Enterprise

© Copyright IBM Corp. 2024 1-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Checkpoint questions
1. True or False: The hub and spoke architecture was created in response to the proliferation of
point-to-point application interfaces.
2. True or False: Smart libraries inherently handle authentication, manages sessions, can listen
on events and have built-in error handling.
3. What is the name of an IBM App Connect Enterprise add-on?
a. IBM App Connect Healthcare
b. IBM App Connect Financial
c. IBM App Connect Industrial
d. IBM App Connect Information Technology

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-22. Checkpoint questions

© Copyright IBM Corp. 2024 1-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 1. IBM App Connect Enterprise overview

Uempty

Checkpoint answers
1. True or False: The hub and spoke architecture was created in response to the proliferation of
point-to-point application interfaces
The answer is True.
2. True or False: Smart libraries inherently handle authentication, manages sessions, can listen
on events and have built-in error handling
The answer if False.
3. What is the name of an IBM App Connect Enterprise add-on?
a. IBM App Connect Healthcare
b. IBM App Connect Financial
c. IBM App Connect Industrial
d. IBM App Connect Information Technology
The answer is A.

IBM App Connect Enterprise overview © Copyright IBM Corporation 2024

Figure 1-23. Checkpoint answers

© Copyright IBM Corp. 2024 1-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Unit 2. Message flows overview


Estimated time
00:30

Overview
This unit focuses on how an IBM App Connect Enterprise application can be used to arrange and
manage processing nodes in a message flow. You learn the benefits of using the IBM App Connect
Enterprise web user interface to monitor an integration node, integration server, and message
flow application at run time.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 2-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Unit objectives • Describe how to use the IBM App Connect Enterprise Toolkit to
check the status an integration server and message flow application
• Describe how IBM App Connect Enterprise does basic message
processing
• Identify the components of a message flow application and
message processing nodes

© Copyright IBM Corporation 2024

Figure 2-1. Unit objectives

After completing this unit, you should be able to:


• Describe how to use the IBM App Connect Enterprise Toolkit to check the status of an
integration server and message flow application
• Describe how IBM App Connect Enterprise does basic message processing
• Identify the components of a message flow application and message processing nodes

© Copyright IBM Corp. 2024 2-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Topics • Message processing


• Message flows

© Copyright IBM Corporation 2024

Figure 2-2. Topics

This unit is broken down into the following topics:


• Message processing
• Message flows

© Copyright IBM Corp. 2024 2-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty
2.1. Message processing

© Copyright IBM Corp. 2024 2-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message
e processing

Figure 2-3. Message processing

This section of the unit covers message processing by providing an overview of message flows
and its components.

© Copyright IBM Corp. 2024 2-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message flow main components


• Integration node routes, transforms, and enriches in-flight messages as determined by
message flows and message models
• Integration server is a named grouping of message flows

• Message flow is a
Integration node
sequence of operations
Integration server
• Message flow nodes
App B
define the operations
CWF
• Message models App A
COBOL
defines the structure Mapping
nodes
Output
nodes App C
and properties of the Input Filter
data node node

XML
Message flow XML

Message flows overview © Copyright IBM Corporation 2024

Figure 2-4. Message flow main components

• The main components of the IBM App Connect Enterprise are the IBM App Connect Enterprise
Toolkit, integration nodes, integration servers, message flows, and message models.
• The IBM App Connect Enterprise Toolkit is an integrated development environment.
Development artifacts can be stored in and managed by an external repository.
• The integration node is the runtime engine for the message flows that are created in the IBM
App Connect Enterprise Toolkit.
• Each integration node contains one or more processes that are called integration servers. An
integration server can contain one or more message flows.
• Some message flows need message models or schemas. The integration node uses the
message models and schemas to parse and optionally validate the message content and
construct predefined messages.

© Copyright IBM Corp. 2024 2-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message processing styles (1 of 2)


• Request Reply
ƒ This is the most common type of processing, and enables two applications to communicate, even if
they use different data formats. For example, a message flow transforms a request message from
Application One into a format that Application Two can understand. The output of the first message
flow is then sent to Application Two, which processes the request and issues a reply. The reply is
processed in a second message flow, which converts the response message into a format that
Application One can understand.
• Aggregation
ƒ This type of processing is often used to start one or more back-end systems and coordinate replies. It
is a more complex form of a Request Reply case, in which all the replies from the intermediate
applications must be collected together before the reply message for the original request can be sent.
For example, this type of processing could be used to book a holiday, in which a flight, hotel, and a car
are required, and all must be successfully processed before the holiday confirmation can be sent.
• Routing
ƒ Routing is used to redirect messages, and one or more copies of a message can be sent to one or more
destinations.
Message flows overview © Copyright IBM Corporation 2024

Figure 2-5. Message processing styles (1 of 2)

• In a typical IT environment, there are many interacting components, each with a role to play,
and it is important that you are able to clearly define the role of IBM App Connect Enterprise in
the broader environment. A key design decision is how much business logic to implement
within your message flows.
• IBM App Connect Enterprise enables you to implement large amounts of processing within a
message flow, and implementations can vary significantly from the simple routing of
messages to complex validation and transformation.

© Copyright IBM Corp. 2024 2-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message processing styles (2 of 2)


• Transformation
ƒ This type of processing involves the use of one or more transformation technologies such as Compute,
JavaCompute, XMLT, or Mapping node. In this type of processing the input message is processed
according to some business rules, and there might also be a change of message format or protocol.
• File processing
ƒ The use of files is one of the most common methods of storing data. You can create message flows to
process data in files, accepting data in files as input message data, and producing output message
data for file-based destinations.
• Database handling
ƒ You can configure your message flows to access and manipulate business data in databases.
• Web services
ƒ IBM App Connect Enterprise can be used as both a consumer and provider of web services.
• Transport switching
ƒ You can use this type of processing to switch between transports such as HTTP and JMS.
Message flows overview © Copyright IBM Corporation 2024

Figure 2-6. Message processing styles (2 of 2)

• The processing style that is used in a development environment is based on one’s workflow
and business rules.
• Some implementations also read data from a database and use that data to populate
messages. Regardless of the number of functions that you decide to implement in a message
flow, it is important to have clear boundaries between pieces of application processing.

© Copyright IBM Corp. 2024 2-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty
2.2. Message flows

© Copyright IBM Corp. 2024 2-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message
e flows

Figure 2-7. Message flows

This section of the unit covers message processing by providing an overview of message flows
and its components. Then, you will be introduced to the message flow toolbox in IBM App
Connect Enterprise.

© Copyright IBM Corp. 2024 2-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Introduction to message flows


A message flow is a sequence of operations
ƒ Composed of message flow nodes that are connected to one another
ƒ Must include an input node for the source of data to process
ƒ Typically includes one or more output nodes that deliver data to its destinations

Input node Connection (wire) Message flow

Process
Group of node
terminals

Output
node
Output
terminal

Input
terminal

Message flows overview © Copyright IBM Corporation 2024

Figure 2-8. Introduction to message flows

The figure on this slide shows the components of a message flow.


• A message flow starts with at least one input node, which acts as the source of messages for
the message flow to process. Often there is only one input node, but there can be multiple
input nodes, each pointing to a different source.
• Message flow processing and transport nodes are the intermediate nodes where messages
are transformed and enriched.
• Output nodes place messages on a transport or another destination, although it is possible to
end a flow without an output node.
• Input and output terminals are the connectors between nodes in a flow. The terminals of the
nodes are “wired” together. Wires provide a path for messages to flow from one node to
another. A terminal can have multiple connections, which result in a duplication of the
message, or multiple different messages. The order in which any of the output paths are taken
is random, but the paths are run sequentially. Each path is followed until it ends, and then the
next path is taken.
• A typical message flow is said to be “stateless,” which means each instantiation of a message
flow is treated as an independent transaction, unrelated to any previous request. Later in the
course, you see how multiple transactions can be “related” to one another.
• By setting the appropriate properties, you can make message flows transactional so that a
runtime error backs out any intermediate processing. You can also cause the integration node
to process particular parts of a message flow on multiple threads, for parallel processing. You
also can define explicit error handling logic, so that runtime errors are handled according to
your specific needs, beyond the default error handling that IBM App Connect Enterprise
provides.

© Copyright IBM Corp. 2024 2-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty
Note: multiple connections to the same input terminal are not message aggregation

© Copyright IBM Corp. 2024 2-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message flow toolbox nodes


• This slide lists Timers Subflows Routing
the Toolbox
nodes.
• The next
several slides Error Handling

list the
Connector
nodes.
Callable Flow Security Grouping

Transformation

Message flows overview © Copyright IBM Corporation 2024

Figure 2-9. Message flow toolbox nodes

• The palette in the Message Flow editor contains all the built-in nodes, which are organized into
categories, or drawers. A drawer is a container for a list of icons, such as the Favorites drawer.
• When you first open the IBM App Connect Enterprise Toolkit, the default drawers contain
built-in message flow nodes that are related in function. For example, one drawer contains all
the nodes that handle input and output to subflows. Another drawer, Transformation, groups
the nodes that you can use to convert the input message into a different form, including the
Compute and JavaCompute nodes.

© Copyright IBM Corp. 2024 2-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message flow connector nodes


JMS
• This slide lists the
message transport nodes,
which are grouped by their
drawer
REST *MQTT *IBM MQ

SOAP

HTTP

Message flows overview © Copyright IBM Corporation 2024

Figure 2-10. Message flow connector nodes

• Some nodes, such as the IBM MQ Input node, require that an IBM MQ queue manager is
specified for the integration node.
• These nodes are built specifically for an IBM MQ queue manager on the integration node

© Copyright IBM Corp. 2024 2-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message routing nodes


• Filter node routes a message according to message Routing
content by evaluating an ESQL filter expression
• FlowOrder node forces a prescribed order of
processing of the messages that this node propagates
• Label node provides a target for a routing decision
• Pass through node enables labeling for version control
• Resequence node controls the sequence in which a
group (or groups) of incoming messages are
propagated in a message flow
• Route node directs the messages down various paths by evaluating XPath filter expressions
• RouteToLabel interrogates the message to determine the identifier of the Label node to which
the message must be routed
• Sequence node adds a sequence number to one or more groups of input messages
Message flows overview © Copyright IBM Corporation 2024

Figure 2-11. Message routing nodes

• The Filter, Route, Label, and RouteToLabel nodes are used to route a message to a specific
path in the message flow. Each of these nodes is described in more detail next.
• When you connect message flow nodes together, the integration node determines the order in
which they are processed. Keep in mind that if you connected more than one node or
sequence of nodes to a single output terminal, you cannot predict whether one sequence is
processed before another for a message. If the order of processing is important in your
message flow, use the FlowOrder node to force a prescribed order of processing of the
messages that this node propagates.

© Copyright IBM Corp. 2024 2-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Subflows
• You define a subflow to provide a common sequence of actions to be Subflows
used by several message flows, applications, or integration services.
• A subflow provides the following benefits:
ƒ Reusability and reduced development time
ƒ Consistency and increased maintainability of your message flows (consider a
subflow as analogous to a programming macro, or to inline code that is written once
but used in many places)
ƒ Flexibility to tailor a subflow to a specific context (for example, by updating the
output queue or data source information)
• If you want to reuse subflows between multiple applications or integration
services, store the subflows in a shared library. You can change those
subflows and redeploy the shared library without the need to redeploy the
applications or integration services that reference the shared library.
• Subflows can be called by other subflows
• You can create a subflow as a .subflow file or as a .msgflow file.
Message flows overview © Copyright IBM Corporation 2024

Figure 2-12. Subflows

You can create a subflow as a .subflow file or as a .msgflow file. Choose which type of subflow
to use based on the following information:
• .subflow file subflow
▪ A subflow that is defined in a .subflow file can be deployed in any of the following ways:
The subflow is deployed separately from any of the message flows that use this subflow.
The subflow and the message flows that include this subflow must be deployed in the
same integration server. The subflow can be deployed directly to an integration server or
as part of a library. If you update this type of subflow and redeploy it, all message flows
that use this subflow, and are not part of an application or the integration service, are
automatically updated. You do not need to redeploy these message flows. If you update a
subflow in a shared library and redeploy it, all message flows in an application or
integration service that use this subflow are updated automatically.
▪ The subflow is deployed as part of an application or integration service
▪ You cannot use the following nodes in this type of subflow:
- Nodes representing subflows that are defined in .msgflow files
- User-defined nodes created from subflows that are defined in .msgflow files
▪ If you create a BAR file that contains both ESQL code and a subflow that is defined in a
.subflow file, you cannot include the ESQL code directly in compiled message flow files.
• .msgflow file subflow
▪ A subflow that is defined in a .msgflow file is embedded inside any parent message flow
that use it when the message flow is placed in a BAR file. This type of subflow can only be
deployed to an integration server with the message flow in which it is used. If you update

© Copyright IBM Corp. 2024 2-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty
this type of subflow, you must redeploy all message flows that use the subflow so that the
updated subflow is used. This type of subflow can be packaged as a user-defined node.
You can also create a subflow in a static library and then package it as a user-defined node that
can be accessed through the IBM App Connect Enterprise Toolkit node palette. The subflow can
then be used in a message flow by adding the user-defined node to the flow.

© Copyright IBM Corp. 2024 2-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Message model and tree


• IBM App Connect Enterprise routes and manipulates data after converting it into a logical tree
ƒ Input node of the message flow converts incoming data from a stream of bits into a logical tree structure
through a parsing operation
ƒ Output node of message flow creates outgoing data (in the bit stream) from the tree structure by a
serialization operation
• A logical message tree contains the original data, plus other information about the runtime
environment, message transport properties, and other “control” information
• Transport type determines the logical tree headers that are included in the tree

Root

Properties MQMD Other headers Body

Example logical tree for an IBM MQ message


Message flows overview © Copyright IBM Corporation 2024

Figure 2-13. Message model and tree

• The logical tree structure is the internal representation of a message. It is also known as the
message assembly.
• To simplify message transformation and routing, IBM App Connect Enterprise separates the
physical format of the data from the logical structure of the data. The logical message tree (or
“message assembly”) is the method that IBM App Connect Enterprise uses to describe the
structure of the message properties, header, and body.
• The tree structure begins with a node called Root. Under Root, other nodes and subtrees are
created. These nodes and trees contain the original message body itself, along with
information about the message transport that was used to bring in the message. Information
about the runtime environment is also part of the tree. If a runtime error occurs, a special tree
that is called an Exception List that contains information about the error, is constructed and
attached to the Root tree node.
• Any part of the logical message tree is accessible by message processing nodes. This
capability allows your message flows to make processing decisions that are based on the
context of the runtime environment and other factors.
• Because the logical message follows a tree structure, it is convenient to use XPath
expressions to traverse and modify the message. You can specify XPath expressions in several
message processing nodes.
• When an input node receives a message, a message assembly of four different message trees
is created. While the parsed message is written into the Root tree, the other three trees are
initially empty. The trees can be populated:
▪ By certain processing nodes (the LocalEnvironment)
▪ By the integration node when an exception occurs (ExceptionList)

© Copyright IBM Corp. 2024 2-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty
▪ By ESQL or Java statements in JavaCompute, Compute, Filter, or Database nodes (all
trees)
• Root and certain parts of LocalEnvironment can also be modified by using a Mapping node.

© Copyright IBM Corp. 2024 2-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Unit summary • Describe how to use the IBM App Connect Enterprise Toolkit to
check the status an integration server and message flow application
• Describe how IBM App Connect Enterprise does basic message
processing
• Identify the components of a message flow application and
message processing nodes

© Copyright IBM Corporation 2024

Figure 2-14. Unit summary

You have completed this unit. In this unit you learned about the IBM Ap Connect Enterprise
application message flows. Having completing this unit that you should be able to:
• Describe how to use the IBM App Connect Enterprise Toolkit to check the status of the
integration server and message flow application
• Describe how IBM App Connect Enterprise does basic message processing
• Identify the components of a message flow application and message processing nodes

© Copyright IBM Corp. 2024 2-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Review questions
1. What are the main components of IBM App Connect Enterprise?
a. IBM App Connect Enterprise Toolkit
b. Integration database
c. Integration servers
d. message flows

2. What is the most common type of processing, and enables two applications to communicate,
even if they use different data formats?
a. Request reply
b. Aggregation
c. Multinodal
d. Routing

3. True or False: The integration node uses the message models and schemas to parse and
optionally, validate the message content and construct predefined messages.

Message flows overview © Copyright IBM Corporation 2024

Figure 2-15. Review questions

© Copyright IBM Corp. 2024 2-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Review answers (1 of 2)
1. What are the main components of IBM App Connect Enterprise?
a. IBM App Connect Enterprise Toolkit
b. Integration database
c. Iintegration servers
d. message flows
The answer is A, C, and D.
2. What is the most common type of processing, and enables two applications to communicate,
even if they use different data formats?
a. Request reply
b. Aggregation
c. Multinodal
d. Routing
The answer is A.
3. True or False: The integration node uses the message models and schemas to parse and optionally validate the
message content and construct predefined messages.
The answer is True.
Message flows overview © Copyright IBM Corporation 2024

Figure 2-16. Review answers (1 of 2)

© Copyright IBM Corp. 2024 2-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 2. Message flows overview

Uempty

Review answers (2 of 2)
3. True or False: The integration node uses the message models and schemas to parse and
optionally, validate the message content and construct predefined messages.
The answer is True.

Message flows overview © Copyright IBM Corporation 2024

Figure 2-17. Review answers (2 of 2)

© Copyright IBM Corp. 2024 2-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Unit 3. Mapping messages overview


Estimated time
00:30

Overview
This unit focuses on how the Graphical Data Mapping Editor can be used to create and edit
graphical data maps.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 3-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Unit objectives • Explain how the Graphical Data Mapping Editor can be used to map
logical messages
• Explain how to use message maps within message flows
• Understand how an environment tree can be used to store
information in a message flow

© Copyright IBM Corporation 2024

Figure 3-1. Unit objectives

After completing this unit, you should be able to:


• Explain how the Graphical Data Mapping Editor can be used to map logical messages
• Explain how to use message maps within message flows
• Understand how an environment tree can be used to store information in a message flow

© Copyright IBM Corp. 2024 3-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Topics • Message maps overview


• Graphical Data Mapping editor
• Mapping connections and elements

© Copyright IBM Corporation 2024

Figure 3-2. Topics

This unit is broken down into the following topics:


• Message maps overview
• Graphical Data Mapping editor
• Mapping connections and elements

© Copyright IBM Corp. 2024 3-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty
3.1. Message maps overview

© Copyright IBM Corp. 2024 3-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Messagee mapss
overview

Figure 3-3. Message maps overview

This section of the course focuses on how IBM App Connect uses message maps to move data
from one node to another.

© Copyright IBM Corp. 2024 3-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Introduction to message maps


• Message maps allows one to transform a logical message without writing code by providing a
visual image of the transformation and simplifying its implementation and ongoing
maintenance.
ƒ Concentrate on structural transformations of the message, not on sequencing steps

• Use a message map to complete any of the following actions:


ƒ Transform any part (headers, properties, and body) of the logical message
ƒ Enrich a logical message with data available in an external database
ƒ Route a logical message based on data content
ƒ Modify data in an external database

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-4. Introduction to message maps

• A message map is the IBM App Connect Enterprise implementation of a graphical data map. It
is based on XML schema and XPath 2.0 standards, with more support for JSON schema draft 4
and Swagger 2.0. You can use a message map to graphically transform, route, and enrich a
message, or implement a REST API.
• Maps provide a simple way to transform logical messages. You transform an input message
into an output message with a map, by following these steps:
a. Design and define the map to do the required transformations.
b. Call the map by using a Mapping node that calls the map.
• The mapping options available are not the same for all node types. Target assignments can be
calculated or combined from various input sources, which can be in the form of messages or
database tables, as with many-to-one or many-to-many mapping. Target assignments can
also be conditional based on a combination of factors that can be applied to any type of
mapping.
• Select one of three different map models, which cannot be changed later:
▪ Complete message maps properties, all headers, message body, and parts of the
LocalEnvironment (DestinationList).
▪ A simplified message copies all existing headers. Map only the properties, body, and
LocalEnvironment.
▪ Submaps map (parts of) the message body only; it cannot be used in nodes directly.
• It is important to commit changes to message models and database tables before using the
messages or tables in maps.
• In IBM App Connect Enterprise, the Graphical Data Mapping editor is used to create maps.

© Copyright IBM Corp. 2024 3-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Message map behaviors


• By default, message map files are deployed in BAR files as individual resources
ƒ If you change a message map, you must redeploy the integration solution

• IBM App Connect Enterprise prepares message maps for run time at deployment instead of
when the first message is flowed through the Mapping node
ƒ There is no drop in performance from initializing a message map when the first message is flowed
through the node after a deployment or restart

ƒ Message map and its dependencies, such as any referenced message models, are resolved and
validated during deployment to ensure that the message map runs successfully on first message

ƒ Message map syntax is validated during deployment to ensure that the message map runs
successfully on the first message

ƒ When IBM App Connect Enterprise is restarted, the message map syntax and its dependencies are
validated before the message flow can be restored
Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-5. Message map behaviors

• By default, message map files are deployed in BAR files as a part of an application, integration
service, or library that provides an integration solution. You can also deploy a map as an
independent resource if you are managing your message flows that way. If you change a
message map, you must redeploy your integration solution, or independent message flows.
• When you deploy message maps, all message maps are validated to ensure that all the map
dependencies can be resolved at run time. This validation step checks that the referenced
message models such as XML schema files, DFDL schema files, message set files, and the
referenced submaps can be resolved.
• Next, message maps and their dependencies are generated to an executable form. This step
also checks that the contents of the map and submaps are valid, and that they are error-free.
If the message maps and their dependencies are valid and can be successfully generated,
they are persisted in both the deployed and generated forms to the configuration store.
Otherwise, the deployment is stopped and you receive a BIP message that reports the map
generation failure.

© Copyright IBM Corp. 2024 3-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Message map characteristics

• Used in various message flow nodes


ƒ Map target = Message (Mapping node)
ƒ Map target = Database
• Reusable and correspond with nodes
ƒ Nodes refer to a message map for properties, headers, and body
• Stored in *.map files and rendered as XML schemas
ƒ Must be referenced by a message flow application
• Submaps map a complex type in the message body

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-6. Message map characteristics

A message map is the IBM App Connect Enterprise implementation of a graphical data map.
• Maps are used to map a message in a Mapping node. You can also use a message map to
enrich, or conditionally set the output message with data from a database table.
• You can use a message map to graphically transform a message assembly, message body, and
properties, according to the transforms and XPath functions defined in the message map.
• A map is based on XML schema and XPath 2.0 standards. It is stored in a .map file.
• A submap is a reusable form of graphical data map. Submaps can use a set of mapping
functions in multiple graphical data maps to transform a common set of elements in the input
object to the output object. You can use a submap to reuse common data transformations.

© Copyright IBM Corp. 2024 3-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Graphical data map type

Map type Use Type of resource


Message map Graphical data mapping .map file

Submap Reuse of common data transformations .map file

No file. A local map is


Reduced complexity of reading and
Local map embedded within a
managing a Message map
Message map

Graphical data Share graphical data maps across


.map file
maps different software products

Solutions that are migrated from earlier


IBM WebSphere versions of IBM App Connect
Message Broker Enterprise .msgmap file
message
map* Use Conversion tool to move to new
technology
*Note: In IBM App Connect Enterprise, if you want to deploy or modify a legacy message
map (.msgmap format), you must first convert it to a graphical data map (.map format).
A graphical data map is known as a message map in IBM App Connect Enterprise.
Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-7. Graphical data map type

This slide summarizes the map types that a graphical data map supports.

© Copyright IBM Corp. 2024 3-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty
3.2. Graphical Data Mapping editor

© Copyright IBM Corp. 2024 3-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Graphicall Data
a
Mappingg editor

Figure 3-8. Graphical Data Mapping editor

This section focuses on how IBM App Connect Toolkit uses the graphical mapping editor to
change message data from one format to another.

© Copyright IBM Corp. 2024 3-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Graphical Data Mapping editor (1 of 2)


• The following are some of benefits of using the Graphical Data Mapping Editor Mapping editor
in your workflow:
ƒ Used to create and edit maps that takes source messages and transform them into output messages
ƒ Designed as a standard for IBM products
ƒ Contains a rich feature set and simplicity make the Graphical Data Mapping editor a good default
transformation choice
ƒ Supports XPath 2.0 expressions

• The Graphical Data Mapping editor combines with patterns to provide the following:
ƒ Graphical creation of flows that require transformation logic
ƒ Invocation of the editor when pattern instances are generated
ƒ User guidance through the HTML pattern help and task list

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-9. Graphical Data Mapping editor (1 of 2)

• The graphical data map represents the input and output message data. You drag actions to
make connections, select transforms, and build logic to transform your message data without
programming.
• The Graphical Mapping Editor is the standard mapping tool for many IBM products.

© Copyright IBM Corp. 2024 3-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Graphical Data Mapping editor (2 of 2)


Graphical Data Mapping editor best practices
• Models that are referenced in the map must be in the workspace
• If a map references a database, a database definition file (.dbm) must be in the workspace
Source Target
messages messages

Transform Connector
Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-10. Graphical Data Mapping editor (2 of 2)

• When you use the Graphical Data Mapping editor, the source and target messages are shown
in a design window.
• By drawing connectors from the source to the target, you can specify what fields are copied,
and what transforms are applied.
• After you create a map with the Graphical Data Mapping editor, the mappings are
automatically validated and compiled, and are ready for adding to a BAR file, and subsequent
deployment to an integration server.
• You must have message models for any messages that you want to include in a mapping. You
can select the message model from existing message models in an application or library when
you create a message map. The mapping facility supports message models that are provided
in DFDL and XML schema files or MRM message sets.

© Copyright IBM Corp. 2024 3-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Mapping node
• The Mapping node can be used to for the following:
ƒ Construct and populate one or more new messages
ƒ Build a new logical message
ƒ Copy logical messages between parsers
ƒ Transform a logical message from one format to another
• Contained in the Transformation drawer of the palette
• Mapping routine property contains the statements to run against the database or the logical message tree

Transformation

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-11. Mapping node

• Use a map with the Mapping node to construct one or more new messages and populate them
with various types of information.
• You can populate the new messages with:
▪ New information
▪ Modified information from the input message
▪ Information that is taken from a database
• You can modify elements of the message body data, its associated environment, and its
exception list.
• The Graphical Data Mapping editor is used to create the map and define the transformations.

© Copyright IBM Corp. 2024 3-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty
3.3. Mapping connections and elements

© Copyright IBM Corp. 2024 3-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Mapping
g
connectionss and
d
elements

Figure 3-12. Mapping connections and elements

The focuses on how you use IBM App Connect to map elements for various data sources.

© Copyright IBM Corp. 2024 3-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

IBM App Connect flexibility in creating transforms


• Option 1: Drag from source to target
• Option 2: Create connection or transform by using menu action on the selected source or target
• Option 3: When you cannot locate the source and target concurrently select Quick Link to Output
to use the quick outline view and its built-in filter to find and select the required element
ƒ After you select the source and target elements, the most applicable transform is created in the Graphical
Data Mapping editor

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-13. IBM App Connect flexibility in creating transforms

The Map editor supports multiple methods for creating a transform in a map.
• You can create a transform in a map by clicking the map source element and dragging to the
map target element and then selecting the transform.
• You can create a connection or transform by right-clicking the map source element and then
clicking an action from a menu.
• You can click Quick Link from a menu to find the source and target elements and create a
transform.

© Copyright IBM Corp. 2024 3-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Transform properties
• The Transform properties can be used to complete the following:
ƒ Set the value of an output element
ƒ Define a conditional expression that determines whether the transform is applied
ƒ Define the indexes to use when the input element is a repeating structure
ƒ Reorder how the Graphical Data Mapping editor handles inputs to a transform
ƒ The transform type determines the property tabs that are available in the Properties view
• Properties view options to modify elements:
ƒ General tab specifies the value or expression that determines the value of the output element
ƒ Variables tab shows variable names for input connections that are used in expressions and to set the
value of an output
ƒ Condition tab defines the XPath expression that determines whether to apply a transform
ƒ Order tab reorders the input connections for transforms such as Append
ƒ Documentation for documenting the transform

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-14. Transform properties

• Configure the properties of a transform to set the value of an output element; define a
conditional expression that determines whether the transform is applied; define the indexes
to use when the input element is a repeating structure; or reorder the way in which inputs to a
transform are handled by the Graphical Data Mapping editor
• Extra Properties that determine the value of a repeating output element

© Copyright IBM Corp. 2024 3-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Automatically mapping input to output elements


• Use the Auto map wizard to automatically create Move transforms from input to output
elements based on some correlation of the names of input and output elements to create
mappings
• The Auto map can help accomplishing the following:
ƒ Map all simple descendants of the selected elements
ƒ Map the immediate child elements of the selected element
ƒ Specify how names are matched in the Name Matching Options section
• The Mapping Criteria section can accomplish the following:
ƒ Create transforms when the names of inputs and outputs are the same
ƒ Create transforms when the names of inputs and outputs are similar
ƒ Create transforms when the input and output names are matched to synonyms defined in a file

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-15. Automatically mapping input to output elements

• You can choose to map all simple descendants of the selected elements or map the
immediate child elements of the selected elements.
• You can also specify how names are matched in the Name Matching Options section. The two
options are independent of each other, and you can select their values separately:
▪ Use Case sensitive to select whether you want to match the case sensitivity of the name.
▪ Use Alphanumeric characters (Letters and digits only) to exclude special characters from
the name.
In the Mapping Criteria section, specify the mapping criteria for the matches between the input
and output element names:
• Selecting Create transforms when the input and output names are matched to synonyms that
are defined in a file creates mappings for word pairs that are defined in a synonym file.
▪ A synonym file is a flat text file with the file extension .txt or .csv.

© Copyright IBM Corp. 2024 3-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Mapping the Environment tree


• The LocalEnvironment tree is a part of the logical message tree in which you can store
information while the message flow processes the message.
• LocalEnvironment tree can complete the following:
ƒ Store variables that can be referred to and updated by message processing nodes that occur
later in the message flow.
ƒ Define destinations (that are internal or external to the message flow) to which a message is
sent.
• Advantages to adding the Environment tree to the message map
ƒ Model the content that is required in a map by using User-Defined elements or casts
ƒ Update, create, or remove elements by using transformations between elements in the
Environment tree
ƒ Add any elements in the message assembly
ƒ All Environment tree content is always transferred from input to output

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-16. Mapping the Environment tree

• When you add the LocalEnvironment tree to a message map, you must provide transforms for
all of its elements so that the input values of each element are not lost. You can copy the input
field unchanged or modified by a transform. Many IBM App Connect Enterprise nodes depend
on information in the local environment tree that is copied during the message flow.
• The Mapping node copies the LocalEnvironment trees from input to output, unchanged, when
they are not included in the message map.

© Copyright IBM Corp. 2024 3-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Unit summary • Explain how the Graphical Data Mapping Editor can be used to map
logical messages
• Explain how to use message maps within message flows
• Understand the general properties of a transform

© Copyright IBM Corporation 2024

Figure 3-17. Unit summary

You have completed this unit. In this unit you learned about the graphical mapping editor in IBM
Ap Connect Enterprise Toolkit. Having completing this unit, you should be able to:
• Explain how the Graphical Data Mapping Editor can be used to map logical messages
• Explain how to use message maps within message flows
• Understand the general properties of a transform

© Copyright IBM Corp. 2024 3-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Review questions

1. True or False: The Graphical Mapping editor can automatically create transforms when the
names of inputs and outputs are similar.

2. True or False: Maps concentrate on sequencing steps, not on structural transformation of the
message.

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-18. Review questions

© Copyright IBM Corp. 2024 3-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 3. Mapping messages overview

Uempty

Review answers

1. True or False: The Graphical Mapping editor can automatically create transforms when the names
of inputs and outputs are similar.
The answer is True.

2. True or False: Maps concentrate on sequencing steps, not on structural transformation of the
message
The answer is True.

Mapping messages overview © Copyright IBM Corporation 2024

Figure 3-19. Review answers

© Copyright IBM Corp. 2024 3-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Unit 4. Processing and modeling data


Estimated time
00:30

Overview
This unit is an overview of how processing nodes can be used to control message flows. You also
learn how IBM App Connect creates message models for a range of data formats.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 4-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Unit objectives • Explain the concepts of message models and how they are used to
help message transformation
• Identify the parsers that are available for use within IBM App
Connect Enterprise
• Describe how processing node design factors to address general
development issues

© Copyright IBM Corporation 2024

Figure 4-1. Unit objectives

After completing this unit, you should be able to:


• Explain the concept of message models and how they are used to help message
transformation
• Identify the parsers that are available for use within IBM App Connect Enterprise
• Describe how processing node design factors to address general development issues

© Copyright IBM Corp. 2024 4-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Topics • Processing messages


• Routing or enriching a message
• Message modeling
• Message validation

© Copyright IBM Corporation 2015, 2019

Figure 4-2. Topics

This unit is broken down into the following topics:


• Processing nodes
• Routing or encircling a message
• Message modeling
• Message validation

© Copyright IBM Corp. 2024 4-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty
4.1. Processing messages

© Copyright IBM Corp. 2024 4-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Processing
g
messages

Figure 4-1. Processing messages

This section highlights the importance of the FileInput and FileOutput nodes in message flows.
You learn the basics of message flow design and use IBM App Connect to specify how data can be
transported from one node to another.

© Copyright IBM Corp. 2024 4-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

FileInput node basics


• The purpose of the FileInput node is to read one
or more messages from a single file
ƒ Each message is propagated as a separate flow
transaction
ƒ The part of a file that generates one message flow Failure
transaction is called a record Out
ƒ A file can be a single record, or a series of records End of Data
Catch
ƒ Properties in the node specify how the FileInput
node determines the records in a file

• Starts the message flow when a new file arrives

• Focus is on processing rather than message


delivery

Processing and modeling data © Copyright IBM Corporation 2015, 2019

Figure 4-2. FileInput node basics

• It is possible for the integration node to read and write files from and to the local file system.
• It is also possible to read and write files to and from an FTP server. The focus of the file
support in IBM App Connect Enterprise is on message processing, rather than message
delivery.
• Support for the FileInput and FileOutput nodes is available on all supported operating
systems.
• End of Data terminal is given control when the integration node detects that it reaches the end
of the input file.
• The End of Data message comprises an empty BLOB message together with a
[Link] structure. It allows explicit end-of-flow processing in another part
of the flow.
• Finish File terminal is driven to indicate to write the file to the file system.

© Copyright IBM Corp. 2024 4-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

FileInput node error handling


• The node attempts to reprocess a configurable number of times if it fails
• If processing still fails, the
Action on failing file option
is to designed to move the
file to the mqsibackout
subdirectory or delete the
file
• If the node fails before the
message is propagated to
the Out terminal, the
message is sent to the
Failure terminal
• Transaction mode property on Transactions tab defines whether the message flow outputs
messages under a coordinated transaction

Processing and modeling data © Copyright IBM Corporation 2015, 2019

Figure 4-3. FileInput node error handling

Each FileInput node has a configurable Retry Mechanism with the following parameters:
• Failure (default): If the file cannot be read, then it is processed as a failure.
• Short Retry: The integration node tries a number of times before processing as a failure.
• Short and long retry: After the number of short tries are exhausted, the node continues to try
indefinitely, waiting for the Long retry interval period between tries.
The Action on failing file option determines failure processing:
• Move to Backout Subdirectory writes the file to a backout subdirectory, which is created as a
subdirectory of the input directory. If a file of that name exists in the backout directory, the
message flow fails, and the failure is reported.
• Delete deletes the input file and processes the next file to process.
• Add timestamp and Move to Backout Subdirectory renames the failing file so it includes a time
stamp. This process helps ensure that duplicate files cannot exist in the mqsi-backout
subdirectory.

© Copyright IBM Corp. 2024 4-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

FileOutput node basics


• FileOutput nodes writes messages to a file in
the file system of the integration node or by
using FTP or SFTP in a remote file system
Failure
• The node places the message in the output In
Out
Finish File
directory in the following circumstances: End of Data
ƒ After each record, if the file is to contain a single
record
ƒ When the Finish File terminal receives a message

Processing and modeling data © Copyright IBM Corporation 2015, 2019

Figure 4-4. FileOutput node basics

• It is possible for the integration node to write files to the local file system. It is also possible to
write files to an FTP server.
• Support for the FileOutput node is available on all supported operating systems. On z/OS, files
are resolved in the HFS or ZFS file system, and file names are treated in the case-sensitive
UNIX manner.
• There are specific terminals on the FileOutput node for handling the end of the file.
▪ The Finish File input terminal is driven to indicate to write the file to the file system.
▪ The End of Data output terminal is given control when the integration node detects that it
reaches the end of the input file. The End of Data message comprises an empty BLOB
message together with a [Link] structure. It allows explicit end-of-flow
processing in another part of the flow.

© Copyright IBM Corp. 2024 4-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty
4.2. Routing or enriching a message

© Copyright IBM Corp. 2024 4-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Routing
g orr enriching
g
a message

Figure 4-1. Routing or enriching a message

This section of the unit focuses on how IBM App Connect reads records from a message flow. You
learn how the FilerRead Node and the FileExists can be used to capture information from a variety
ofvariousata sources.

© Copyright IBM Corp. 2024 4-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

FileRead node basics


• The FileRead node reads one record or the
entire contents of a file from within a
message flow
Failure
In Out
• Provides keyed access to identify a record
Finish File No match
• Can use any parser to parse the contents Finish File
of any file and propagate the contents as a
message tree

• No other file node can access the file when


the read node starts reading data from it

Processing and modeling data © Copyright IBM Corporation 2015, 2019

Figure 4-2. FileRead node basics

• The FileRead node is like the FileInput node, which reads a file from the start of a message
flow, except it is driven to read the file by an incoming message.
• When the contents of the file are propagated, the file is deleted from the file system. No other
file node can access the file when the read node starts reading data from it.
• If a file that matches the pattern does not exist, then the original message is propagated to the
'No match' terminal. If the terminal is not connected, then an exception occurs.
• At the end of processing, it is possible to configure the node not to delete the file. In this
mode, any other file read node can also access the file if running in the same browse only
mode.
• By default, after the contents of the file are successfully propagated, the file is deleted from
the file system

© Copyright IBM Corp. 2024 4-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

FileExists node basics


• FileExists nodes can accomplish
the following:
ƒ Poll for the existence of a specified
file at a specified location
Failure
ƒ Delete or leave the file in the file Out
directory without processing the file Catch
contents.

• FileExists node to process a file


from a directory without needing
to read the file contents.

• Metadata for the file is propagated


down the flow without processing
the contents of the file.

Processing and modeling data © Copyright IBM Corporation 2015, 2019

Figure 4-3. FileExists node basics

• The file contents can then be read and processed by another node (such as a FileRead node)
later in the flow.
• You can also choose whether to delete the file or leave it in the file directory after it has been
propagated through the flow.

© Copyright IBM Corp. 2024 4-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty
4.3. Message modeling

© Copyright IBM Corp. 2024 4-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Message
e modeling

Figure 4-1. Message modeling

This section focusses on a message modeling language based on the Open Grid Forum called Data
Format Description Language (DFDL). You will learn how IBM App Connect uses this flexible
modeling language to import data into message flows.

© Copyright IBM Corp. 2024 4-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Introduction to Message modeling


• Most messages require a model at run time to parse the message bit stream from the physical
data and serialize to create the physical bit stream from the model
ƒ Message models used are based on either World Wide Web Consortium (W3C), XML Schema 1.0 (XSD),
or JSON Schema.

• Modeling accelerates the development of transformations at design time in the IBM App
Connect Enterprise Toolkit by doing the following:
ƒ Providing a source and a target for graphical mappings
ƒ Assists when editing transformation programs

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-2. Introduction to Message modeling

• Most messages are not self-defining. For example, a C or COBOL program creates a message
that is just a stream of binary data. Without a model to interpret it, the data is meaningless.
XML is the opposite. It is verbose and self-descriptive and an XML parser can parse any XML
document without using a model.
• You need a model to ensure that the messages are validated correctly. An XML parser can
parse any XML document. However, the parser can verify that the message content is correct
only if it has a model to guide it.
• A model can improve the development of transformations. For example, graphical mapping
from a source message to a target message is not possible without a model. If you are
transforming XML documents, you need a model even if the XML parser chooses not to use a
model at run time.
• Models provide a good way of tracking different versions of your messages. A COBOL
programmer would typically create a version of a COBOL Copybook each time a change is
made by using a configuration control system. The same principle applies to message models.

© Copyright IBM Corp. 2024 4-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Data Format Description Language (DFDL) basics


• An open standard from the Open Grid Forum (OGF) that based on XML
• Uses XML technology and concepts
ƒ W3C XML Schema subset and type system describe the logical format of the data
ƒ Annotations within the XSD describe the physical representation of the data
ƒ XPath notation references fields within the data
• Describes the following formats:
ƒ Textual and binary
ƒ Commercial record-oriented
ƒ Scientific and numeric
ƒ Modern and legacy data
ƒ Industry standards
• Supports round-tripping
ƒ Reads and writes data in the described format from the same description

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-3. Data Format Description Language (DFDL) basics

In IBM App Connect Enterprise, you can model data with DFDL. DFDL is an XML-based language
that is used to define the structure of formatted data in a way that is independent from the data
format itself.
• DFDL is a language for describing data formats. A DFDL description allows data to be read
from its physical format and to be presented as an instance of an information set (Infoset) or
converted to the corresponding XML document. DFDL also allows data to be taken from an
instance of an Infoset and written out to its physical format.
• An XML schema is written for the logical model of the data. The schema is augmented with
special DFDL annotations. These annotations are used to describe the physical representation
of the data. This established approach is being used today in commercial systems.
• DFDL uses W3C XML Schema Definition Language (XSDL) 1.0.
• IBM App Connect Enterprise supports a DFDL domain. The DFDL domain can be used to parse
and write a wide variety of message formats, and is primarily intended for non-XML message
formats.
• When reading a message, the DFDL parser interprets a bit stream by using grammar that is
defined in a DFDL schema file, and generates a corresponding DFDL domain logical message
tree in the integration node. When writing a message, the DFDL serializer generates a DFDL
formatted bit stream from a DFDL domain logical message tree.
• DFDL maps data from a non-XML representation to an instance of an information set. Think of
this representation as a data transformation. However, DFDL is not intended to be a general
transformation language and in particular, DFDL does not intend to provide a mechanism to
map data to arbitrary XML models.

© Copyright IBM Corp. 2024 4-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

DFDL schema editor


• The DFDL schema editor can accomplish the following:
ƒ Create, edit, and test DFDL schema files
ƒ Populate empty DFDL schema files with DFDL schema objects
ƒ Parse the DFDL schema files against sample input data
ƒ Serialize a logical instance document against your DFDL schema file
• Integrated with the New Message Model wizard
• Available when a DFDL schema file is created
• Uses several Eclipse views to organize data
• Contains keyboard equivalents for most actions
ƒ Key bindings are shown on context menus
ƒ Hover help for toolbar buttons
ƒ Customizable features for key bindings

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-4. DFDL schema editor

The DFDL schema editor is started when you open an existing DFDL schema file, or when you
create a DFDL schema file by using the wizard.
You use the DFDL schema editor to:
• Wizard creates the schema files that are automatically populated with content, which you edit
as required.
• Populate empty DFDL schema files with DFDL schema objects by creating the DFDL schema
objects and the DFDL properties that are required to represent your message format.
• Test your DFDL parser against sample input data, and view a visual representation of how the
DFDL parser uses the DFDL schema annotations to parse your input data.
▪ Test a logical instance document against your DFDL serializer, and view a visual
representation of how the DFDL serializer uses the DFDL schema annotations to serialize
the output bit stream.

© Copyright IBM Corp. 2024 4-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

DFDL schemas
• Messages have a defined structure that is known and agreed by the sender and the reciever

• Schema files contained in applications, integration services, and libraries are the preferred
way to model messages for most data formats

• New Message Model wizard automatically creates a helper DFDL schema with values
properties
ƒ Also imported into the user DFDL schema file

• Different helper DFDL schemas are designed for each type of data such as COBOL or CSV
• Created only one time per IBM App Connect Enterprise application
• Are read-only but can be edited by using the DFDL editor

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-5. DFDL schemas

• There are no default values for DFDL properties.


• All properties must be explicitly specified in the schema.
• When you use the New Message Model wizard to construct the schema, it automatically
generates a “helper” schema.
▪ A “helper” schema is an IBM supplied DFDL model that contains defineFormat tags.
▪ It constructs these schemas based on the type of data that you are modeling.
▪ Each type of data (for example, a COBOL Copybook or comma-separated values) results in
the creation of a unique helper schema.
• At run time, you must deploy both the user-generated schema and the “helper” schema to the
integration server.

© Copyright IBM Corp. 2024 4-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Assigning the DFDL parser to a message

• IBM App Connect Enterprise


uses [Link] to
determine the parser and the
dictionary for parsing (In) and for
serialization (Out)
• This parser (message domain) is
set to DFDL on the Input
Message Parsing tab in the File
Input node properties
• A parser can be assigned
dynamically at run time

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-6. Assigning the DFDL parser to a message

• If the message flow must work with the message content, you must assign a parser to the
message. You generally assign the parser at design time. If you use the DFDL parser, you must
also specify the DFDL schema to use to parse the data in the Message property.
• A parser can be assigned dynamically at run time.

© Copyright IBM Corp. 2024 4-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

DFDL use cases


• When should you use a DFDL model in IBM App Connect Enterprise?
ƒ Access binary data from COBOL, C, PL/I*, ASM programs
ƒ Need text data with delimiters such as CSV
ƒ A message flow requires text industry standards such as SWIFT, HL7, EDIFACT, and X12
ƒ An application requires binary industry standards such as ISO8583 and Tlog
• When should you not use a DFDL model in IBM app Connect Enterprise?
ƒ When a message flow contains XML data that can use XML parsers and has an XML schema or DTD
ƒ A message flow has a JSON data that can use JSON parsers
ƒ Scenarios when the wire format is never available to the consumer and accessibility is limited to APIs

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-7. DFDL use cases

Use DFDL when you need to model and parse text or binary data in the following circumstances:
• You have a specification of the data format
• You have examples of the data
• PL/I is a third-generation ( 3GL ) programming language developed in the early 1960s as an
alternative to assembler language (for low-level computer processing functions).
• Do not use DFDL expressions to implement complex validation rules

© Copyright IBM Corp. 2024 4-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty
4.4. Message validation

© Copyright IBM Corp. 2024 4-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Message
e validation

Figure 4-1. Message validation

This section of the unit emphasizes how the IBM App Connect Enterprise integration node or
server uses message model schema files to validate messages.

© Copyright IBM Corp. 2024 4-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Message validation
• What can be validated?
ƒ Runtime data is validated against a dictionary or an XML schema
ƒ Content: Cardinality, complex type content, composition, and data type
ƒ Value: Data fields conform to the value constraints in a message model

• When does validation occur?


ƒ When a message flow receives an incoming message in the XXinput node
ƒ A constructed output message is received in the XXoutput node
ƒ When a message is converted to a bitstream

• What are the Failure action choices?


ƒ You can throw an Exception on the first validation failure and stop validation
ƒ You can log all validation failures in the ExceptionList and throw an Exception after completion of a
parse or a write operation
ƒ You can log all validation failures in Usertrace or LocalErrorLog and continue
Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-2. Message validation

• Message flows are designed to transform and route messages that conform to certain rules.
By default, most parsers validate some of the message when it is parsed to ensure the
integrity of the parsing operation. It is possible to do more stringent validation of the message
against the message model by specifying validation options on some nodes in the message
flow.
• The integration node provides validation that is based on the message models for predefined
messages that are modeled and deployed to the integration node. The MRM and IDOC parsers
validate predefined messages against the message dictionary that is generated from a
message set. The XMLNSC and SOAP domains validate predefined messages directly against
XML schema that is generated from a message set.
• Validation options apply to the message body only. Validation does not fix any problems.
Validation is a costly operation, so consider whether to do it centrally by the integration node,
or the sending / receiving application.
• The Failure action on the node identifies the actions to take if an error occurs.

© Copyright IBM Corp. 2024 4-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Parsing and validation in message flows


• Validating a message more
stringently against the message
model that is contained in the
message set by specifying
validation options on certain
nodes in your message flow
• Validation applies only to
messages that you modeled and
deployed to the integration node
• The integration node does not
provide any validation for self-
defining messages.

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-3. Parsing and validation in message flows

• The message domains that support validation are DFDL, MRM, XMLNSC, SOAP, and IDOC.
• Along with specifying parsing information about the input node of a message flow, it is
possible to request validation as well.
• Many nodes provide a validation option; you can choose to enable validation at many points
during a message flow.
• If you do enable validation at multiple points in the message flow, give careful consideration
as to how you handle validation errors that might occur.
• The values checks determine if the value conforms to data type, length, range, and
enumeration

© Copyright IBM Corp. 2024 4-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Trace console
• Another place to view parse operations is in the DFDL Test - Trace view.
ƒ Identifies any DFDL parsing errors that occurred during test parsing of sample data, or any DFDL
serializing errors that occurred during test serialization of sample data.

• A trace shows
parsing operations
details
• Generated for every
test run whether it’s
successful or not
• Useful for detecting
model errors

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-4. Trace console

In the example in the slide, the test failed because of an unexpected separator (separator was not
defined correctly in the model).

© Copyright IBM Corp. 2024 4-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Unit summary • Describe the features and functions of IBM App Connect Enterprise
• Explain the concepts of message models and how they are used to
help message transformation
• Identify the parsers that are available for use within IBM App
Connect Enterprise

© Copyright IBM Corporation 2024

Figure 4-5. Unit summary

You have completed this unit. In this unit you learned about how IBM App Connect processes and
models data in an application. Having completing this unit, you should be able to:
• Describe the features and functions of IBM App Connect Enterprise
• Explain the concepts of message models and how they are used to help message
transformation
• Identify the parsers that are available for use within IBM App Connect Enterprise

© Copyright IBM Corp. 2024 4-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Review questions
1. True or False: The purpose of the FileInput node is to read one or more messages from a
single file
2. What is an example of one of the terminals in the FileInput node?
a. End of Data
b. Timeout
c. TryCatch
d. Success
3. True or False: The FileOutput node can write messages to files on a Network File System that
is local to the integration node only.

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-6. Review questions

© Copyright IBM Corp. 2024 4-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Processing and modeling data

Uempty

Review answers
1. True or False: The purpose of the FileInput node is to read one or more messages from a
single file
The answer is True.
2. What is an example of the terminals in the FileInput node?
a. End of Data
b. Timeout
c. TryCatch
d. Success
The answer is A.
3. True or False: The FileOutput node can write messages to files on a Network File System
that is local to the integration node only.
The answer is False. The FileOutput node can also write messages to a local file system.

Processing and modeling data © Copyright IBM Corporation 2022

Figure 4-7. Review answers

© Copyright IBM Corp. 2024 4-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Unit 5. Testing and debugging message


flows
Estimated time
00:30

Overview
This unit describes the various methods for testing and troubleshooting message flows. You learn
how IBM App Connect can respond to runtime exceptions and how it can organize processed
data. You will also be introduced to the tools and techniques used for problem determination and
debugging.

How you will check your progress


• Checkpoint questions

References
IBM Documentation Center

© Copyright IBM Corp. 2024 5-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Unit objectives • Describe the benefits of testing a message flow application with the
Flow debugger
• Identify the debugging tools to aid in testing and troubleshooting
message flows
• Explain how the IBM App Connect Enterprise logs and system logs
are used to diagnose problems in an application

© Copyright IBM Corporation 2024

Figure 5-1. Unit objectives

After completing this unit, you should be able to:


• Describe the benefits of testing a message flow application with the Flow debugger
• Identify the debugging tools to aid in testing and troubleshooting message flows
• Explain how the IBM App Connect Enterprise logs and system logs are used to diagnose
problems in an application

© Copyright IBM Corp. 2024 5-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Topics • Integration testing overview


• Testing message flows

© Copyright IBM Corporation 2021, 2022

Figure 5-2. Topics

This unit is broken down into the following topics:


• Integration testing overview
• Testing message flows

© Copyright IBM Corp. 2024 5-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty
5.1. Integration testing overview

© Copyright IBM Corp. 2024 5-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Integration
n testing
g
overview

Figure 5-3. Integration testing overview

© Copyright IBM Corp. 2024 5-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Integration testing basics


• You can create and run unit tests to validate the operation of your IBM App Connect Enterprise
flows and message flow nodes.
• IBM App Connect Enterprise facilitates test-driven development through its test framework,
which makes it easier to adopt new product versions and make architectural changes, such as
modernizing and moving to a container-based environment.
• You can use integration tests to check whether your integration flows operate as expected
after development changes, upgrades, or changes to services that your flow interacts with.

Testing and debugging message flows © Copyright IBM Corporation 2021, 2022

Figure 5-4. Integration testing basics

• In addition to the test framework for running unit tests in the integration server process, the
IBM App Connect Enterprise Toolkit provides powerful tools to help you write the tests,
including a template that you can use as a starting point for developing various tests.
• You can develop spies that spy on the behavior of an individual message flow node, or stubs
that describe how you can interact by using trained messages to define the behavior of a
particular part of the flow.
• If your flow starts an external service or a database, you might not have access to that system
when you are running the tests; in this situation it can be useful to record messages and then
use them as part of your unit tests, without requiring the external services to be online.
• App Connect Enterprise also enables interaction with third-party matcher libraries. Support is
provided for JUnit assertions and third-party matcher libraries such as Hamcrest, JSONAssert,
and XMLUnit, as well as matchers for the App Connect Enterprise message assembly.
• In addition to creating and running tests during development, you can test existing flows that
have already been deployed, by recording messages in bulk and then by using them to
generate tests for each of the message flow nodes. To automatically create tests for deployed
flows, you switch on recording for the flows, store the messages that flow through them, and
then generate tests from those stored message assemblies (.mxml files) by using the ibmint
generate tests command. You can extend these generated tests with extra functionality, or
you can use the stored message assemblies to write your own tests.
• The tests that you use to validate the message flows and nodes are written in Java and are
stored in App Connect Enterprise test projects.
• You can write the tests by using a text editor, a source code editor, or a Java IDE such as the
IBM App Connect Enterprise Toolkit. The simplest way to create a unit test for a message flow
node is to use the Create Test Case wizard in the Toolkit.

© Copyright IBM Corp. 2024 5-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty
• A set of Java classes in the supplied [Link] file provides a mechanism for
creating, building, testing, and comparing message assemblies and their contents.

© Copyright IBM Corp. 2024 5-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

IBM App Connect debugging tools

Tool Description
• Development tool for viewing message path and structure and content of the
Flow exerciser
logical message tree at any point in a message flow
• Shows any part of a message at any point in the flow
Trace node
• Best suited for large messages
• Find where the message was routed and why
User trace
• Most comprehensive tool when used with the trace node
• Primary source of information
Log files • Automatically records all errors
• No increase in processor usage
• Set breakpoints and step through the flow
Message flow debugger
• Examine and change message, ESQL, and Java variables
• Requires a local IBM MQ queue manager
Test Client • Does all the steps necessary to test a flow
• After some initial configuration, you can rerun the test with a single click

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-5. IBM App Connect debugging tools

• The table in the slide summarizes the debugging and troubleshooting tools available in IBM
App Connect Enterprise. It might be necessary to use a combination of tools and methods to
determine the reason for a message flow failure.
• This unit provides more details around user tracing, that uses log files, and that use the Test
Client to test and troubleshoot your message flows.
• You can test your message flows in a development environment to identify issues before you
deploy them to a production environment, and you can use Trace nodes to help you
troubleshoot a message flow after it has been deployed. You can also create unit tests for your
message flows and message flow nodes, and you can run these tests either during
development or after the message flows have been deployed.

© Copyright IBM Corp. 2024 5-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty
5.2. Testing message flows

© Copyright IBM Corp. 2024 5-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Testingg message
e
flowss

Figure 5-6. Testing message flows

User trace

© Copyright IBM Corp. 2024 5-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Flow debugger overview


• IBM App Connect Enterprise is built on Eclipse.
• Eclipse-based debugger allows running an application in Debug mode that helps with stepping
through each line of code in a program.
• Eclipse also provides a Debug Perspective that is a set of views that are grouped together that
help inspect code and make the debugging process effective.
• Use the Flow debugger in the IBM App Connect Enterprise Toolkit to track messages through
your message flows.
• You can set breakpoints in a message flow, then step through the flow.
• You can start, stop, and resume a flow, step into, and out of a subflow, and step into the
source code.

Testing and debugging message flows © Copyright IBM Corporation 2021, 2022

Figure 5-7. Flow debugger overview

Notes
• The message flow debugger provides a convenient, graphical interface for flow testing.
• The message flow debugger is based on the IBM Common Debug Architecture (CDA) that
other IBM products use. The CDA is a reliable and robust Java Debug Channel transport
technology that is based on the standard Java Debug Wire Protocol (JDWP).
• You can debug a wide variety of error conditions in flows, including:
▪ Nodes that are wired incorrectly (for example, outputs that are connected to the wrong
inputs)
▪ Incorrect conditional branching in transition conditions
▪ Unintended loops in the flow
• The message flow debugger is a good choice for normal debugging scenarios. Its main
advantage is that special skills or authorizations are not needed on the operating system of
integration nodes; however, it cannot do everything. Make user trace the standard tool for
diagnosis, which is combined with Trace nodes. The debugger does not always give an
accurate representation of the message tree; a Trace node is always accurate, and it can
optionally write its output to the user trace.
• Do not use the debugger on messages greater than 1 MB, as you might experience
performance problems in the workspace because of excessive memory requirements.
• When you debug message flows, use an integration node that is not being used in a production
environment. Debugging might degrade the performance of all message flows in the same
integration server and those flows in other integration servers that use the same integration
node because of potential resource contention.

© Copyright IBM Corp. 2024 5-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty
• It is not possible to use the Flow debugger with the Flow Exerciser. If your integration server is
in recording mode, you must stop recording mode before you can start the Flow debugger.

© Copyright IBM Corp. 2024 5-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Flow exerciser
• The Message Flow Exerciser can complete the
following tasks:
ƒ Create and send a message to the input node of the
message
ƒ Highlight the message path on the message flow
and any subflows that are associated with the
message flow
ƒ Display the content of the logical message tree
for a message that passed through a connection
in the message flow
ƒ Save the content of the logical message tree as a
recorded message that you can send to the
message flow later

Testing and debugging message flows © Copyright IBM Corporation 2021, 2022

Figure 5-8. Flow exerciser

• To check that a message flow or integration service is processing messages as expected, you
can send messages to the flow by using the Flow exerciser or an external client. You can then
use the
• You can use the Flow exerciser to show the path that each message took and view the
structure and content of the logical message tree at any point in a message flow.

© Copyright IBM Corp. 2024 5-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Trace node
• What is a Trace node?
ƒ Provides a snapshot of a logical message

• What are my destination options with a Trace node?


ƒ File
ƒ User Trace log
ƒ Local system error log

• What type of content can be sent through a Trace node?


ƒ User-defined text
ƒ Message content
ƒ Date/time information

Testing and debugging message flows © Copyright IBM Corporation 2015, 2019

Figure 5-9. Trace node

• If the flow is processing large messages, it is better to inspect only small parts of the message
that is running through the flow by using the Trace node, for example.
• The Trace node can be inserted at any point within a message flow to capture data. The
information can be sent to the user trace, the local error log, or to a file on the integration node
server.
• When you configure the Trace node, you select a destination for the trace file. If you select the
option to write to a file, the trace file is in a readable text format. This format makes it easier
and faster to see output.

© Copyright IBM Corp. 2024 5-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

User trace
• If you cannot get enough information about a particular problem from the entries that are
available in the various logs, the next troubleshooting method to consider is using trace
• Trace provides more details about what is happening while the code runs
• Information that is produced from trace is sent to a specified trace record to be analyzed to
discover the cause of your problem
• Can trace integration nodes, integration servers, and deployed message flows.
• Two main trace types are:
ƒ user trace
ƒ service trace.

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-10. User trace

• When you start user tracing, you cause additional processing for every activity in the
component that you are tracing. Large quantities of data are generated by the components, so
you can expect performance to be affected while trace is active.
• You can limit this extra processing by being selective about what you trace, and by restricting
the time during which trace is active.
• With service trace, you can activate more comprehensive integration node tracing, and trace
the execution of all the commands

© Copyright IBM Corp. 2024 5-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

App Connect Enterprise activity logs


• Activity logs can be used
to investigate when
something unexpected
happens in a message
flow

• Helps to understand
what your message
flows are doing by
providing a high-level
overview of how IBM
App Connect Enterprise
interacts with external
resources.

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-11. App Connect Enterprise activity logs

• Activity logs provide an overview of recent activities in your message flows and associated
external resources. They contain immediate, basic information about what is happening in the
message flows, and how they are interacting with external resources.
▪ For example, they can help you understand why your message flow is not processing any
messages from a remote resource.
• Logs can be generated for individual message flows or resource types. You can save an activity
log to a file in comma-separated value format or copy and paste a selection of the data.
• Consider reviewing activity logs as one your first points of investigation when something
unexpected happens in a message flow. Since you do not need to turn on activity logs (it is
enabled by default), it can provide an early indication of changed behavior, such as broken
connections to external resources.
• Activity Log messages are concise and avoid technical complexity, although more information
is provided in the message detail. Because the log entries are short, uncomplicated, and
focused on single activities, they can be quickly scanned and understood. Identifying patterns
of behavior and changes in behavior can be done more easily with Activity Log messages than
if you use more extensive product trace.
• The qualitative data about resources that are provided in Activity Logs complements the
quantitative resource data that is provided by resource statistics. Because Activity Logs are
enabled by default, they can be useful for troubleshooting.
▪ For example, if the Activity Log for a message flow shows a prolonged period of inactivity,
review the Activity Logs for associated resource types. You might discover that a problem
with an external resource is the reason why messages are no longer being processed by
your message flow.

© Copyright IBM Corp. 2024 5-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Test client
• Test Client tests message
flows in a safe
environment before they
are used in a production
system.
• Can be used to send in
message flows that use
the following input nodes:
ƒ IBM MQ
ƒ JMS
ƒ HTTP
ƒ SOAP
ƒ SCA

Testing and debugging message flows © Copyright IBM Corporation 2021, 2022

Figure 5-12. Test client

• The Test client does not work with *.subflow files that contain standard input nodes (built-in
input nodes, such as MQInput nodes, or user-defined input nodes).
• If you use standard input nodes in *.subflow files, you get unpredictable results if the main
flow contains two instances of the same subflow.
• Monitors the output nodes in the message flow and can provides information about the path
that a test message takes through a message flow. The Test client can also provide
information about errors that are generated by the message flow.
• You can view the content of the output message, and view error messages.
▪ The details of the test configuration and the test events can be saved as a .mbtest file.
You can use this file to repeat the test or to review the results later.
• You cannot use the Test client to send messages to an MQInput node in a flow in the following
situations:
▪ The MQInput node is configured with a policy.
▪ The MQInput node has the MQ connection property set to Client channel definition table
(CCDT) file
▪ Instead, you can send messages to the flow by using Enqueue and Dequeue; see Enqueue
and Dequeue.

© Copyright IBM Corp. 2024 5-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Testing message flows with the Unit Test Client


• Requires an IBM MQ queue manager that is local to
the integration node
• Started from message flow in the Application
Development pane
• Optionally creates missing input and output queues
• Sends a test message
• Monitors output transport protocols for message
activity
• Displays an output message
• Saves tests in file for documentation and rerun
• Automatically builds and deploys BAR files to the
selected integration server
• Saves a BAR file in the TestClientBarFiles project
Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-13. Testing message flows with the Unit Test Client

• The Test Client does all the steps necessary to test a flow. After some initial configuration, you
can rerun the test with a single click.
• You can test message flows in the context of an application or library, or you can test flows in
isolation.
• You can select the structure of an XML test message from the contents of message models
and sets in your workspace and enter values for the elements. These values can be stored and
reused in later test runs.
• The Test Client monitors output nodes in the message flow so that you can see which nodes
output messages are received on.
▪ When an error message is produced as the message passes along the flow, or when a
message is received on an output node, a test event is recorded in the Test Client.
• The Test Client requires an IBM MQ queue manager on the same computer as the integration
node.
• The Unit Test Client fails if the TestClientBarFiles project is closed.
▪ Do not close the TestClientarFiles project.
• While running the Test Client, the list of message flow events is shown on the left side of the
view.

© Copyright IBM Corp. 2024 5-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Test Client trace events


• Node Exit occurs when a message flows through
the connection from one message node to another
• Node Exception occurs when an exception is
raised at the node; it is not handled and is rolled
back to the input node
• Trace events data provides the following:
ƒ Message node and the terminal where the
message entered or exited
ƒ Mmessage contents (Root tree and
ExceptionList)
• Trace events can be saved in a test file (.mbtest)
when the Test Client is saved
ƒ Allows one to pen the test file later to view
events
ƒ Provides the ability to move the test file to
another workspace without losing any
information

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-14. Test Client trace events

• The two key trace points in the Test Client events are “Node Exit” and “Node Exception.”
• If an exception is raised, but the message flow does not handle it, the exception data is caught
and stored in the Test Client.
• The Test Client component trace collects the message properties, message headers, and
contents of the message body as it passes through the flow, from node to node.
• As with other aspects of the test client, the message properties can be saved into the .mbtest
file.

© Copyright IBM Corp. 2024 5-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Unit summary • Describe the benefits of testing a message flow application with the
Flow debugger
• Identify the debugging tools to aid in testing and troubleshooting
message flow
• Explain how the IBM App Connect Enterprise logs and system logs
are used to diagnose problems in an application

© Copyright IBM Corporation 2021, 2022

Figure 5-15. Unit summary

You have completed this unit. In this unit, you learned how IBM App Connect processes and
models data in an application. Having completing this unit, you should be able to:
• Describe the benefits of testing a message flow application with the Flow debugger
• Identify the debugging tools to aid in testing and troubleshooting message flow
• Explain how the IBM App Connect Enterprise logs and system logs are used to diagnose
problems in an application

© Copyright IBM Corp. 2024 5-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Review questions (1 of 2)
1. What is an IBM App Connect debugging tool that is considered as the primary source of
information, and automatically records all errors?
a. User trace
b. Log files
c. Flow exerciser
d. Test Client

2. What is the file extension of a Test Client configuration file?


a. .xml
b. .JSON
c. .mbtest
d. .msgflow

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-16. Review questions (1 of 2)

© Copyright IBM Corp. 2024 5-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Review questions (2 of 2)
3. True or False: It is not possible to use the Flow debugger with the Flow Exerciser. When you
use the Flow debugger, you must use a third-party tool, or the Test Client to send a message
to the flow.

Testing and debugging message flows © Copyright IBM Corporation 2021, 2022

Figure 5-17. Review questions (2 of 2)

© Copyright IBM Corp. 2024 5-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Review answers (1 of 2)
1. What is an IBM App Connect debugging tool that is considered as the primary source of
information, and automatically records all errors?
a. User trace
b. Log files
c. Flow exerciser
d. Test Client
The answer is B.

2. What is the file extension of a Test Client configuration file?


a. .xml
b. .JSON
c. .mbtest
d. .msgflow
The answer is C.

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-18. Review answers (1 of 2)

© Copyright IBM Corp. 2024 5-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 5. Testing and debugging message flows

Uempty

Review answers (2 of 2)
3. True or False: It is not possible to use the Flow debugger with the Flow Exerciser. When you
use the Flow debugger, you must use a third-party tool, or the Test Client to send a message
to the flow.
The answer is True.

Testing and debugging message flows © Copyright IBM Corporation 2023

Figure 5-19. Review answers (2 of 2)

© Copyright IBM Corp. 2024 5-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Unit 6. Securing message flows


Estimated time
00:30

Overview
This unit explores the security considerations in IBM App Connect Enterprise. You also learn how
credentials can be stored locally in an independent integration server’s vault and used to
authenticate incoming message requests.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 6-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Unit objectives • Identify the steps needed to implement message-level security in a


message flow
• Explain how a security profile can be used in security-enabled
message processing nodes
• Describe how a Security Vault is used to secure a message flow

© Copyright IBM Corporation 2024

Figure 6-1. Unit objectives

Notes
After completing this unit, you should be able to:
• Identify the steps needed to implement message-level security in a message flow
• Explain how a security profile can be used in security-enabled message processing nodes
• Describe how a Security Vault is used to secure a message flow

© Copyright IBM Corp. 2024 6-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty
6.1. Message flow security

© Copyright IBM Corp. 2024 6-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Message e flow
w
security

Figure 6-2. Message flow security

This section of the course focuses on IBM App Connect Enterprise which uses a security manager to
control access to individual messages in a message flow. You will also learn about how
security-enabled processing nodes can be integrated into a message flow. Then, you learn about
IBM App Connect Enterprise’s ability to use credentials that are stored in a vault to secure a
message flow.

© Copyright IBM Corp. 2024 6-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Message flow security overview


• What types of security credentials supported in IBM App Connect Enterprise?
ƒ Most message transports provide a user ID (“identity token”)
ƒ Some message transports provide a password (“security token”)
ƒ Other tokens can be included with the message
• What are the primary properties of message flow security?
ƒ Authentication: User ID in a message that is known to IBM App Connect Enterprise
ƒ Authorization: User ID that is allowed to use this message flow
ƒ Credential mapping: Translates the tokens to an alternative form or alias
• What components are involved in creating application security?
ƒ Security-enabled message processing nodes
ƒ Message flow security manager
ƒ Security profiles
ƒ External security providers

Securing message flows © Copyright IBM Corporation 2023

Figure 6-3. Message flow security overview

• Identity and security token propagation enables the identity and security tokens (associated
with each message) to be propagated throughout a message flow, and on to target
applications through output or request nodes.
• In an enterprise system, you can use different physical identities or security tokens (such as
user names, certificates, and SAML assertions) to represent a single logical identity through
different parts of the enterprise.
▪ The propagation of an identity or security token ensures that the logical identity is kept
throughout the system by mapping between the various physical forms as necessary.
▪ For example, a message might enter the system using a certificate, but a user name token
might be required for server processing of the message.
▪ Identity mapping is used to convert from the certificate to the Username token, and
identity propagation ensures that the mapped identity is placed in the correct place for the
outbound transport.
• When an output or request node propagates an identity, the mapped identity is used. If the
mapped identity is not set, or if it has a token type that is not supported by the node, the
source identity is used.
▪ You can also configure a fixed identity by using the mqsisetdbparms command.
• If no identity is set, or if neither the mapped nor source identity has a token type that is
supported by the node, a security exception is thrown by the node.

© Copyright IBM Corp. 2024 6-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Security-enabled message processing nodes


• Security processing at run time in a message flow must have at least one node in the
message flow have security-enabled

Security enabled input nodes


MQ Input HTTP Input
SOAP Input SCA Input
SCA AsyncResponse

Security-enabled nodes that support identity propagation


MQ Output SOAP AsyncRequest
HTTP Request SCA Request
SOAP Request SCA AsyncRequest
Security Policy Endpoint (Security PEP) node

Securing message flows © Copyright IBM Corporation 2023

Figure 6-4. Security-enabled message processing nodes

• Enable administration security on an integration node or integration server, to control which


users can complete specific tasks against that integration node or server and its resources.
• If you do not enable administration security for an integration node, all users are able to
complete all actions against the integration node and all its managed integration servers.
▪ If you do not enable administration security for an independent integration server (which is
not managed by an integration node), all users are able to complete all actions against that
integration server and its resources.
• If administration security is not enabled, web users can access the web user interface as the
default user, with unrestricted access to data and resources.
• You can enable administration security and specify the authorization mode for an integration
node or integration server, either by setting the authorizationEnabled and authorizationMode
properties in the [Link] or [Link] configuration files, or by using the
mqsichangeauthmode command.

© Copyright IBM Corp. 2024 6-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Security exceptions
• A security exception is raised when a message flow
security failure occurs during security processing in
an input node or SecurityPEP node.
• Security exceptions are processed in a different way
from other errors on the input node.
ƒ An error is typically caught on the input node and routed
down the Failure terminal for error processing, but
security exceptions are not processed in the same way.
• By default, the integration node does not allow
security exceptions to be caught within the message
flow, but backs the message out or returns an error
(as in the case of HTTP).
• Security exceptions in input nodes are managed in
this way to prevent a security denial of service
attack filling the logs and destabilizing the system.
Securing message flows © Copyright IBM Corporation 2023

Figure 6-5. Security exceptions

• In IBM App Connect Enterprise, an identity is a security token that uniquely identifies an
individual, or that provides a set of assertions that can be validated.
• When a SecurityPEP node or a supported input node is configured with a security profile, the
extracted identity is held in the integration node as eight properties in the Properties folder of
the message tree structure.
• These properties define two identities in the integration node:
▪ Source
▪ Mapped.
• For both the source and mapped identities, values are held for Type, Token, Password, and
IssuedBy properties.

© Copyright IBM Corp. 2024 6-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Authentication and validation


• Third-party applications can
authenticate, authorize, and map
credentials
• IBM App Connect Enterprise
supports:
• Lightweight Directory Access
Protocol (LDAP)
• Tivoli® Federated Identity
Manager (Tivoli Federated
Identity Manager) V6.1
• WS-Trust V1.3 Security Token
Service (STS), including Tivoli
Federated Identity Manager V6.2
• Windows domain controller and
Kerberos Key Distribution Center
• A security profile can specify
multiple external security
providers
Securing message flows © Copyright IBM Corporation 2023

Figure 6-6. Authentication and validation

• Authentication is the process of establishing the identity of a user or system and verifying that
the identity is valid.
▪ Applying authentication to a SAML security token involves validating the assertions that it
carries and confirming that it is being processed within its validity period.
• In IBM App Connect Enterprise message flow security, authentication involves the security
manager either passing the identity type and token to an external security provider or
checking the identity by using credentials that are stored locally in the integration server's
vault.
• The external security provider checks the identity and returns a value to confirm whether the
identity is authentic. If the identity is not authentic, a security exception is raised.
• Consider setting the Reject Empty Password property to TRUE to specify that you want the
security manager to reject a user name during authentication if the user name has an empty
password token, without authenticating the user name with the configured provider.
• Some identity providers support only a single type of authentication token. If a token of
another type is passed into the message flow, an exception is raised. For example, LDAP
supports only a Username and password token.
• You can use an LDAP provider for the authentication of an incoming identity token. The LDAP
server must be LDAP Version 3 compliant.
▪ Alternatively, you can use a WS-Trust v1.3 STS provider (for example, TFIM Version 6.2)
for the authentication of an incoming identity or security token.
• The security manager invokes the WS-Trust v1.3 provider once, even if it is set for more
security operations (such as mapping or authorization).

© Copyright IBM Corp. 2024 6-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty
▪ As a result, when you are using Tivoli Federated Identity Manager, you must configure a
single module chain to perform all the required authentication, mapping, and authorization
operations.

© Copyright IBM Corp. 2024 6-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Using credentials stored in a vault


• Credentials can be stored locally in an
independent integration server's vault
• Securing integrations occurs by
implementing the following Independent
authentication procedures: EMPLOYEE
Integration Server
ƒ Supplying incoming HTTP requests a
Vault
username and password
ƒ Authenticating information from HTTP user id / password
SAMPLE
requests are against credentials that are
stored in an independent integration
server's vault

Securing message flows © Copyright IBM Corporation 2023

Figure 6-7. Using credentials stored in a vault

• You can secure your integrations by implementing basic authentication on deployed


integrations, so that incoming HTTP requests must supply a username and password, which
are then authenticated against credentials that are stored in an independent integration
server's vault.
• An integration server vault is an App Connect Enterprise vault that can be used by a specific
integration server. The vault is created in the integration server's work directory and can be
accessed only by that integration server.
• You can configure an integration server vault to store credentials, which can then be used by
the integration server to access secured resources.

© Copyright IBM Corp. 2024 6-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty
6.2. Security administration

© Copyright IBM Corp. 2024 6-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Securityy
administration

Figure 6-8. Security administration

This section of the course centers on IBM App Connect Enterprise can control the rights of users to
complete administrative tasks for integration nodes and integration servers. You will also lean in
more detail how security profiles can be customized to work in various business use cases.

© Copyright IBM Corp. 2024 6-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Security profile basics


• What is the purpose of a security profile?
ƒ Ensure that end-to-end processing of a message through a message flow is secure
based on an identity carried in that message instance.

• What are some common causes for message failure?


ƒ If the named security profile does not exist at run time, the message flow fails to
deploy.
ƒ If a specified external security provider does not support the type of token
configured on the node for the security operation, an error is reported and the
message flow fails to deploy.
ƒ If the security profile specifies local authentication, but the credentials have not
been created or the alias name is not matching, the deployed message flow will fail
to start.

Securing message flows © Copyright IBM Corporation 2023

Figure 6-9. Security profile basics

• Security profiles can be configured by the administrator at deployment time in the BAR file
editor. The security-enabled nodes have a Security Profile property in the BARfile editor,
which can be left blank, set to No Security, or set to a specific security profile name. Set No
Security to explicitly turn off security for the message flow node.
• If the Security Profile property is blank, the node inherits the Security Profile property that is
set at the message flow level. If the Security Profile property is left blank at both levels,
security is turned off for the message flow node.

© Copyright IBM Corp. 2024 6-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Security profile benefits


• Creating a security profile allows you to configure security for a message flow to control
access based on the identity that is associated with the message and provide a security
mechanism that is independent of both the transport type and message format.
• Only a subset of the connectors available in IBM App Connect Enterprise use security profiles
to control and vary the identity that is used when the connector interacts with an external
system.

Securing message flows © Copyright IBM Corporation 2023

Figure 6-10. Security profile benefits

• IBM App Connect Enterprise provides a security manager to control access to individual
messages in a message flow, by using the identity of the message.
• Configure an integration server for processing end-to-end an identity that is carried in a
message through a message flow by using a security profile.
• By creating a security profile, you can configure security for a message flow to control access
based on the identity that is associated with the message and provide a security mechanism
that is independent of both the transport type and message format.

© Copyright IBM Corp. 2024 6-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Creating a security profile


• You can create a security profile for use with an external security provider
• Examples of external security providers:
ƒ Lightweight Directory Access Protocol (LDAP)
ƒ WS-Trust 1.3 compliant Security Token Service (STS)
ƒ Tivoli Federated Identity Manager (TFIM) 6.2
• You can create a security profile for use with external security providers to provide the
required security enforcement and mapping
• You can configure the security profile to use different security providers for different security
functions

Securing message flows © Copyright IBM Corporation 2023

Figure 6-11. Creating a security profile

• You can configure the security profile to use different security providers for different security
functions.
▪ For example, you might use LDAP for authentication and WS-Trust V1.3 STS for mapping
and authorization. You can also create a security profile for authenticating against
credentials that are held locally in the integration server's vault.
• You can create the security profile by using the Policy editor. If you want to extract and
propagate an identity without security enforcement or mapping, you can use the supplied
security profile that is called Default Propagation. The Default Propagation profile is a
predefined profile that requests only identity propagation.

© Copyright IBM Corp. 2024 6-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Administration security basics


• IBM App Connect allows you to controls the rights of users to complete administrative tasks
for integration nodes, and integration servers
ƒ All permissions are created to work in each integration node

• Administration security includes these components:


ƒ Integration servers
ƒ Connections between Integration Toolkit and the integration node environment
ƒ Connections between the Integration web interface and the integration node environment
ƒ Users of the Integration API

• IBM App Connect Enterprise administrator is typically responsible for administration security,
but planning involves developers

Securing message flows © Copyright IBM Corporation 2023

Figure 6-12. Administration security basics

• You can also control access to independent integration servers and integration nodes by using
either HTTP basic authentication or by using SSL or TLS. The following topics explain how to
configure basic authentication and SSL or TLS
• You can configure HTTP basic authentication for your IBM App Connect Enterprise integration
node or server by modifying properties in a [Link] or [Link] configuration
file.

© Copyright IBM Corp. 2024 6-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Configuration files and security


• Enable administration security on an integration node or integration server to control which
users can complete specific tasks against it and its resources.

• Set by properties in the Admin Security section of the [Link] or [Link]


configuration file for the relevant integration node or server

• Specify the authorization mode for the integration node or server

• Not enabling administration security for an integration node causes the following:
ƒ All users are able to complete all actions against the integration node and all its managed integration
servers.

• Not enabling administration security for an independent integration server


ƒ All users are able to complete all actions against that integration server and its resources.

• If administration security is not enabled, web users can access the web user interface as the
default user, with unrestricted access to data and resource
Securing message flows © Copyright IBM Corporation 2023

Figure 6-13. Configuration files and security

• You can edit the file by using the built-in YAML editor that is provided in the IBM App Connect
Enterprise Toolkit, either by double-clicking the file in the Application Development view or by
right-clicking the file and selecting Open with > YAML editor.
▪ If you choose to edit the file by using a plain text editor, ensure that you do not include any
tab characters (which are not valid in YAML) and use a YAML validation tool to validate the
contents of your file.
• In the relevant [Link] or [Link] file, set the basicAuth,
authorizationEnabled, and authorizationMode properties:
i. Enable basic authentication by setting the basicAuth property to true: basicAuth: true
ii. Enable authorization by setting the authorizationEnabled property to true:
authorizationEnabled: true
iii. Specify the authorization mode that you require, by setting the authorizationMode
property to file, mq, or ldap.
For example, to enable administration security with the file-based authorization
mode:authorizationMode: file
Optional: If basic authentication is enabled, you can use the following properties to
control the maximum number of login attempts that can be made within a specified
period before the client is locked out:
e. Save the modified .yaml file.
f. Restart the integration node or server for the changes to take effect.

© Copyright IBM Corp. 2024 6-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Unit summary • Identify the steps needed to implement message-level security in a


message flow
• Explain how a security profile can be used in security-enabled
message processing nodes
• Describe how a Security Vault is used to secure a message flow

© Copyright IBM Corporation 2024

Figure 6-14. Unit summary

You have completed this unit. In this unit, you learned how to use IBM App Connect to secure
message flows. Having completed this unit, you should be able to:
• Identify the steps needed to implement message-level security in a message flow
• Explain how a security profiles can be used in security-enabled message processing nodes
• Describe how a Security Vault is used to secure a message flow

© Copyright IBM Corp. 2024 6-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Review questions
1. True or False: By default, IBM App Connect Enterprise processes all messages (that is, no
security is enabled by default).

2. What message flow security property is responsible for translating a token to an alternative
form or alias?
a. Authentication
b. Credential mapping
c. Authorization
d. Propagation
3. True or False: Security exceptions are processed in a different way from other errors on the
input node

Securing message flows © Copyright IBM Corporation 2023

Figure 6-15. Review questions

© Copyright IBM Corp. 2024 6-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 6. Securing message flows

Uempty

Review answers
1. True or False: By default, IBM App Connect Enterprise processes all messages (that is, no
security is enabled.
The answer is True.
2. What message flow security property is responsible for converting a token to an alternative
form or alias?
a. Authentication
b. Credential mapping
c. Authorization
d. Propagation
The answer is B.
3. True or False: Security exceptions are processed in a different way from other errors on the
input node
The answer is True.

Securing message flows © Copyright IBM Corporation 2023

Figure 6-16. Review answers

© Copyright IBM Corp. 2024 6-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Unit 7. Monitoring message flows


Estimated time
00:30

Overview
This unit describes how Integration nodes use a publish/subscribe broker to publish events in
response to changes in configuration, state, or operational status. You will also learn how IBM
App Connect Enterprise can monitor message flows and analyze message data.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 7-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Unit objectives • Identify the characteristics of a monitoring event in the message


flow
• Explain how the record and replay function can be used to capture
and review processed messages
• Explain the purpose of a business transaction definition in
monitoring message flows
• Explain ways to add monitoring and auditing to a message flow

© Copyright IBM Corporation 2024

Figure 7-1. Unit objectives

After completing this unit, you should be able to:


• Identify the characteristics of a monitoring event in the message flow
• Explain how the record and replay function can be used to capture and review processed
messages
• Explain the purpose of a business transaction definition in monitoring message flows
• Explain ways to add monitoring and auditing to a message flow

© Copyright IBM Corp. 2024 7-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Topics • Monitoring events


• Record and replay

© Copyright IBM Corporation 2023

Figure 7-2. Topics

This unit is broken down into the following topics:


▪ Monitoring events
▪ Record and replay

© Copyright IBM Corp. 2024 7-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty
7.1. Monitoring events

© Copyright IBM Corp. 2024 7-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Monitoring
g events

Figure 7-3. Monitoring events

This section of the unit focuses on the ways IBM App Connect Enterprise can be used to monitor
events in a message flow. You learn how IBM App Connect Enterprise supports monitoring in
various processing nodes.

© Copyright IBM Corp. 2024 7-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Event monitoring and auditing


• Message flows can be
configured to emit events
ƒ These messages can then be
read and used by other
applications for transaction
monitoring and auditing
• Monitoring events can be used
to complete the following:
ƒ Business Transaction
Monitoring
ƒ Record and Replay capability

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-4. Event monitoring and auditing

Monitoring event can contain the following items:


▪ Application data that is extracted from the message.
▪ Part or all of the message bit stream.

© Copyright IBM Corp. 2024 7-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Business transaction definition


• A business transaction
definition contains information
about the flows that
participate in the transactions
and events that are monitored
during the transactions
• It includes the following:
ƒ Which events mark the
beginning and end of a
transaction
ƒ Which events indicate that the
transaction is in progress, and
which events correspond to a
failure in the transaction

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-5. Business transaction definition

• Here are the parameters that can be included in a business transaction definition:
▪ An end business transaction event signifies that when a message is received on that node,
the business transaction is complete. You can choose any monitoring event to represent
the end of a business transaction.
▪ A failure business transaction event typically corresponds with a node that handles error
processing. This event signifies that when a message reaches this node, the business
transaction has failed.
▪ A progress business transaction event can correspond with any type of node in a message
flow. This event is used to monitor the progress of a transaction instance and signifies that
a message has reached a particular node in the flow.
• Each business transaction definition requires a start event and an end event (in addition to any
progress or failure events), and a warning message is displayed if they have not been defined.
▪ A warning message is also displayed if the flows have no monitoring events defined, or if
no global transaction ID has been specified for the events.

© Copyright IBM Corp. 2024 7-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Message flow event monitoring configuration


• A message flow node has a Monitoring tab to complete the following:
ƒ enable monitoring events
ƒ Configure transaction start, end, and rollback events
ƒ Manage event filters to specify conditions for event creation

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-6. Message flow event monitoring configuration

• You can configure your message flow to emit event messages that can be used to support
transaction monitoring and auditing, and business process monitoring.
• Integration servers use a publish/subscribe broker to publish event messages (as fixed topics)
in response to changes in configuration, state, or operational status. You can then monitor
these events by subscribing to the topics.
• Operational events are required by the message flow statistics and resource statistics
features of IBM App Connect Enterprise.
▪ If you want to collect and view statistics, you must ensure that event publication is
enabled and that a publish/subscribe broker has been configured

© Copyright IBM Corp. 2024 7-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Event monitoring support: Input node


• An event source is a
point in a message flow
from which a monitoring
event can be emitted.
• Each event source has a
set of properties that
control the contents of
the monitoring events
that it emits.
• When you select the
event source, the
corresponding value for
Event Source Address is
displayed as a read-only
property

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-7. Event monitoring support: Input node

• You can configure monitoring events on message flows, and these events can be published to
IBM® MQ or MQTT, to enable subscribers to receive them.
• You can also configure message flows to send monitoring events to a Logstash input in an
Elasticsearch, Logstash, and Kibana (ELK) stack.
• You can also monitor business transactions, by creating business transaction definitions and
then viewing the status of the business transactions in the web user interface

© Copyright IBM Corp. 2024 7-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Event monitoring support: Output node

• You can configure IBM App


Connect Enterprise to emit a
monitoring event, in XML or
JSON format, when something
significant happens.

• Events are typically emitted to


support transaction monitoring
and auditing, and business
transaction monitoring.

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-8. Event monitoring support: Output node

• When you configure an event source, you can define a filter to control whether the event is
emitted.
▪ You can tailor event emission to your business requirements by filtering out events that do
not match a set of rules.
▪ The use of a filter can reduce the number of events that are emitted, and reduce the
workload on your monitoring application
• Events are published to a topic, where they can be read by multiple subscribers.
▪ They can be published to IBM MQ or MQTT to enable subscribers to receive them
• Events can also be written to the file system in rotatable log files.

© Copyright IBM Corp. 2024 7-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Transaction correlators
• A monitoring application uses event correlators to match events that are emitted by the same,
or related, business transactions
• App Connect developer specifies the location in the logical message tree for each correlator on
the Correlation tab when defining an event in the Integration Toolkit by configuring the
following event sources:
ƒ Local transaction correlator links the events that a single invocation of a message flow emits
Example: Customer ID
ƒ Parent transaction correlator links the events from a message flow to a parent message flow or an
external application
Example: Order ID
ƒ A global transaction correlator links events from a message flow to one or more related message flows
or external applications
Example: Stock Amount
• An event must contain a local transaction correlator but does not contain a parent transaction
correlator or global transaction correlator.

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-9. Transaction correlators

• On the Transaction tab, choose how the emission of monitoring events by a message flow is
coordinated. You can choose to coordinate with the message flow transaction, in an
independent unit of work, or not in a unit of work.
• Every monitoring event must contain at least one correlation attribute, and can contain up to
three. If you do not specify any correlation information, the first event source in the message
flow allocates a unique identifier that all later event sources in the same transaction use.

© Copyright IBM Corp. 2024 7-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Customizing a message flow event


• Three correlation attributes Use the options on
are available for you to use the Correlation tab
when your events
in your events: local must be correlated
correlator, parent correlator with events from a
local or external
and global correlator. process.

• The exact usage of the


correlation attributes varies
depending on the
requirements.
• A parent application can
pass its transaction identifier
to the child message flow
(perhaps in a header) so that
the child message flow can
report it in the event as a
parent correlator

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-10. Customizing a message flow event

• You can specify correlation information when you configure the event.
▪ If you do not specify any correlation information when you configure your events, no
correlation attributes are used.
▪ If you do specify correlation information, you must configure the correlation attributes to
be used, and where they read their value from.
▪ Typically you need to specify correlation information only for the first event source in the
message flow; by default all later event sources retrieve the same value from the
Environment tree.

© Copyright IBM Corp. 2024 7-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty
7.2. Record and replay

© Copyright IBM Corp. 2024 7-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Record
d and
d replay

Figure 7-11. Record and replay

This section of the unit is centered on how the Record and Reply function is configured and
implemented in IBM App Connect Enterprise.

© Copyright IBM Corp. 2024 7-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Recording data overview


• Record function subscribes to the
published monitoring data, and stores the ODBC
data in a database
• View data, or replay it by resending the
message to an IBM MQ queue through
the web user interface or by using the myDataStore Topic

administration REST API. MBRECORD Subscription


Destination
• What are steps required to record data in
IBM App Connect Enterprise?
ƒ Configure database and ODBC Events

connection
ƒ Configure record and replay store
ƒ Configure pub / sub topic
ƒ Configure monitoring profiles

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-12. Recording data overview

• You can record data to a database for audit purposes, or to help with problem determination.
To record data, you must identify the source of the data that you want to record and the place
that you want to record it to.
• If you configured your message flow to emit event messages, the monitoring events publish
selected message data, which you can then view or replay (resubmit for processing).
▪ The record function subscribes to the published monitoring data, and stores the data in a
database.

© Copyright IBM Corp. 2024 7-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Record and replay


• You can record messages to a database when they pass through a message flow
• Use for problem determination, auditing, or collection data from a production system for
replay on a development system
• To use recorded messages, you must:
ƒ Configure monitoring on the message flow
ƒ Create a database to hold the recorded messages
ƒ Create a data source, and then use a configurable service to define the data source name to use when
recording messages
• To replay messages, you must use an existing application to view the messages or create your
own
• Requires that you specify a local IBM MQ queue manager on the integration node

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-13. Record and replay

• If you need an audit record of messages that pass through the message flows, you can record
those messages.
▪ You might also want to record messages if you need to keep a history of messages for
development and test purposes, or to help in problem determination.
• To determine which data is recorded, you must configure monitoring on the message flow.
Data is stored in a database, which can be an Oracle, Microsoft SQL Server, or Db2 database.
▪ You must create a data source, then use a policy to define the data source name to use
when recording data.
• After you have recorded data, you can view it in several ways.
▪ By using the web user interface, you can view a list of recorded messages, or you can view
details of a specific message. You can also view recorded data by using the IBM App
Connect Enterprise REST API.
• You can replay a message to an IBM MQ queue by using the web user interface or the REST
API.
▪ You can also replay the message to another message flow for testing or problem
determination.

© Copyright IBM Corp. 2024 7-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Viewing the recorded data


• Recorded data can be
viewed by a web
administration server

• Data can be viewed


through a customizing
filters based on a
specific business rule

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-14. Viewing the recorded data

• You can have multiple integration nodes or multiple independent integration servers in your
record and replay topology.
• If you use different integration nodes or different integration servers for deploying your
message flows, and for recording data from those message flows to a database, then you must
configure a publish/subscribe relationship between the integrations nodes or integration
servers.

© Copyright IBM Corp. 2024 7-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Unit summary • Identify the characteristics of a monitoring event in the message


flow
• Explain how the record and replay function can be used to capture
and review processed messages
• Explain the purpose of a business transaction definition in
monitoring message flows
• Explain ways to add monitoring and auditing to a message flow

© Copyright IBM Corporation 2024

Figure 7-15. Unit summary

You have completed this unit. In this unit you learned how IBM App Connect Enterprise can be
used to monitor message flows. Having completing this unit, you should be able to:
• Identify the characteristics of a monitoring event in the message flow
• Explain how the record and replay function can be used to capture and review processed
messages
• Explain the purpose of a business transaction definition in monitoring message flows
• Explain ways to add monitoring and auditing to a message flow

© Copyright IBM Corp. 2024 7-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Review questions
1. True or False: A business transaction definition contains information about the flows that
participate in the transactions and events that are monitored during the transactions
2. True or False: The record-and-replay function in App Connect requires that an IBM MQ
server is installed on the same computer as the integration node, and that you specify a
queue manager on the integration node.
3. What are two examples of correlation attributes that a monitoring application can use to
identify events that belong to the same business transaction?
a. local correlator
b. control correlator
c. global correlator
d. transaction correlator

Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-16. Review questions

© Copyright IBM Corp. 2024 7-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 7. Monitoring message flows

Uempty

Review answers
1. True or false: A business transaction definition contains information about the flows that
participate in the transactions and events that are monitored during the transactions
The answer is True.
2. True or False: The record-and-replay function in App Connect requires that an IBM MQ server is
installed on the same computer as the integration node, and that you specify a queue manager
on the integration node.
The answer is True.
3. What are two examples of correlation attributes that a monitoring application can use to
identify events that belong to the same business transaction?
a. local correlator
b. control correlator
c. global correlator
d. transaction correlator
The answer is A and C.
Monitoring message flows © Copyright IBM Corporation 2023

Figure 7-17. Review answers

© Copyright IBM Corp. 2024 7-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Unit 8. Expanding for production


Estimated time
00:30

Overview
This unit focuses on how to expand the capabilities of message flow applications by making them
aware of the runtime environments in which they operate. You also learn techniques for
implementing dynamic message routing at run time and how to controlling processing of message
flows with applications and shared libraries.

How you will check your progress


• Checkpoint questions

References
IBM Documentation

© Copyright IBM Corp. 2024 8-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Unit objectives • Explain how deployed applications and shared libraries affect
visibility of resources at run time
• Describe how promoted properties, user-defined properties, and
operational policies are used to develop environment-aware
message flows
• Explain how to complete basic performance analysis on message
flows

© Copyright IBM Corporation 2024

Figure 8-1. Unit objectives

After completing this unit, you should be able to:


• Explain how deployed applications and shared libraries at run time affect the visibility of
resources
• Describe how promoted properties, user-defined properties, and operational policies are used
to develop environment-aware message flows
• Explain how to complete basic performance analysis on message flows

© Copyright IBM Corp. 2024 8-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Topics • Applications and libraries


• Calling external systems
• Performance monitoring

© Copyright IBM Corporation 2024

Figure 8-2. Topics

This unit is broken down into the following topics:


• Applications and libraries
• Environmentally aware message flows
• Performance monitoring

© Copyright IBM Corp. 2024 8-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty
8.1. Applications and libraries

© Copyright IBM Corp. 2024 8-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Applicationss and
d
libraries

Figure 8-3. Applications and libraries

This unit focuses on how applications and libraries can be used to manage multiple solutions and
to share resources across multiple teams and projects.

© Copyright IBM Corp. 2024 8-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Applications and libraries overview


• Stored development artifacts in containers are known as applications and libraries
ƒ Applications can be used to encapsulate resources for a solution or to provide runtime isolation.
ƒ Libraries can group common resources or share routines and definitions between teams, projects, or
integration nodes
• Application provides runtime isolation so that the visibility of a resource is restricted to the
application in which it is contained.
ƒ These resources include libraries that an application references
• Shared and static libraries facilitate reuse and simplify resource management
ƒ Static libraries are packaged as part of referencing application in the BAR
ƒ Shared libraries are deployed separately before the referencing applications

Expanding for production © Copyright IBM Corporation 2024

Figure 8-4. Applications and libraries overview

• You use applications at design time and run time to provide isolation so that update to one
group of flows does not affect another group.
• Applications and libraries provide the following benefits;
▪ Flexible organization of resources
▪ Encapsulated packaging of flows and their dependencies.
▪ Modular and collaborative development.
▪ Unified packaging and organization through application development, deployment, and
operational environments. Visibility of a resource is restricted to the containing application
• Static libraries are packaged with the application.
• Shared libraries are deployed and maintained separately.

© Copyright IBM Corp. 2024 8-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Static libraries basics


• When occurs when a static library references a service?
ƒ A copy of that referenced library is isolated at run time from resources outside the service
ƒ This copy of the library is not available to resources outside the service

• What occurs when a static library is referenced by an independent resource?


ƒ The library is available to all independent resources that are deployed in the same integration
server as the library
ƒ If that static library is updated in the IBM App Connect Enterprise Toolkit and redeployed, the
message flow that is deployed to the integration server can see the changes
ƒ For the application to pick up the updated static library, you would need to rebuild and
redeploy the BAR file that contains the application.

Expanding for production © Copyright IBM Corporation 2024

Figure 8-5. Static libraries basics

• If the application references a static library, a copy of the library is deployed with the
application so that changes to the library are not propagated to the library that is referenced in
the application.
• when the applications are packaged into a BAR file and deployed, each application has its own
private copy of the library and the resources that are contained in it. If you update a static
library, you must repackage and redeploy each application that references that library.
• Static libraries can be referenced by applications, services, integration projects, or other static
libraries. You cannot refer to a static library from a shared library. Similarly, you cannot
reference a shared library from a static library.

© Copyright IBM Corp. 2024 8-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Shared libraries basics


• A shared library can be used to deploy and manage just one copy of those resources
ƒ Can be directly deployed to the integration server
ƒ Any application can reference the resources and make them available to multiple applications
ƒ Changes are immediately visible to all referencing applications when it is updated
• If a required shared library is not already deployed or currently being deployed then the
deployment fails
• Applications that reference the shared library automatically recognize updates to the deployed
shared library
• It is not possible to remove a shared library from the integration node when deployed
applications are currently referencing it

Expanding for production © Copyright IBM Corporation 2024

Figure 8-6. Shared libraries basics

• A shared library must be deployed with or before an application that references it.
▪ If you deploy resources by dragging them onto an integration server
- Deploy the shared library first.
▪ If you deploy resources by adding them to a BAR file
- Ensure that you include any shared libraries that your application references.
• You cannot remove a deployed shared library while deployed applications are referencing it.
• Shared libraries can be viewed in the IBM App Connect Enterprise web user interface under
the Shared Libraries folder

© Copyright IBM Corp. 2024 8-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty
8.2. Calling external systems

© Copyright IBM Corp. 2024 8-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Calling
g externall
systems

Figure 8-7. Calling external systems

This section of the course focuses on how user-defined nodes can be configured to extend the
functions of IBM App Connect Enterprise.

© Copyright IBM Corp. 2024 8-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

User-defined properties
• What is a user-defined property (UDP)?
ƒ A UDP is a property that is defined when you construct a message flow
by using the Message Flow editor.
ƒ This property can be used by the Compute, JavaCompute,
.NETCompute, and Mapping nodes
• What are the advantages to using UDPs in one’s production
environment?
ƒ Values in a UDP can be changed by operational staff at deployment
and run time.
ƒ You do not need to change your application programs.
ƒ You can configure a message flow for a particular computer, task, or
environment at deployment time, without having to change the code at
the message node level.

Expanding for production © Copyright IBM Corporation 2024

Figure 8-8. User-defined properties

• The value of the UDP is set at the message flow level, and is the same for all eligible nodes that
are contained in the flow.
▪ An eligible node is a node that supports UDPs and is within the scope of the declaration
that declares the UDP to your application.
• You can modify the value of a UDP at deployment time by using the Broker Archive editor to
edit the BAR file. This value overrides the value that was set when you defined the message
flow.
• You can change the behavior of a message flow at run time by using the administrative REST
API to modify the values of user-defined properties on the message flow.

© Copyright IBM Corp. 2024 8-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

BAR files overview


• Applications and libraries
can be added to a BAR file.
• Add message flows or other
resources that are in an
integration project
• Add policies that can be
used to override message
flow and message flow node
properties at run time
• Deployment of BAR can
occur to the integration
server once all the resources
that are required by your
solution are ready.

Expanding for production © Copyright IBM Corporation 2024

Figure 8-9. BAR files overview

• You can create BAR files by using the IBM App Connect Enterprise Toolkit, the
mqsipackagebar command, or the mqsicreatebar command.
▪ A file with a .bar extension is created and is displayed under the application, library, or
integration project, in a folder called BARs.
▪ All BAR files are also shown in a separate category in the Application Development view
called BARs.
▪ Each BAR file that is listed here displays information about the project in which the BAR
file is stored.

© Copyright IBM Corp. 2024 8-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Configuring for production


• There are three
primary phases for
developing IBM App Development Test Production
Connect Enterprise
FlowProject\[Link] [Link] Flow
message flows.
Data source=TestDB Data source=TestDB Data source=ProductionDB
ƒ Development META-INF/[Link]
ƒ Test Data source=ProductionDB
ƒ Production

• Each phase
reflects a series of
business rules and • Creates development Overrides configurable Message flow uses the
standards projects in the properties, such as the deployer-specified
repository with the data source, for the override instead of the
version number target integration node developer-specified value
• Builds the BAR file for and integration server
the deployer

Expanding for production © Copyright IBM Corporation 2024

Figure 8-10. Configuring for production

• There are three primary phases for developing IBM App Connect Enterprise message flows.
▪ In the Development phase, the message flow is developed and tested in an isolated
environment.
○ The data sources and targets, such as queues and databases are typically limited in
scope and often contain only a subset of the actual data. In this phase, the
message flow typically uses the resources that are configured in the node
properties.
○ A version number might be used to track the version of the code. The external
source code management system or the mqsicreatebar command can add the
version number.
○ As an alternative to adding version information to the name of a resource, you can
use the Version property of message flows and message models.
▪ In the Test phase, the message flow should be deployed to a system that exactly
duplicates the Production system. During this phase, real data should be used to
determine the performance of the flow such as the throughput and the number of
instances that are required. In this phase, the message flow should point to the Test
environment resources.
▪ In the Production phase, the message flow uses the production resources that override
the resources that are specified during development. The resource values can be specified
in the BAR file editor or when the BAR file is deployed by using the mqsiapplybaroverride
command.

© Copyright IBM Corp. 2024 8-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty
8.3. Performance monitoring

© Copyright IBM Corp. 2024 8-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Performancee
monitoring
g

Figure 8-11. Performance monitoring

This section of the course emphasizes on ways to tune integration servers and message flows to
increase the efficiency of an IBM App Connect workflow.

© Copyright IBM Corp. 2024 8-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Statistics data
• Resource statistics are collected to record performance and operating details of resources
that are used by integration servers.
• Used to ensure that your systems are using the available resources in the most efficient
manner.
• Monitored to keep system resource usage within boundaries that you consider acceptable.
• Helps to preempt situations where system resources are overstretched and might become
unavailable.
ƒ Analysis of the data that is returned potentially requires specialist skills and knowledge of each
resource type.

Expanding for production © Copyright IBM Corporation 2024

Figure 8-12. Statistics data

• If you detect that system resources are under pressure, you can examine the statistics to
assess whether the cause of the concern is the use of those resources by processes in IBM
App Connect Enterprise.
▪ You can collect data on one or more selected integration servers, or for all integration
servers. When statistics collection is enabled, you might experience a minor degradation in
operating performance of the integration servers for which you are collecting data..
• When an integration node or server is created, the publication of resource statistics is enabled
by default. The reportingOn property in the [Link] or [Link] file is explicitly
set to true, which enables the publication of snapshot statistics to the web user interface.
▪ For integration nodes and servers that were created prior to IBM App Connect Enterprise
Version [Link], the publication of resource statistics was turned off by default.
▪ To enable the publication of statistics for your integration nodes or servers that were
created before V11.0.0.8, edit the relevant .[Link] file and set the reportingOn property
to true.

© Copyright IBM Corp. 2024 8-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Monitoring support
• Events are published on a well-known topic over IBM MQ or MQTT for multiple concurrent
consumers

• Event format is XML


ƒ Allows App Connect Enterprise to integrate with other monitoring applications
ƒ Allows entire message to be captured and logged to a database for audit purposes

• Events are optionally produced within the same transaction sync point for optimum
performance

Expanding for production © Copyright IBM Corporation 2024

Figure 8-13. Monitoring support

• After a monitoring profile is created, you can do the following:


▪ Deploy it with an existing flow, or to an already running flow.
▪ Turned on or off with the change flow monitoring command.
• Events are published over a publish/subscribe network as a well-defined topic.
▪ The topic is named with the name of the integration node, integration server, and the name
that is given to the event as it is generated. It is possible to generate an event at
design-time, or operationally at any point throughout the flow, that contains the entire
payload or any piece of it.

© Copyright IBM Corp. 2024 8-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Generate monitoring events


• Monitoring and auditing an event contain the following benefits:
ƒ Transaction start, end, and roll back are sent from input nodes from any terminal on any node
ƒ Configure payload data, content style, identity, correlation, and sequencing data
ƒ A monitoring profile can be applied to existing flows
ƒ Event filters can be used to limit the conditions for an event

Expanding for production © Copyright IBM Corporation 2024

Figure 8-14. Generate monitoring events

• With monitoring and auditing you can capture information about your message flow.
▪ For example, it might be necessary to capture the first three fields of an input message at a
certain point in the flow. The other requirement might be to capture the entire payload of
the output message.
• The capture requirements are defined in the IBM App Connect Enterprise by using the
Monitoring tab on the node properties.
▪ With the Monitoring tab, you can declare the event that you want to see from this node,
such as a Transaction start event or a Transaction end event by selecting the check box
next to the event.
• In the slide example, the MQInput node has monitoring enabled at: Transaction start,
Transaction end, Transaction rollback, and Out terminal.
• It is also possible to declare sequencing information, correlating information, and what the
payload looks like.
• Event filters can be defined to generate only events when a certain condition applies, such as
when a field in the message exceeds a specified value.

© Copyright IBM Corp. 2024 8-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Performance challenges
• Lack of resources with which to run the message flow

• A poorly configured environment

• Poor response time from a dependent application

• Inefficient processing algorithm for the message flow

• Inefficient or excessive ESQL processing within the message flow

• Individual messages taking to long to process

• Poor response time at deployment

Expanding for production © Copyright IBM Corporation 2024

Figure 8-15. Performance challenges

• This slide lists some of the common causes of message flow and integration node
performance problems.

© Copyright IBM Corp. 2024 8-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Tuning options

Tuning option Component AIX Solaris HP Windows

Trusted integration node Integration node N Y Y Y

Multiple instances Integration node Y Y Y Y

Multiple integration servers Integration node Y Y Y Y

Trace Integration node Y Y Y Y

Topology of IBM MQ
Queue manager Y Y Y Y
components*

Trusted channel and listener* Queue manager Y Y Y Y

Queue manager logging* Queue manager Y Y Y Y

*Note: These tuning options are for an integration node that is associated
with an IBM MQ queue manager.
Expanding for production © Copyright IBM Corporation 2024

Figure 8-16. Tuning options

• Tuning options cover the integration, an associated queue manager (if configured), and any
databases that contain business data across each of the hardware and operating systems on
which IBM App Connect Enterprise is implemented.
• In some environments, it is possible to run an integration node as an IBM MQ trusted
application to streamline MQPUT and MQGET calls by the integration node. Performance is
improved because the integration node interacts directly with the queue manager rather than
an intermediary agent process. The increase in performance is at the cost of not isolating the
queue manager from errant program behavior, such as poorly coded plug-in node, which can
cause the integration node queue manager to fail.
• The benefit that is obtained from running an integration node in trusted mode depends on the
processing within the message flows. Different message flows running in the same integration
node might see different results. A message flow that has a high proportion of MQPUT or
MQGET processing of nonpersistent messages sees more benefit. This processing is
equivalent to a simple MQInput to MQOutput test.
• Message flows in which most of the processing is manipulating the contents of a message see
a lower benefit from using a trusted integration node and might see no gain at all.
• In the slide, a value of “Y” indicates that the option applies or is available. It is not the default
value but can be enabled. A value of “N” indicates that the option is not available or is not
suggested. Each of these options is described in more detail next.

© Copyright IBM Corp. 2024 8-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Detecting and removing obstructions


• The following are best practices for running message flows individually and collectively:
ƒ Run each flow with 1, 2, and 4 integration nodes
ƒ Mix the message flows in an integration server
ƒ Measure, measure, and measure
ƒ Test on the same hardware and OS as the production environment
ƒ Replicate the same configuration parameters as the production environment
ƒ Run well beyond the current requirements
ƒ Experiment to find the best configuration for the environment
ƒ Ensure that it is possible to fully use the hardware

Expanding for production © Copyright IBM Corporation 2024

Figure 8-17. Detecting and removing obstructions

• It is essential to undertake performance testing of message flows before production.


• You might observe that all is well when running few copies of a message flow but that things
change when more copies are running. It is essential to discover this change in behavior
before production.
▪ First, determine the effects of running an increasing number of copies of each message
flow. Run message flows in isolation, and in combination, to see whether there are any
adverse effects.
• If the message flow is processing IBM MQ messages, test with nonpersistent messages at
first, even if you intend to use persistent messages in production. Using nonpersistent
messages removes the limit (I/O impact) that the use of persistent messages uses. Such
testing can make a constraint apparent, which would not surface otherwise.
• In performance testing, it is important to reflect the production environment as fully as
possible. Usually, it is typical to have a continual flow of messages through the system, rather
than processing messages in batches.
▪ What often happens in testing is that many messages are loaded onto a queue and then
processed. This approach produces different results from a continual topping up of the
input queues.
• If the system is I/O bound, try increasing the number of message flows.
▪ Test with bad data to ensure correct error handling

© Copyright IBM Corp. 2024 8-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Unit summary • Explain how deployed applications and shared libraries at run time
affect the visibility of resources
• Describe how promoted properties, user-defined properties, and
operational policies are used to develop environment-aware
message flows
• Explain how to complete complete basic performance analysis on
message flow

© Copyright IBM Corporation 2024

Figure 8-18. Unit summary

You have completed this unit. In this unit you learned about the IBM Ap Connect Enterprise can be
expanded into various production environments. Having completing this unit you should be able
to:
• Explain how deployed applications and shared libraries at run time affect the visibility of
resources
• Describe how promoted properties, user-defined properties, and operational policies are used
to develop environment-aware message flows
• Explain how to complete basic performance analysis on message flows

© Copyright IBM Corp. 2024 8-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Review questions
1. True or False: Shared libraries are packaged as part of referencing application in the BAR

2. True or False: When an update to a static library is deployed to an application, it flows only
inside the affected application area

3. Which of the three primary phases for developing IBM App Connect Enterprise message
flows is responsible for overriding configurable properties, such as the data source, for the
target integration node and integration server?
a. Test
b. Development
c. Production
d. Design

Expanding for production © Copyright IBM Corporation 2024

Figure 8-19. Review questions

© Copyright IBM Corp. 2024 8-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 8. Expanding for production

Uempty

Review answers
1. True or False: Shared libraries are packaged as part of referencing application in the BAR
The answer is False.
2. True or False: When an update to a static library is deployed to an application, it flows only
inside the affected application area
The answer is True.
3. Which of the three primary phases for developing IBM App Connect Enterprise message
flows is responsible for overriding configurable properties, such as the data source, for the
target integration node and integration server?
a. Test
b. Development
c. Production
d. Design
The answer is A.

Expanding for production © Copyright IBM Corporation 2024

Figure 8-20. Review answers

© Copyright IBM Corp. 2024 8-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Unit 9. Course Summary


Estimated time
00:15

Overview
This unit summarizes the course and provides information for future study.

© Copyright IBM Corp. 2024 9-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Unit objectives • Explain how the course met its learning objectives
• Identify IBM credentials that are related to this course
• Locate resources for further study and skill development

© Copyright IBM Corporation 2023

Figure 9-1. Unit objectives

After completing this unit, you should be able to:


• Explain how the course met its learning objectives
• Identify IBM credentials that are related to this course
• Locate resources for further study and skill development

© Copyright IBM Corp. 2024 9-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

IBM credentials: Badges and certifications


• Certify your skills with IBM digital credentials
ƒ [Link]

Get certified Take an exam Search badges News


Search IBM certification Search exams available for Find IBM badges for skill Catch up on the latest IBM
offerings across a broad the IBM Professional development activities and credential news.
range of technology areas. Certification program. other achievements.

[Link] [Link] [Link] [Link]

Course Summary © Copyright IBM Corporation 2023

Figure 9-2. IBM credentials: Badges and certifications

• Certifying your skills with IBM digital credentials is a good way to market your skillset. This
slide provides links to IBM Certifications and badges.

© Copyright IBM Corp. 2024 9-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Learn more about this product


ƒ IBM App Connect product page
• Learn more about App Connect Enterprise,
start a free trial, see what is new, view client
stories, and obtain pricing
• [Link]

ƒ IBM Integration Community – App Connect


• The community group for discussion,
blogging, and other community resources
about IBM App Connect and their industry
packs.
• [Link]
r/integration/communities/community-
home?CommunityKey=77544459-9fda-
40da-ae0b-fc8c76f0ce18

Course Summary © Copyright IBM Corporation 2023

Figure 9-3. Learn more about this product

• You can learn more about IBM App Connect Enterprise by following the links in this slide.
These links provide access to the IBM Documentation documentation, articles, and other
resources.

© Copyright IBM Corp. 2024 9-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Additional resources (1 of 5)
• IBM Cloud Education course information
ƒ View and download course materials and
course corrections.
ƒ [Link]

• IBM Developer
ƒ IBM's official developer program offers access
to software trials and downloads, how-to
information, and expert practitioners.
ƒ [Link]

© Copyright IBM Corporation 2023

Figure 9-4. Additional resources (1 of 5)

• This slide provides information on IBM Cloud education courses and the IBM Developer
community

© Copyright IBM Corp. 2024 9-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Additional resources (2 of 5)
• IBM Automation Community
ƒ Learn about Blockchain, Blueworks Live, BPM,
Workflow, Case, Content Management,
Decision Management, Robotic Process
Automation, Platform, and Cloud Pak for
Automation
ƒ [Link]
automation/home

• IBM Middleware User Community


ƒ Learn about API Connect, App Connect, MQ,
DataPower, Aspera, Event Streams, and Cloud
Pak for Integration
ƒ [Link]
middleware/communities/cloud-integration-
home
© Copyright IBM Corporation 2023

Figure 9-5. Additional resources (2 of 5)

• This slide lists additional resources for the IBM automation and integration communities.

© Copyright IBM Corp. 2024 9-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Additional resources (3 of 5)
• IBM Training
ƒ Search the IBM Training website for courses
and education information.
ƒ [Link]

• Learning Journeys
ƒ Learning Journeys describe a recommended
collection of learning content to acquire skills
for a specific technology or role.
ƒ [Link]
ibm-cloud

© Copyright IBM Corporation 2023

Figure 9-6. Additional resources (3 of 5)

• This slide provides links to IBM training resources and learning journeys.

© Copyright IBM Corp. 2024 9-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Additional resources (4 of 5)
• IBM Redbooks
ƒ IBM Redbooks are developed and published by
the IBM International Technical Support
Organization (ITSO). Redbooks typically provide
positioning and value guidance, installation and
implementation experiences, typical solution
scenarios, and step-by-step "how-to" guidelines.
ƒ [Link]

• IBM Documentation
ƒ IBM Documentation is the primary home for IBM
product documentation.
ƒ [Link]

© Copyright IBM Corporation 2023

Figure 9-7. Additional resources (4 of 5)

• This slide provides links to IBM Redbooks and the IBM Documentation.

© Copyright IBM Corp. 2024 9-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Additional resources (5 of 5)
• IBM Marketplace
ƒ Learn about IBM offerings for Cloud, Cognitive,
Data and Analytics, Mobile, Security, IT
Infrastructure, and Enterprise and Business
Solutions.
ƒ [Link]

• IBM Training blog, Twitter, and Facebook


ƒ Official IBM Training accounts provide
information about IBM course offerings,
industry information, conference events, and
other education-related topics.
ƒ [Link]
ƒ [Link]
ƒ [Link]
gandSkills

© Copyright IBM Corporation 2023

Figure 9-8. Additional resources (5 of 5)

• This slide provides additional links for the IBM Marketplace and IBM social networking
accounts.

© Copyright IBM Corp. 2024 9-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Course completion
You have completed this course:
Technical Introduction to IBM App Connect
Enterprise 12

Do you have any questions?

Course Summary © Copyright IBM Corporation 2023

Figure 9-9. Course completion

• Congratulations, you have successfully completed this course.

© Copyright IBM Corp. 2024 9-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 9. Course Summary

Uempty

Unit summary • Explain how the course met its learning objectives
• Identify other IBM Training courses that are related to this topic
• Locate appropriate resources for further study

© Copyright IBM Corporation 2024

Figure 9-10. Unit summary

© Copyright IBM Corp. 2024 9-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Appendix 1. List of abbreviations

AP

Appendix 1. List of abbreviations


ACE App Connect Enterprise
ACH App Connect for Healthcare
ACCORD Assoc. for Coop. Operations Research and Development
API application programming interface
AWS Amazon Web Services
BAR Broker Archive
BCD Binary Code Decimal
CCD Continuity of Care Document
CDA Consolidated Document Architecture
CICS Customer Information Control System
COBOL Common Business Oriented Language
CP4I Cloud Pak for Integration
CRM Customer Relationship Management
CSV Comma Separated Value
CWF Custom Wire Format
DTD Document Type Definition
DFDL Format Design Language
EDI Electronic Data Interchange

EDIFACT Electronic Data Interchange For Administration, Commerce, & Transport


EIS Enterprise Information System
ERP Enterprise Resource Program
ESB Enterprise Service Bus
ESQL Extended Structured Query Language
FTP File Transfer Protocol
HIPPA Health Insurance Portability and Accountability Act
HL7 Health Level 7
HTTP HyperText Transfer Protocol
IBM MQ IBM Message Queue
ICP IBM Private Cloud
IDOC Intermediate Document

© Copyright IBM Corp. 2024 1-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Appendix 1. List of abbreviations

AP
IIB IBM Integration Bus
ISO8583 International Organization for Standardization - finance
IT Information Technology
JAR Java Archive
JCA Java Platform, Enterprise Edition Connector Architecture
JDBC Java Database Connectivity
JMS Java Message Service
JSON JavaScript Object Notation
MQTT Message Queuing Telemetry Transport
MRM Message Repository Manager
ODBC Open Database Connectivity
OGF Open Grid Forum
OPC-UA Open Platform Communications - Unified Architecture
PL/I Programming Language 1
PLC Programmable Logic Controller
REST Representational Slate Transfer
SaaS Software as a Service
SMTP Simple Mail Transfer Protocol
SOAP Simple Object Access Protocol
SWIFT Society for Worldwide Interbank Financial Telecommunications
TCB Task Control Block
TCP/IP Transfer Control Protocol / Internet Protocol
TDS Tag/Delimited String format
TLOG Transaction Log
W3C World Wide Web Consortium
WSDL Web Services Description Language
X12 Standards committee chartered by ANSI
XML Extensible Markup Language
XSDL XML Schema Definition Language
XSL XML Stylesheet

© Copyright IBM Corp. 2024 1-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0

backpg

© Copyright International Business Machines Corporation 2024.

You might also like