dvprimer-architecture

26
DATA VIRTUALIZATION DATA VIRTUALIZATION PRIMER PRIMER THE ARCHITECTURE THE ARCHITECTURE

Transcript of dvprimer-architecture

DATA VIRTUALIZATIONDATA VIRTUALIZATIONPRIMERPRIMERT H E A R C H I T E C T U R ET H E A R C H I T E C T U R E

T H E A R C H I T E C T U R ET H E A R C H I T E C T U R E

M A I N DATAM A I N DATAV I R T UA L I Z AT I O N C O M P O N E N T SV I R T UA L I Z AT I O N C O M P O N E N T S

The Server Design ToolsAdministration Tools

T H E S E RV E RT H E S E RV E RThe server is positioned between business applications/Consumersand one or more data sources. An enterprise ready, scalable,managable, runtime for the Query Engine that runs inside JBoss ASthat provides additional security, fault-tolerance, and administrativefeatures.

MOVE DOWN TO EXPLORE THE CONCEPT OR RIGHT FOR THE NEXT CONCEPT

S E RV E R C O M P O N E N T SS E RV E R C O M P O N E N T S

Virtual DatabaseAccess LayerQuery EngineConnector Architecture

V I R T UA L DATA B A S EV I R T UA L DATA B A S E

A virtual database (VDB) provides a unified view of data residing inmultiple physical repositories. A VDB is composed of various datamodels and configuration information that describes which datasources are to be integrated and how. In particular, sourcemodels are used to represent the structure and characteristics of thephysical data sources, and view models represent the structure andcharacteristics of the integrated data exposed to applications.

AC C E S S L AY E RAC C E S S L AY E R

The access layer is the interface through which applications submitqueries (relational, XML, XQuery and procedural) to the VDB viaJDBC, ODBC or Web services.

Q U E RY E N G I N EQ U E RY E N G I N E

The heart of DV is a high-performance query engine that processesrelational, XML, XQuery and procedural queries from federateddatasources. Features include support for homogeneous schemas,heterogeneous schemas, transactions, and user defined functions.

When applications submit queries to a VDB via the access layer, thequery engine produces an optimized query plan to provide efficientaccess to the required physical data sources as determined by theSQL criteria and the mappings between source and view models inthe VDB. This query plan dictates processing order to ensurephysical data sources are accessed in the most efficient manner.

C O N N E C TO R A R C H I T E C T U R EC O N N E C TO R A R C H I T E C T U R E

Translators and resource adapters are used to provide transparentconnectivity between the query engine and the physical datasources. DV includes a rich set of Translators and Resource Adaptorsthat enable access to a variety of sources, including most relationaldatabases, web services, text files and LDAP. A translator is used toconvert queries into source-specific commands, and a resourceadapter provides communication with the source.

Need data from a dif ferent source? A custom translators andresource adaptors can easily be developed.

D E S I G N TO O L SD E S I G N TO O L SVarious design tools are available to assist users in seeting up JBoss DataVirtualization for an integrated solution.

MOVE DOWN TO EXPLORE THE CONCEPT OR RIGHT FOR THE NEXT CONCEPT

DATA V I R T UA L I Z AT I O N D E S I G N E RDATA V I R T UA L I Z AT I O N D E S I G N E R

The designer is a visual tool that enables rapid, model-drivendefinition, integration, management and testing of data serviceswithout programming using the DV runtime framework. With thedesigner you can:

create a virtual database (or VDB) containing your models, views,procedures, dynamic XML documents which you deploy to DVserver and then access your data.resolve semantic dif ferencescreate virtual data structures at a physical or logical leveluse declarative interfaces to integrate, aggregate, and transformthe data on its way from source to a target format which iscompatible and optimized for consumption by your applicationsPreview your data

DATA V I R T UA L I Z AT I O N D E S I G N E RDATA V I R T UA L I Z AT I O N D E S I G N E R( C O N T I N U E D )( C O N T I N U E D )

Part of the JBoss Developer Studio Integration stack

DV W E B U IDV W E B U I

h t t p : / / w w w.o s s m e n t o r .c o m / 2 0 1 5 / 0 3 /d a t a - v i r t u a l i z a t i o n - w e b - u i - n o w - re l e a s e d . h t m l

Create Data Services through aWebUICreate Views and Modelsthrough the WebUI without therequirements of a local IDECurrently for more simple dataservicesCurrently Developer Preview

C O N N E C TO R D E V E L O P M E N TC O N N E C TO R D E V E L O P M E N T

The process of integrating data from an enterprise information system intoJBoss Data Virtualization requires one to two components:

a translator (mandatory) and

a resource adapter (optional), also known as a connector. Most of the time,this will be a Java EE Connector Architecture (JCA) Adapter.

A translator is used to:

translate JBoss Data Virtualization commands into commands understood bythe datasource for which the translator is being used,

execute those commands,

return batches of results from the datasource, translated into the formatsthat JBoss Data Virtualization is expecting.

h t t p s : / /a c c e s s . r e d h a t .c o m /d o c u m e n t a t i o n /e n -U S / R e d _ H a t _ J B o s s _ D a t a _ V i r t u a l i z a t i o n / 6 . 1 / h t m l / D e v e l o p m e n t _ G u i d e _ Vo l u m e _ 4 _ S e r v e r _ D e v e l o p m e n t / I n t r o d u c t i o n _ t o _ t h e _ J B o s s _ D a t a _ S e r vi c e s _ C o n n e c t o r _ A r c h i t e c t u r e . h t m l

C O N N E C TO R D E V E L O P M E N TC O N N E C TO R D E V E L O P M E N T( C O N T I N U E D )( C O N T I N U E D )

A resource adapter (or connector):

handles all communications with individual enterprise informationsystems, (which can include databases, data feeds, flat files and soforth),

can be a JCA Adapter or any other custom connection provider(the JCA specification ensures the writing, packaging andconfiguration are undertaken in a consistent manner),

removes concerns such as connection information, resourcepooling, and authentication for translators.

C U S TO M A DA P TO R S A N DC U S TO M A DA P TO R S A N DT R A N S L ATO R ST R A N S L ATO R S

Trans la tors - h t tps ://access . redhat .com/documentat ion/en-US/Red_Hat_JBoss_Data_Vi r tua l i zat ion/6 . 1/html/Deve lopment_Guide_Volume_4_Server_Deve lopment/chap-Trans la tor_Deve lopment .html#Custom_Trans la tors

Adaptors - h t tps ://access . redhat .com/documentat ion/en-US/Red_Hat_JBoss_Data_Vi r tua l i zat ion/6 . 1/html/Deve lopment_Guide_Volume_4_Server_Deve lopment/chap-Resource_Adapter_Deve lopment .html#Deve lop ing_JCA_Adapters

Extend ing Execut ion Factory C lass - h t tps ://access . redhat .com/documentat ion/en-US/Red_Hat_JBoss_Data_Vi r tua l i zat ion/6 . 1/html/Deve lopment_Guide_Volume_4_Server_Deve lopment/chap-Extend ing_the_Execut ion_Factory_Class .html

A D D I T I O N A L C U S TO M I Z AT I O N SA D D I T I O N A L C U S TO M I Z AT I O N S

JBoss Data Virtualization is highly extensible in other ways:

You can add user defined functions.

You can adapt logging to your requirements, which is especiallyuseful for custom audit or command logging.

A delegating translator can be used to add custom code to allmethods for a given translator.

You can also customize authentication and authorization modules.See the Red Hat JBoss Data Virtualization Security Guide.

T R A N S L ATO R ST R A N S L ATO R S

Apache Cassandra (TechnicalPreview Only)Apache SolrCloudera ImpalaJDBC TranslatorFile TranslatorGoogle Spreadsheet TranslatorJBoss Data Grid 6.3

LDAP TranslatorMongoDB TranslatorObject TranslatorOData TranslatorOLAP TranslatorSalesforce TranslatorWeb Services Translator

R E S O U R C E A DA P TO R SR E S O U R C E A DA P TO R S

With the exception of JDBC data sources, JBoss Data Virtualization provides aJCA adapter for each supported data source. These are the resource adapteridentifiers, as specified in the server configuration file:

File Adapter - file

Google Spreadsheet Adapter - google

Red Hat JBoss Data Grid (6.1 & 6.2) Adapter - infinispan

LDAP Adapter - ldap

Salesforce Adapter - salesforce

Web Services Adapter - webservice

Mongo DB Adapter (technical preview) - mongodb

A resource adapter for the JDBC translator is provided with JBoss EAP bydefault.

A D M I N I S T R AT I V E TO O L SA D M I N I S T R AT I V E TO O L S

AdminShell- AdminShell provides a script-based programming environment enablingusers to access, monitor and control JBoss Data Virtual ization.

Management Console - The Management Console provided by the Red Hat JBossEnterprise Application Platform (EAP) is a web-based tool al lowing system administratorsto monitor and configure services deployed within a running JBoss EAP instance,including JBoss Data Virtual ization.

Management CLI - The Management CLI (command-l ine interface) is provided by JBossEAP to manage services deployed within a JBoss EAP instance. Operations can beperformed in batch modes, al lowing multiple tasks to be run as a group.

JBoss Operations Network - Red Hat JBoss Operations Network provides a singleinterface to deploy, manage, and monitor an entire deployment of Red Hat JBossMiddleware applications and services, including JBoss Data Virtual ization.

Dashboard Builder - The Dashboard builder al lows connection to VDBs through the DVJDBC driver to visualize the data for testing and Business Analytics.

MOVE DOWN TO EXPLORE THE CONCEPT OR RIGHT FOR THE NEXT CONCEPT

T H E A D M I N S H E L LT H E A D M I N S H E L LAdminShell provides the following features:

Administration - AdminShell can be used to connect to a JBoss DataVirtualization instance in order to perform various administrative tasks.Data Access - AdminShell can be used to connect to a virtual database (VDB)and run SQL commands to query VDB data and view results.Migration - AdminShell can be used to develop scripts that will move VDBs andassociated components from one development environment to another. (Userscan test and automate migration scripts before executing them in productiondeployments.)Testing -The built-in JUnit Test Framework allows users to write regression teststo check system health and data integrity. The written tests validate systemfunctionality automatically, removing the need for manual verification by QAPersonnel.

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Virtualization/6.1/html/Administration_and_Configuration_Guide/sect-AdminShell .html

T H E M A N AG E M E N T C O N S O L ET H E M A N AG E M E N T C O N S O L E

The Configuration tab contains general and JBoss DataVirtualization specific configuration properties.Runtime tab shows runtime information about JBoss EAP serverand Teiid subsystem. You can view runtime information about Teiidby clicking Virtual Databases in the left hand navigational tree.You can configure roles and groups using the Administration tab .Roles for a user to be included in and excluded from can beconfigured in the Management Console. You can also configuregroups to be included or excluded from a role. Only users in theSuperUser or Administrator roles can perform this configuration.

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Virtualization/6.1/html/Administration_and_Configuration_Guide/sect-Management_Console.html

M A N AG E M E N T C L IM A N AG E M E N T C L I

The Management CLI features a help dialog with general andcontext-sensitive options.Easy to launch and connect with the EAP_HOME/bin/jboss-cli .sh --connect or jboss-cli .bat

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Virtualization/6.1/html/Administration_and_Configuration_Guide/sect-Management_CLI.html

J B O S S O P E R AT I O N S N E T W O R KJ B O S S O P E R AT I O N S N E T W O R K

JBoss Operations Network has additional agent plug-ins to manageother JBoss products. Although these are JBoss ON resource plug-ins, they are included in separate packages and require a separatesubscription to download them.

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Virtualization/6.1/html/Administration_and_Configuration_Guide/sect-JBoss_Operations_Network.html#Installing_JBoss_Agent_Plug-in_Packs

DA S H B OA R D B U I L D E RDA S H B OA R D B U I L D E R

Red Hat JBoss Dashboard Builder can be connected to an external database, be itusing JNDI of the container or connecting directly only using the JDBC driver toaccess the database. Connections to databases can be configured inworkspace Showcase on page Externa l Connect ions . After you have established theconnection to the database, you need to create a data provider that wil l col lect thedata from the database and al low you to visualize it as an indicator in the dashboardarea of a page.

Note that Red Hat JBoss Dashboard Builder makes use of its own local internaldatabase to store its local data. This database is read-only for Dashboard Builder,but is accessible from outside.

THANK YOU!THANK YOU!