<?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: Our plans for building OSGi applications</title>
	<atom:link href="http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/</link>
	<description>The voice of SpringSource</description>
	<lastBuildDate>Fri, 19 Mar 2010 05:36:47 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Patrik Schalin</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-168983</link>
		<dc:creator>Patrik Schalin</dc:creator>
		<pubDate>Fri, 23 Oct 2009 07:41:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-168983</guid>
		<description>Hi All,

Regarding Tooling

In my quest to find a better solution I stumbled on Gradle (http://www.gradle.org). It uses ANT and Ivy but without the XML. It knows about Maven and Ivy repos and it is open for extension.

Just my $.02</description>
		<content:encoded><![CDATA[<p>Hi All,</p>
<p>Regarding Tooling</p>
<p>In my quest to find a better solution I stumbled on Gradle (<a href="http://www.gradle.org)" rel="nofollow">http://www.gradle.org)</a>. It uses ANT and Ivy but without the XML. It knows about Maven and Ivy repos and it is open for extension.</p>
<p>Just my $.02</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Schaefer</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-168364</link>
		<dc:creator>Chris Schaefer</dc:creator>
		<pubDate>Thu, 03 Sep 2009 11:51:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-168364</guid>
		<description>@Rob : what do you think about tycho. it seems to have solved some of your issues already .

chris</description>
		<content:encoded><![CDATA[<p>@Rob : what do you think about tycho. it seems to have solved some of your issues already .</p>
<p>chris</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Harrop</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-167303</link>
		<dc:creator>Rob Harrop</dc:creator>
		<pubDate>Mon, 15 Jun 2009 20:25:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-167303</guid>
		<description>@Stanley,

The best code example I can think of is the code we wrote in dm Server to do resolver-driven provisioning. You can find the latest incarnation of this here: http://bit.ly/pJDOA

Regards,

Rob</description>
		<content:encoded><![CDATA[<p>@Stanley,</p>
<p>The best code example I can think of is the code we wrote in dm Server to do resolver-driven provisioning. You can find the latest incarnation of this here: <a href="http://bit.ly/pJDOA" rel="nofollow">http://bit.ly/pJDOA</a></p>
<p>Regards,</p>
<p>Rob</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stanley Poon</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-167241</link>
		<dc:creator>Stanley Poon</dc:creator>
		<pubDate>Mon, 08 Jun 2009 19:00:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-167241</guid>
		<description>Thanks Rob.

Do you have pointers or links to get started on the Equinox offline resolver?

I want to start as a standalone Java app to explore. And later on, I may build a plug-in to integrate that with other build/installation toolings.</description>
		<content:encoded><![CDATA[<p>Thanks Rob.</p>
<p>Do you have pointers or links to get started on the Equinox offline resolver?</p>
<p>I want to start as a standalone Java app to explore. And later on, I may build a plug-in to integrate that with other build/installation toolings.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Harrop</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-167239</link>
		<dc:creator>Rob Harrop</dc:creator>
		<pubDate>Mon, 08 Jun 2009 18:34:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-167239</guid>
		<description>@Stanley

We haven&#039;t made a huge amount of progress on integrating the resolver into a build tool simply because the demand was not as great as we imagined. If you are looking for an offline OSGi resolver, you can use the Equinox resolver offline. Its actually pretty easy to get going with the resolver in Equinox.

Rob</description>
		<content:encoded><![CDATA[<p>@Stanley</p>
<p>We haven&#039;t made a huge amount of progress on integrating the resolver into a build tool simply because the demand was not as great as we imagined. If you are looking for an offline OSGi resolver, you can use the Equinox resolver offline. Its actually pretty easy to get going with the resolver in Equinox.</p>
<p>Rob</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stanley Poon</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-167224</link>
		<dc:creator>Stanley Poon</dc:creator>
		<pubDate>Fri, 05 Jun 2009 21:57:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-167224</guid>
		<description>When will the Offline Dependency Resolver be available? It will be a great tool.

Before it is avaiable, is this function available as part of spring dm, Felix, or Equinox ? That can be accessed as a Java API or a standalone tool?


Stanley</description>
		<content:encoded><![CDATA[<p>When will the Offline Dependency Resolver be available? It will be a great tool.</p>
<p>Before it is avaiable, is this function available as part of spring dm, Felix, or Equinox ? That can be accessed as a Java API or a standalone tool?</p>
<p>Stanley</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabian Dankof</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-166344</link>
		<dc:creator>Fabian Dankof</dc:creator>
		<pubDate>Thu, 14 May 2009 13:40:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-166344</guid>
		<description>I really favour the pom.xml-driven variant described above. But to it seems as there is one major disadvantage which was not discussed here:

If pom.xml is the only place where I declare my dependencies, it has to be possible to add SpringSource EBR to the Maven Indexes of m2eclipse. Otherwise I think adding dependency declarations by hand is too cumbersome. I thinke there is already a request for this in JIRA.</description>
		<content:encoded><![CDATA[<p>I really favour the pom.xml-driven variant described above. But to it seems as there is one major disadvantage which was not discussed here:</p>
<p>If pom.xml is the only place where I declare my dependencies, it has to be possible to add SpringSource EBR to the Maven Indexes of m2eclipse. Otherwise I think adding dependency declarations by hand is too cumbersome. I thinke there is already a request for this in JIRA.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Immanuel Scheerer</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-154535</link>
		<dc:creator>Immanuel Scheerer</dc:creator>
		<pubDate>Tue, 24 Mar 2009 11:21:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-154535</guid>
		<description>I think the ongoing discussion is too much focused on tools. Which tools should I use? Who provides those tools? Do we need new tools or can we extend existing tools?

I see at least two much more fundamental problem areas which must be tackled prior to ever being able to have a satisfying set of tools for all of us:

1. Compatibility of dependency meta models

Before deciding whether we better store dependency meta data in OSGi manifests, pom.xml or ivy.xml it is necessary to understand the differences between their dependency meta models, see if there exists a one-to-one correspondence between all of them and if not, decide which meta model (not tooling) should be the standard dependency meta model for Java development in the future.

In OSGi alone the question if we think in packages (Import-Package) or in bundles (Require-Bundle) when it comes to dependencies is not yet answered. The question which approach to use cannot easily be answered because both have pros and cons. The pragmatic solution to combine both (Import-Bundle) by introducing a new header as done in dm Server is understandable, but it just blurs the two concepts without answering the underlying theoretical question, which concept is better (from a meta model point of view, not from a programmer&#039;s view, who wants to write as few lines as possible).

2. Bundle vendor chaos

We cannot solve organizational problems with technical solutions. If I could not register a domain and provide an authoritative DNS server, I could not guarantee that everybody who wants to see my website, can actually see my website. If we could not use globally unique IP addresses, not even the best algorithm could help us to establish an internet.

If I want to use commons-logging with OSGi and am spoilt for choice between tons of different bundles packaged by different vendors which basically provide the same functionality, I need not be surprised, when at some point I will run into dependency resolutions problems because two bundles I want to use have a different conception about resolving their dependency to commons-logging. Of course, at this point &quot;Import-Package&quot; seems to be the most robust and flexible solution to cope with that mess. But the mess is not removed, it&#039;s just covered a little.

We should not weaken the strictness of the dependency resolution mechanism by using a fuzzy notion like &quot;package&quot; (a package name is not yet a specification for which implementations are interchangeable). But we should increase the strictness by introducing authoritative bundle vendors/repositories. This is an organizational challenge, not a technical. We have a convention for package names so that packages are related to top level domains. If we use the same convention for bundle names, we could give every domain owner the possibility to define the authoritative repositories for bundles belonging to the respective domain.

org.apache could for example appoint the SpringSource Enterprise Bundle Repository as the authoritative repository for commons-logging. Or they provide their own repository, which is easily found by everyone who wants to use commons-logging by basically using the same mechanism as DNS. In such a world, &quot;Require-Bundle&quot; would not break things because everyone would use the same bundles.

I highly appreciate SpringSource&#039;s active and pragmatic approach, but would like to see even more interaction with the community before introducing non-standard concepts like &quot;Import-Bundle&quot; or by completely reimplementing tools for which a de facto standard exists because in a global perspective, this makes the Java world more complex again, eating up the improvements definitely made in a local perspective.</description>
		<content:encoded><![CDATA[<p>I think the ongoing discussion is too much focused on tools. Which tools should I use? Who provides those tools? Do we need new tools or can we extend existing tools?</p>
<p>I see at least two much more fundamental problem areas which must be tackled prior to ever being able to have a satisfying set of tools for all of us:</p>
<p>1. Compatibility of dependency meta models</p>
<p>Before deciding whether we better store dependency meta data in OSGi manifests, pom.xml or ivy.xml it is necessary to understand the differences between their dependency meta models, see if there exists a one-to-one correspondence between all of them and if not, decide which meta model (not tooling) should be the standard dependency meta model for Java development in the future.</p>
<p>In OSGi alone the question if we think in packages (Import-Package) or in bundles (Require-Bundle) when it comes to dependencies is not yet answered. The question which approach to use cannot easily be answered because both have pros and cons. The pragmatic solution to combine both (Import-Bundle) by introducing a new header as done in dm Server is understandable, but it just blurs the two concepts without answering the underlying theoretical question, which concept is better (from a meta model point of view, not from a programmer&#039;s view, who wants to write as few lines as possible).</p>
<p>2. Bundle vendor chaos</p>
<p>We cannot solve organizational problems with technical solutions. If I could not register a domain and provide an authoritative DNS server, I could not guarantee that everybody who wants to see my website, can actually see my website. If we could not use globally unique IP addresses, not even the best algorithm could help us to establish an internet.</p>
<p>If I want to use commons-logging with OSGi and am spoilt for choice between tons of different bundles packaged by different vendors which basically provide the same functionality, I need not be surprised, when at some point I will run into dependency resolutions problems because two bundles I want to use have a different conception about resolving their dependency to commons-logging. Of course, at this point &#034;Import-Package&#034; seems to be the most robust and flexible solution to cope with that mess. But the mess is not removed, it&#039;s just covered a little.</p>
<p>We should not weaken the strictness of the dependency resolution mechanism by using a fuzzy notion like &#034;package&#034; (a package name is not yet a specification for which implementations are interchangeable). But we should increase the strictness by introducing authoritative bundle vendors/repositories. This is an organizational challenge, not a technical. We have a convention for package names so that packages are related to top level domains. If we use the same convention for bundle names, we could give every domain owner the possibility to define the authoritative repositories for bundles belonging to the respective domain.</p>
<p>org.apache could for example appoint the SpringSource Enterprise Bundle Repository as the authoritative repository for commons-logging. Or they provide their own repository, which is easily found by everyone who wants to use commons-logging by basically using the same mechanism as DNS. In such a world, &#034;Require-Bundle&#034; would not break things because everyone would use the same bundles.</p>
<p>I highly appreciate SpringSource&#039;s active and pragmatic approach, but would like to see even more interaction with the community before introducing non-standard concepts like &#034;Import-Bundle&#034; or by completely reimplementing tools for which a de facto standard exists because in a global perspective, this makes the Java world more complex again, eating up the improvements definitely made in a local perspective.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SpringSource Team Blog &#187; Getting Started with Bundlor</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-154005</link>
		<dc:creator>SpringSource Team Blog &#187; Getting Started with Bundlor</dc:creator>
		<pubDate>Mon, 23 Mar 2009 10:49:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-154005</guid>
		<description>[...] on March 20th, 2009 by Ben Hale in Builds, OSGi, Tools, dm Server.  As Rob&#039;s post points out, over the last few months we&#039;ve learned quite a bit about how people want to manage [...]</description>
		<content:encoded><![CDATA[<p>[...] on March 20th, 2009 by Ben Hale in Builds, OSGi, Tools, dm Server.  As Rob&#39;s post points out, over the last few months we&#39;ve learned quite a bit about how people want to manage [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Dupuis</title>
		<link>http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/comment-page-1/#comment-153118</link>
		<dc:creator>Christian Dupuis</dc:creator>
		<pubDate>Sat, 21 Mar 2009 14:07:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=1354#comment-153118</guid>
		<description>@Hans,

you are right. There are some Bundlor packages inside STS and we&#039;ll bundle BundlorEclipse with STS very timely. But - as Rob and Adrian - pointed out, BundlorEclipse will be available under the EPL-license as a separate installable set of Eclipse plugins. Stay tuned for more on the Bundlor Eclipse integration.

Regards,

Christian</description>
		<content:encoded><![CDATA[<p>@Hans,</p>
<p>you are right. There are some Bundlor packages inside STS and we&#039;ll bundle BundlorEclipse with STS very timely. But &#8211; as Rob and Adrian &#8211; pointed out, BundlorEclipse will be available under the EPL-license as a separate installable set of Eclipse plugins. Stay tuned for more on the Bundlor Eclipse integration.</p>
<p>Regards,</p>
<p>Christian</p>
]]></content:encoded>
	</item>
</channel>
</rss>
