Data Access and Integration Middleware

An in-built component of Virtuoso, that provides powerful data access and integration middleware services that bolster individual and enterprise agility via virtualization of heterogeneous data sources and services.

Relational Data Virtualization

Functionality that enables you to establish single ODBC, JDBC, ADO.NET, OLE DB, or XMLA connections to a variety of ODBC or JDBC accessible RDBMS engines, concurrently, delivering the ability to perform distributed joins across externally hosted database tables. Courtesy of its location aware cost-optimizer, Virtuoso will perform aggregates and joins remotely when when query fulfillment requirements, required functionality, and target data share locality. Thus, as part of aggregate query handling, it won't copy data across the wire for local processing when the remote data source is capable of handling SQL aggregates. The same intelligence applies to distributed joins if target tables reside in the same external database.

This form of virtualization also enables compatibility between new ODBC, JDBC, ADO.NET, OLE DB compliant applications an older RDBMS engines. For instance, you could make use of Visual Studio, ADO.NET's Entity Frameworks, SQL Server SSIS, and similar tools against what you may have assumed to be legacy databases such as: Progress 6.3 - 9.x, Informix 5.x to 7.x, Ingres 6.4 to 2.x, Sybase 4.2 to 10.x, and many others. Naturally, the same applies to later versions of the aforementioned databases where their native drivers lack the functionality required of sophisticated client applications.

All you have to do to exploit this functionality is simply start the HTML based Admin UI known as the "Virtuoso Conductor" and then simply attach remote RDBMS data sources of interest into your Virtuoso instance. Once completed, Virtuoso's virtual database layer becomes the focal point of all subsequent data access activity via your data access standard of choice.

XML Data Virtualization

In addition to the functionality above, it is possible to create persistent or transient XML based resource types from the virtual SQL data access layer. Once the XML resources have been generated you can interact with them directly via HTTP/WebDAV or Virtuoso Stored Procedures, with query capabilities delivered via XQuery, XPath, or SQLX.

RDF Data Virtualization

Via an HTML based Wizard interfaces or a powerful in-built Meta Schema Language, you can generate RDF Model based Linked Data Views atop data hosted in a myriad of data sources that include: ODBC or JDBC accessible Relational Tables/Views, Web Services, and various Document oriented Resource Types. These powerful views enable you to query, browse, and explore entity relationship graphs via HTTP (directly or via the SPARQL Query Language and Protocol).

Integration of this middleware functionality into Virtuoso's SPARQL Query Processor and Content Crawler enables you to generate RDF model based Linked Data "on the fly", by placing the URL of an HTTP accessible Resource into the FROM CLAUSE of a SPARQL query.

SOAP based SOA Services Virtualization

You can attach external SOAP based Web Services into via Virtuoso via their WSDL files. Once processed, Virtuoso can act as a SOAP service proxy that adds missing functionality to third party services such as WS-Security support.

REST oriented Virtual Hypermedia Resources

Via an feature known as Dynamic Resource Type Extensions, you can generate resources with hypermedia oriented content from any data virtualized using Virtuoso. For instance you could expose virtual Atom, RSS, OPML, XBEL resource types that manifest as a result of internal executions of queries across a myriads disparate data source types attached to Virtuoso.

HTTP accessible Virtual Resources

The functionality above also applies to generating resources that are containers of hypermedia content such as iCal, vCard, and other resource types.