JBoss Data Virtualization

JBoss Data Virtualization is a technology that allows applications to use data from multiple heterogeneous data sources. JBoss Data Virtualization comprises tools and runtime services for creating and executing bi-directional data services.

Overview

Applications and data are the yin and yang of information technology. IT’s business value flows from the combination of the two. In today’s data-run world, what is required is a platform that will deliver any combination of data to any application at any time, in any form needed. Red Hat JBoss Data Virtualization enables agile data utilization in 3 easy steps:

  1. Connect: Access data from multiple, heterogeneous data sources.

  2. Compose: Easily create reusable, business friendly virtual data models and views by combining and transforming data.

  3. Consume Make unified data easily consumable through open standards interfaces.

With OpenShift you can easily deploy and run JBoss Data Virtualization to connect your applications to data from many different sources with the advantage that to your applications, these all appear as a single source of data - a virtual database. JBoss Data Virtualization on OpenShift is available as a Developer Preview to allow you to explore the capabilities of the technology running on OpenShift. This preview is based on the JBoss Data Virtualization 6.0 supported release but as a preview it does not come with guaranteed support. It can and likely will change as we make updates based on your use and feedback. Think of it in traditional product terms as an Alpha release. There will be fixes and updates frequently over the short term followed by a Beta release and then a supported release.

We are making this technology available under the terms and conditions of our JBoss Developer Program. By loading the cartridge you accept these terms which generally state that you can use this cartridge for development purposes and not for production or to access updates without an active Red Hat subscription.

Lean, Real-time Data Integration

Red Hat JBoss Data Virtualization is a lean data integration service offering comprehensive data abstraction, federation, transformation, and delivery capabilities. This allows you to combine data from one or more source systems into unified logical data models accessible thru standard SQL (JDBC, ODBC, Hibernate) and/or webservices (REST, OData, SOAP) interfaces for easy data consumption and sharing. It allows data access and integration in real-time across distributed data sources without copying or otherwise moving data from its source systems.

JBoss Data Virtualization hides the technical complexity of knowing physical data location, storage structure, API, access language, and storage technology from data consumers to accelerate data utilization and usage.

Model Driven Development

JBoss Data Virtualization’s Eclipse-based graphical tool lets you map and transform data from sources to target formats, as well as resolve semantic differences, create virtual data structures at a physical or logical level, and use declarative interfaces that are compatible with and optimized for your applications.

Universal Connectivity with Big Data and Cloud

Connect with any SQL (JDBC/ODBC) and Web Services (REST/SOAP) based data sources including support for Hadoop, NoSQL, and SaaS data integration along with all major enterprise RDBMS, Data Warehouses and files (XML, CSV, Excel) and strong extensibility support for custom connectors.

Dynamic Data Provisioning

Provision unified data for easy consumption through standard SQL (JDBC & ODBC) and/or Web Services (REST & SOAP) interfaces. Enable loose coupling and isolation between data sources and data consumers to easily adapt to change.

Simplify the Lifecycle

Getting JBoss Data Virtualization deployed onto OpenShift is as easy as clicking "Deploy Now" or executing the following command:

$ rhc create-app -g medium mydvapp dv

Support

You can provide feedback, requests or contributions for the JBoss Data Virtualization cartridge on jboss.org at: https://community.jboss.org/en/datavirt

Documentation on JBoss Data Virtualization is available at: https://access.redhat.com/site/documentation/en-US/Red_Hat_JBoss_Data_Virtualization/

Get Started with JBoss Data Virtualization

This guide will show you how to install the JBoss Data Virtualization cartridge on OpenShift and connect to it from Teiid Designer / JBoss Developer Studio.

Prerequisite

Before starting the Data Virtualization (DV) cartridge you will need to install the Data Virtualization tooling into JBoss Developer Studio or your version of Eclipse.

Installation Option 1: Using the QuickStart / OpenShift web console

There are two ways to install the Fuse cartridge on OpenShift and you can choose the option that best suits your workflow: Installation Option 1: Using the QuickStart / OpenShift web console In your OpenShift account go to either the QuickStart page and click the "Deploy Now" button or the OpenShift console by clicking "My Apps" in the upper right corner of your browser.

Logging in to OpenShift

If you use the OpenShift console click the "Add Application" button below your list of applications or the "Create your first application now" link. You can either search for "Data Virtualization" or you can scroll down to the list of quick links and click "JBoss Data Virtualization" under "Integration". This will bring you to the "Configure Application" step.

If you use the QuickStart, click the "Deploy Now" button. This will bring you directly to the "Configure Application" step.

To configure the application you will need to configure your application’s public URL. Choose a name for this application (e.g. "Data Virtuaulization", "DV" or whatever you like.) You don’t need to enter anything in the Source Code field. If you have access to multiple gear sizes select the size you want to use. We recommend a medium gear if you have access to one. The DV cartridge will run perfectly well in a small gear but you may find it to be a bit slow.

Make your Scaling selection - "No scaling" will work just fine - and then hit "Create Application" and OpenShift will build the application for you. When that is complete you will see the "Next Steps" page and you can decide whether you want to change the code of the application. For now select "Not now". The next page will have some important information for you so don’t go speeding past it.

Installation Option 2: Using the command line tools (rhc)

You can deploy the DataVirtualization cartridge via command line. Using the rhc command line type:

$ rhc create-app [myapp] dv

When the installation completes, you will be presented with a list of generated users and passwords similar to the screencap below. Make sure you save them!

OpenShift Data Virtualization Success
  • The Teiid user generated with installation is granted user, odata and rest roles. The Teiid documentation has more information.

  • Two Modeshape users are generated with installation. The Modeshape documentation has more information. To access Modeshape in your DV instance:

    • http://[MYAPP]-[MYDOMAIN].rhcloud.com/modeshape-webdav

    • http://[MYAPP]-[MYDOMAIN].rhcloud.com/modeshape-rest

  • A dashboard admin is generated with the installation. (The teiid 'user' is allowed dashboard read-only user access). Consult the Dashboard Documentation for more information. To access the dashboard builder:

    • http://[MYAPP]-[MYDOMAIN].rhcloud.com/dashboard

Clicking that link will bring you to the Applications view in OpenShift where you will see your new Data Virtualization application listed. Click on the application and you will see the URL for the running application and details about the cartridge. Click on the URL and that will take you to the welcome page for the Data Virtualization cartridge. The welcome page contains general information about the cartridge and some helpful getting started links.

Default Data Virt Welcome Page

Add a server in JBoss Developer Studio

Next, we will add the server in JBoss Developer Studio (JBDS) that will allow us to connect to the OpenShift instance. This currently requires that you have a DataVirtualization 6.0 instance installed on your local system, so you will need to install that first. Then, start your Dev Studio instance. To add the server:

Step 1

Go to the Servers View in JBDS. Click on the link to create a new Server

JBDS Step 1

Step 2

The first page of the wizard is show below. Select JBoss EAP 6.1+ for the server type. Leave the host name as localhost, and enter DV600GA-OpenShift for the server name. Click Next.

JBDS Step 2

Step 3

The second page of the wizard is show below. For Home Directory, choose your local DV600 installation directory. Click Next.

JBDS Step 3

Step 4

The third page of the wizard is shown below. In the Server Behavior section, check the "Server is externally managed…​" checkbox. Click Finish.

JBDS Step 4

Step 5

You now have a server definition for your OpenShift instance:

JBDS Step 5

Port Forward the OpenShift Data Virtualization Instance

In order to connect to the remote OpenShift instance, you must first 'port forward' the remote ports to your local system.

Step 1

In JBDS, open the OpenShift Explorer view and add a connection to your OpenShift account. To open the OpenShift Explorer view, go to menu Window > Show View > Other…​ . In the Show View dialog, select JBoss Tools > OpenShift Explorer to open the view - shown below:

JBDS PF Step 1

Step 2

To port forward, select the application then Right-Click > Port Forwarding…​ . You will see the following dialog:

JBDS PF Step 2

Step 3

On the Application Port Forward dialog, click the Start All button. Then click OK to dismiss the dialog. The console view will show that the ports have started:

JBDS PF Step 3

Connect to the OpenShift Data Virtualization instance

Now you are ready to connect to the Data Virtualization instance on OpenShift. Go back to the Server View in JBoss Developer Studio. Click on the Server and then Start. Notice the 'server starting' messages - in a short time the Server’s Teiid Instance Configuration will be fully populated.

JBDS Teiid Instance Configuration

JBoss Data Virtualization FAQ

  1. What is the best thing about data virtualization?

    Data virtualization is a technology that allows applications to use data from multiple heterogeneous data sources. JBoss Data Virtualization comprises tools and runtime services for creating and executing bi-directional data services. IT’s business value flows from the combination of applications and data. The best thing about JBoss Data Virutalization is that it can deliver any combination of data to any application at any time, in any form needed.

  2. How do I load the cartridge on OpenShift?

    Just like any downloadable cartridge on OpenShift there are two ways to install the JBoss Data Virtualization Alpha cartridge. You can either use the OpenShift console or the command line. For step-by-step instructions see our Getting Started section.

  3. Where do I go for support?

    The best places to go for support are the Help Center or the JBoss Data Virtualization community boards. We would love to have your input so go where you’re most comfortable and we will see it.

  4. What does it mean that this is an "Alpha" cartridge?

    JBoss Data Virtualization on OpenShift is based on JBoss Data Virtualization 6.0 and like any pre-release software its constantly undergoing testing and improvements on its way to general availability. There are also unique requirements to running Data Virtuaization on a cloud platform like OpenShift and some of those are in development. So we felt the term "Alpha" was an industry wide term that conveyed the right sense of where this technology is - its targeted at production use cases but not production supported at this time.

  5. What is the cartridge lifecycle?

    JBoss Middleware cartridges will advance through several stages on OpenShift. Many will begin life as cartridges based on their community projects (like WildFly). Others will start out based on pre-release versions of our supported projects as part of the JBoss Developer Program which provides developer access to pre-release products under the JBoss Developer Program Terms and Conditions.

    Community cartridges will reflect their community projects and will change with as their communities update them. If you wish to use the updates, you will have to re-install the cartridge.

    Alpha cartridges are pre-release versions of supported products. They are released under the JBoss Developer Program Terms and Conditions and are intended only for development use and not for production use or to access updates to products without a Red Hat subscription.