Category Archives: SOA

TIBCO NOW 2014 – Q&A

This is my first article on TIBCO NOW 2014.

Again this year, I was sent as a technology observer by my employer (Logimethods) to assess the new product line and business orientations of TIBCO.

This year was a great one.

The TIBCO folks have improved and refined their orientations on a handful of their core topics : Integration, Analytics, Data Management (second article on the way), and revamped their product line in a massive (good !) way (third article on the way).

Before I start writing on all these turn of events, I want to start by answering many of my colleagues & clients questions about the TIBCO product line. These were gathered in the weeks/days prior to the conference.

How many clients currently in production with BusinessWorks 6 ?

According to the product manager: Somewhere between 20 and 40.

What about the future of AMX Service Grid vs BusinessWorks 6 ?
Is BW6 the go-to product for SOA ?

An important TIBCO executive called Service Grid a “narrow field product”.
From a sales perspective, for new projects, BW6 is considered the way to go.

The whole conference was REALLY BusinessWorks 6 oriented, and all Hands-on activities were full. The product seems very well designed, and as been tested intensively (both inside and outside TIBCO) for a long time.
As I will detail (in another article), BW6 takes what is best in many TIBCO products, and delivers a platform that can do much of was Service Grid and BusinessWorks 5 were doing.
BW 6.2 coming out this month, and should be the new go-to version.

Service Grid will continue to be supported for a significant (undisclosed) time.
Note : Service Grid as recently been rebranded on the TIBCO site as a SOA Development product (read : not ESB)

What is the future of BWSE ?What of the migration from BWSE or BW5 to BW6 ?

If the BWSE was “unwired” (read : not Service or Reference SCA chevrons), then the conversion is as simple as with any BW5 projects.

Wired BWSE will be more work.
As of now, the claim made is that the migration tools cover about 95% of the migration work automatically.

When will TIBCO commit to a unified & modern administration console for all their product ?


TEA is already the new administrator for BusinessWorks 6, but TIBCO have concrete plans to use it for all their products.

I have seen it used or had confirmation of support for : BusinessWorks 6, Business Events, EMS (read-only for now), Policy Director 2.0, Hawk, SPM , Security Server (a new component to be release with TEA 2.0)

There are rumours of BPM eventually making the jump too.

What are Vista’s plans for TIBCO after acquisition ?

We received a (rather good) sales pitch on Vista:
Vista is concentrating on acquiring good or great software companies, and making them even better.
They have been around for 14 years and never lost money on an acquisition.
Due to the size of their portfolio (soon to include TIBCO), they are the 6-7th bigger software firm on the planet.
30k employees in 50 countries.

Why they bought TIBCO:

  • Trusted partner with their customer
  • Mission critical PRODUCTS enabling client CRITICAL activity
  • Tech leadership focused on quality and innovation
  • Area for best practices adoption

Vista priorities:

  • Technological leadership… They plan to invest in TIBCO
  • Drive (read : push for) cloud enablement
  • Laser focus on : cloud integration, big data, internet of things
  • Continued enablement of fast data : provide an actionable opportunity for customer

What run-time will AMX BPM use in the future ?

AMX Service Grid for a foreseeable future

What should we expect about AMX 3.3 planned end of support?

No precise information gathered on the subject.

Any updates planned on policy director?If so, is it staying on the AMX Grid runtime ?

Policy Director 1.1 and 2.0 are coming in next quarter

1.1 Update is mainly about bug fixes and providing support for the BusinessWorks5 REST API plug-in (not Service Grid) .

Version 2.0 will be deployed on the TEA, and then gain the extra perk of being fully scriptable in Python.

Can Java / Java Spring applications be hosted on BW 6 as they were on AMX Service Grid ?

As I understood from BusinessWorks 6 experts, since it is now developed in an Eclipse platform, Java integration will be much better than in Designer.

Can’t wait to test it 😉

TIBCO EMS 8 on CentOS 6 VM

I needed to create a Virtual Box VM for my TIBCO experiments.

Here is how I created my base system, a CentOS VM with EMS 8.1.

This tutorial include all relevant scripts, and associated Gnome launchers.


  1. Install VirtualBox and extensions on my laptop
  2. Create a CentOS 6.5 VM on virtual box (I chose “Minimal Desktop”)
    • (follow only the first section, the guest additions are better explained at step 4).
  3. Update the packages on CentOS
  4. Install the virtual box guest additions. (Great How-to here)
  5. Install a modern Oracle JDK. I installed version 7 (yum localinstall jdk-7u60-linux-x64.rpm).

Note: You could also take an existing image from a site like this one, but I prefer making my own.

On the target VM, I created only one non-root user (name=”user”).

I use the shared folder feature of Virtual Box to share file between the host and guest systems. If you choose this path, please make sure that the user you are using is in the group vboxsf, like so:

/etc/group file in vim editor
/etc/group file in vim editor

Install EMS

Nothing difficult here… a simple wizard based java installer. In my case, the tibco home is /opt/tibco. I specified /opt/cfgtibco as the configuration folder. In both cases, I had to create the folder with root and change the rights.

# /bin/bash
# As root !

cd /opt
mkdir tibco
mkdir cfgtibco
chown user tibco
chown user cfgtibco
chgrp user tibco
chgrp user cfgtibco
chmod 770 -R tibco
chmod 770 -R cfgtibco
Installer command
Installer command
Configuration folder setup
Configuration folder setup
Installation validation - Done !
Installation validation – Done !

Note: The installer did not work at first with the OpenJDK provided by CentOS. Hence the Oracle JDK prerequisite.

Note 2 : DO NOT try to reorganize the configuration folder. As will be seen below, EMSCA can regenerate and deliver a configuration. When it does, it take into account the original configuration folder.

Converting the configuration

I used the provided utility to convert the old configuration fileS to the single JSON config file required for EMSCA:

cd /opt/cfgtibco/tibco/cfgmgmt/ems/data
/opt/tibco/ems/8.1/bin/tibemsconf2json -conf tibemsd.conf -json tibemsd.json

Cleanup of old configuration (optional)

As they will not be used anymore, I like to move the “old-style” EMS configuration to another folder:

cd /opt/cfgtibco/tibco/cfgmgmt/ems/data
mv *.conf OLD_CONFIG/
mv *.txt OLD_CONFIG/
mv *.conf_template OLD_CONFIG/

Creation of “EMS JSON” launcher

To use the new configuration, the lauching script (in my case EMS_HOME/bin/ must be adjusted:

cd /opt/tibco/ems/8.1/bin
./tibemsd64 -config "/opt/cfgtibco/tibco/cfgmgmt/ems/data/tibemsd.json"

Then, I create a launcher for the script :

gnome-terminal -e "gnome-terminal -e /opt/tibco/ems/8.1/bin/"
Properties view of the desktop launcher
Properties view of the desktop launcher

Install EMSCA

EMSCA is better managed with a simple initiator properties files, such as this one:

Don’t forget to create the esmca_data folder:

cd /opt/cfgtibco/tibco/cfgmgmt/ems
mkdir emsca_data

The final setup should look like this:

EMS configuration directory structure
EMS configuration directory structure

The self contained web server can then be started with this command, which I decide to include in a launcher script on the desktop:

/opt/tibco/ems/8.1/bin/tibemsca --config /opt/cfgtibco/tibco/cfgmgmt/ems/data/

OR, as a Gnome shortcut:

gnome-terminal -e “/opt/tibco/ems/8.1/bin/tibemsca –config /opt/cfgtibco/tibco/cfgmgmt/ems/data/”

We then use the browser to connect…


At first, EMSCA is empty of any servers. We must “create” a server (connection)

9 localhost server creation

Then, it it a simple matter of following the server hyperlink to get in the main screen


Use EMSCA from your host system

To use EMSCA (or any other guest OS service) from your host system, follow this tutorial on port redirection with CentOS and VirtualBox.

EMS is nicer on Chrome in Mac OS !
EMS is nicer on Chrome in Mac OS !

Install Hermes JMS

1. Install a fresh Hermes with root (on Linux in my case)

Hermes as a simple Java installer wizard
Hermes as a simple Java installer wizard
Hermes installer is a simple "next,next,next" installer.
Hermes installer is a simple “next,next,next” installer.

2. Create a /home/USER/.hermes or /home/USER/hermes directory and copy the files from the /usr/local/HermesJMS/SOMETHING/cfg directory (again, only important on Linux)

mkdir ~/hermes
cp /usr/local/HermesJMS/cfg/* ~/hermes

Then I was able to start Hermes with /usr/local/HermesJMS/bin/

You can even a nice Gnome desktop launcher.
You can even a nice Gnome desktop launcher.

3. In Hermes, the first step is to get into the “Options-> Configuration…->Providers” section
4. Then, you can right-click to create a new provider. I named mine “EMS8.1”, but the value can be anything.

Pictured above : Not orignal naming.
Pictured above : Not orignal naming.

5. Again, use the right-click to select “add jars” and select EVERY JARS in the EMS_HOME/lib directory (use *.jar in the textbox to clean other files). Select the “Scan” option when asked.  Click “Apply” and close the configuration window with “OK”.

Use "*.jar" in the filename textbox to make it easier.
Use “*.jar” in the filename textbox to make it easier.
The end result should look like this.

6. The last step is to create a new Tibco EMS session (by right clicking on sessions in the main screen or using the menu bar). This usually looks a lot like this:

Could not be more simple...
Could not be more simple…

Everything is important here:

  • The first important selection is the “Loader”, which should match the provider we just created. This is critical for the rest of the form to work.
  • The TibjmsConnectionFactory is selected (see image above for complete class name), so Queues and Topics connections are possible.
  • The “Plug in” selection is also mandatory : choose “Tibco EMS”
  • Then, create the 3 required parameters in the Connection Factory section:
    • serverURL = tcp://HOST:PORT
    • userName = admin
    • userPassword = [empty in my case]

You can now right click on the session and try to discover the destinations (Topics & Queues). They will be added automagically if the connection is successful.


Note: There may be a way to do some of this with JNDI, but I have not played with than yet.

Install GEMS

GEMS is a “native(TIBCO EMS APIs) and JMS based” administration and debugging tool. It is rough on the edges and unsupported by TIBCO, but it can also be more powerful than Hermes.
It is available for download here.(Original Article)

The installation is not complex. It consist of:

  • Unziping the file (I chose ~/Gems as the destination directory)
  • Slight adjustment of the startup script, like so:

#Edit 1 : to allow script to be executed from anywhere
cd ~/Gems

#Edit 2 : Adjust EMS location

#Edit 3 : Change to jms-2.0.jar for EMS8 or higher
# echo ${CLASSPATH}
java -classpath ${CLASSPATH} -Xmx128m -DPlastic.defaultTheme=DesertBluer com.tibco.gems.Gems gems.props

Please note:

  • The “cd” in the beginning
  • The modification of TIBEMS_ROOT
  • The modification from jms.jar to jms-2.0.jar (EMS > 8.0 only)

The script can now be executed directly, or via launcher:

The cool icon is called gnome-gemsvt.png
The cool icon is called gnome-gemsvt.png
GEMS just may be the most powerful graphical tool to configure and test EMS


Last, but certainly not least, we add a launcher to the TIBCO EMS admin tool.

Note the "Application in terminal" option
Note the “Application in terminal” option
tibemsadmin(64) is crude, but powerful
tibemsadmin(64) is crude, but powerful


We now have a great testing VM, with administrative tools included !

The next steps could be to play with multiple instances of EMS and/or with SSL settings, or to explore EMSCA…

…then I’ll install more TIBCO products : BusinessWorks 6, BusinessEvents or others, and write more articles !

Done ! For now.
Done ! For now.