Try out the self-study guides and develop your skills in IBM Integration Bus.

Most of these labs were created for use as part of IBM BetaWorks’ IBM Integration Bus Workshops.

Each lab comprises one or more guides as PDF files, and is usually accompanied by an archive file (.zip file) that you can use to complete the lab activities. Some scenarios also require additional software products such as IBM DB2, IBM ODM, and WebSphere Application Server.

These labs were created on a Windows 7 system, so the scripts and commands provided are applicable to that environment.

Most of these labs were used in the IBM Integration Bus V10 workshop led by IBM Betaworks.

Notes:

  • Labs 1-13 were in the main agenda; Labs 14 & 20 are new as of 02/2016; Labs 89 onward were optional in the workshop. There are no other labs from the workshop.
  • Other labs have been added since the workshop
  • Some labs have been updated to reflect updates to the IBM Integration Bus product; for example, as updates to IIB 10.0.0.4.
  • If you want to get all the Labs, you can download the following files:
  • The Labs are based on scripts and resources in the local directory, C:\student10. If you download a Lab file, or the complete file betaworks2016_iib10004_student10.zip, extract it to C:\ to create the folder C:\student10.
  • The lab links given use “ftp://”, but also work with “http://”. If you need to use “http://”, copy and edit a link before pasting into your browser address field.
  • Some of the labs depend on the HRDB database and tables for DB2, and the scripts (and DDL) that you need to run are provided are for the users iibuser and iibadmin. When creating your own environment, you may need to alter the database schemas and authorities in the DDL to reflect your own environment; for example, for the scripts to configure database permissions to GRANT access to your own user ID instead of iibuser.

    Some information about recreating the HRDB database and tables and permissions for your own environment are given in the PDF for Lab 1.

  • The VMWare image mentioned in Lab instructions was only for use in the IBM Betaworks workshops run at IBM Hursley. Unfortunately, we can’t distribute the VMWare image outside IBM, because it contains non-IBM software (Microsoft Windows), and we would be violating the license agreement we have with Microsoft if we did that.
  • A useful tool for IIB development on Windows is the IIB Event Log Monitor, mentioned in the the lab PDFs. This tool continuously
    monitors the Windows Event Log, and all messages from the log are displayed immediately. This tool is not part of the IIB product, and is made available “as is”, with no provision for support or warranty:

    You can download the ZIP file from the IBM Integration community at https://developer.ibm.com/integration/wp-content/uploads/sites/25/2016/03/iiblogviewer.zip

    • To run the Log Viewer, just put both files in the same folder, and then run the . exe file. (There’s no need to include in the PATH.)
    • The Log Viewer simply subscribes to the Windows Event Log, and displays IIB event log entries (or WMB entries) as shown in the Lab guide.

    The strategic direction is toward sending logging, resource statistics, and message flow statistics and accounting data to IBM Cloud Log Analysis, and displaying the reported information in a Kibana dashboard. For more information about configuring and using this technique, see the following resources:

IBM Integration Bus V10 workshop: Labs in the main agenda

[iib10] Lab 1: Creating an Integration service

(March 2016: Lab updated for IIB10003) In this lab, you create an integration service and all the IBM integration resources required to implement the service. You will define the service data model and the WSDL that describes the service. You will implement and test the service operation. The service accesses an external database and responds with data retrieved from the database.

Tagged , | 199 Comments

[iib10] Lab 2: Developing a REST API service

(March 2016: Lab updated for IIB10003) This lab shows you how to create and test a new REST API service. This scenario will be based on the EmployeeService example that you may have used in other labs in this series.

Tagged , , | 158 Comments

[iib10] Lab 3: A JSON client Application invoking an Integration Service

(March 2016: Lab updated for IIB10003) This lab shows how to use a web service connection to invoke an existing Integration Service (EmployeeService). Also how to use the Graphical Data Mapper to demonstrate schemaless mapping, mapping JSON input and output data. As well as write and read elements to the Environment tree and retrieve information about the runtime environment, including the application and flow names.

Tagged , | 20 Comments

[iib10] Lab 4: Using IIB Embedded Global Cache

This lab guide shows how to extend the Employee Service by adding operations that will load the data from the SAMPLE database to computer memory and allow it to be retrieved from there for improved performance.

Tagged , | 12 Comments

[iib10] Lab 5: MobileFirst Integration

This lab demonstrates a typical use case for integrating a mobile app with a REST API service running on IBM Integration Bus.

Tagged , | 3 Comments

[iib10] Lab 6: MQ Flexible Topologies: Configuring MQ nodes using MQ Connection Properties

(March 2016: Lab updated for IIB10003) In this lab guide you configure two MQ applications to show how MQ queues can be accessed on queue managers configured in different ways.

Tagged , | 2 Comments

[iib10] Lab 7: MQ Flexible Topologies: Configuring MQ nodes using MQ Endpoint Policies

(March 2016: Lab updated for IIB10003) This lab guide covers how to override MQ Connection properties using MQEndpoint policies. In this lab guide you configure two MQ Applications to show how MQ queues can be accessed on queue managers where the queue manager exists on a remote IBM MQ Appliance using an MQ Client connection.

Tagged , | 2 Comments

[iib10] Lab 8: Implementing Business Rules with IBM Operational Decision Management using the Employee Service scenario

You can use the IBM Integration Bus Toolkit to write business rules by using natural language, so that they can be read easily by business users (for example, a business analyst). In the Integration Toolkit, you create a decision service, which is a collection of rules that are used to process a message.

Tagged , | 8 Comments

[iib10] Lab 9: Message Flow Security

This lab investigates two techniques for message flow security:
1. Authentication and authorisation with username/password, using an LDAP database for both authentication and authorisation.
2. Authentication and authorisation with X.509 certificates

Tagged , | 3 Comments

[iib10] Lab 10: Web Administration Interface and File-based Security

(April 2016: Lab updated for IIB10004) This lab shows the following functions:
– Deployment of applications and libraries from the Web UI;
– Explore Web UI without security
– Configure Web UI with role-based security:
– Explore Web UI with role-based security

Tagged , | 2 Comments

[iib10] Lab 11: MQ SSL: Connecting MQ nodes to an SSL enabled queue manager

This lab guide covers how to configure MQ applications to connect to remote SSL enabled queue managers using MQEndpoint policies.

Tagged , | Leave a comment

[iib10] Lab 12: MQTT using IoT Cloud

This lab guide provides a “hands on” introduction to the IIB support of MQTT and how IIB V10 can be integrated with IBM Internet of Things (IoT) Foundation. The IoT Foundation hosts a MQTT server on the internet and provides a quick start demonstration service.

Tagged , | 2 Comments

[iib10] Lab 13: Accessing the Global Cache using a Mapping Node

(March 2016: Lab updated for IIB10003) This lab shows how to implement a REST operation to retrieve data from the Global Cache.

Tagged , | Leave a comment

[iib10] Lab 14: Business Transaction Monitoring

(April 2016: Lab updated for IIB10004) This lab shows how to create and use a business transaction based on the message flows contained within a single application.

Tagged , , | Leave a comment

[iib10] Lab 15: Using callable flows

(April 2016: Lab new for IIB10004) In this lab, you explore the use of callable flows (introduced in IIB V10.0.0.4), which enable a message flow (or integration service, or REST API) to invoke a separate message flow in a call/return (blocked wait) programming model.

Tagged , | Leave a comment

[iib10] Lab 16: Integration with Salesforce

(April 2016: Lab new for IIB10004) This lab explores the use of IBM Integration Bus V10 Fix pack 4 to interact with your Salesforce.com account in the cloud, by using a Salesforce request node in a message flow. You can use this capability to create, retrieve, update, and delete records in your Salesforce system directly from IBM Integration Bus.

Tagged , , | Leave a comment

[iib10] Lab 20: Integration with API Management

(March 2016: Lab updated for IIB10003) This lab explores how to control and use a REST API (created in the lab
Developing a REST API Service) from within IBM API Management.

Tagged , | 3 Comments

[iib10] Lab 30: Integration with Microsoft .NET Applications

(April 2016: Lab new for IIB10004) This lab guides you through the steps needed to implement a message flow that starts an instance when a message arrives at a queue hosted on MSMQ (Microsoft Message Queuing). It responds to that by doing a simple mathematical calculation and sending a response to another MSMQ hosted queue.

Tagged , | 3 Comments

[iib10] Lab 31: Creating an Integration Service to access Microsoft SQL Server

(April 2016: Lab new for IIB10004) This lab shows you the steps to enable an IIB application (integration service) to connect to SQL Server, and retrieve some rows from a specific SQL Server table.

Tagged , | 7 Comments
IBM Integration Bus V10 workshop: Optional labs

[iib10] Lab 89: Modifying MQTT nodes using Node Policy

This lab guide provides a “hands on” introduction to the IIB support of MQTT and how the IIB V10 Node Policy support can provide a useful way of changing connection specific configuration related to an MQTT node without the need to redeploy a message flow.

Tagged , | Leave a comment

[iib10] Lab 90: Web Services Security: Authentication and Encryption Using X.509 Certificates

(March 2016: Lab updated for IIB10003) This lab shows how IBM Integration Bus Integration Services can be secured using (message level) Web Services security and Transport Level Security (TLS) using X.509 certificates.

Tagged , | 6 Comments

[iib10] Lab 91: Message Modeling with DFDL Lab 1: Modeling CSV Files

Create a message model for a CSV file that has a header record, and several detail records, but no trailer record. Using the new Shared Library function that was introduced in IBM Integration Bus Version 10.

Tagged , , | Leave a comment

[iib10] Lab 92: Message Modeling with DFDL Lab 2: Modeling fixed-length data using a COBOL copybook

Create a message model from a COBOL Copybook, test parse the model against a valid data file, and then use the trace facility to test the message model against a malformed message.

Tagged , , | 1 Comment

[iib10] Lab 93: Message Modeling with DFDL Lab 3: Record-oriented, tagged, delimited text

Create a message model capable of parsing a tagged, delimited file (such as for messages that conform to the ACORD AL3, EDIFACT, HL7, SWIFT, or X12 standards).

Tagged , , | Leave a comment

[iib10] Lab 94: Message Modeling with DFDL Lab 4: Record-oriented, tagged, delimited text (advanced)

Extend the DFDL structure in the message model from Lab 3, to parse a data file that contains multiple Company records, and then test the model against a data file.

Tagged , , | Leave a comment

[iib10] Lab 95: Message Modeling with DFDL Lab 5: Using DFDL length prefixes

Extend the tagged-delimited message model from Lab 3, to create two message models that use length prefixes. Such use of length prefixes is a particular requirement for some industry standard models; for example, the ISO8583 standard used in credit card processing.

Tagged , , | Leave a comment

[iib10] Lab 96: Message Modeling with DFDL Lab 6: Resolving Choices using Discriminators

Create a message model that uses discriminators to assert that an object is ‘known to exist’. This enables the DFDL parser to parse data without incorrect back-tracking for processing errors related to that object.

Tagged , , | Leave a comment

[iib10] Lab 97: Implementing Analytics with the R Node using REST API

Set up an R node in Integration Bus and use that node in a REST service to extract data from a database and create an R model from the data. Create a simple application to predict the value of Salary given a value for Education level.

Tagged , , | Leave a comment

[iib10] Lab 98: Implementing Analytics with the R Node using an Integration Service

Set up an R node in IIB and use that node in an integration service to extract data from a database and create an R model from the data. Create a simple application to predict the value of Salary given a value for Education level.

Tagged , | 31 Comments

[iib10] Lab 99: Java Script Client API

Generate the JavaScript API for an existing Integration Service and implement that API in an application.

Tagged , | Leave a comment
Other labs

[iib10] Lab MQ: Build and run an integration solution that uses WebSphere MQ

In this lab, you use the IBM Integration Bus for Developers V10 Toolkit to build a message flow that uses MQ nodes, and use the Flow Exerciser to deploy and test your message flow and its use of WebSphere MQ. You also use the WebSphere MQ Explorer to create a queue manager and queues.

Tagged | 3 Comments