Teiid Installation

The Teiid project provides two ways to deploy the Teiid runtime.

 

  1. Teiid Embedded. In this deployment mode, Teiid runtime can be started in a host JVM process like JBoss AS or any user application's JVM and can be accessed using an embedded JDBC connection. This mode is useful for system integrators to integrate Teiid with their applications and also very useful for quick prototyping and unit testing!

  2. Teiid Server. A Teiid Server process  started in a stand alone JVM and process is shared with multiple clients in traditional client-server fashion, much like a RDBMS. The clients need to use JDBC connections over sockets to connect to Teiid Server.

 

Installation

Teiid has a single distribution file called "teiid-{version}-dist.zip" that supports both "Server" and "Embedded" modes. Installation is the same for both modes, only the invocation method used by the user to connect a client application to Teiid runtime is different.

 

Download the latest Teiid distribution here. Unzip the file at a location of your choice on your machine's file system and you are done with installation. Teiid comes bundled with default configuration settings, such that you are not required to do any further configuration before you start using Teiid. However, you can further customize configuration to suit  your environment.

 

Directory Structure:

After the distribution file is unzipped the following file directory structure is created underneath the installed directory

 

/Teiid-version
    /bin
    /client
    /deploy
    /examples
    /extensions
    /lib
    /license
    /log
    /work
    deploy.properties

 

deploy.properties : Master configuration file for Teiid system. This file contains its own documentation, so refer to the file for all the available properties to configure. Configuration around membership, authorizations and SSL have further documentation.

 

bin: This directory contains scripts to manage Teiid Server runtime

run.sh/run.bat - Starts the Teiid in Server Mode
shutdown.sh/shutdown.bat - Shuts down the running Teiid Server
keystore.sh/keystore.bat - utility script for encrypting passwords. See this for more information.

 

client: This directory contains libraries for client applications to connect to Teiid runtime. Namely the JDBC Driver, the Hibernate Dialect.

teiid-{version}-client.jar - Teiid JDBC driver jar file
teiid-hibernate-dialect-{version}.jar - Teiid Dialect for Hibernate

 

deploy: This directory contains all artifacts that are currently deployed in Teiid.

Admin.vdb - a VDB file used for making administrative connections
configuration.xml - legacy-based system configuration (DO NOT EDIT)
log4j.properties - Log4J logging configuration file
membership-xxxx.properties - property file that define the membership domain. See this for more information.
admin-roles.properties - property file that defines the administrative roles for the users of the system.

 

examples: This directory contains some examples to get you started using Teiid

 

extensions: This directory contains jar files that are used by the Connectors in Teiid. None of the files in this directory are automatically loaded when the Teiid's VM starts.  These jar files are loaded selectively into a separate classloader, and they are only visible to the Connector's initialization code.

 

For example, if you are using Oracle as one of the sources in your VDB, then you have to supply "classes_12g.jar" or whatever the current Oracle JDBC driver jar file is in this directory, and then specify the jar file in the Connector's classpath (in ConfigurationInfo.def) to be picked by the system during the initialization of the Connector. See deploying the VDB for more information.

 

lib: This directory contains all the library files required to run Teiid runtime. All the jar files in this directory will be loaded at Teiid initialization and will be available to all modules. It is not recommended that users place their application-specific jar files in this directory, as they may conflict with Teiid provided libraries and may cause unforeseen issues.

 

license:  License files for open source libraries used.

 

log: Teiid log files will be generated in this directory


work: Teiid's workspace,  used as temporary storage for various purposes by Teiid.  This can be safely deleted when Teiid is not running.

 


Starting Teiid

 

Server:

To start the Teiid in server mode, make sure you have configured "<teiid-install>/deploy.properties" correctly and use the "run" script in the "<teiid-installl>/bin" folder to start the process. Make sure that no errors occurred during the start up by inspecting the log file in the "<teiid-installl>/log" directory.

 

Now, users can connect their applications to Teiid Server using the JDBC connections.

 

Embedded:

To start the Teiid in "Embedded" mode follow the directions in this document.