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.
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.