Skip to main content

JCA Container Integration, Why Teiid Needs it? Part 5

Reason #5 JBoss AS Container

This reason seems to compliment the title of this article and at the same time contradict some parts of it. Let me explain, it compliments because JBoss AS provides hosting environment of all the reasons described before, and at the same time it takes initial goal of Teiid to be container agnostic. During the development of Teiid 7.0, we tried to be independent of not using any particulars of any single container and sticking to common libraries and specifications, however in few places we had to use JBoss AS specifics like Profile Service, propagating the security contexts etc. Overall, benefits outweigh the hard dependency on JBoss AS. Lets explore the benefits.

  • Provides a JCA environment for Teiid with transactions support. Any connector (resource adaptor) in JBoss AS can be used with Teiid Translator.
  • Single installation. Teiid is installed on top JBoss AS installation, thus, this defines installation directory structure for the Teiid. Since Teiid components are written using the same underlying framework as JBoss AS, they nicely co-exits with other JBoss components.
  • JBoss provides start-up, shutdown scripts. Starting and stopping Teiid no different then starting and stopping JBoss AS server.
  • JBoss provides "logging" framework. Teiid's logging messages are automatically forwarded to JBoss AS log files. No separate log management from Teiid is required.
  • Web Engine. As such Teiid does not require a web environment to operate, however, to support the JOPR based admin tool Teiid requires a web environment to deploy this plugin. At the same time if user's web applications are deployed in JBoss AS, then this provides a single server that avoids unnecessary remote transport between client applications and Teiid.
  • Web services engine. Teiid is an ideal environment for a user to define "data services" for their enterprise. To expose the "data services", Teiid requires web services engine. JBoss AS steps in provides this engine. We have some new improved features and articles coming in Teiid 7.1.
  • Clustering. We have not explored clustering details yet, however Teiid would be able to support a clustered environment. The details will be flushed out in Teiid 7.1
  • Windows service, JBoss AS can be defined as windows service, so Teiid can leverage that feature.
  • Community support.
There may be other features JBoss AS provides that are useful to Teiid that I am forgetting to mention, however overall this was great integration of two technologies. Teiid team already released 7.0 CR1 previewing these technologies and 7.0 final is coming up soon, so download the Teiid and give it a try for your data integration needs.

UPDATE: The feature set of Teiid has evolved from time we started writing this series to till now; One major difference is we split the old Connector framework into Translators and Resource Adaptors. This suits better in the JCA environment and does not force fit the Teiid semantics into JCA. This also leads to providing "embeddable" Teiid in future releases.

Let us know what you think and the features you like to see in upcoming releases of Teiid.

Thank you.

Teiid Team.

Comments

Popular posts from this blog

Teiid Spring Boot 1.7.0 Released

Teiid Spring Boot version 1.7.0 to support Teiid 16.0 has been released. This release is mainly to support the Teiid's latest version.  In this release, the support for OpenAPI code generation based on VDB has been removed as there is no community interest and moreover it was at OpenAPI 2.0, and the industry has moved to 3.0 and beyond. There are no plans to further pursue this feature. VDB maven plugin was also removed, which was intended to be a replacement for the VDB importing feature was to be used when working on OpenShift, however, since it requires the Maven repository and does not completely represent the feature as defined on the WildFly based deployments this is also removed. You can still use the VDB import feature with Teiid Spring Boot, simply define the VDB with your "IMPORT DATABASE" statements and provide the additional files along with the main VDB file. During the start of the application, Teiid Spring Boot will load all the necessary DDL files for the ...

Access Teiid from node.js

Are you writing a "node.js" application and would like to access Teiid VDB from it? If "yes", this is currently possible using NPM package "pg" .  Since, Teiid supports the PG transport, you can use this PostgreSQL client for "node.js" for accessing the Teiid. For example if you have VDB called "northwind" deployed on your Teiid server, and it has table called "customers" and you are using default configuration such as user = 'user' password = 'user' host = 127.0.0.1 port = 35432 then you can use following to write simple access program to Teiid var pg = require('pg'); var connectionString = "pg://user:user@localhost:35432/northwind" pg.connect(connectionString, function(err, client) { client.query('SELECT CustomerID, ContactName, ContactTitle FROM Customers', function(err, result) { console.log(result.rows) }); }); If you want ...

Teiid 8.13.3 Released

Teiid 8.13.3 is now  available .  In total 8.13.3 addresses 10 issues since 8.13.2: [ TEIID-4028 ] - adding salesforce-34 resource adapter does not work through the cli [ TEIID-4066 ] - Odata translator ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateImpl [ TEIID-4070 ] - Issues with resource adapters with api modules in wildfly [ TEIID-4089 ] - Teiid JDBC driver does not reset the update count when calling getMoreResults(int) [ TEIID-4093 ] - OData authentication fails with NPE when gss-pattern related properties are included in VDB [ TEIID-4096 ] - AssertionError with independent side of a dependent join that has an ordered limit [ TEIID-3050 ] - allow for more incremental insert with iterator [ TEIID-4075 ] - Netezza translator to support common table expressions [ TEIID-4098 ] - Always preserve columns order in google spreadsheets models [ TEIID-4046 ] - OData - $skip is bee...