<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Modular Mind &#187; OSGi</title>
	<atom:link href="http://www.modumind.com/category/osgi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.modumind.com</link>
	<description>Eclipse RCP and OSGi training - online or onsite</description>
	<lastBuildDate>Thu, 18 Feb 2010 19:07:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Interesting opportunity for RCP/OSGi experts</title>
		<link>http://www.modumind.com/2010/02/18/interesting-opportunity-for-rcposgi-experts/</link>
		<comments>http://www.modumind.com/2010/02/18/interesting-opportunity-for-rcposgi-experts/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 19:07:32 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Rich Client Platform]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://www.modumind.com/?p=1174</guid>
		<description><![CDATA[One of the things I love about being a trainer is that I get to visit and work with so many development teams. Every group of developers has their own chemistry, culture, skills and domain interests. Sometimes I think I&#8217;m learning as much as the teams I&#8217;m training.
As it happens, one of the teams I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I love about being a trainer is that I get to visit and work with so many development teams. Every group of developers has their own chemistry, culture, skills and domain interests. Sometimes I think I&#8217;m learning as much as the teams I&#8217;m training.</p>
<p>As it happens, one of the teams I&#8217;ve enjoyed working with the most is looking for a full-time RCP/OSGi project lead. The company, <a href="http://www.extol.com">EXTOL</a>, is a small, successful ISV that creates B2B integration tools. I don&#8217;t do this too often, but I wanted to pass this on because I think it&#8217;s such a cool opportunity. What&#8217;s so cool about it, you ask?</p>
<ul>
<li>First, I don&#8217;t think there&#8217;s any better programming job than working for a small ISV. You can have a big impact and what you do matters. A lot.</li>
<li>EXTOL is re-architecting it&#8217;s products from the ground up (this is greenfield development) and they&#8217;re using a lot of interesting technologies &#8211; RCP, OSGi, EMF, GMF and more.</li>
<li>One of the coolest things they&#8217;re doing is leveraging OSGi on both the client-side and server-side. Very few projects are leveraging OSGi in this way, and I think the opportunities here are awesome.</li>
<li>Finally, the team is great. The developers are smart and easy to work with, management knows how to let developers be successful.</li>
</ul>
<p>So what&#8217;s the catch? Well, whether there&#8217;s a catch or not depends on what you&#8217;re looking for in your life at the moment. EXTOL is located in a small town (Pottsville) in the hills of eastern Pennsylvania. It&#8217;s a beautiful area with lots to do outdoors, a great place to raise a family and much more. It&#8217;s not for everyone, but I imagine it would be great for more than a few of the developers I&#8217;ve met.</p>
<p>If you&#8217;re interested, here&#8217;s <a href="http://www.extol.com/blog/?p=474">a post on the EXTOL blog</a> that goes into more detail. They&#8217;ll also have developers at EclipseCon, so feel free to introduce yourself to one of them (or me) if you&#8217;re there as well.</p>
<a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="DZone" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16" height="16" alt="DZone"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Digg" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Squidoo" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16" height="16" alt="Squidoo"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" title="Yahoo Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16" height="16" alt="Yahoo Bookmarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts">Share/Save</a>]]></content:encoded>
			<wfw:commentRss>http://www.modumind.com/2010/02/18/interesting-opportunity-for-rcposgi-experts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java modularity presentation in Prezi</title>
		<link>http://www.modumind.com/2009/11/09/java-modularity-presentation-in-prezi/</link>
		<comments>http://www.modumind.com/2009/11/09/java-modularity-presentation-in-prezi/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 21:59:05 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[OSGi]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://www.modumind.com/?p=1165</guid>
		<description><![CDATA[One of the talks I give most often is called &#8220;Why Java Modularity Matters&#8221;. This is my attempt to explain how modularity in general and OSGi in particular represent the next logical step in the evolution of software development. I&#8217;m actually giving this talk at the Madison Java Users Group tomorrow night, and if you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>One of the talks I give most often is called &#8220;Why Java Modularity Matters&#8221;. This is my attempt to explain how modularity in general and OSGi in particular represent the next logical step in the evolution of software development. I&#8217;m actually <a href="http://www.wjug.org/madjug/">giving this talk at the Madison Java Users Group tomorrow night</a>, and if you&#8217;re in the area please feel free to stop by.</p>
<p>Anyway, I spent some time last week moving the presentation over to <a href="http://prezi.com">Prezi</a>, which I&#8217;ve been interested in trying for a while. What I like about Prezi is that it allows you to convey structure and meaning in ways that are impossible with regular slideware. </p>
<p>If you&#8217;re interested in what this looks like, check out the presentation embedded below. It&#8217;s obviously not meant to convey a lot of information on it&#8217;s own, but you&#8217;ll get the general idea. And as always, I&#8217;d be interested to hear what you think.</p>
<p><object id="prezi_c_-jv83gybyw" name="prezi_c_-jv83gybyw" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=c_-jv83gybyw&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"/><embed id="preziEmbed_c_-jv83gybyw" name="preziEmbed_c_-jv83gybyw" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=c_-jv83gybyw&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"></embed></object> </p>
<a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="DZone" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16" height="16" alt="DZone"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Digg" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Squidoo" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16" height="16" alt="Squidoo"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" title="Yahoo Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16" height="16" alt="Yahoo Bookmarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi">Share/Save</a>]]></content:encoded>
			<wfw:commentRss>http://www.modumind.com/2009/11/09/java-modularity-presentation-in-prezi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is a modular application, anyway?</title>
		<link>http://www.modumind.com/2009/08/27/what-is-a-modular-application-anyway/</link>
		<comments>http://www.modumind.com/2009/08/27/what-is-a-modular-application-anyway/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 21:55:04 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Rich Client Platform]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://www.modumind.com/?p=793</guid>
		<description><![CDATA[What does the term application mean in the context of modular software development (and OSGi in particular). It seems to me that the concept of an application starts to break down. For instance, is an OSGi application just the set of bundles known to the framework?
Well, here&#8217;s my take on what a modular application might [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.modumind.com/wp-content/uploads/2009/08/water-and-ripple.jpg" alt="Drop of water" title="Drop of water" width="261" height="282" class="alignright size-full wp-image-809" />What does the term <em>application</em> mean in the context of modular software development (and OSGi in particular). It seems to me that the concept of an application starts to break down. For instance, is an OSGi application just the set of bundles known to the framework?</p>
<p>Well, here&#8217;s my take on what a modular application might mean.</p>
<p><strong>Going beyond the steady state</strong></p>
<p>When an OSGi framework fires up, some bundles may be activated, others may not. Some activators may perform logic, others may not. But what arises from this activity? Is this the equivalent of launching an application? It can be, but its more often the case that the framework arrives at a steady state, waiting for an input that triggers some behavior. </p>
<p>This can be confusing when we start using OSGi because this doesn&#8217;t look like an application. What we need is an <em>entry point</em>. Just as throwing a rock into a pond causes waves to form, we need to launch a thread of execution that takes us beyond the steady state. So how do we accomplish this?</p>
<p><strong>Eclipse applications</strong></p>
<p>The Eclipse platform provides us with one answer in the form of an Eclipse application. An Eclipse application is defined through the <code>org.eclipse.core.runtime.applications</code> extension point and is represented by an <code>IApplication</code> instance at runtime. And this mechanism can easily be added to Equinox by installing some additional bundles.</p>
<p>This is how, for example, Eclipse RCP applications are launched in the context of an OSGi framework. But it&#8217;s interesting to note that one set of bundles may support multiple applications. So a good way to look at an application is that it is merely a specific entry point into the functionality provided by a community of bundles.</p>
<p><strong>The OSGi Application Admin service</strong></p>
<p>We can take the concept of an OSGi application one step further by utilizing the <em>OSGi Application Admin</em> service. This service recognizes the concept of an application in the abstract (specific providers can define what an application means in each case), and allows an application to provide an entry point that will launch a thread of execution.</p>
<p>Equinox, for instance, <a href="http://wiki.eclipse.org/Equinox_Application_Model_Demo">provides an <em>application descriptor</em> for Eclipse applications</a>. This means that you can use the Application Admin service to start and stop Eclipse applications from the OSGi console. The available console commands are:</p>
<ul>
<li><code>apps</code> &#8211; list currently available applications</li>
<li><code>activeApps</code> &#8211; list currently active applications</li>
<li><code>startApp [app id]</code> &#8211; start an application</li>
<li><code>stopApp [app id]</code> &#8211; stop an application</li>
</ul>
<p>These commands can be used to launch most types of Eclipse applications, including those with an SWT user interface. Unfortunately, they cannot yet be used to launch Eclipse RCP applications because of the way in which singletons are used. This is scheduled to be fixed as part of the e4 work.</p>
<p><strong>Possibilities</strong></p>
<p>I think all of this is pretty exciting because it allows us to reimagine the relationship between applications, modules and running platforms (JVMs and OSGi frameworks). For example, imagine being able to deploy an Eclipse RCP application into a running OSGi-based ESB. The application would allow you to manipulate the ESB in container and it could then be undeployed when no longer needed. All of this could be done without restarting the ESB.</p>
<p>It&#8217;s going to be fascinating to see how of all this plays out in the next few years. The possibilities are endless!</p>
<a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="DZone" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16" height="16" alt="DZone"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Digg" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Squidoo" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16" height="16" alt="Squidoo"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F" title="Yahoo Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16" height="16" alt="Yahoo Bookmarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F08%2F27%2Fwhat-is-a-modular-application-anyway%2F&amp;linkname=What%20is%20a%20modular%20application%2C%20anyway%3F">Share/Save</a>]]></content:encoded>
			<wfw:commentRss>http://www.modumind.com/2009/08/27/what-is-a-modular-application-anyway/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making OSGi easier</title>
		<link>http://www.modumind.com/2009/06/03/making-osgi-easier/</link>
		<comments>http://www.modumind.com/2009/06/03/making-osgi-easier/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:42:50 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Ramblings]]></category>

		<guid isPermaLink="false">http://rcpquickstart.com/?p=545</guid>
		<description><![CDATA[While there are a ton of benefits to be gained from adopting OSGi, it&#8217;s not a trivial task to migrate your existing code. Class loader issues can bite you and perhaps the biggest pain-point is the migration of third-party libraries.
Third-party libraries are a problem because while bundle repositories are growing in size, there are still [...]]]></description>
			<content:encoded><![CDATA[<p>While there are a ton of benefits to be gained from adopting OSGi, it&#8217;s not a trivial task to migrate your existing code. Class loader issues can bite you and perhaps the biggest pain-point is the migration of third-party libraries.</p>
<p>Third-party libraries are a problem because while bundle repositories are growing in size, there are still a lot of JARs out there not packaged as OSGi bundles.</p>
<p>So what can we do to make it easier to adopt OSGi?</p>
<p><strong>The Knoplerfish answer</strong></p>
<p>Well it turns out that the <a title="Knoplerfish OSGi framework" href="http://www.knopflerfish.org">Knoplerfish OSGi framework</a> has solutions to many of these issues. Among the features offered are:</p>
<ul>
<li>Automatic runtime generation of manifests for non-bundle JARs</li>
<li>Automatic patching of code that uses inappropriate (for OSGi anyway)  class loading mechanisms</li>
<li>Ability to execute <code>static main</code> methods inside of the framework</li>
</ul>
<p>These solutions are covered in detail in <a href="http://www.osgi.org/wiki/uploads/CommunityEvent2008/30_knopflerfish-osgi-berlin-2008.pdf"> this presentation</a> given last year.</p>
<p><strong>Why are these solutions not more popular?</strong></p>
<p>I&#8217;m wondering why these types of solutions are not discussed and suggested more. Are there similar features in <a title="Equinox OSGi framework" href="http://www.eclipse.org/equinox/">Equinox</a> and <a title="Felix OSGi framework" href="http://felix.apache.org">Felix</a> that I&#8217;m not aware of? And if not, are there any plans to implement them?</p>
<p>I&#8217;d love to hear from others whether features like these would be useful to you or not. I&#8217;d also be interested to hear what else could be done to make OSGi adoption easier. In my opinion, the difficulty of migrating applications to OSGi is one of the main things holding it back. What can we do to fix this?</p>
<a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="DZone" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16" height="16" alt="DZone"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Digg" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Squidoo" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16" height="16" alt="Squidoo"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier" title="Yahoo Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16" height="16" alt="Yahoo Bookmarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F06%2F03%2Fmaking-osgi-easier%2F&amp;linkname=Making%20OSGi%20easier">Share/Save</a>]]></content:encoded>
			<wfw:commentRss>http://www.modumind.com/2009/06/03/making-osgi-easier/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why is OSGi important?</title>
		<link>http://www.modumind.com/2009/05/04/why-is-osgi-important/</link>
		<comments>http://www.modumind.com/2009/05/04/why-is-osgi-important/#comments</comments>
		<pubDate>Mon, 04 May 2009 21:55:27 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Ramblings]]></category>

		<guid isPermaLink="false">http://rcpquickstart.com/?p=481</guid>
		<description><![CDATA[I&#8217;ve seen a number of blog posts and tweets lately asking some version of the question Why is OSGi important? If you&#8217;re one of the many people looking around at the increasing usage of OSGi and wondering whether it matters to you, here&#8217;s my answer.
I&#8217;m going to start by making a pretty audacious claim, which [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen a number of blog posts and tweets lately asking some version of the question <em>Why is OSGi important?</em> If you&#8217;re one of the many people looking around at the increasing usage of OSGi and wondering whether it matters to you, here&#8217;s my answer.</p>
<p>I&#8217;m going to start by making a pretty audacious claim, which is that <em>OSGi is one of the most important technologies to have arisen in the last 20 years</em>.  This does not mean, however, that OSGi is a revolutionary technology. In fact, OSGi is so important because it represents the logical next step in the long-term evolution of software development.</p>
<p><strong>Where we&#8217;re coming from</strong></p>
<p>To understand what I mean, let&#8217;s go back 20 to 30 years to the time when object oriented languages first became popular. One of the main reasons we adopted OO at that time was because it allowed us to hide many of the implementation details of our code.</p>
<p>Moving from procedural languages to OO languages allowed us to develop classes exposing a contract defined by a set of public methods.</p>
<p><img class="aligncenter size-full wp-image-484" title="class-encapsulation" src="/wp-content/uploads/2009/05/class-encapsulation.png" alt="class-encapsulation" width="400" height="428" /></p>
<p>The result was that much of our code was invisible outside of its class, and this had profound implications for the way we develop software. By accepting the apparent <em>restriction</em> of visibility we gained immense <em>freedom</em>. We gained the freedom to reuse classes without knowing their implementation details. We gained the freedom to refactor our code without worrying about the consumers of a class.</p>
<p>Can you imagine what a pain it would be if you had to develop software without information hiding?</p>
<p><strong>Where we&#8217;re headed</strong></p>
<p>Now imagine what it would be like if you could hide not only the methods within a class but entire sets of classes within a JAR.  Imagine that JARs could define public contracts the same way classes do, and that these contracts would be enforced both during development and at runtime. Imagine that we could achieve all of the benefits of information hiding (managing complexity, code reuse, testability, refactoring, etc.) at an entirely new level.</p>
<p>OSGi makes this possible by offering up the standard Java package as a new unit of information hiding. When our code is running inside of an OSGi framework, each package in a JAR can be either exposed or hidden from consumers of that JAR.</p>
<p><img class="aligncenter size-full wp-image-485" title="jar-encapsulation" src="/wp-content/uploads/2009/05/jar-encapsulation.png" alt="jar-encapsulation" width="400" height="428" /></p>
<p>Just as a class has a small set of public methods representing its contract with consumers, a <em>modularized</em> JAR (a <em>bundle</em> in OSGi terms) has a small set of exported packages representing its public contract. The bulk of our code lives in internal packages hidden from other JARs.</p>
<p>Imagine being able to rename classes, split or combine classes, move classes from one package to another, move entire packages from one JAR to another, all without having to worry about impacting the consumers of a JAR. So many of these types of refactorings are skipped now out of fear. Package level information hiding gives us the confidence we need to perform these refactorings, allowing us to react with agility to the changing needs of our users.</p>
<p><strong>Modularity is inevitable</strong></p>
<p>Whether OSGi in particular succeeds or not, JAR level information hiding is inevitable. The benefits are simply too great to ignore, and in 5 or 10 years we&#8217;ll all be wondering how we could have possibly lived without it.</p>
<p>Currently, OSGi is the only tool we have to accomplish this. Luckily for us it&#8217;s a well though-out, well tested, standards-based solution. I can&#8217;t think of one reason (besides perhaps its name) to develop an alternative to OSGi. It&#8217;s here. It works. Let&#8217;s use it.</p>
<p><strong>It&#8217;s time for OSGi</strong></p>
<p>Steve McConnell has a great quote that really gets at the heart of what OSGi is trying to achieve.</p>
<p>In <a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1241472958&amp;sr=8-1">Code Complete</a>, he writes:</p>
<blockquote><p>Software development has advanced in large part by increasing the granularity of the aggregations that we have to work with.</p></blockquote>
<p>Because this granularity of aggregation is so critical, <em>the move from unmodular to modular practices is as important as the move from procedural to object-oriented practices</em>. For 20 years we&#8217;ve been limited to using the class as our unit of abstraction. As successful as that has been, it&#8217;s time to move on to modules.  Its time for OSGi.</p>
<a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="DZone" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16" height="16" alt="DZone"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Digg" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Squidoo" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16" height="16" alt="Squidoo"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F" title="Yahoo Bookmarks" rel="nofollow" target="_blank"><img src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16" height="16" alt="Yahoo Bookmarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F05%2F04%2Fwhy-is-osgi-important%2F&amp;linkname=Why%20is%20OSGi%20important%3F">Share/Save</a>]]></content:encoded>
			<wfw:commentRss>http://www.modumind.com/2009/05/04/why-is-osgi-important/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
