Recs.
Updated
Integrate systems with one another via a central, shared ESB. This allows systems to remain decoupled from one another, common integration logic (e.g. routing, monitoring, exception handling) to be written once and shared between all scenarios, and helps to map (and thus in the documentation of) your inter-system dependencies.
Specs
Pros
Pro Reuse of Services
If your integrations involve more complexity than simply passing messages between systems (e.g. you want the ability to gain insights on inter-system traffic, you need to add security or validation into the workflow, or you need to translate between incompatible technologies) having a central solution capable of such abilities will avoid having to write new mini-systems for each scenario.
Cons
Con Additional Layer of Abstraction / Complexity
By placing an ESB between two systems you have a third system (the ESB itself) to manage. This includes provisioning resources, monitoring availability & performance, and another team (or at least consideration) in the mix when discussing integration between the two systems.