Introduction

This guide is Part 2 of a two-part guide detailing how to configure a WAS ND Liberty Profile Collective. If you have not read Part 1, please do so now. In the Previous guide (Part 1) we covered how to install Liberty Profile from a WAS ND repository. We will now configure the collective to for a Liberty Cluster.

Configure a server as a collective controller

To configure the server, we simply modify server.xml. Below is the default server.xml

I would also recommend that the server description attribute be changed to something like "Collective Controller 1"

<server description="Collective Controller 1">

To configure a Liberty server as a collective controller use the following steps: Create the collective controller configuration using the collective command with the create action from the bin folder of the Liberty profile installation

You will notice that there is a commented out stanza with the element TODO, below it we see a quickStartSecurity element

<quickStartSecurity userName="" userPassword="" />

You can use the <quickStartSecurity> element to quickly enable a simple (one user) security setup for the Liberty profile.

Update the quickStartSecurity elements attributes as required

<quickStartSecurity userName="admin" userPassword="letmein" />

Start the Controller

./server start controller1

When you are starting the collective controller the first time (or any server), use the server run command to start the controller rather than the server start command. This allows you to monitor the startup messages to catch any configuration errors. When you are copying text from the output of a command into the server.xml file there is always the possibility of syntax problems, for example, extra spaces in words. You could also use the tail command and tail the messages.log file

Verify that the controller started correctly by looking for this message: CWWKX9003I: CollectiveRegistration MBean is available. The message is located in the message.log file of the controller. Result:

Create Collective Member

We will now create a collective member. Create a new server called member1

./create server memeber1

Join a Member to the Collective

To join a Liberty server to the collective controller, use the collective command with the join action. The command and action are targeted to the Liberty controller name and use as options the host, https port, administrative user and password of the controller, and a password for the member keystore as were created earlier in the controller configuration. This command will produce a few configuration lines that you will be instructed to add to the collective member server.xml file for the configuration to be completed. Note you will be prompted to accept the certificate during the command processing Add the server to the collective

If we look at the messages.log of member1 we will see output messages such as:

[03/03/15 00:05:34:491 GMT] 00000017 gement.repository.client.internal.RemoteConnectionHelperImpl I CWWKX8055I: The collective member has established a connection to the collective controller. [03/03/15 00:05:36:009 GMT] 00000026 nt.repository.member.internal.publisher.ServerPathsPublisher I CWWKX8114I: The server's paths were successfully published to the collective repository. [03/03/15 00:05:36:214 GMT] 00000026 om.ibm.ws.management.filetransfer.internal.mbean.FileService I CWWKX7912I: The FileServiceMXBean attribute ReadList was successfully updated. [03/03/15 00:05:36:323 GMT] 00000026 om.ibm.ws.management.filetransfer.internal.mbean.FileService I CWWKX7912I: The FileServiceMXBean attribute WriteList was successfully updated. [03/03/15 00:05:36:408 GMT] 00000026 nt.repository.member.internal.publisher.ServerStatePublisher I CWWKX8116I: The server STARTED state was successfully published to the collective repository.

We now have a collective created. Before we finish we need to cover a few Collective Administration practices.

Summary

In this guide, we have learned how to install WAS 8.5.5 Liberty Profile using IBM Installation Manager and then using the imcl command line tool to initiate the binary installations using command line variables as input. This is a very powerful command-line tool and can easily be integrated into master shell scripts. We looked at how to create and configure a collective controller server and one join one member to the collective. We did not cover Administration of a collective nor test an application deployed to the collective. We will cover a details of provisioning for highly available application in the Guidetitled: WASND_8.5.5.x_LibertyProfile_HighAvailability, which can be purchased from http://www.themiddlewareshop.com. We also covered how to remove the IBM SDK and uninstall WAS 8.5.5 Liberty Profile.

Consulting

If you or your organization require support in architecture, performance tuning, automation or simply advice, then please contact me via my support site and request a conversation, where we can discuss your requirement.

About Steve

Steve is a seasoned passionate technology professional, strategist and leader. An expert in technical communications, and adept in almost all forms of Internet and mobile related technology, Steve has time and time again proven his tenacity to improve systems around him and deliver. Steve has worn many hats during his career such as Chief Technical Officer, Founding Member of several business ventures, Programmer, Systems Administrator, Architect, Blogger and Published Author to name a few. Due to 20 years Industry experience in Middleware, Programming, Networks and Internet Technologies, He combines systems knowledge with efficient working methods and inter personal skills required to build effective relationship with clients and colleagues alike. Exceeding typical expectations in any role undertaken, Steve is certain to become a valuable asset within any organisation He joins.

Industry Qualifications & Recognition

Introduction

This guide is part 1 of a two-part guide detailing how to configure a WAS ND Liberty Profile Collective.

Product Overview

A WASND Liberty Profile cluster is called a collective. The Collective is managed by a collective controller. The term cluster is not synonymous with Liberty Profile versions, as we instead speak in terms of a collective domain. The collectiveController-1.0 feature which is available as a feature to be added to a Liberty Profile instance via the add Feature Process, which is covered later in this guide. By default a collective controller is designed to work with collective members from the following products:

WebSphere Application Server Liberty

WebSphere Application Server Liberty - Express

WebSphere Application Server Liberty Core installations.

The collective controller provides for a centralized administrative control point to perform operations such as MBean routing, file transfer, and cluster management. A core role of collective controllers is to receive information, such as MBean attributes and operational state, from the members within the collective so that the data can be retrieved readily without having to invoke an operation on each individual member. The diagram below is sourced from IBM : http://www-01.ibm.com/support/knowledgecenter/api/content/nl/en-us/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_collective_arch.html The set of Liberty servers in a single management domain is called a collective. A collective consists of at least one server with the collectiveController-1.0 feature enabled. Optionally, it has many collective members and exists within a set of many collective controllers. A set of collective controllers is called a replica set. There is only one replica set per collective, and all controllers must be part of the replica set. When there are more than one collective controller, each collective controller will replicate its data to the other collective controllers in the replica set to allow for high availability and data protection. The replica set is logically present even when only one controller is in use. The controllers in the replica set communicate with each other using a collaboration scheme to ensure that data is replicated across the set of controllers no matter which controller in the set receives an operation to store data. Each controller has a dedicated port for use by the replication protocol. Communication between the controllers in the replica set is always authenticated and protected with SSL. A collective member can be configured with multiple collective controller endpoints. A collective member only communicates with one collective controller at a time; however, a configuration with more than one collective controller endpoint provides failover and workload balancing. Member-to-controller communication is always in the form of MBean operations performed over the IBM JMX Rest Connector. Communication between controllers and members is always authenticated and protected with SSL.

Steps Involved

Installation

The steps involved in this guide are outlined below:

Installation Planning

Prerequisites

Downloading/Acquiring Software

GUI Installation

Silent Installation

These steps are covered in the document titled: WAS_ND_8.5.5.x_Liberty_InstallationGuide which can be purchased from http://www.themiddlewareshop.com

Creating a Collective

The following high-level steps outline creating a collective controller, and a collective member which are covered in this guide.

Create a Liberty server that will be used as the collective controller

Create the collective controller configuration and add it to the controller server.xml file

Start the collective controller

Create a Liberty server that will be used as the collective member

Join the member to the collective controller

Start the collective member

Introducing the Collective

Individual developers will typically work in single server environments, however, the Liberty profile is also suited for production. Using multiple Liberty profile servers can provide the availability and scalability for running critical applications. Liberty collectives provide a common management domain for Liberty servers. This new structure has been added to the administration options for Liberty in V8.5.5 for operational efficiency and convenience, and to introduce high availability features. A collective comprises at least one Liberty profile server configured as a collective controller and possibly one or more Liberty profile servers configured as collective members. For a member to be part of a collective, it has to join a collective controller. A member can join more than one controller for failover and workload balancing reasons, but the member only communicates with one controller at a time. The communication between the member and the controller is done over the IBM JMX Rest Controller with MBean operations. Communication between controllers and members is always authenticated and protected using SSL. The collective controller provides operational access to all members of the collective. This includes operations to start and stop servers, invoke administrative operations, and perform file transfer in support of configuration changes and application installation. All Liberty profiles can be members of a collective but only Network Deployment provides the support needed to create a collective controller. WebSphere Application Server V8.5 Administration and Configuration Guide for Liberty Profile There can be more than one controller in a collective in order to form a replica set. In a replica set, each controller replicates its data to the other controllers, thus providing high availability and data protection. There can be only one replica set per collective and all controllers must be part of it. Liberty servers in a collective can be clustered to provide scalability and availability. A Liberty profile server that is configured into a collective can join a cluster by enabling the proper feature and configuring the cluster name. All members that specify the same cluster name are members of that cluster. A web server plug-in is used to distribute work across the servers in the cluster. The image below shows collective with clustered servers.

The collective controller provides support for managing the servers in the cluster as one object, including starting and stopping the servers, updating the configuration of the servers, installing and uninstalling applications. The collective controller also provides you the capability of adding capacity to an existing cluster and generate the web server plug-in.

Planning for a Collective

To set up a Liberty collective, you need to consider the high level architecture of your environment. Consider questions such as how many members and controllers you might need and how will they be grouped on your systems in order to meet your business needs

Setting up a Collective

The first step is to create a WAS ND Liberty Profile server, which will be configured to be a collective.

Create a Collective Server

To create a Liberty server that will be used as the collective controller, use the server command with create action from the bin folder of the Liberty profile installation. The root of our installation will be as follows

/var/apps/was8nd.5.5_LP

We will refer to this from now on as <wasndlp_root>

Create a server called controller1

./server create controller1

Result:

Server controller1 created.

Verifying the install

We run the productInfo command to validate the product integrity, compare different versions of the Liberty profile servers, and verify the current product versions.

Run the following command(s) from the <waslp_root>/bin folder to list features

We will now start the server to ensure that it will run, using the following syntax

<wasndlp_root>/bin/server start controller1

Start server1 using the server command

/var/apps/was8nd.5.5_LP/bin/server start controller1

Note: There is a run command, this will be a foreground console print, then background process. The start command is always background.

Logs

There are three primary log files for a Liberty server

console.log

Contains the redirected standard output and standard error from the JVM process, this console output is intended for direct human consumption

The console output contains major events and errors if you use the default consoleLogLevel configuration.

The console output also contains any messages that are written to the System.out and System.err streams if you use the default copySystemStreams configuration. The console output always contains messages that are written directly by the JVM process, such as -verbose:gc output. This file is created only if the server start command is used, and its location can be altered only by using the LOG_DIR environment variable

messages.log

Contains all messages except trace messages that are written or captured by the logging component. All messages that are written to this file contain additional information such as the message time stamp and the ID of the thread that wrote the message. This file does not contain messages that are written directly by the JVM process.

trace.log

Containing all messages that are written or captured by the product. This file is created only if you enable additional trace. This file does not contain messages that are written directly by the JVM process.

At this time (trace is not enabled), we can tail one of two possible logs. Either console.log or messages.log The example below is a cat of <server1_root>logs directory

As mentioned earlier, it is important point to note that the JRE that is being used in this Linux CentOS 7 build is an Open JDK version. Liberty can run in almost any JRE that meets the prerequisites. However the is something important to note for Liberty collectives (clusters). In order for the collective controller to perform remote operations on Windows members such as starting or stopping a member server, the collective controller must run with an IBM JRE. Third-party JREs do not contain the required security classes.

Changing the JRE for the Liberty Runtime

Since we are using Liberty ND, we are intending to run a collective. Since we may want to use all the facets of security, we will need to replace the OpenJDK with an IBM JRE. I downloaded IBM SDK 7 from the IBM Software Catalog as listed below, I then unzipped these to create repository

Note: As of 8.5.5.2 you can download and install IBM WebSphere SDK Java Technology Edition Version 7.1. This version is only available from the web via the imcl command the URL is http://www.ibm.com/software/repositorymanager/com.ibm.websphere.IBMJAVA.v71however, this means that you would require internet access from the machine/server where you are running the IM imcl command from. So it all depends on how your needs/environment and depends on whether you have a passport advantage or software access catalog account.

Installing the IBM SDK 7

In the example that follows, we will install the IBM SDK 7, using IM, before we do so we need to first query the repository to find the installation package name.

Installed com.ibm.websphere.liberty.IBMJAVA.v70_7.0.4001.20130510_2103 to the /var/apps/was8nd.5.5_LP directory

The SDK will be installed to a folder called java. Now we can run the re-verify command and the Liberty command/scripts will now acknowledge that there is an IBM JDK in the file path and now report the use of the IBM JDK for.

Consulting

If you or your organization require support in architecture, performance tuning, automation or simply advice, then please contact me via my support site and request a conversation, where we can discuss your requirement.

About Steve

Steve is a seasoned passionate technology professional, strategist and leader. An expert in technical communications, and adept in almost all forms of Internet and mobile related technology, Steve has time and time again proven his tenacity to improve systems around him and deliver. Steve has worn many hats during his career such as Chief Technical Officer, Founding Member of several business ventures, Programmer, Systems Administrator, Architect, Blogger and Published Author to name a few. Due to 20 years Industry experience in Middleware, Programming, Networks and Internet Technologies, He combines systems knowledge with efficient working methods and inter personal skills required to build effective relationship with clients and colleagues alike. Exceeding typical expectations in any role undertaken, Steve is certain to become a valuable asset within any organisation He joins.

Installation Instructions

In
the "Download Package" section of this document, click the HTTP link to
download the interim fix. If you are using Internet Explorer with a
medium-high security setting, you might have to click the HTTP link
twice before you can download the file.

. Extract the contents of the file MB8001_800102.zip file into a new local directory.

.

Close the WebSphere Message Broker Toolkit, and any Rational products that are running.

Ensure that you have installed IBM Installation Manager Version 1.4.3 or later

Launch IBM IM

Add the iFix repository to IBM IM

Once done return to the main workbench

Click Update

Click Next

Review and click Next

Next, Read and Accept License then Next again

Click Next again

Review the final summary information

Click Update

We are done, Next time you launch WMB Tool Kit and check the about again.

WebSphere Message Broker Toolkit - Message Broker

Version: 8.0.0.1

Build id: 8.0.0.1-IFix-20130131-1239

OR

You can also consult logs, but I personally find IBM has made this harder with IBM Installation Manages products

Check
for the presence of the files \IBM\Installation Manager\installed.xml
and \IBM\Installation Manager\installRegistry.xml in the working
directory.

The default working directory is
%ALLUSERSPROFILE%\Application Data\IBM\MQSI where %ALLUSERSPROFILE% is
the environment variable that defines the system working directory. The
default directory depends on the operating system:

Since I am installing in a 64 bit Windows VM, I use the 64 bit launch pad

IBM Integration Designer for IBM Business Monitor

For
Windows only, this installation configuration includes IBM Business
Monitor, the Monitor Model editor (a feature in IBM Integration
Designer), and a IBM Business Monitor test environment. The following
packages are selected for installation:

WebSphere Application Server Network Deployment

Business Monitor

IBM Cognos

DB2 Express

Integration Designer

A
default stand-alone profile for Business Monitor is selected on the
Features page. This profile enables you to begin using the test
environment immediately.

IBM Integration Designer for WebSphere DataPower

This
installation configuration works directly with the WebSphere DataPower
Appliance, and does not include a test environment. Only the Integration
Designer package is selected for installation.

IBM Integration Designer

This
installation configuration does not include a test environment. Only
the Integration Designer package is selected for installation.

I
chose the option to install the Process Server Test Environment and
start working with the IBM Process Center first, all this check box does
is auto prompt to connect to an existing Process Center. This is
covered in another separate article.

Click "install Selected" and the IBM installation manager will start.

As the IIM (IBM Installation manager) loads it will validate the local install repository.

As
you can see above the installer has already pre-selected the individual
component. We are installing WAS 8.0.0.5 ND, IID, IBM Process Server
Advanced (Both Process Server and ESB) DB2 Express to fulfill a complete
developer environment.

Click Next

You will see the repository already contains several fix packs.

Read and Accept License

I choose to install in was8nd as it is not a protected folder.

Review

Click Next and the wizard will prompt for some profile & DB/2 settings

We use profile settings as administrative security will be turned on for this profile. Click Next

Review the installation summary and click Install

At
this point the IIM is asking you to create a Process Center, we do this
using a Process Center profile. But since I want to verify that the
process server profile has installed let's look at that first. Later we
will create the Process Center server (Process Center Profile).

When
the install is completed, select none as seen below. We do not need to
create a profile because we are going to use the WTE (WebSphere Test
Environment) from within IBM Integration Designer.

Click finish to and close the Launchpad installer.

Since I have installed on Windows, there is a new entry in the IBM program group

Process Center

We
need to create a Process Center Server. We cannot do this with the same
media that was used to install IID. You see Process Server Center comes
with the full version of IBM BPM and is designed to be an actual
server. You would not have a local dev IDE and a local Process Center on
the same machine. Reason is resources locally and what is the point. A
Process center is supposed to be shared.

Search my site for the article on how to create a Process Center.

Once the Process Center server is available we can switch to the Process Center perspective and connect.

This course follows a simple “Do-it-yourself” style that is unique to The Middleware Shop's courses. Here the student learns through examples, one step at a time, the power of WebSphere Message Broker 8.0 an advanced ESB product from IBM, and how to Administer the product. One important point to mention for this course is that it contains over 500 pages of information.

By completing this course, the student will be able to administer WebSphere Message Broker 8 using WebSphere Message Broker Toolkit and command-line tools. The student will also learn some important High Availability features and understand how to secure Broker applications, along with some key pointers on how to tune WMB 8.

This course follows a simple “Do-it-yourself” style that is unique to The Middleware Shop's courses. Here the student learns through examples, one step at a time, the power of WebSphere Message Broker 8.0 an advanced ESB product from IBM . We think that you will agree this Message Broker Development Course is some of our best material yet! One special point to mention for this course is that it contains over 1200 pages of information.

By completing this course, the student will be able develop WebSphere Message Broker 8 applications using WebSphere Message Broker Toolkit. The student will also be able to solve complex integration problems using advanced features of WMB such as message aggregation. A great attribute of the course is it highlights best practices and gives pointers to pitfalls.

What we need to do now is add additional JDBC Data source options. We need to specify some additional properties for WAS to connect to the MySQL database. This document contains the additional information on how to set Custom Properties required to configure a MySQL data source. Use this document in conjunction with my Original MySQL document. Navigate to the Data Sources view by clicking on Resources | JDBC | JDBC Providers

Click to open the settings page for the appropriate Data source Select you appropriate Data Source an click to open. Locate the Additional properties section and click on Custom properties link

We need to add three properties to ensure our MySQL data source is used correctly. Values for the three custom properties you need to ensure WAS knows how to connect to MySQL.

Name

Type

Value

databaseName

java.lang.String

<you database name>

Port

java.lang.String

3306

serverName

java.lang.String

localhost

You need to do this for all Data Sources to ensure each Data Source has the correct Database specified.

Verifying IB9

To verify that the IB9 administration command work, we will create a broker, run it and then delete it Setting up the environment. To make the IB command available, we will use a pre-defined script that we will add the path to the IB command scripts into the .bash_profile file, so that when we log in as mqm the path will automatically be set.

In the example above, since this is a new installation we have an error. The error code us BIP8081:

Message BIP8081 is issued when creating a broker Scenario: Message BIP8081E is displayed when you are creating a broker, the inserted message does not format correctly, and the broker is not created. Explanation: This problem occurs because you are not a member of the correct group. Solution: Read the explanation of message BIP8081, and ask your WebSphere® Message Broker administrator to give your user ID access to the mqbrkrs group.

We now need to go switch back to root and add the appropriate group and add mqm to that group

If you remove a broker by just using the command mqsideletebroker it will only remove the broker, not the queue manager associated. To remove the broker, the QM and trace files use the following command

[mqm@localhost ~]$ mqsilist \BIP1281I: No brokers have been defined on this machine. BIP8071I: Successful command completion.

Verify that the QM was also deleted

[mqm@localhost ~]$ dspmq [mqm@localhost ~]$

If there is no result then we have verified that the QM has been removed as well Congratulations, you have now completed the module.

Summary

In this chapter, we have learned how to install IIB9.0 on a Linux CentOS 7 server. The product we used as the free demo known as IBM Integration Bus for Developers. We covered how to solve installation issues with Integration Bus, Integration Toolkit and Integration Explorer and we also learned how to verify the components to ensure they were all working as intended. This module is a sample chapter which is included in the IIB 9.0 course which will be released 2015. To learn more about the courses available from The Middleware Shop, please go to http://www.themiddlewareshop.com/products to see a full list of the current courses available.

Installing IIB 9.0 silently

To begin the installation silently, all we have to do is run the following script called installAllSilent.sh which is locate in the sample-scripts folder of the integrationbus_developer installation set (please use root for local learning, it is much easier, but you can use any account that has the correct elevated privileges).

Note: Before we run the script, we need to edit the response.properties file to ensure that the License is set to TRUE

You will see that when WMQ installed it is given an instance: 'Installation1' (/opt/mqm) set as the Primary Installation. This is important to note as you can in fact have more than one installation of WMQ now on the same machine.

Verifying Installation

We have now completed the installation. Since this is an installation which presumes you are using IIB 9.0 on a Linux desktop for learning, I am going to log into a remote session using X2Go client and test the GUI's. I am using a MATE XSession, and we can now see that we have the following:

IBM Installation Manager has been installed, this is the IBM interface to manage GUI installs. IBM Integration Toolkit can also be seen in the menu. Launching the IBM Installation Manager (IM), we see the following:

If we click on modify, we can see what has been installed and managed by IM

.

Running IB Explorer

After installing IBM Integration Explorer you must complete the following step: To initialize the new installation of IBM Integration Explorer, run the following command from a command line in which the mqsiprofile command has not run: Note: You must be in a terminal within an XSession or have a display set i.e. to a local XServer like Xming.

Initialise IB Explorer

/usr/bin/strmqcfg-i

To run this command, you must be the administrator or root user. Once the command is run, you can now run the following command to start IB Explorer

Start IB Explorer

/usr/bin/strmqcfg

Once you have verified that IB Explorer is working, we just need to verify that WMQ is installed and working.

Verifying WMQ

The majority of these commands are run as the mqm (or equivalent) user. By default these commands are in /opt/mqm/bin It is recommended that you add this path to the mqm users PATH. Now since we are using root still at this time, we will find that there is not path set. You can set the path for the root profile or you can start using the mqm user. I would recommend using the mqm user now that we have WMQ installed.

Introduction

The IBM Integration Bus, formerly known as the IBM WebSphere Message Broker Family, provides a variety of options for implementing a universal integration foundation based on an enterprise service bus (ESB)

In this module we discuss the installation of IBM Integration Bus (IIB) 9.0 components for starting IIB 9.0 Administration. The various components are

WebSphere MQ

IBM Integration Bus Component

IBM Integration Bus Toolkit

IBM Integration Bus Explorer

These components can be installed separately on different operating systems and in various modes i.e. Graphical, Console and Silent modes. Graphical or GUI mode presents a series of screens i.e. a wizard that guides you through the installation process. It is suitable for developers who are used to GUI based applications. Note for Linux/Unix that the GUI mode requires an appropriate X Windows systems installed on the machine. Console mode is suitable when you are installing the product from a remote machine over telnet or SSH, or when security policies of an environment do not allow for a GUI approach. It presents a character based interface (CUI) and is interactive in nature. Silent mode is a non-interactive and non-GUI based way to install. In this course, we follow the simplest technique, where we install all the required IIB 9.0 components in one go, using silent mode. The installation process, at a high level involves

Downloading the required software from IBM web site

Preparing the machine for installation

Extracting the downloaded archives and creating install images

Installation using installAllSilent.sh script

Preparing a Virtual Machine

In this course, I have decided to use a Virtual Box VM, because it is free to download and use. I then prepared a CentOS 7 virtual machine with 4GB Ram and 100GB disk space. I used a bridged networking setting to ensure that the VM could be access from another client machine on the same network. By installing X2GoServer on the CentOS 7 VM using yum, I was then able to install the X2Go Client on my Windows 8 client machine. This allowed be to remotely access the VM for the purposes of installing and configuring the Linux VM from my Windows Desktop. In a commercial production environment it may not be possible to install or use a GUI, so we will cover GUI actions only make life easier for training and learning purposes. It is important to note than any server-side configuration or administration would typically be done via an SSH session. I use PuTTY to access the server via the SSH protocol

Deciding on the location of downloads

Depending on how well your Linux VM is built i.e. it has a GUI desktop, you may wish to download the required files onto a client i.e. your own workstation. Once downloaded you can SCP (using Wins SCP or equivalent via SSH) these files easily to the Linux Server. IBM doesn't easily publish the download locations of files so that you can use a server-side command i.e. what traditional Linux admins would do. So be aware that you may have to try more than one methods to get the required files onto your actual server VM.

Downloading the required software from IBM web site

Different flavours of the IBM Integration Bus product

IBM Integration Bus is available in different flavours. Based on our requirement we need to procure the product.

IBM Integration Bus Advanced: Is a full-featured ESB product for any size deployment. It enables the integration of data sources from a wide range of platforms throughout service-oriented architecture (SOA) and non-SOA environments.

IBM Integration Bus Express: Is designed to meet the needs of small and midsize businesses. This entry-level ESB for simple integration projects has restricted features and is limited to one process. It can grow with your business as your integration needs evolve.

Select the download type. In our example we selected Linux for System x86-64 as a single file. You can choose to download a package of multiple files if you wish.

Click continue.

Fill out the questionnaire form from IBM if one is presented.

Read and accept the license agreement

Note: IBM's website is constantly changing, so if it prompts for a required IBM ID, provide your IBM ID. If you do not have an IBM ID, register yourself and obtain an IBM ID.

At this point you can either choose to download the file using Download Director or HTTP. It is recommended to use Download Director for downloading the file. Using the download director allows for a download to be resumed if a connection to the internet is lost during the download. It saves you having to download the entire download again. It all depends on how good your internet connection is.

Note: If you have never installed a JRE on your desktop, the download director will not work and you may be prompted to install a Java Runtime Environment. If for some reason you cannot get the JRE to work on your client, then resort to using the HTTP option.

Select IBM Integration Bus for Linux on x86-64 9.0.0-IIB-LINUXX64-DEVELOPER.tar.gz (3.1GB) and then click the Download now button

Downloading multiple files (Scenario 2).

Alternatively if you find IBMs site crashing or downloads not completing when using the single download scenario, as I often experience myself, you can choose the multiple download option. However understand that this download option is HTTP and can take longer and your registration session can time out.

When using the multiple download option, you can download the following components individually.

IBM Integration Bus (Runtime) for Windows 64 Bit 9.0.0-IIB-WINX64-DEVELOPER-RUNTIME.zip (1.24GB)IBM Integration Bus (Toolkit) for Windows 64 Bit 9.0.0-IIB-WINX64-DEVELOPER-TOOLKIT.zip (1.96GB)Note: In this course we are using Linux, however you can see that there are also windows downloads.

Installing IIB 9.0 for Developers (Free version)

Once you have completed downloading the installation files, Copy the installation files to an appropriate location on your Linux server. In the context of this training course, I have installed the installation media on the file system in the following location:

/var/apps

Note: I used WinSCP a free Windows based SCP tool that allows me to easily transfer files to the Linux Server (Linux VM sunning in Virtual Box). You could employ any other SCP (Secure Copy Protocol) tools which you are familiar with, I just so happen to use WinSCP when I am using a Windows desktop. One such example is Cygwin which is a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Window and then use the scp Linux shell command. Cygwin can be downloaded from the following site:

https://www.cygwin.com/

Or you may choose to download and use File-Zilla which is an Open-source (GNU GPL) FTP client for Windows, Mac OS X and GNU/Linux

https://filezilla-project.org/

Use the following command to expand the files:

tar -zxvf 9.0.0-IIB-LINUXX64-DEVELOPER-RUNTIME.tar.gz

tar -zxvf 9.0.0-IIB-LINUXX64-DEVELOPER-TOOLKIT.tar.gz

Or

gunzip ./ 9.0.0-IIB-LINUXX64-DEVELOPER-RUNTIME.tar.gz

tar -xvf

We can see below a directory listing of the decompressed installed files on my Linux Server

.

Install Using GUI

We have two choices to install IIB. We can use a GUI-based wizard, or we can install silently. In this section will look at installing the product components using the GUI. Then later we will remove this installation, then install using a silent non-GUI, automated approach To install using the GUI, we must have a Linux XWindows Session available i.e. a valid Linux GUI desktop. In my examples, I am using X2Go client to remotely access a MATE XWindows session. The server is running a standard default installation of X2GoServer. I personally find that at the time of writing of this chapter, the MATE desktop seems best for CentOS 7 remote sessions (as Gnome is not working for X2Go clients at this time) but it is up to you to choose. It is after a user-preference.

Change to the installation directory and run the following command:

./setuplinuxx64

Note: I have decided to use the root user as this is a local desktop VM, and not a production server. So I am not interested in Linux security settings, as these just get in the way of learning IIB. If you are installing on a commercial/production environment, I would consult the local administrators as to the correct policy for installing software i.e. sudo groups etc. The JRE, will load and the IBM Integration Bus installer will launch as seen below.

Click OK to continue

Click Next to continue the installation

Next, we will be presented with a warning that we have not yet installed WMQ. IIB requires WebSphere MQ as its underlying message transport. We now have to install WMQ. Looking into the expanded installation files we can see that there is folder that contains the required WMQ installation files. What will do now is exit the installation and install WMQ, then re-run the GUI installation. Note: Since in this document, we are not really concerned with describing all installation methods to the nth-degree, we will not come back and complete the GUI installation, once WMQ is installed. By following the instruction for a complete total silent install of IBM 9.0 for developers, you will be able to deduce enough information to help you with a GUI based install. If you need further help, then you can consult the chapter called IIB9Admin_Chapter1_FullVersion_Installation_howto which covers the correct installation methods for both GUI and command line as allowed by the full licensed version of the IIB 9.0 product. It is important to note that WMQ cannot be installed using a GUI method as such. You can also consult my WMQ courses available on line from our site: http://www.themiddlewareshop.com/products

Installing WMQ

Included in the installation pack is WebSphere MQ 7.5 and IBM has provided an install all. Now a point to note is that when installing on a production system, you would likely not want to install IB Explorer (formerly WMQ Explorer) and the IB Toolkit (Formerly WMB Toolkit), which are both GUI that allows to you to manage IIB and Develop IIB applications. However since we are dealing with a development version of the product, we will most likely use a Linux desktop. Now in my writing I often refer to a Linux Server that is just my enterprise experience thinking as if I was doing an administration role. Please understand that this guide is to allow you to install a demo version, and the installation is not exactly the same process you would use for the full IIB product. In an enterprise i.e. commercial sense, we would most likely install WMQ and IIB with no GUI's of any type. We would instead administer from the command line on a server via SSH or use a remote desktop which has the GUI's installed. Note: It is possible to install WMQ separately using an automated response file i.e. a silent installation, which is covered in the Full Version chapter which covers the variance of process as required if you have the fully licensed products. See the chapter called IIB9Admin_Chapter1_FullVersion_Installtion_howto. There is no WMQ GUI option in the development version of IIB, so we have to resort to a silent installation. Which just so happens to be all prepared ready by IBM.

APPENDIX A: Troubleshooting

This section discusses some of the common issues that occur during installation of Message Broker Components.

Download Director

Download Director does not work in Chrome.

If you find that after installing a JRE that the IBM Download Director still does not work, then click on the Red X in the right-hand-top corner of the Chrome window. This will allow you to tell Chrome to allow this IBM plugin to be installed.

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: /opt/IBM/IntegrationToolkit90/configuration/org.eclipse.osgi/bundles/5918/1/.cp/libswt-pi-gtk-3659.so (libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory) swt-pi-gtk (Not found in java.library.path) /tmp/swtlib-32/libswt-pi-gtk-3659.so (libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory) /tmp/swtlib-32/libswt-pi-gtk.so (/tmp/swtlib-32/liblibswt-pi-gtk.so.so: cannot open shared object file: No such file or directory) at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.gtk.OS.<clinit>(Unknown Source) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(Unknown Source) at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source) at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source) at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(Unknown Source) at org.eclipse.ui.internal.Workbench.createDisplay(Unknown Source) at org.eclipse.ui.PlatformUI.createDisplay(Unknown Source) at org.eclipse.ui.internal.ide.application.I DEApplication.createDisplay(Unknown Source) at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source) at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source) at org.eclipse.equinox.launcher.Main.run(Unknown Source) at org.eclipse.equinox.launcher.Main.main(Unknown Source)

Solution We did not look at the dependencies required for IIB 9.0 to run on a supported platform. Below is a quick fix, however it is recommended that when you use a non-certified platform that you look up on the IIB site to find the nearest operating system that matches for example If Using CentOS 7.x then look for Redhat Enterprise Linux Enterprise (RHEL) 7. If 7 is not available then go to the next lowest OS version i.e. RHEL 6.x Note: Here is a link to the IBM Knowledge Centre for example: http://www-01.ibm.com/support/knowledgecenter/ You can drill down the link index to find to the Integration Broker 9.0 landing page as seen in the screen capture below.

It can be hard to find a list of dependencies as IBM are certifying platforms and you have chosen to install on a non-supported platform. Though this is true, there are often many blogs on solutions and also the IBM forums can help. But let's not deceive ourselves, it can take some time to find a solution and you have to be prepared to try and try again. Unless you have [paid for support. then blood sweat and of course hands-on experience is required. Note: Most of the GUI issues such as when the IBM Installation Manager fails to load is because Installation Manager is a 32-bit application and requires 32-bit versions of OS system libraries. These libraries are not installed on RHEL 6.0/6.1 x86_64 (64-bit) by default. You must install these 32-bit libraries on your system before you run Installation Manager.

Note:This is not part of the $199 deal as this course was released July 2015.

Do you need to save time automating manual WAS tasks?

Have you ever wondered how to automate IBM Installation Manager? Ever needed to automate the installation of WAS 8.5.5.x and automate Upgrades and Roll-backs? The WebSphere Application Server 8.5.5.x Automation Course provides the student with a full set of guides and a set of commercial-grade automation scripts with detailed worked-examples. The course provides scripts to automate the following:

Install/Upgrade/Remove IBM Installation Manager (IM)

Fully demonstrates the three modes of IM Modes (Admin, User, Group).

This is never been documented in this much detail before, not even by IBM!

This is never been documented in this much detail before, not even by IBM!

Install/Upgrade the WebSphere Plugin

Report on IBM Installation managed installs

This course was produced over 4 months with full-time effort towards design, testing and verification of advanced automation scripts which can be used independently or plugged into any enterprise orchestration management software. To engage a leading IBM WAS consultant to build these scripts, would cost over £100,000 pounds and likely to take 3-6 months to write, and test. I have leveraged my vast industry experience to give you one of the most valuable courses I have produced to date. Once purchased, you can augment these scripts as you please into your enterprise management processes, saving you time and money. I would recommend that you consider the cost it would take you to produce a similar set of scripts, and you will see that the price of the course (essentially the scripts with examples) is well worth it, even if it is just to get hold of these scripts and include them in your administration-tools arsenal. Imagine being able to install and upgrade WAS 8.x.x.x products in minutes, with self auditing configurations and detailed logging.The course has been written by Steve Robinson who is a well known WebSphere product specialist and the author of several published WebSphere related books.Duration: 3-5 Days Self Study Audience:

Experienced JEE Developers and Administrators having good experience with WebSphere Application Servers.

People looking to upgrade their skills to the Latest version of WebSphere Application Server.

Advanced professionals looking to automate installing and upgrading WAS 8.5.5.x in the enterprise.