PHP and ESB (with Mule) (ESB: Enterprise Service Bus)

Raffael picture Raffael · May 12, 2011 · Viewed 8.5k times · Source

Where, when and why did you use ESB in a PHP-project?

Where, when and why do you think that it would make sense to use ESB in a PHP-project?

Does ESB (and ESB-facilitators like Mule) do provide any capability PHP and native LAMP-technologies are lacking?

Edit

My motivation for this question is stemming from my assumption that you actually never really need Mule. Mule will facilitate communication with external services which you could handle without mule. At the end of the day also Mule will create costs and overhead. So my question is steering at having somebody tell me about scenarios where you really benefit of ESB and tools like Mule or to second my guess with solid knowledge.

Edit 2

regarding Houcem's reply to my comment to his post ... what would be a native LAMP-answer to ESB/Mule?

Edit 3

Seems like Tuxedo might be a more PHP-native alternative to Mule/ESB. Somebody got experience using this tool?

Answer

snowflake picture snowflake · May 19, 2011

The ESB (Enterprise Service Bus) is a kind of backbone for the integration of the several heterogeneous applications of the enterprise, that may originate from different vendors, technologies, and even be redundant.

The fact it seems more linked to Java world than PHP or any other language is that usually big companies information systems are made of :

  • Mix of opensource development and software editors tools (including ERPs). Development are often made using Java EE in order to rely on Java EE stacks (and its vendors IBM, Oracle, ...)
  • Full Microsoft (no need of ESB, Microsoft provide EAI/ESB like tools)

PHP is most used for web application (even for big companies, but web oriented).

An ESB is a big cost, and is only usefull/needed when the number of interconnected application is raising. When you have only few connections (between Java, PHP or whatever), you can handle it at a network level, using DNS, and at application level using configuration keys and performing protocol exchanges and small business integration for each point to point connection.

A potential use case for a PHP application would be an internet site of a travel agency quering multiple flight/train/hotels companies. And even in a such case, it won't be mad to develop a full cross quering system since it is the core of the business for such a site/company.