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 8.11 Beta1 and 8.10.1 Released

Teiid 8.11 Beta1 is now available from the  downloads  and maven.  Feature highlights since Alpha2 include: TEIID-3434 More caching control over ttls in the result set cache down to the schema/table level. TEIID-3412 MS Access support via the UCanAccess driver. The UCanAccess support is necessary for those running on Java 1.8 as the JDBC ODBC bridge has been removed from the JRE. The waiting continues on EAP 6.4 Alpha1 - it still should be available shortly and should be the platform target for Teiid 8.11 Beta2. Of course, let us know if you find any issues with these early releases.  There's still plenty of time to get fixes into the final release. Teiid 8.10.1 is also available.  It addresses 5 important issues discovered since 8.10 was released: [ TEIID-3409 ] - PostgreSQLExecutionFactory TranslatorProperty annotation in wrong place [ TEIID-3437 ] - Inconsistencies with row count handling [ TEIID-3438 ] - Null value returned from BlobImpl

Tech Tip: Teiid SQL Language MAKEDEP Hint Explained

In this article I will explain what a MAKEDEP hint is, how and when, why it should be used in Teiid. What: MAKEDEP is query hint.  When a query hint is defined in the SQL query it influences the Teiid query planner to optimize the query in a way that is driven by the user. MAKEDEP means "make this as a dependent join". What is a Dependent Join? For example if we have query like: SELECT * FROM X INNER JOIN Y ON X.PK = Y.FK Where the data for X, and Y are coming from two different sources like Oracle and WebService in Teiid, so in relational algebra you can represent above query as Here the result tuples from node X and node Y are being simultaneously fetched by Teiid query engine, then it joins the both the results inside Teiid engine based on the specified X.PK = Y.PK condition and returns the filtered resulted to the user. simple.. Now, what if, if X table has 5 rows and Y table has 100K rows? In order to do the JOIN naively Teiid need sto read all the 5

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