Hohpe and Woolf identify four basic integration styles. I am considering the enterprise as a whole and asking “what is the right mix?” In other words, in an ideal world, how much of the data should move by file feeds, how much through shared databases, how much through RPC and how much through messaging?
What leads me here? There are dozens of applications in the area that I work in. I’d say that if you measure the EAI mechanism by virtue of the amount of data moved, file feeds win. On the other hand, I don’t consider that to be a good measurement, because most of that data is domain data, which really should move through file feeds. So, if I measure the connections between “logical” systems as “channels” and I literally classify and count the channels, I’d estimate that 80% of the connections are flat-file feeds, 10% are RPC (including web services), 5% are shared database, and 5% are messaging.
So what are the correct numbers? Flat file feeds are not cheap, but neither are web services. You have to have good subscription management with everything except shared database (where subscription management is often not done). You have to have good monitoring with all four. Cost these out. I find their costs to be quite similar, and that these aspects account for the majority of the cost of maintaining an EAI infrastructure.
So it isn’t really a matter of pure day-to-day operational cost. I don’t think I can use opereational cost to justify moving from one EAI style to another. The strengths and weaknesses of each style are in other areas. Things like operational efficiency, network load, data velocity, brittleness, and adaptability.
So do we say that large data sets of data that change no more frequently than daily should ALWAYS be in a shared database or a flat file feed? Do we exclude this kind of shared data from web service or Messaging infrastructures? If so, why? If not, why not? I can make an argument for and against, but I don’t have numbers to back me up.
I’m so tempted to say that this is the point where “art” replaces “science.” However, I have promised myself, and my customers, to resist flippant answers like that and keep working on the “magic formula” that will help determine how we can measure our EAI maturity. The goal: know what “good” looks like.