Data Virtualization and ESB (Enterprise Service Bus) enable abstraction, service-orientation, and reuse of underlying resources. But they also have key differences in focus and methodology that actually make them a complementary fit. Data Virtualization is commonly used to provision "data services" that are consumed either directly by applications or by business processes orchestrated by the Enterprise Service Bus or a BPM tool. And it is also possible for data virtualization to listen to events and be orchestrated by the Enterprise Service Bus to deliver information. Thus, Data Virtualization, Enterprise Service Bus and SOA security and management tools form the overall fabric of a flexible SOA infrastructure. It is important to note here that Data Virtualization supports both read and write and delivers not only SOA data services, but also data services for REST, Mobile, Cloud and Portal applications.
There is a common misperception that Enterprise Service Buses can perform Data Virtualization. This is simply not true and understanding their differences will reveal why. Data Virtualization focuses on data for both analytical and operation use, while ESBs focus on service-enabling business logic, applications and processes for transactional use. Data Virtualization understands the unique capabilities and constraints of disparate source data systems and formats and uses a layered query-optimization approach to get the best results. Enterprise Service Buses use messaging and content-based routing to propagate data and transactions between end-points that are service-enabled black-boxes assumed to handle real-time transaction volumes. Furthermore, Enterprise Service Bus programming and maintenance is much more costly and easily broken when end-points don't conform to transaction patterns, whereas model-driven data integration using Data Virtualization is far quicker, more forgiving and easier to maintain. Thus attempting to use Enterprise Service Bus for data services will reduce performance, increase initial and maintenance costs, reduce the breadth of accessible data sources, and agility to bring in new data. But, used together with Data Virtualization, an Enterprise Service Bus supports several use cases for business process agility:
Learn more about Data Virtualization and SOA Architectures with this whitepaper.