One pattern that I’m seeing arise more often lately is cloud applications integrating with cloud applications. As such, programmers are skipping the use of an ESB all-together, with the reasoning being, “why should I enter the trusted network only to have my request go out again?” While this maybe a valid reason, I suggest that there are many more reasons to continue using an ESB including:
- logging/auditing;
- ability to handle service provider changes (data formats, endpoints, service providers);
- sharing of security ids/roles
- keeping service account usernames/passwords within the enterprise vs. on a cloud client application
I’m sure that the explosion of more cloud/mobile apps we’ll see more point-to-point architectures but am urging architects to consider using an ESB for integrating even if both clients/servers reside outside the DMZ.
Here’s another fascinating article about ESB-based design architecture for cloud integration