What is our primary use case?
The primary use case of this solution is as a corporate integration bus, between different financial applications. We use IBM Integration Bus (IIB) with IBM MQ for asynchronous interaction. Additionally, web services for synchronized integration such as REST APIs, SOAP and HTTP Interfaces with XML interaction. For instance, it uses for the integration of the Banking front end with the banking core application. IBM Integration Bus installed on-premise.
How has it helped my organization?
Before, we used to use client-server applications with strong interaction. Using the integration bus we quickly broke through the border between client-server and service-oriented architecture. Additionally, we were able to quickly link many other financial services with core bank system or exposed some API for financial services.
What is most valuable?
This solution is very reliable and it is easy to learn.
There are many connectors to different sources and it's easy to scale.
Also, it is easy to parametrize the integration of bus applications during building or deployment. For instance, set up names of the queues, set up binded services URL, set up or change user-defined parameters.
What needs improvement?
I like the IBM Integration Bus and I hope that it will change in micro-service architecture. My understanding is that it will change to be less connected, and less depends on the operating system or the hardware resources.
I would like to be able to run and install this solution on different platforms and using containers and using modern micro-service and cloud environments.
For how long have I used the solution?
I have been using this solution for five years.
What do I think about the stability of the solution?
This solution is quite stable. We use this solution every day.
There are many financial services to be integrated with different APIs, so it was easy to develop it with Integration Bus.
What do I think about the scalability of the solution?
This solution is scalable. As an example, If you are using web services and you want to upscale several connections, we do it by changing one parameter in the application: "Number of additional instances".
Also, it is easier to scale a synchronized interaction with MQ to change one parameter to indicate how many instances you want to execute simultaneously. On the other hand, you can deploy the same application on different integration servers.
How are customer service and technical support?
We have not used the technical support. We found all of the information that we needed with the IBM documentation.
Which solution did I use previously and why did I switch?
We used to use client-service applications with strong integration between application. The company implemented many other applications with different interfaces and aimed to link with external services. So that we started using Integration bus for integration legacy application with new applications.
How was the initial setup?
The initial setup was easy. For Windows, you will run the installation file and you have an environment that is ready to develop an integrated solution.
If you want additional resources such an MQ, or databases, you will have to read the manual to understand how to connect them.
The building and deployment are quick and easy. It only takes a few minutes to deploy, depending on the size of your application, but it's fast.
There are two methods of deployment. You can use the manual deployment method using the drag and drop. On the other hand, you can use command-line interface for building and deployment applications. The application represented as one or some number of .bar file. It's something similar to .ear but other structure inside.
You only really need one person to deploy this solution, but we shared build and responsibility using GitLab tool-chain and Nexus Repository. The first factor is for development and building and the other one is for deployment. We use the same process for different environments. All necessary parametrization inside the application are stored as a file and substituted depend on the deployment environment during the building process.
What about the implementation team?
The implementation was done with our team. Additionally, we used the standard development process for teamwork.
Which other solutions did I evaluate?
We have gone through different comparative solutions and other integrated systems, and IBM Integration Bus is better for enterprise.
What other advice do I have?
My advice for anybody who is implementing this solution is to start with reading the documentation. Have a good understanding of how to integrate Integration Bus with different resources, and to have experience with a synchronized interaction with IBM MQ or Apache Kafka. But IBM MQ is preferable.
Also, it is better to have an understanding of the HTTP Interaction and REST API interaction.
I also suggest people participate in IBM online learning. There are two courses that go over features that are related to integration development. They are very helpful. They also teach how to develop an integration solution, so it is an interesting program.
Additionally, explore the IBM blog about Integration Bus and App-Connect. You can find there a lot of integration patterns.
Other Integration solutions require an application server, but with IBM Integration Bus, it doesn't require a special application server.
I would rate this solution a nine out of ten.