I used to work with Integration Bus. What is interesting is that the two products were made mainly by the same team, but OpenESB is lighter, you can run it on a simple GBM. It's lighter and has quite a few resources, no application server, and no database. This provides you with more intelligence because there is some kind of friction in the routing service, and you can play with that friction to provide some connection policy, like the last deployed policy. For example, if you were to install version one, and afterward, you deployed version two, automatically — if you decided that your connection will be the right deployed connection — you would be routed to the last version. If it doesn't work, you would just need to redeploy version one. Also, there are higher-level concepts, such as the interface of services, which allows you to define your interface and choose the method of implementation, like Java for example. On the other hand, with OpenESB, I am more connected. At the monitoring level, you can trust the level and replay the process, which is interesting, but because you have to store everything on the database, you have a conventional system that makes your system require more resources. The push ability to extract data from the process and then publish it in the data container is very interesting. For example, by using a database like Google's big data analytic search, you can create your own analytics from the data in your process without disturbing the process.