Skip to content

Commit

Permalink
TEIIDDES-1536 added manage vdbs section and added VDB details in intro.
Browse files Browse the repository at this point in the history
  • Loading branch information
blafond committed Nov 14, 2012
1 parent 38c4c1f commit 891f031
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 16 deletions.
101 changes: 85 additions & 16 deletions documentation/guides/Teiid_Designer_User_Guide/en-US/intro.xml
Original file line number Diff line number Diff line change
Expand Up @@ -616,24 +616,93 @@
</itemizedlist>
</section>

<section id="models-and-vdbs">
<title>Models and VDBs</title>
<section id="the-virtual-database">
<title>The Virtual Database</title>

<para>Models used for data integration are packaged into a <emphasis role="bold">Virtual
Database (VDB)</emphasis>. The models must be in a complete and consistent state
when used for data integration. That is, the VDB must contain all the
models and all resources they depend upon. VDB's are the transport mechanism to expose
both the metadata to query against on a server and the corresponding references to the data sources
and connections required to perform the actual DB queries. (See the
<xref linkend="vdb-editor-section" /> section)</para>
<para>The critical artifact that <emphasis role="bold">Teiid Designer</emphasis> is intended to manage is the
<emphasis role="bold">VDB</emphasis>, or <emphasis role="bold">Virtual DataBase</emphasis>. Through the
Teiid server, VDB's behave like standard JDBC database schema which can be connected to, queried and
updated based on how the VDB is configured. Since VDB's are just databases once they are deployed, they
can be used as sources to other view model transformations. This allows creating and deploying re-usable
or common VDB's in multiple layers depending on your business needs. </para>

<para><emphasis role="bold">Models and Connection Profiles</emphasis></para>


<para>A <emphasis role="bold">connection profile</emphasis> provides the connectivity to a data source and is
defined by the Eclipse <emphasis role="bold">Data Tools Project (DTP)</emphasis> framework. Designer utilizes this framework from within
it's JDBC Importer.
</para>
<section id="vdb-content-and-structure">
<title>VDB Content and Structure</title>
In Designer, the VDB file names use a "<emphasis role="bold">.vdb</emphasis>" file extension.
VDBs are structurally just ZIP archive files containing 3 folders:
<itemizedlist>
<listitem>
<para> META-INF</para>
<itemizedlist>
<listitem>
<para> contains "vdb.xml" definition file</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para> runtime-inf</para>
<itemizedlist>
<listitem>
<para> contains a binary INDEX file for each model included in your VDB</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para> &lt;project folder name&gt;</para>
<itemizedlist>
<listitem>
<para> contains of the models you will be adding in the VDB Editor (i.e. *.xmi and *.xsd files)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para>When deployed, the metadata is consumed by Teiid in order to create the necessary runtime
metadata for your model definitions. </para>
<para>The vdb.xml file contains:</para>
<itemizedlist>
<listitem>
<para> VDB name, version, properties</para>
</listitem>
<listitem>
<para> contained model information (name, translator name, connection info)</para>
</listitem>
<listitem>
<para> translator info</para>
</listitem>
<listitem>
<para> data role definitions for the referenced models</para>
</listitem>
<listitem>
<para> import VDB references</para>
</listitem>
</itemizedlist>
<para>The vdb.xml file example below highlights the basic model information. Note the VIRTUAL and
PHYSICAL &lt;model&gt; elements containing property references to the INDEX files as well as the
&lt;source&gt; element info for the PHYSICAL (aka source) model EU_CustomerAccounts.xmi.</para>
<synopsis>
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;vdb version="1" name="Financials"&gt;
&lt;model visible="true" type="VIRTUAL" name="US_CustomerAccounts" path="/Financials/US_CustomerAccounts.xmi"&gt;
&lt;property value="4097408696" name="checksum"/&gt;
&lt;property value="Relational" name="modelClass"/&gt;
&lt;property value="false" name="builtIn"/&gt;
&lt;property value="1592679058.INDEX" name="indexName"/&gt;
&lt;property value="/Financials/US_CustomerAccounts.xmi" name="imports"/&gt;
&lt;/model&gt;
&lt;model visible="true" type="PHYSICAL" name="EU_CustomerAccounts" path="/Financials/EU_CustomerAccounts.xmi"&gt;
&lt;property value="525566235" name="checksum"/&gt;
&lt;property value="Relational" name="modelClass"/&gt;
&lt;property value="false" name="builtIn"/&gt;
&lt;property value="1119071590.INDEX" name="indexName"/&gt;
&lt;source translator-name="postgresql" connection-jndi-name="EU_CustomerAccounts" name="EU_CustomerAccounts"/&gt;
&lt;/model&gt;
&lt;/vdb&gt;
</synopsis>
<para>Fortunately, Teiid Designer simplifies the management of your VDBs by providing a dedicated
VDB Editor which maintains a consistent, valid vdb.xml file for you and assists in
synchronizing your workspace models with any related models in your VDB.
(See the <xref linkend="vdb-editor-section" /> section)</para>
</section>
</section>

<section id="model-validation">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>

<chapter id="managing-vdbs-chapter">
<title>Managing VDBs</title>

<para>As stated in the introduction, the critical artifact for Teiid Designer the VDB, or Virtual DataBase. This
section describes the details of how to create, edit, deploy and test your VDBs.
</para>

<!-- ####### VDB CONTENT and STRUCTURE ######################################### -->

<section id="create-vdb">
<title>Creating a VDB</title>
<para>To create an empty VDB launch Eclipse's <emphasis role="bold">New</emphasis> wizard, open the
<emphasis role="bold">Teiid Designer</emphasis> category folder and select
<emphasis role="bold">Teiid VDB</emphasis>. You can also select one or more models in a model project,
right-click and select <emphasis role="bold">New > Teiid VDB</emphasis> action.>
</para>
<para>Launching this wizard will open the New VDB dialog. If you launched with one or more models selected
the dialog will contain the pre-selected models for inclusion in the new VDB.
</para>
<figure>
<title>New VDB Dialog</title>
<mediaobject>
<imageobject>
<imagedata fileref="images/screencaps/new-vdb-wizard.png"/>
</imageobject>
</mediaobject>
</figure>
<para>Note that a VDB is scoped to be aware of models and files within the same model project as the VDB. You
will not be allowed to add models to a VDB that exist in a different project.
</para>
</section>

<section id="edit-vdb">
<title>Editing a VDB</title>
<para>To Edit an existing VDB, select the VDB in the explorer and right-click select Open action or simply
double-click the VDB. The VDB will be opened in a VDB Editor. (See the <xref linkend="vdb-editor-section" /> section)
</para>
</section>

<section id="test-vdb">
<title>Test a VDB</title>
<para>xxxxxxxxxxxxxxxx
</para>
</section>

<section id="reuse-vdbs">
<title>Reusing VDBs</title>
<para>xxxxxxxxxxxxxxxx
</para>
</section>

</chapter>
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
<xi:include href="editingmodelobjects.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="metadataspecificmodeling.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="editmodelsandprojects.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="managing-vdbs.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="testmodels.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="searching.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="supported_data_sources.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Expand Down

0 comments on commit 891f031

Please sign in to comment.