Having worked with some of the popular EAI tools like TIBCO BW, Vitria Businessware and SAP PI, it’s time for me now to familiarize myself with something from the IBM product catalogue as well. IIB – IBM Integration Bus. It is the next product offering from IBM in the ESB range; an extension to Websphere Message Broker and Websphere ESB. Going forward, users of Websphere ESB and Message Broker, would have to migrate to IIB. So, here’s few of my initial thoughts when working with IIB.
Connectors: The set of connectors provided by default is quite rich. It has all the usual ones – JMS, MQ, Database, File, SOAP, HTTP, etc. It also had some specific ones like Websphere Adapters which are useful to connect to SAP, PeopleSoft, and SCA drawer for Websphere Process Server. These EIS specific connectors/adapters for SAP, PeopleSoft, etc. would have to be installed separately in tools such as TIBCO BW, and Vitria BusinessWare.
Toolkit Ease of Use: Coming to the ease of use of the integration toolkit – it is easy to understand for anyone who has worked with Eclipse and integration tools. As with any integration tool, developers need not worry about how the underlying connectors worked. We simply model our processes using the available activities.
Runtime Architecture: Now, the runtime architecture. I have been using a Windows machine with IIB V10. Personally, I felt the run time architecture of IBM Integration Bus was very similar to Vitria BusinessWare’s runtime architecture. IIB had a local integration node, under which you can have multiple Integration servers. Vitria BusinessWare has a component called bserv, which has multiple integration servers. Process models/Integration models can be deployed onto different integration servers and managed through the web console. Same is the case with IIB. User access in IIB is controlled using LDAP, Windows based authentication, etc. This is again same as in BusinessWare.
Scenario-File to File: Creating the first scenario, file to file. I used the File Input, File Output and Trace nodes. File nodes configuration was straight forward and simple. I was not sure about the trace node. I used the configuration mentioned in this document1 to configure the trace node. The log file generated is different to what we would typically expect. We would expect just the data to be displayed. However in this case, there was a lot of additional information and the message was displayed at the end. Not exactly what I wanted. So I have not used much of trace node in the rest of my scenarios.
Logging: As the next step, I looked at where process log is stored in the system-the log that displays what each of the components are up to, and any exceptions that might occur. I read about the different troubleshooting techniques available in IIB. Enabling user trace and service trace seemed to be the best possible approach for my requirement. Now how do I enable it? I expected this to be a GUI based setting, something I can do from the Web UI of the Integration Node. After struggling for quite a lot of time trying to find the exact configurable service or setting on the GUI, I gave up and decided to go by the console way. I have created a list of commands to use whenever I want to check the user trace to run. It would have been easier if the user trace was displayed in the toolkit, like it happens for eclipse based applications.
Scenario-DB: Next came the DB based scenario. I should confess I have not created a DSN (Data Source Name) for quite a long time now. The last time I did that was for a VB based academic project back in the 2001. In the other tools like Vitria BusinessWare, SAP PI and TIBCO BW, we do not need to create any DSN. The connector/adapter takes care of connecting when the drivers are configured. The other factor that felt different was the need to manually create an event table for Event Based Processing. I remember that the temporary table or the event store (as it is called in IIB), was created automatically in Vitria BusinessWare.
Overall, the tool felt new in the way things are done for someone like me, who is so used to 70% GUI based tools. That makes it an interesting tool to get your hands on. IBM has made the Developer Edition free for all. So, you can get started too! There might be easy hacks that I am yet to learn for some of the issues I have encountered so far. IBM Developer Works and the amazing documentation2 from IBM have been extremely helpful for understanding IBM Integration Bus in more detail.
1. IBM DeveloperWorks