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

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 beeing ignor

Expose Excel Data as OData feed using Teiid

For that matter you can expose any data source that is supported by Teiid through its translators as OData service. You can convert Relational databases XML, JSON, CSV files Web Services  Sales Force Excel documents sources, or write your on top of your specific source. Teiid added support for exposing its virtual database (VDB) as OData service without any additional work. Create a virtual database with your required sources and create any additional views and deploy in the the JBoss EAP 6.1 server, that has Teiid 8.3 or greater installed.  See https://docs.jboss.org/author/display/teiid84final/OData+Support  for more information. So, lets build a simple example of exposing the Excel Sheet. Teiid accesses Excel sheets via JDBC-ODBC bridge, and Windows OS provides a ODBC driver for Excel documents.  Edit the standalone-teiid.xml, and create Connection Factory jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};Dbq=c:\ODBC\ExcelData.xls odbc