Hi, We're considering implementing a Camel component for Teiid (http://teiid.io/) and looking for your insights on some design aspects and general thoughts.
Teiid is a data virtualization engine that comes as in-place real-time integration of heterogeneous data sources (~50). Teiid exposes them through a SQL engine and ODATA REST endpoints. It is typically run as a server being accessed by SQL clients. Data sources supported by Teiid are pretty much a subset of what Camel already supports, but the benefit we see is that it provides the SQL engine to access them all in a unified way, which makes integrations more straightforward than using custom APIs. It is currently possible to use the sql-camel/jdbc-camel component to connect to a running Teiid instance, but we are looking for a tighter integration by providing a way to embed the Teiid engine in a Camel component. It would simplify its usage. Would you have any recommendations for writing such a component? One aspect we need to consider is, if it would be possible to reuse somehow an instance of Teiid within a route or across routes or share some of Teiid's metadata so that we do not have to bring up an instance each time. Finally, we have just started a similar conversion on the Teiid forum so, if you are interested please also see https://developer.jboss.org/thread/278138 -- -RafaĆ