How has it helped my organization?
I did only one PoC which is critical to the organization so I'm not an expert. We had consultants who developed most of the prior applications, but my part involved a new project to integrate with our external partners with new changes from a legacy format to amodern web service. We needed to help them connect to our service, as well as access our data. They were already doing that, but with legacy protocols. They are now moving to a modern system.
This is something that is easy to do with IBM Integration Bus. Some of the challenges were in understanding the overall format of the data and understanding their need. Most of the time was spent in understanding and analysis rather than coding. The coding, itself, didn't take much time. For me, it was a learning curve in understanding the tool, analyzing the graphical interface, and even learning how to develop an application. We had many prior applications built and to use as examples.
My dream is that most applications should have a graphical way of expressing what you want to do and kind of get to know different parts of the workflow in the application.
What is most valuable?
My favorite feature is the XML-based DFDL mapping, which is a tool that allows you to graphically map legacy data formats to modern data formats. I like it because there is less programming involved. On the internet I do not see many users who are aware of this capability or its importance. Since I have a theoretical background in this area I was able to quickly understand its value. In the past, we had to do a lot of programming in Java, whereas now, it is just linking one node in one format to another node in another format. The linking is done in a very smart way, and behind the scenes, the solution knows what to do. For different types of inputs and outputs, the interface already knows how to do the translation or conversion. All you have to do is draw a line and make simple additions. It has reduced the programming from one hundred percent down to ten or twenty percent.
In this solution, you can design the workflow too, graphically. There are two graphical tools in this solution. One of them is for the format conversion and it is called mapping. The other one is actually developing the application itself. It is a good GUI that I really like.
What needs improvement?
This solution would benefit from improvements to the configuration interface. It is hard to understand, and one small change can have a huge impact. For example, if you say Yes instead of No in one of the configuration settings, or Transactional instead of Non-transactional, then the whole meaning changes and it is difficult to track down the problem. This is the reason that many of our projects are progressing slowly. We just don't know what is going to happen with different parameter settings. It makes it very difficult to be creative.
The only other difficult part is that IBM adds its own meta-data, in addition to the normal, generic XML data, into the tree. It's hard for us to understand how to navigate the tree and pick what we want or figure out where our own application data lies, because of the additional IBM specific data. We understand that they do things this way in order to reduce the programming, but it's more of a learning curve.
For how long have I used the solution?
I have been using this solution for two years.
What do I think about the stability of the solution?
This product is very stable.
What do I think about the scalability of the solution?
This solution is extremely scalable. It's a top product in terms of scalability. The mechanism and capability are there, although it is a difficult problem and only top-class experts with enough experience can do it.
We have four or five people who are development users of this solution. We also have a number of public users for the application.
How are customer service and technical support?
Technical support for this solution is extremely good. They are very supportive. Their answers are very quick, and they quickly understand what problem I am facing.
It would be nice if they visited the site so that they could see the project and what is happening. It would give them the opportunity to look at the structure visually, instead of me continuously sending ZIP files. That would be awesome.
Which solution did I use previously and why did I switch?
Prior to this solution, we used TIBCO. I was not involved in the integration bus, so I don't know the history before we moved to IBM.
How was the initial setup?
I was not part of the initial setup for this solution. One of the things that I have been doing is migrating from version 9 to version 10, and I have been struggling with it for the past several months.
The problems are due, in part, because there are a lot of things that we didn't know. There were mistakes in the migration because some of the things were not upward compatible. It had to do with a bug in the new version. We'd had to fix things, and we are still working on it. If the vendor would have proactively warned people about the bug then it would have been a great move.
I take care of the upgrades myself, but the maintenance is handled by three of us.
What about the implementation team?
I have been working on the migration myself, but I am using a support engineer to help us. He is working very hard, spending many weeks and months with me, guiding me when I experience a problem.
I did not implement all of the applications, but I took on the responsibility to migrate all of the previous ones. This is a challenge because I was not involved in developing them. I treated it more like a recompilation problem, but some of the functions are not working. The old libraries are no longer used, so I am learning all of the new things that have to be done.
Given that I thought the upgrade process would be automatic, I did not really have an upgrade or migration strategy. I thought that all of the projects would compile. When they did not, I looked back at the manual that the previous consultants had written.
What I found is that the project structure was a little bit tricky, and it took some time for me to understand it. Things were not done in a normal way, and it did not work when I set it up as such. This meant that I had to backtrack and follow the instructions in the manual.
Which other solutions did I evaluate?
Most of our products are IBM, which makes it easy to integrate them.
What other advice do I have?
This is a very large and complex product. It takes several people to understand every feature in it because nobody understands it completely.
I am an architect but I also develop. I really love this product and the graphical way of doing things, but there are limitations because you are not doing hundred percent programming. Instead of programming, you are solving some complex functionality needs by configuring, and you have to understand how to do it.
For anybody who is implementing this solution, it is important to say that even though I am senior, I'm a junior when it comes to this solution. I was only brought in to work on this two years ago. It requires many years of experience to be good at it. You can't just jump on and be skilled at using it. Even when the people from IBM came and worked on prior applications, they were having challenges. Of course, the nature of the problem that IBM Integration Bus solves is challenging. All of this said, I like the graphical interface and I don't mind working on projects that are long-term.
For most of the features, I would rate them ten out of ten. But when it comes to understanding transaction related settings (and other solutions provided via the configuration settings), and the fact that there are so many documents you have to read to find one small thing, I would rate that area a five or six out of ten.
Overall, I would rate this solution a seven out of ten.