I was reading the latest post to Joe McKendrick's Service-Oriented Architecture this morning, 'IBM exec: no SOA-virtualization convergence, yet.' It triggered something we've been kicking around here for some time - the idea of the virtual database.
Now, the IBM exec quoted in the blog was making the point that SOA and server virtualization - a la VMware - are not literally converging. Well, sure, but is that really the point? JavaScript and XML aren't literally converging, but together as AJAX they are powering a new breed of interactive Web Applications.
The point really is in the motivation, the trend. Joe's lead in sums it up pretty well:
"What's the common ground between SOA and virtualization? Both SOA and virtualization deal with abstraction of resources from across the network, and offer technology neutral interfaces removed from the original system." [His emphasis]
Exactly. And that's where we expect to see more and more attention being paid to database virtualization, aka EII. Should anyone care that credit history is in one database, and contact info is in another, and recent purchases are in yet a third? No. All they want is the complete customer profile. And if IT decides it wants to move from Oracle to MySQL, move the credit history table from SQL Server to Sybase, or run DB2 on VMware, who cares? The nice thing about data virtualization is that it makes the data widely available to users and frees up IT to make optimal use of hardware, network bandwidth, and personnel.
With database virtualization, you can still send queries from an application or reporting tool, but the EII server is responsible for examining and routing all the queries - even caching the result locally if it expects 100 other users to want the same data (e.g. yesterday's sales).
Just as nice, if users decide they want the data as a Web Service, all the EII server admin has to do it publish the virtual view - customer profile, yesterday's sales - as a Web Service. It takes about five minutes.
Todd Biske, whom Joe quotes in the entry, goes on to talk about how virtualization can be an effective tool for IT staff dealing with the complexity of SOA:
"If we don’t give the operational staff the tools they need to efficiently manage those resources, we’ll be in an even bigger mess."
We couldn't agree more, especially when it comes to data. And no better tool exists for managing the complexity of databases in an SOA world than the database virtualization capabilities of EII.