You are here

Data Virtualization and ESB (Enterprise Service Bus)

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:

  • Unified operational data services for applications and processes (e.g. insurance underwriting, bank loan approvals) - Data Virtualization combines customer, demographic, property, risk, telematics and unstructured data to provision applications, rules engines and workflows with pre-defined, canonical data services regardless of source and format changes.
  • Single view of customer data services for call center and customer service applications - Data Virtualization creates 360 view of customers from structured and unstructured sources leveraged depending on context of interactions in enterprise and mobile customer service applications.
  • Write-back to multiple sources - This is also supported by Data Virtualization. Quite often, while certain transactional updates are done directly between Enterprise Service Bus and application end-points, certain other write-backs may be more efficiently achieved through the Data Virtualization layer.
  • Operational Business Intelligence and Analytics delivery - Data Virtualization bridges analytical and operational information needs through the Enterprise Service Bus. It can collect real-time information to feed analytics tools and also deliver the output of advanced analytics to operational applications for front-line decision support.

Learn more about Data Virtualization and SOA Architectures with this whitepaper.

 

Other Data Management tools: