Just catching up to this post from a few weeks ago. I used to work for an ESB vendor, sitting next to some of the lead architects and developers for chunks of their app. The story sounds ideal, but the abstractions are never ideal in practice. Read into the comments for more conversation.