<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Why should I care about OSGi anyway?</title>
	<atom:link href="http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/</link>
	<description>The voice of SpringSource</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:31:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
	<item>
		<title>By: Adrian Colyer</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-113939</link>
		<dc:creator>Adrian Colyer</dc:creator>
		<pubDate>Mon, 21 Jul 2008 10:13:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-113939</guid>
		<description>Whenever you are working with a Java project in Eclipse, a partial build happens each time you save a file. This is known as an incremental build because instead of building your whole project from scratch, only the changed files are examined. Part of the incremental build process is the generation of &quot;delta&quot; information that other tools in the chain can use to examine the changes and react accordingly. The AP tools for STS use this information to determine whether or not the running copy of a bundle project needs to be updated, and to update it automatically if so.</description>
		<content:encoded><![CDATA[<p>Whenever you are working with a Java project in Eclipse, a partial build happens each time you save a file. This is known as an incremental build because instead of building your whole project from scratch, only the changed files are examined. Part of the incremental build process is the generation of &#034;delta&#034; information that other tools in the chain can use to examine the changes and react accordingly. The AP tools for STS use this information to determine whether or not the running copy of a bundle project needs to be updated, and to update it automatically if so.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wang qi</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-113244</link>
		<dc:creator>wang qi</dc:creator>
		<pubDate>Wed, 16 Jul 2008 10:48:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-113244</guid>
		<description>Hi Andrian,

in the following statement, can you explain the incremental builder in more detail?

&quot;An incremental builder associated with your project automatically udates the module in a running platform instance whenever you make a change.&quot;

Wang</description>
		<content:encoded><![CDATA[<p>Hi Andrian,</p>
<p>in the following statement, can you explain the incremental builder in more detail?</p>
<p>&#034;An incremental builder associated with your project automatically udates the module in a running platform instance whenever you make a change.&#034;</p>
<p>Wang</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Colyer</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-111647</link>
		<dc:creator>Adrian Colyer</dc:creator>
		<pubDate>Fri, 04 Jul 2008 13:19:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-111647</guid>
		<description>[quote comment=&quot;111085&quot;]Hi Andrian,
In the last SpringOne, you mentioned a problem you&#039;re facing managing runtime dependencies, a problem that you tried &quot;3-4 solutions&quot; but were unhappy about them all. Can you elaborate on what that problem was? It sounded like something fundamental in the OSGi approach, maybe it also involved updating dependencies, I can&#039;t recall. (I know I&#039;m vague, I just hope this will ring a bell anyway!)
Thanks,
Dimitris[/quote]

I believe the issue you are referring to is what we call &quot;pinning&quot;. OSGi happily allows multiple versions of the same bundle (and the same packages) to exist concurrently. However, any one bundle, once it has been resolved, can be wired to only one version of a given package. Take for example the &quot;spring orm&quot; bundle. Lets suppose that version 2.5.5 of this bundle is wired to packages from version 3.2.6 of Hibernate. An application wishing to use Spring 2.5.5 and Hibernate 3.2.6 will be just fine. A second application wishing to use Spring 2.5.5 and Hibernate 3.2.5 however will not be fine - because the spring orm bundle can&#039;t be simultaneously resolved to both the 3.2.6 and 3.2.5 versions of Hibernate. We are looking at a solution involving transparent cloning of &quot;pinning&quot; bundles in scenarios such as this for future version of S2AP.</description>
		<content:encoded><![CDATA[<p>[quote comment="111085"]Hi Andrian,<br />
In the last SpringOne, you mentioned a problem you&#039;re facing managing runtime dependencies, a problem that you tried &#034;3-4 solutions&#034; but were unhappy about them all. Can you elaborate on what that problem was? It sounded like something fundamental in the OSGi approach, maybe it also involved updating dependencies, I can&#039;t recall. (I know I&#039;m vague, I just hope this will ring a bell anyway!)<br />
Thanks,<br />
Dimitris[/quote]</p>
<p>I believe the issue you are referring to is what we call &#034;pinning&#034;. OSGi happily allows multiple versions of the same bundle (and the same packages) to exist concurrently. However, any one bundle, once it has been resolved, can be wired to only one version of a given package. Take for example the &#034;spring orm&#034; bundle. Lets suppose that version 2.5.5 of this bundle is wired to packages from version 3.2.6 of Hibernate. An application wishing to use Spring 2.5.5 and Hibernate 3.2.6 will be just fine. A second application wishing to use Spring 2.5.5 and Hibernate 3.2.5 however will not be fine &#8211; because the spring orm bundle can&#039;t be simultaneously resolved to both the 3.2.6 and 3.2.5 versions of Hibernate. We are looking at a solution involving transparent cloning of &#034;pinning&#034; bundles in scenarios such as this for future version of S2AP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dimitris Andreou</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-111085</link>
		<dc:creator>Dimitris Andreou</dc:creator>
		<pubDate>Mon, 30 Jun 2008 11:42:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-111085</guid>
		<description>Hi Andrian,
In the last SpringOne, you mentioned a problem you&#039;re facing managing runtime dependencies, a problem that you tried &quot;3-4 solutions&quot; but were unhappy about them all. Can you elaborate on what that problem was? It sounded like something fundamental in the OSGi approach, maybe it also involved updating dependencies, I can&#039;t recall. (I know I&#039;m vague, I just hope this will ring a bell anyway!)
Thanks,
Dimitris</description>
		<content:encoded><![CDATA[<p>Hi Andrian,<br />
In the last SpringOne, you mentioned a problem you&#039;re facing managing runtime dependencies, a problem that you tried &#034;3-4 solutions&#034; but were unhappy about them all. Can you elaborate on what that problem was? It sounded like something fundamental in the OSGi approach, maybe it also involved updating dependencies, I can&#039;t recall. (I know I&#039;m vague, I just hope this will ring a bell anyway!)<br />
Thanks,<br />
Dimitris</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-06-27 &#124; .:: a few thoughts on the subject by rob wright ::.</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-110492</link>
		<dc:creator>links for 2008-06-27 &#124; .:: a few thoughts on the subject by rob wright ::.</dc:creator>
		<pubDate>Fri, 27 Jun 2008 03:30:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-110492</guid>
		<description>[...] SpringSource Team Blog » Why should I care about OSGi anyway? (tags: spring springframework osgi java) [...]</description>
		<content:encoded><![CDATA[<p>[...] SpringSource Team Blog » Why should I care about OSGi anyway? (tags: spring springframework osgi java) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blog Xebia France - Revue de Presse Xebia</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-109886</link>
		<dc:creator>Blog Xebia France - Revue de Presse Xebia</dc:creator>
		<pubDate>Mon, 16 Jun 2008 16:16:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-109886</guid>
		<description>[...] Julien Dubois, directeur de Spring Source France, a présenté Spring Source Application Platform (S2AP) lors de la soirée Spring du Paris JUG. Nous avions relaté en mai dernier la sortie du serveur hybride OSGI-Tomcat dans SpringSource Application Platform : la brèche dans Java EE. L&#8217;événement avait fait grand bruit, The Server Side avait lancé la polémique avec S2AP - totally rocks (220 messages enflammés). Si le buzz est retombé, Spring Source occupe le terrain médiatique pour nous faire patienter jusqu&#8217;à la première release avec des articles pédagogiques sur la valeur ajoutée des modules OSGI pour les applications web (Why should I care about OSGi anyway? par Adrian Colyer) autant que sur la nouvelle stratégie de Spring Source (Open Source, Open Strategy: The SpringSource Manifesto par Rod Johnson). [...]</description>
		<content:encoded><![CDATA[<p>[...] Julien Dubois, directeur de Spring Source France, a présenté Spring Source Application Platform (S2AP) lors de la soirée Spring du Paris JUG. Nous avions relaté en mai dernier la sortie du serveur hybride OSGI-Tomcat dans SpringSource Application Platform : la brèche dans Java EE. L&#039;événement avait fait grand bruit, The Server Side avait lancé la polémique avec S2AP &#8211; totally rocks (220 messages enflammés). Si le buzz est retombé, Spring Source occupe le terrain médiatique pour nous faire patienter jusqu&#039;à la première release avec des articles pédagogiques sur la valeur ajoutée des modules OSGI pour les applications web (Why should I care about OSGi anyway? par Adrian Colyer) autant que sur la nouvelle stratégie de Spring Source (Open Source, Open Strategy: The SpringSource Manifesto par Rod Johnson). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Think. Reflect. Act. &#187; OSGI and Spring</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-109324</link>
		<dc:creator>Think. Reflect. Act. &#187; OSGI and Spring</dc:creator>
		<pubDate>Wed, 11 Jun 2008 08:37:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-109324</guid>
		<description>[...] If you ask what are the benefits of going OSGi with Spring, read Adrian&#8217;s article Why should I care about OSGi anyway?  [...]</description>
		<content:encoded><![CDATA[<p>[...] If you ask what are the benefits of going OSGi with Spring, read Adrian&#039;s article Why should I care about OSGi anyway?  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phil Zoio</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-107845</link>
		<dc:creator>Phil Zoio</dc:creator>
		<pubDate>Wed, 28 May 2008 20:20:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-107845</guid>
		<description>Adrian, you make a very cogent case for the advantages of modularity in enterprise systems. 

The title is slightly misleading, as the advantages you are talking about are only available when using the Spring Application Platform. OSGi provides the building blocks, but the extra sugar coating needed to make the whole experience smooth is provided by Spring AP.

It is obvious that you guys at Spring Source appreciate the value of modularity, and that you see OSGi as the way to achieve it. What is disappointing is that you not shown any interest in investigating alternative solutions which don&#039;t depend on OSGi.

The core Spring Framework has necessary features - support for hiearchical application context, a sensible startup and shutdown model, and declarative proxies - to support building a modular system. I started Impala (http://impala.googlecode.com/) initially just to see how far I could take these initial building blocks. The results are clear to me - with Impala you get a dramatically enhanced runtime and development model for Spring, a solution which works out of the box without any special runtime, build or IDE support, and without any modified third party libraries. In my opinion, a much simpler - albeit less perfect system - than is possible to achieve using OSGi. Gain without any real pain. The practical value in this approach is still obvious to me, and hopefully to you too.

I don&#039;t mean to criticise OSGi itself. I&#039;ve learnt a fair amount about it recently, and it certainly appears a well thought through technology. However, it is undeniably complex, and when a lot of the drivers in our industry are pushing us towards simpler systems, I do questioning whether it is wise to push the entire development community en masse towards OSGi. Dealing with these complexities has forced you guys to embrace a more closed system than originally envisaged 
(requiring GPL/commercial licence, OSGi with Equinox only, and not free tool support) - a movement away from the community-oriented spirit in which Spring software has been developed in the past.

All this being said, I anticipate a migration towards OSGi, and with Impala I intend to take advantage of OSGi, especially where it adds the most unique value - in third party class versioning.

In short, my verdict is well done for making OSGi accessible in a way which I thought not even you guys at SpringSource would be able to achieve. A thumbs down, I&#039;m afraid, for not doing more to address the needs of the 90 odd percent 
(not sure what the exact number is) of existing Spring users who are not using OSGi.

One of the best things about Spring in the past is making the best use of existing technologies in an open, practical way. The Java class loading model is far from perfect, but with a little creativity it is possible to build the key features 
for a dynamic, modular system.</description>
		<content:encoded><![CDATA[<p>Adrian, you make a very cogent case for the advantages of modularity in enterprise systems. </p>
<p>The title is slightly misleading, as the advantages you are talking about are only available when using the Spring Application Platform. OSGi provides the building blocks, but the extra sugar coating needed to make the whole experience smooth is provided by Spring AP.</p>
<p>It is obvious that you guys at Spring Source appreciate the value of modularity, and that you see OSGi as the way to achieve it. What is disappointing is that you not shown any interest in investigating alternative solutions which don&#039;t depend on OSGi.</p>
<p>The core Spring Framework has necessary features &#8211; support for hiearchical application context, a sensible startup and shutdown model, and declarative proxies &#8211; to support building a modular system. I started Impala (<a href="http://impala.googlecode.com/" rel="nofollow">http://impala.googlecode.com/</a>) initially just to see how far I could take these initial building blocks. The results are clear to me &#8211; with Impala you get a dramatically enhanced runtime and development model for Spring, a solution which works out of the box without any special runtime, build or IDE support, and without any modified third party libraries. In my opinion, a much simpler &#8211; albeit less perfect system &#8211; than is possible to achieve using OSGi. Gain without any real pain. The practical value in this approach is still obvious to me, and hopefully to you too.</p>
<p>I don&#039;t mean to criticise OSGi itself. I&#039;ve learnt a fair amount about it recently, and it certainly appears a well thought through technology. However, it is undeniably complex, and when a lot of the drivers in our industry are pushing us towards simpler systems, I do questioning whether it is wise to push the entire development community en masse towards OSGi. Dealing with these complexities has forced you guys to embrace a more closed system than originally envisaged<br />
(requiring GPL/commercial licence, OSGi with Equinox only, and not free tool support) &#8211; a movement away from the community-oriented spirit in which Spring software has been developed in the past.</p>
<p>All this being said, I anticipate a migration towards OSGi, and with Impala I intend to take advantage of OSGi, especially where it adds the most unique value &#8211; in third party class versioning.</p>
<p>In short, my verdict is well done for making OSGi accessible in a way which I thought not even you guys at SpringSource would be able to achieve. A thumbs down, I&#039;m afraid, for not doing more to address the needs of the 90 odd percent<br />
(not sure what the exact number is) of existing Spring users who are not using OSGi.</p>
<p>One of the best things about Spring in the past is making the best use of existing technologies in an open, practical way. The Java class loading model is far from perfect, but with a little creativity it is possible to build the key features<br />
for a dynamic, modular system.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Allan Chase</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-107740</link>
		<dc:creator>Allan Chase</dc:creator>
		<pubDate>Wed, 28 May 2008 04:02:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-107740</guid>
		<description>I really do like the concept of OSGI.  The only thing that it needs to really take off is tons of examples and tutorials.  Typically there is a Hello World that we are all familiar with(and we all still appreciate!), then for some reason, not sure why, the author will go right from Hello World to a Space Shuttle launch and guidance system that is borderline self aware!  Over the years I still revisit OSGI hoping that I will find a bazillion samples to work from, but I never do.  Take the Spring Framework, they published a really good document on what to do and how to use it.  And as cumbersome as JEE might be, there are tons of tutorials and products like MyEclipse that make it a snap to get up and running pretty fast.  Again, I like the concept of OSGI, but I can&#039;t just divine the code and figure it all out and hope everyone else on the team does the same.</description>
		<content:encoded><![CDATA[<p>I really do like the concept of OSGI.  The only thing that it needs to really take off is tons of examples and tutorials.  Typically there is a Hello World that we are all familiar with(and we all still appreciate!), then for some reason, not sure why, the author will go right from Hello World to a Space Shuttle launch and guidance system that is borderline self aware!  Over the years I still revisit OSGI hoping that I will find a bazillion samples to work from, but I never do.  Take the Spring Framework, they published a really good document on what to do and how to use it.  And as cumbersome as JEE might be, there are tons of tutorials and products like MyEclipse that make it a snap to get up and running pretty fast.  Again, I like the concept of OSGI, but I can&#039;t just divine the code and figure it all out and hope everyone else on the team does the same.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Colyer</title>
		<link>http://blog.springsource.org/2008/05/15/why-should-i-care-about-osgi-anyway/comment-page-1/#comment-106986</link>
		<dc:creator>Adrian Colyer</dc:creator>
		<pubDate>Thu, 22 May 2008 09:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/#comment-106986</guid>
		<description>[quote comment=&quot;106492&quot;]What about the negatives?

From what I can see, eclipse is one big failure. How can you possibly use eclipse as a shining example for OSGI given its shocking history for modularisation? It&#039;s terrible - plugin management isn&#039;t solved, its the PROBLEM in eclipse!

Anyway, the main negative I can see is writing and maintaining non-java code descriptors for EVERYTHING. Can I say EWW! This leads to huge runtime issues and the need to do integration testing.

[/quote]

&quot;osgi&quot;, you don&#039;t have to use OSGi to use the platform - regular war file deployment is also supported, and we will look at providing support for the relevant JEE6 profiles once they have been defined.

In relation to Eclipse, the first mention of eclipse on this page comes from you! Eclipse retrofitted OSGi underneath an existing plugin model. As a result very very few Eclipse plugins take advantage of OSGi features such as the service registry that help plugins (bundles) to cope with dynamic changes in the Eclipse platform. The Eclipse extension registry (built on top of OSGi, but not part of any OSGi standard) does have support for notification of changes, but again very few plugins use this. I would argue that most of the issues surrounding plugin management in Eclipse are to do with the inability of plugins to cope with dynamic changes (forcing restarts), and the update manager itself. 

Even though these issues exist, I believe Eclipse has still been an amazing success in terms of providing an ecosystem for third parties to integrate new components and capabilities. There are literally thousands of Eclipse plugins out there, and given the number of plugins and the rate of change, the whole thing stands up remarkably well.

On the second topic you raised, using the Application Platform tools for Eclipse your development time classpath is built from the manifests (in the same way as your runtime classpath) so you can catch any missing imports etc. early.</description>
		<content:encoded><![CDATA[<p>[quote comment="106492"]What about the negatives?</p>
<p>From what I can see, eclipse is one big failure. How can you possibly use eclipse as a shining example for OSGI given its shocking history for modularisation? It&#039;s terrible &#8211; plugin management isn&#039;t solved, its the PROBLEM in eclipse!</p>
<p>Anyway, the main negative I can see is writing and maintaining non-java code descriptors for EVERYTHING. Can I say EWW! This leads to huge runtime issues and the need to do integration testing.</p>
<p>[/quote]</p>
<p>&#034;osgi&#034;, you don&#039;t have to use OSGi to use the platform &#8211; regular war file deployment is also supported, and we will look at providing support for the relevant JEE6 profiles once they have been defined.</p>
<p>In relation to Eclipse, the first mention of eclipse on this page comes from you! Eclipse retrofitted OSGi underneath an existing plugin model. As a result very very few Eclipse plugins take advantage of OSGi features such as the service registry that help plugins (bundles) to cope with dynamic changes in the Eclipse platform. The Eclipse extension registry (built on top of OSGi, but not part of any OSGi standard) does have support for notification of changes, but again very few plugins use this. I would argue that most of the issues surrounding plugin management in Eclipse are to do with the inability of plugins to cope with dynamic changes (forcing restarts), and the update manager itself. </p>
<p>Even though these issues exist, I believe Eclipse has still been an amazing success in terms of providing an ecosystem for third parties to integrate new components and capabilities. There are literally thousands of Eclipse plugins out there, and given the number of plugins and the rate of change, the whole thing stands up remarkably well.</p>
<p>On the second topic you raised, using the Application Platform tools for Eclipse your development time classpath is built from the manifests (in the same way as your runtime classpath) so you can catch any missing imports etc. early.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

