You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by nono <ya...@db-is.com> on 2014/05/13 23:25:32 UTC

camel - osgi

Hi i am not very clear about the relation between camel and osgi
could someone explain in short words
what is the relation between camel and osgi?
what is relation between camel and spring?
what are the differences betwen those two relations?

Thanks in advance




--
View this message in context: http://camel.465427.n5.nabble.com/camel-osgi-tp5751095.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel - osgi

Posted by Camel Guy <ca...@devguy.com>.
There are third parties that will recognize changes to the spring XML file
and dynamically restart routes, create new ones, etc - on the fly. This
concept is the goal of osgi in my opinion. Today if you want to distribute
changes to your out of the box camel spring app it's still pretty
primitive. Or perhaps I am ignorant? Discuss.

On Wednesday, May 14, 2014, Grzegorz Grzybek <gr...@gmail.com> wrote:

> Hello!
>
> In short words:
>
> 1) Camel / OSGi
>
> OSGi is an architecture for packaging and running components called
> "bundles". It provides ways to make these bundles cooperate with each other
> using well defined semantics. The basic unit of modularization is (Java)
> "package". Of course beyond the basics, OSGi has higher-level layers which
> provide additional services. For introduction, see e.g.,
> http://www.osgi.org/Technology/HowOSGi.
>
> "Apache Camel ™ is a versatile open-source integration framework based on
> known Enterprise Integration
> Patterns<http://camel.apache.org/enterprise-integration-patterns.html>."
> (http://camel.apache.org).Camel is a framework which allows you to develop
> clean applications based on messaging patterns.
>
> Camel consists of many libraries/jars - all of them are OSGi "bundles" and
> this allows to run them in any compliant OSGi container (e.g., Apache Felix
> or Eclipse Equinox)
>
> 2) Camel / Spring
>
> Spring (Framework) is general purpose framework for developing Java
> Applications, the main concept of Spring Framework is Dependency Injection,
> which allows you to develop applications in modular (not modular in the
> sense of OSGi) fashion - where each "bean" expresses the need for other
> beans by exposing getter/setters or @Inject/@Autowired fields. Spring makes
> sure that your expressed dependencies are satisfied.
>
> Camel is not based on Spring, but uses it's functionality for one of the
> dialects of Camel DSL (language for expressing Enterprise Integration
> Patterns). Also Camel uses Spring in the area of transaction management and
> JDBC access.
>
> 3) 1) / 2)
>
> A meta-difference you mean? :)
> Relation #1 is between two different abstractions (categories). Between
> framework for messaging application and framework for component deployment
> (Camel may be deployed as component in OSGi)
>
> Relation #2 is between abstractions which belong to single category - Java
> Frameworks which makes developer's life easier.
>
> Conclusion:
>  - OSGi is container + services it provides. you run your applications
> there quite similiar to how you run them in e.g., Tomcat
>  - Camel is framework for messaging applications - you actually develop
> using it
>  - Spring (Framework) is for dependency injections (+ helpers to use JavaEE
> APIs such as JDBC, JTA, Servlets, JMS, ...)
>  - there are other Spring products, such as Spring-WebServices,
> Spring-WebFlow, Spring-Batch, ...
>
> hope this sheds some light in this topic
>
> regards
> Grzegorz Grzybek
>
>
> 2014-05-13 23:25 GMT+02:00 nono <yan.wang@db-is.com <javascript:;>>:
>
> > Hi i am not very clear about the relation between camel and osgi
> > could someone explain in short words
> > what is the relation between camel and osgi?
> > what is relation between camel and spring?
> > what are the differences betwen those two relations?
> >
> > Thanks in advance
> >
> >
> >
> >
> > --
> > View this message in context:
> > http://camel.465427.n5.nabble.com/camel-osgi-tp5751095.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >
>

Re: camel - osgi

Posted by Grzegorz Grzybek <gr...@gmail.com>.
Hello!

In short words:

1) Camel / OSGi

OSGi is an architecture for packaging and running components called
"bundles". It provides ways to make these bundles cooperate with each other
using well defined semantics. The basic unit of modularization is (Java)
"package". Of course beyond the basics, OSGi has higher-level layers which
provide additional services. For introduction, see e.g.,
http://www.osgi.org/Technology/HowOSGi.

"Apache Camel ™ is a versatile open-source integration framework based on
known Enterprise Integration
Patterns<http://camel.apache.org/enterprise-integration-patterns.html>."
(http://camel.apache.org).Camel is a framework which allows you to develop
clean applications based on messaging patterns.

Camel consists of many libraries/jars - all of them are OSGi "bundles" and
this allows to run them in any compliant OSGi container (e.g., Apache Felix
or Eclipse Equinox)

2) Camel / Spring

Spring (Framework) is general purpose framework for developing Java
Applications, the main concept of Spring Framework is Dependency Injection,
which allows you to develop applications in modular (not modular in the
sense of OSGi) fashion - where each "bean" expresses the need for other
beans by exposing getter/setters or @Inject/@Autowired fields. Spring makes
sure that your expressed dependencies are satisfied.

Camel is not based on Spring, but uses it's functionality for one of the
dialects of Camel DSL (language for expressing Enterprise Integration
Patterns). Also Camel uses Spring in the area of transaction management and
JDBC access.

3) 1) / 2)

A meta-difference you mean? :)
Relation #1 is between two different abstractions (categories). Between
framework for messaging application and framework for component deployment
(Camel may be deployed as component in OSGi)

Relation #2 is between abstractions which belong to single category - Java
Frameworks which makes developer's life easier.

Conclusion:
 - OSGi is container + services it provides. you run your applications
there quite similiar to how you run them in e.g., Tomcat
 - Camel is framework for messaging applications - you actually develop
using it
 - Spring (Framework) is for dependency injections (+ helpers to use JavaEE
APIs such as JDBC, JTA, Servlets, JMS, ...)
 - there are other Spring products, such as Spring-WebServices,
Spring-WebFlow, Spring-Batch, ...

hope this sheds some light in this topic

regards
Grzegorz Grzybek


2014-05-13 23:25 GMT+02:00 nono <ya...@db-is.com>:

> Hi i am not very clear about the relation between camel and osgi
> could someone explain in short words
> what is the relation between camel and osgi?
> what is relation between camel and spring?
> what are the differences betwen those two relations?
>
> Thanks in advance
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/camel-osgi-tp5751095.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Re: camel - osgi

Posted by nono <ya...@db-is.com>.
Hi Christoph,

Thanks for the great recap!!!




--
View this message in context: http://camel.465427.n5.nabble.com/camel-osgi-tp5751095p5751168.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel - osgi

Posted by cemmersb <ce...@gmail.com>.
Hi

I try to put some words together answering your question.

- Christoph

On 13 May 2014, at 23:25, nono <ya...@db-is.com> wrote:

> Hi i am not very clear about the relation between camel and osgi
> could someone explain in short words
> what is the relation between camel and osgi?

Camel is built to run within an OSGi container, however, you do not need to use this feature, any other environment (standalone, application container) will work.

> what is relation between camel and spring?

Camel provides a Spring DSL for configuring routes. However, you might want to use the Java routes or a mixture of both, whatever suites you!

> what are the differences betwen those two relations?

No differences, since you may choose whatever suites you! The underlying framework is (mostly) the same!

> 
> Thanks in advance
> 
> 
> 
> 
> --
> View this message in context: http://camel.465427.n5.nabble.com/camel-osgi-tp5751095.html
> Sent from the Camel - Users mailing list archive at Nabble.com.