On Mon, Jul 23, 2018 at 1:55 PM, Hiram Chirino <hi...@hiramchirino.com> wrote:
> Hi!
>
> Nice work!  I tend to think lets just do the new teiid component.  It keep
> things more focused for things like the generated meta data for the SQL and
> Teiid components.
>

Yeah I also think its best to keep it in a new camel-teiid component.
You can still extend camel-sql, which we do for example in camel-elsql.



> On Wed, Jul 18, 2018 at 8:04 AM Rafal Korytkowski <rkorytkow...@redhat.com>
> wrote:
>
>> Hey,
>>
>> I'm pretty much done with a proof of concept, at which you can peek in this
>> commit
>>
>> https://github.com/rkorytkowski/camel/commit/f66eea569963730032713c62f057a5685fea7089
>> .
>>
>> I've basically extended the SQL component to support a new dataSources
>> parameter, where you can pass multiple data sources instead of one e.g.
>>
>> .to("teiid:select url from projects inner join licenses on projects.license
>> = licenses.license where project = #?dataSources=dbProjects,dbLicenses")
>>
>>
>> https://github.com/rkorytkowski/camel/blob/TEIIDTOOLS-451/components/camel-teiid/src/test/java/org/apache/camel/component/sql/TeiidDataSourcesTest.java#L87-L90
>>
>> Currently it's just for SQL data sources. Next I'm planning to add a way to
>> pass csv and Excel files.
>>
>> It makes us wonder, if instead of introducing the new TEIID component,
>> would you approve this new parameter in the SQL component itself. The
>> feature would be more straightforward to discover
>> and use for people who know nothing about Teiid. The dependency on Teiid
>> would be optional and we would throw an exception, if Teiid was not on the
>> classpath, but the parameter was used.
>>
>> Thoughts?
>>
>> On Tue, Jun 26, 2018 at 11:57 AM Claus Ibsen <claus.ib...@gmail.com>
>> wrote:
>>
>> > On Tue, Jun 19, 2018 at 12:44 PM, Andrea Cosentino
>> > <ancosen1...@yahoo.com.invalid> wrote:
>> > > Not necessary. We can eventually wrap non OSGi-fied dependencies.
>> > >
>> >
>> > Yes that is correct as Andrea say. There are some components that
>> > cannot work in OSGi or does not make sense.
>> > However if possible we like to offer Camel components on as many
>> > runtimes as possible. So the ServiceMix team
>> > sometimes create OSGi bundles for 3rd party JARs that they release.
>> >
>> > An alternative is the wrap mechanism but its not as good as a real OSGi
>> > bundle.
>> >
>> >
>> > > Inviato da Yahoo Mail su Android
>> > >
>> > >   Il mar, 19 giu, 2018 alle 12:42, Rafal Korytkowski<
>> > rkorytkow...@redhat.com> ha scritto:   Hi Claus,
>> > >
>> > > Thanks a lot for your guidance!
>> > >
>> > > I've got one follow up question. Is it a strict requirement for
>> > component's
>> > > dependencies to be OSGI-fied?
>> > >
>> > > On Mon, Jun 18, 2018 at 9:01 AM Claus Ibsen <claus.ib...@gmail.com>
>> > wrote:
>> > >
>> > >> Hi Rafal
>> > >>
>> > >> Welcome to the Camel community.
>> > >> It sounds great with a camel-teiid component.
>> > >>
>> > >> Writing a Camel component is very open ended and you have a lot of
>> > freedom.
>> > >>
>> > >> In terms of how to embed Teiid engine then Camel has no restrictions.
>> > >> If there is one instance in the JVM, then we can let Camel
>> > >> auto-discover
>> > >> and use the instance in the camel-teiid component, so the end user do
>> > >> not have to explicit configure this wiring.
>> > >>
>> > >> Camel has its Registry abstraction over for example Spring Boot /
>> > >> ApplicationContext (bean registry) or CDI's BeanManager, or OSGi
>> > >> Service Registry etc.
>> > >> So what other components is doing is to lookup in this registry if
>> > >> there is a single instance of a specific class type, and then use
>> > >> that.
>> > >>
>> > >> There is a little guide here how to add a new Camel component
>> > >> http://camel.apache.org/add-new-component-guide.html
>> > >>
>> > >> We do have a maven archetype to create a new camel component project,
>> > >> or what other people sometimes do is to copy an existing component and
>> > >> then delete/modify its source code.
>> > >> http://camel.apache.org/camel-maven-archetypes.html
>> > >>
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> On Fri, Jun 15, 2018 at 12:48 PM, Rafal Korytkowski
>> > >> <rkorytkow...@redhat.com> wrote:
>> > >> > 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ł
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> Claus Ibsen
>> > >> -----------------
>> > >> http://davsclaus.com @davsclaus
>> > >> Camel in Action 2: https://www.manning.com/ibsen2
>> > >>
>> > > --
>> > >
>> > > -Rafał
>> >
>> >
>> >
>> > --
>> > Claus Ibsen
>> > -----------------
>> > http://davsclaus.com @davsclaus
>> > Camel in Action 2: https://www.manning.com/ibsen2
>> >
>> --
>>
>> -Rafał
>>
>
>
> --
> Hiram Chirino
> Engineering | Red Hat, Inc.
> hchir...@redhat.com | fusesource.com | redhat.com
> skype: hiramchirino | twitter: @hiramchirino



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to