You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2019/03/05 08:49:24 UTC

[FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Hi

As you may know Apache Camel 3 development is underway, and part of
the work is to modularize camel-core into smaller modules, where the
major work has been done for the M1 release. This means that 95% of
the core components from camel-core has been moved out, eg camel-log,
camel-seda, camel-direct etc.

Now we want to have a camel-core dependency that are tiny and would
like feedback on different styles

1)
Keep camel-core dependency as in Camel 2.x which has dependency on all
the core components (known as camel-core-all) AND introduce a new
camel-core-lite that has minimal dependencies so you can pick and
choose only the dependencies you need.

2)
Keep camel-core as a lite dependency and introduce a new
camel-core-all that has all the core components and is similar to
camel 2.x. This means that users would need to migrate from using
camel-core => camel-core-all OR add only the extra core components
they use, eg camel-direct, camel-seda, etc.

3)
Do #1 and move towards #2 in the future.

We can add a new camel-core-all dependency that has all the core
components etc, and then let camel-core depend on this dependency. And
then we can also add the camel-core-lite module as well. Then if we
one day switch camel-core from the ALL to the LITE style, we can do
that out of the box, for example for Camel 4 ;)

Note: One issue with the name camel-core-all is that it smells like it
has all the core modules, but it will not include camel-core-osgi or
camel-core-xml as they are only needed when you add camel-spring or
camel-blueprint (for XML and/or OSGi support).

Well just thinking out loud a bit, here in the morning after a couple
of cup of coffees.

Any thoughts and feedback is much welcome.


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

RE: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Posted by "Siano, Stephan" <st...@sap.com>.
Hi Claus,

IMO option 2 is going to hurt. On the other hands a major version change is the time to make changes like that, so my feeling is that option 3 will just extend the pain.

What would the dependency graph between the core modules (including unit tests) look like for option 2? The last time I looked (but that was before milestone 1) most of the unit tests for the components which were moved out of camel-core were still in camel-core. On the other hands many tests for core features rely on components like camel-direct. If it is possible to refactor the modules including the tests into a reasonable graph I think option 2 is the best solution, but if this is not manageable, I would prefer option 1 to an odd dependency graph between the core modules.

This is of course just my personal opinion...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen <cl...@gmail.com> 
Sent: Dienstag, 5. März 2019 09:49
To: users@camel.apache.org
Subject: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Hi

As you may know Apache Camel 3 development is underway, and part of
the work is to modularize camel-core into smaller modules, where the
major work has been done for the M1 release. This means that 95% of
the core components from camel-core has been moved out, eg camel-log,
camel-seda, camel-direct etc.

Now we want to have a camel-core dependency that are tiny and would
like feedback on different styles

1)
Keep camel-core dependency as in Camel 2.x which has dependency on all
the core components (known as camel-core-all) AND introduce a new
camel-core-lite that has minimal dependencies so you can pick and
choose only the dependencies you need.

2)
Keep camel-core as a lite dependency and introduce a new
camel-core-all that has all the core components and is similar to
camel 2.x. This means that users would need to migrate from using
camel-core => camel-core-all OR add only the extra core components
they use, eg camel-direct, camel-seda, etc.

3)
Do #1 and move towards #2 in the future.

We can add a new camel-core-all dependency that has all the core
components etc, and then let camel-core depend on this dependency. And
then we can also add the camel-core-lite module as well. Then if we
one day switch camel-core from the ALL to the LITE style, we can do
that out of the box, for example for Camel 4 ;)

Note: One issue with the name camel-core-all is that it smells like it
has all the core modules, but it will not include camel-core-osgi or
camel-core-xml as they are only needed when you add camel-spring or
camel-blueprint (for XML and/or OSGi support).

Well just thinking out loud a bit, here in the morning after a couple
of cup of coffees.

Any thoughts and feedback is much welcome.


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

Re: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Posted by Ralf Claussnitzer <ra...@slub-dresden.de>.
Well, I would expect the core to include all the core modules. So 
"camel-core" should deliver on this. If there is need for a "smaller 
core", than the "bigger core" should have it as a dependency. This leads 
to awkward naming, because we have now got a "core core". For this "core 
core" I would go with the naming "camel-base" or "camel-runtime".

-Ralf


On 3/6/19 4:01 AM, Quinn Stevenson wrote:
> I’d prefer to have camel-core act like 2.x as well to minimize surprises as much as possible when upgrading.
>
> Maybe the new “lite” module could be called something like “camel-engine”?
>
>
>
>> On Mar 5, 2019, at 7:49 AM, Steve Huston <sh...@riverace.com> wrote:
>>
>> My assumption is that camel-core (all in one) doesn't have any negative affect on Camel itself and that breaking it up is motivated by a benefit to those projects that want to reduce size.
>>
>> If that is true, then I recommend leaving camel-core as it is in 2.x - that reduces surprises to all users and prevents a huge bunch of "hey, you broke my app in 3.0" emails to the list. Those applications that want to reduce size can make some simple dependency changes.
>>
>> As a more personal preference, please don't call anything "-lite" - it is way overused and smacks of "cheap, crappy alternative to the real one." Call it camel-base or camel-minimal.
>>
>> -Steve
>>
>>> -----Original Message-----
>>> From: Claus Ibsen <cl...@gmail.com>
>>> Sent: Tuesday, March 05, 2019 3:49 AM
>>> To: users@camel.apache.org
>>> Subject: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs
>>> camel-core-all
>>>
>>> Hi
>>>
>>> As you may know Apache Camel 3 development is underway, and part of the
>>> work is to modularize camel-core into smaller modules, where the major
>>> work has been done for the M1 release. This means that 95% of the core
>>> components from camel-core has been moved out, eg camel-log, camel-
>>> seda, camel-direct etc.
>>>
>>> Now we want to have a camel-core dependency that are tiny and would like
>>> feedback on different styles
>>>
>>> 1)
>>> Keep camel-core dependency as in Camel 2.x which has dependency on all
>>> the core components (known as camel-core-all) AND introduce a new camel-
>>> core-lite that has minimal dependencies so you can pick and choose only the
>>> dependencies you need.
>>>
>>> 2)
>>> Keep camel-core as a lite dependency and introduce a new camel-core-all
>>> that has all the core components and is similar to camel 2.x. This means that
>>> users would need to migrate from using camel-core => camel-core-all OR add
>>> only the extra core components they use, eg camel-direct, camel-seda, etc.
>>>
>>> 3)
>>> Do #1 and move towards #2 in the future.
>>>
>>> We can add a new camel-core-all dependency that has all the core
>>> components etc, and then let camel-core depend on this dependency. And
>>> then we can also add the camel-core-lite module as well. Then if we one day
>>> switch camel-core from the ALL to the LITE style, we can do that out of the
>>> box, for example for Camel 4 ;)
>>>
>>> Note: One issue with the name camel-core-all is that it smells like it has all the
>>> core modules, but it will not include camel-core-osgi or camel-core-xml as
>>> they are only needed when you add camel-spring or camel-blueprint (for
>>> XML and/or OSGi support).
>>>
>>> Well just thinking out loud a bit, here in the morning after a couple of cup of
>>> coffees.
>>>
>>> Any thoughts and feedback is much welcome.
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> http://davsclaus.com @davsclaus
>>> Camel in Action 2: https://www.manning.com/ibsen2

Re: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Posted by Quinn Stevenson <qu...@pronoia-solutions.com>.
I’d prefer to have camel-core act like 2.x as well to minimize surprises as much as possible when upgrading.

Maybe the new “lite” module could be called something like “camel-engine”?



> On Mar 5, 2019, at 7:49 AM, Steve Huston <sh...@riverace.com> wrote:
> 
> My assumption is that camel-core (all in one) doesn't have any negative affect on Camel itself and that breaking it up is motivated by a benefit to those projects that want to reduce size.
> 
> If that is true, then I recommend leaving camel-core as it is in 2.x - that reduces surprises to all users and prevents a huge bunch of "hey, you broke my app in 3.0" emails to the list. Those applications that want to reduce size can make some simple dependency changes.
> 
> As a more personal preference, please don't call anything "-lite" - it is way overused and smacks of "cheap, crappy alternative to the real one." Call it camel-base or camel-minimal.
> 
> -Steve
> 
>> -----Original Message-----
>> From: Claus Ibsen <cl...@gmail.com>
>> Sent: Tuesday, March 05, 2019 3:49 AM
>> To: users@camel.apache.org
>> Subject: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs
>> camel-core-all
>> 
>> Hi
>> 
>> As you may know Apache Camel 3 development is underway, and part of the
>> work is to modularize camel-core into smaller modules, where the major
>> work has been done for the M1 release. This means that 95% of the core
>> components from camel-core has been moved out, eg camel-log, camel-
>> seda, camel-direct etc.
>> 
>> Now we want to have a camel-core dependency that are tiny and would like
>> feedback on different styles
>> 
>> 1)
>> Keep camel-core dependency as in Camel 2.x which has dependency on all
>> the core components (known as camel-core-all) AND introduce a new camel-
>> core-lite that has minimal dependencies so you can pick and choose only the
>> dependencies you need.
>> 
>> 2)
>> Keep camel-core as a lite dependency and introduce a new camel-core-all
>> that has all the core components and is similar to camel 2.x. This means that
>> users would need to migrate from using camel-core => camel-core-all OR add
>> only the extra core components they use, eg camel-direct, camel-seda, etc.
>> 
>> 3)
>> Do #1 and move towards #2 in the future.
>> 
>> We can add a new camel-core-all dependency that has all the core
>> components etc, and then let camel-core depend on this dependency. And
>> then we can also add the camel-core-lite module as well. Then if we one day
>> switch camel-core from the ALL to the LITE style, we can do that out of the
>> box, for example for Camel 4 ;)
>> 
>> Note: One issue with the name camel-core-all is that it smells like it has all the
>> core modules, but it will not include camel-core-osgi or camel-core-xml as
>> they are only needed when you add camel-spring or camel-blueprint (for
>> XML and/or OSGi support).
>> 
>> Well just thinking out loud a bit, here in the morning after a couple of cup of
>> coffees.
>> 
>> Any thoughts and feedback is much welcome.
>> 
>> 
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2


RE: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Posted by Steve Huston <sh...@riverace.com>.
My assumption is that camel-core (all in one) doesn't have any negative affect on Camel itself and that breaking it up is motivated by a benefit to those projects that want to reduce size.

If that is true, then I recommend leaving camel-core as it is in 2.x - that reduces surprises to all users and prevents a huge bunch of "hey, you broke my app in 3.0" emails to the list. Those applications that want to reduce size can make some simple dependency changes.

As a more personal preference, please don't call anything "-lite" - it is way overused and smacks of "cheap, crappy alternative to the real one." Call it camel-base or camel-minimal.

-Steve

> -----Original Message-----
> From: Claus Ibsen <cl...@gmail.com>
> Sent: Tuesday, March 05, 2019 3:49 AM
> To: users@camel.apache.org
> Subject: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs
> camel-core-all
> 
> Hi
> 
> As you may know Apache Camel 3 development is underway, and part of the
> work is to modularize camel-core into smaller modules, where the major
> work has been done for the M1 release. This means that 95% of the core
> components from camel-core has been moved out, eg camel-log, camel-
> seda, camel-direct etc.
> 
> Now we want to have a camel-core dependency that are tiny and would like
> feedback on different styles
> 
> 1)
> Keep camel-core dependency as in Camel 2.x which has dependency on all
> the core components (known as camel-core-all) AND introduce a new camel-
> core-lite that has minimal dependencies so you can pick and choose only the
> dependencies you need.
> 
> 2)
> Keep camel-core as a lite dependency and introduce a new camel-core-all
> that has all the core components and is similar to camel 2.x. This means that
> users would need to migrate from using camel-core => camel-core-all OR add
> only the extra core components they use, eg camel-direct, camel-seda, etc.
> 
> 3)
> Do #1 and move towards #2 in the future.
> 
> We can add a new camel-core-all dependency that has all the core
> components etc, and then let camel-core depend on this dependency. And
> then we can also add the camel-core-lite module as well. Then if we one day
> switch camel-core from the ALL to the LITE style, we can do that out of the
> box, for example for Camel 4 ;)
> 
> Note: One issue with the name camel-core-all is that it smells like it has all the
> core modules, but it will not include camel-core-osgi or camel-core-xml as
> they are only needed when you add camel-spring or camel-blueprint (for
> XML and/or OSGi support).
> 
> Well just thinking out loud a bit, here in the morning after a couple of cup of
> coffees.
> 
> Any thoughts and feedback is much welcome.
> 
> 
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2