<?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>f3yourmind &#187; OSGi</title>
	<atom:link href="http://aslamkhan.net/tag/osgi/feed/" rel="self" type="application/rss+xml" />
	<link>http://aslamkhan.net</link>
	<description>Ubuntu coding ... for your friends</description>
	<lastBuildDate>Mon, 24 Oct 2011 07:07:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Beware the Big Industry Specification Up Front</title>
		<link>http://aslamkhan.net/software-development/beware-the-big-industry-specification-up-front/</link>
		<comments>http://aslamkhan.net/software-development/beware-the-big-industry-specification-up-front/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:38:53 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[IAA]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[SCA]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=320</guid>
		<description><![CDATA[If you have done any development in Java-land, then surely you came across the dreaded three letter word EJB.  And you were most likely duped into thinking it was great.  I did!  Then I realised it was just a specification.  It was a great big, furry, non-executable PDF.  A specification for managing objects but the [...]]]></description>
			<content:encoded><![CDATA[<p>If you have done any development in Java-land, then surely you came across the dreaded three letter word EJB.  And you were most likely duped into thinking it was great.  I did!  Then I realised it was just a specification.  It was a great big, furry, non-executable PDF.  A specification for managing objects but the creating of these objects were just horrid.  EJB3 was a clean-up exercise, but still far from nice.</p>
<p>A couple of months ago I ran into OSGi again, but with SCA on top of it.  Horrid!  SCA is yet another warm and huggable specification.  But it&#8217;s so ugly to work with.  Everything feels so over the top complicated and restrictive in expression.  And the tools that I saw built on this SCA implementation were just awful.  Beyond being buggy, the enforced paradigm was just counter-productive.  When will tool vendors realise that talented developers do not want a diagramming interface to write code?  But the root cause is that the SCA specification describes the diagramming notation. Yuck!  Same reason that I do UML sketches with a lot of bastardisations with no tie-in with my code.</p>
<p>And let me not go into domain specific big vendor specs, designs, blue prints, etc. like IBM&#8217;s Insurance Application Architecture (IAA). Nasty stuff.</p>
<p>More commonly, I see so many self-confessed agile teams fearing the dreaded big design up front, and the big requirements up front document thrown over the wall.  If there is such a fear for big-x-up-front, why is there no fear for big-industry-and-vendor-specs-up-front like EJB, SCA, IAA, etc?</p>
<p>Why?</p>
<p>There are deep lessons and principles lurking beneath this surface.  Agile demands you to be a lot more aware of actions, decisions and consequences.</p>
<p>So why do you choose not to be agile when you are trying so hard to be agile?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Fbeware-the-big-industry-specification-up-front%2F&amp;title=Beware%20the%20Big%20Industry%20Specification%20Up%20Front" id="wpa2a_2"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/beware-the-big-industry-specification-up-front/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGi Article Part 2 on DZone</title>
		<link>http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/</link>
		<comments>http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 14:51:30 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Published Elsewhere]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/</guid>
		<description><![CDATA[The second part of my OSGi article is up on DZone. Here&#8217;s the URL&#8217;s for both parts. http://java.dzone.com/news/there-place-osgitm-enterprise- http://java.dzone.com/news/there-place-osgi-enterprise-ap-0 Enjoy!]]></description>
			<content:encoded><![CDATA[<p>The second part of my OSGi article is up on DZone.  Here&#8217;s the URL&#8217;s for both parts.</p>
<ol>
<li>   <a href="http://java.dzone.com/news/there-place-osgitm-enterprise-">http://java.dzone.com/news/there-place-osgitm-enterprise-</a></li>
<li>   <a href="http://java.dzone.com/news/there-place-osgi-enterprise-ap-0">http://java.dzone.com/news/there-place-osgi-enterprise-ap-0</a></li>
</ol>
<p>Enjoy!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Farticles%2Fosgi-article-part-2-on-dzone%2F&amp;title=OSGi%20Article%20Part%202%20on%20DZone" id="wpa2a_4"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGi Article on DZone</title>
		<link>http://aslamkhan.net/articles/osgi-article-on-dzone/</link>
		<comments>http://aslamkhan.net/articles/osgi-article-on-dzone/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 18:54:57 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Published Elsewhere]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/articles/osgi-article-on-dzone/</guid>
		<description><![CDATA[An article I wrote which questions the readiness of OSGi for enterprise development has been published in two parts on the EclipseZone at DZone.  Read the first part at http://eclipse.dzone.com/news/there-place-osgitm-enterprise-. Watch out for the hyphen at the end of the URL, it&#8217;s significant Many thanks to the kind folks at DZone for the publication.]]></description>
			<content:encoded><![CDATA[<p>
An article I wrote which questions the readiness of OSGi for enterprise development has been published in two parts on the <a href="http://eclipse.dzone.com">EclipseZone</a> at <a href="http://www.dzone.com">DZone</a>.  Read the first part at <a href="http://eclipse.dzone.com/news/there-place-osgitm-enterprise-">http://eclipse.dzone.com/news/there-place-osgitm-enterprise-</a>.  Watch out for the hyphen at the end of the URL, it&#8217;s significant <img src='http://aslamkhan.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Many thanks to the kind folks at <a href="http://www.dzone.com">DZone</a> for the publication.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Farticles%2Fosgi-article-on-dzone%2F&amp;title=OSGi%20Article%20on%20DZone" id="wpa2a_6"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/articles/osgi-article-on-dzone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AWOL at TSS-JS</title>
		<link>http://aslamkhan.net/events/awol-at-tss-js/</link>
		<comments>http://aslamkhan.net/events/awol-at-tss-js/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 19:04:58 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/events/awol-at-tss-js/</guid>
		<description><![CDATA[I was (still am) extremely disappointed at not having made the trip to Las Vegas to present my bit on OSGi at theserverside.com Java Symposium. To date, I am still waiting for my USA visa The TSS folk and myself have had a quick exchange about me doing a webcast later on this topic. Let&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I was (still am) extremely disappointed at not having made the trip to Las Vegas to present my bit on OSGi at theserverside.com Java Symposium.  To date, I am still waiting for my USA visa <img src='http://aslamkhan.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />   The TSS folk and myself have had a quick exchange about me doing a webcast later on this topic.  Let&#8217;s hope we can pull it off.</p>
<p>Well, the event has come and gone, but you can download my presentation at <a href="http://wiki.javasymposium.com/download/attachments/501/Aslam+Khan-OSGiPresentation.pdf">http://wiki.javasymposium.com/download/attachments/501/Aslam+Khan-OSGiPresentation.pdf</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fevents%2Fawol-at-tss-js%2F&amp;title=AWOL%20at%20TSS-JS" id="wpa2a_8"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/events/awol-at-tss-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGi Cookbook: #1. A Simple Bean</title>
		<link>http://aslamkhan.net/software-development/osgi-cookbook-1-a-simple-bean/</link>
		<comments>http://aslamkhan.net/software-development/osgi-cookbook-1-a-simple-bean/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 12:04:13 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/osgi/osgi-cookbook-1-a-simple-bean/</guid>
		<description><![CDATA[This is something that I have been meaning to do for some time now, i.e. an OSGi cookbook. So this is the first in a series of recipes, with each one building on the next in usefulness and complexity. This recipe is really for newbies, just to take some of the mystery out of OSGi and to [...]]]></description>
			<content:encoded><![CDATA[<p>This is something that I have been meaning to do for some time now, i.e. an OSGi cookbook.  So this is the first in a series of recipes, with each one building on the next in usefulness and complexity.  This recipe is really for newbies, just to take some of the mystery out of <a href="http://www.osgi.org">OSGi</a> and to introduce some of the emerging tools for OSGi development.  If you have never done anything with OSGi before, then I recommend that you work through <a href="http://neilbartlett.name/blog">Neil Bartlett&#8217;s</a> excellent series on getting started with OSGi.<br />
<h2>Getting ready</h2>
<p> Ensure that you have <a href="http://maven.apache.org/" title="Maven - Welcome to Maven">maven</a> andthe <a href="http://www.ops4j.org/projects/pax/construct/" title="Pax Construct - Quickstart">pax-construct</a> scripts installed.The installation is straight forward, just follow the instructions on their respective web sites.<br />
<h2><a name="ASimpleBean" title="ASimpleBean"></a>#1. A Simple Bean</h2>
<p>This recipe creates a service out of a simple POJO.  The service doesn&#8217;t do anything useful, but the recipe is a simple way to getyour development environment up and running.
<ol>
<li>Create a project using pax-construct.The pax-construct scripts uses maven and the <a href="http://www.ops4j.org/projects/pax/construct/maven-pax-plugin/index.html" title="maven-pax-plugin - Introduction">maven-pax-plugin</a>.Using the familiar maven terminology of groupId and artifactId, create the project with a groupId of <code>net.aslamkhan</code> and artifactId of <code>osgi-simplebean</code>.
<pre><span style="color: blue">/&gt; pax-create-project -g net.aslamkhan -a osgi-simplebean</span></pre>
<pre>...</pre>
<pre>[INFO] Archetype created in dir: /Users/aslam/projects/osgi/osgi-simplebean</pre>
<pre>[INFO] ------------------------------------------------------------------------</pre>
<pre>[INFO] BUILD SUCCESSFUL</pre>
<pre>[INFO] ------------------------------------------------------------------------</pre>
</li>
<li>Have a look at what&#8217;s in the project and make sure that it does build cleanly (well, there&#8217;s actually nothing worthwhile to build here, but let&#8217;s make sure that everything is still ok).
<pre><span style="color: blue">/&gt; cd osgi-simplebean</span>		<span style="color: blue"></span></pre>
<pre><span style="color: blue">/&gt; ls -l</span></pre>
<pre>-rw-r--r--   1 aslam  aslam  2354 Jan  9 10:26 pom.xml</pre>
<pre>drwxr-xr-x   5 aslam  aslam   170 Jan  9 10:26 poms</pre>
<pre>drwxr-xr-x   3 aslam  aslam   102 Jan  9 10:26 provision			<span style="color: blue"></span></pre>
<pre><span style="color: blue">/&gt; mvn package</span></pre>
<pre>...</pre>
<pre>[INFO] ------------------------------------------------------------------------</pre>
<pre>[INFO] Reactor Summary:</pre>
<pre>[INFO] ------------------------------------------------------------------------</pre>
<pre>[INFO] net.aslamkhan.osgi-simplebean (OSGi project) .......... SUCCESS [1.689s]</pre>
<pre>[INFO] osgi-simplebean - plugin configuration ................ SUCCESS [0.004s]</pre>
<pre>[INFO] osgi-simplebean - wrapper instructions................. SUCCESS [32.144s]</pre>
<pre>[INFO] osgi-simplebean - bundle instructions ................. SUCCESS [0.003s]</pre>
<pre>[INFO] osgi-simplebean - imported bundles .................... SUCCESS [0.002s]</pre>
<pre>...</pre>
</li>
<li> 			We now need to add in the dependencies for <a href="http://www.springframework.org/osgi/">Spring Dynamic Modules for OSGi</a>.  Instead of hand crafting our maven <code>pom.xml</code> file(s), we again use a pax-construct script to add the repositoriesfor the Spring distributions.  From this point onwards, I will not show the output of commands unless it helps to illustrate a point.
<pre><span style="color: blue">/&gt; pax-add-repository -i spring-milestones \</span></pre>
<pre><span style="color: blue">   -u http://s3.amazonaws.com/maven.springframework.org/milestone</span><span style="color: blue"></span></pre>
<pre><span style="color: blue">/&gt; pax-add-repository -i spring-snapshots \</span></pre>
<pre><span style="color: blue">   -u http://static.springframework.org/maven2-snapshots \</span></pre>
<pre><span style="color: blue">   -- -Dsnapshots "-Dreleases=false"</span></pre>
</li>
<li>Import the spring-osgi-extender bundle, and the slf4j logging service bundle.
<pre><span style="color: blue">/&gt; pax-import-bundle -g org.springframework.osgi \</span></pre>
<pre><span style="color: blue">   -a spring-osgi-extender -v 1.0-rc1 \</span></pre>
<pre><span style="color: blue">   -- -DwidenScope -DimportTransitive</span></pre>
<p>If you look at the contents of the <code>provision/pom.xml</code> file, you will see a bunch of dependencies that have been pulled inthe moment we imported the spring-osgi-extender bundle.
<pre>&lt;dependency&gt;</pre>
<pre><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;groupId&gt;org.springframework.osgi&lt;/groupId&gt;</pre>
<pre><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;artifactId&gt;spring-osgi-extender&lt;/artifactId&gt;</pre>
<pre><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;version&gt;1.0-rc1&lt;/version&gt;</pre>
<pre><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;scope&gt;provided&lt;/scope&gt;</pre>
<pre>&lt;/dependency&gt;</pre>
<pre>...</pre>
</li>
<li> 		Now that we have all the infrastructure things sorted out, we can start cooking.  The quickest way to get cooking is to usethe pax-construct <code>pax-create-bundle</code> script.  In this instance, we will create a sample bean with the necessaryboilerplate files needed for Spring Dynamic Modules. 
<pre><span style="color: blue">/&gt; pax-create-bundle -p org.example.bean \</span></pre>
<pre><span style="color: blue">   -- -Dspring -Djunit</span></pre>
<p>Notice that another directory <code>org.example.bean</code> has been created.  Furthermore, this maven module has been added to the root (i.e. parent) <code>./pom.xml</code> file.  Also conveniently created, is asample bean and associated unit tests in <code>org.example.bean/src</code> directory.Edit the <code>org.example.bean/src/main/resources/META-INF/spring/bundle-context-osgi.xml</code> file to contain the following.
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</pre>
<pre>  &lt;beans xmlns="http://www.springframework.org/schema/beans"			  </pre>
<pre>    ...</pre>
<pre>    xmlns:osgi="http://www.springframework.org/schema/osgi"</pre>
<pre>    ...&gt;</pre>
<pre><span class="Apple-tab-span" style="white-space: pre">	</span>&lt;osgi:service ref="myExampleBean"&gt;			        </pre>
<pre><span style="white-space: pre" class="Apple-tab-span">	</span>  &lt;osgi:interfaces&gt;			            </pre>
<pre><span style="white-space: pre" class="Apple-tab-span">	</span>    &lt;value&gt;org.example.bean.ExampleBean&lt;/value&gt;			        </pre>
<pre><span style="white-space: pre" class="Apple-tab-span">	</span>  &lt;/osgi:interfaces&gt;			    </pre>
<pre><span style="white-space: pre" class="Apple-tab-span">	</span>&lt;/osgi:service&gt;</pre>
<pre>&lt;/beans&gt;</pre>
</li>
<li> 			We should be able to build this and fire it up in the <a href="http://cwiki.apache.org/FELIX/index.html" title="Apache Felix - Index">Apache Felix</a> OSGi implementation.  But wait!  We have not downloaded, nor installed Felix.  Not to worry, maven-pax-plugin will download Felix and fire it up for you, allpart of the <code>pax:provision</code> goal.
<pre><span style="color: blue">/&gt; mvn clean install pax:provision</span></pre>
<pre><span style="color: blue">...</span> properties (org.springframework.context.service.name=org.example.bean)</pre>
<pre>-&gt;</pre>
<p>Let&#8217;s check if our org.example.bean bundle is installed and active.  From the Felix console, enter the following.Also notice that the spring-osgi-extender bundle and spring 2.5 jars are now available as bundles as well.
<pre><span style="color: blue">-&gt; ps</span></pre>
<pre>START LEVEL 6			   ID   State         Level  Name</pre>
<pre>[   0] [Active     ] [    0] System Bundle (1.0.1)</pre>
<pre>[   1] [Active     ] [    1] org.osgi.r4.compendium (1.0.0)</pre>
<pre>[   2] [Active     ] [    1] Apache Felix Shell Service (1.0.0)</pre>
<pre>[   3] [Active     ] [    1] Apache Felix Shell TUI (1.0.0)</pre>
<pre>[   4] [Active     ] [    5] spring-osgi-extender (1.0.0.rc1)</pre>
<pre>[   5] [Active     ] [    5] jcl104-over-slf4j (1.4.3)</pre>
<pre>[   6] [Active     ] [    5] slf4j-api (1.4.3)</pre>
<pre>[   7] [Active     ] [    5] spring-osgi-core (1.0.0.rc1)</pre>
<pre>[   8] [Active     ] [    5] spring-osgi-io (1.0.0.rc1)</pre>
<pre>[   9] [Active     ] [    5] spring-aop (2.5.0)</pre>
<pre>[  10] [Active     ] [    5] spring-beans (2.5.0)</pre>
<pre>[  11] [Active     ] [    5] spring-context (2.5.0)</pre>
<pre>[  12] [Active     ] [    5] spring-core (2.5.0)</pre>
<pre>[  13] [Active     ] [    5] spring-web (2.5.0)</pre>
<pre>[  14] [Active     ] [    5] spring-test (2.5.0)</pre>
<pre>[  15] [Active     ] [    5] aopalliance.osgi (1.0.0.SNAPSHOT)</pre>
<pre>[  16] [Active     ] [    5] backport-util-concurrent.osgi (3.0.0.SNAPSHOT)</pre>
<pre>[  17] [Active     ] [    5] slf4j-simple (1.4.3)			<span style="color: green"></span></pre>
<pre><span style="color: green">[  18] [Active     ] [    5] org.example.bean (1.0.0.SNAPSHOT)</span></pre>
<pre>-&gt;</pre>
<p>Now, check that the service is available.
<pre><span style="color: blue">-&gt; services</span></pre>
<pre>...</pre>
<pre>org.example.bean (18) provides:</pre>
<pre>-------------------------------			<span style="color: green"></span></pre>
<pre><span style="color: green">org.example.bean.ExampleBean</span></pre>
<pre>org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext, </pre>
<pre>...</pre>
</li>
</ol>
<p>That&#8217;s it for this recipe.  Overall, pax makes it really painless to get your OSGi implementation up and running in your developmentenvironment.  Combined with the convenience of spring-dm, we have the start of something really productive.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Fosgi-cookbook-1-a-simple-bean%2F&amp;title=OSGi%20Cookbook%3A%20%231.%20A%20Simple%20Bean" id="wpa2a_10"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/osgi-cookbook-1-a-simple-bean/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Speaking at TSS-JS 2008</title>
		<link>http://aslamkhan.net/events/speaking-at-tss-js-2008/</link>
		<comments>http://aslamkhan.net/events/speaking-at-tss-js-2008/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 17:11:40 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/events/speaking-at-tss-js-2008/</guid>
		<description><![CDATA[I will be speaking at the next TheServerSide Java Symposium in Las Vegas in March 2008.  The presentation will be part of the FrontLine Java track and will cover OSGi and its use in Enterprise Application Development.  This is a more detailed presentation of what I was intending to cover at the *Camp in Cape Town.]]></description>
			<content:encoded><![CDATA[<p>I will be speaking at the next <a href="http://javasymposium.techtarget.com/lasvegas/index.html" title="TSS-JS 2008 Las Vegas">TheServerSide Java Symposium</a> in Las Vegas in March 2008.  The presentation will be part of the <span style="font-style: italic" class="Apple-style-span">FrontLine Java</span> track and will cover <a href="http://www.osgi.org/" title="OSGi">OSGi</a> and its use in Enterprise Application Development.  This is a more detailed presentation of what I was intending to cover at the <a href="http://wiki.geekdinner.org.za/wiki/Star_Camp/Cape_Town_2007" title="Star-Camp">*Camp</a> in Cape Town.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fevents%2Fspeaking-at-tss-js-2008%2F&amp;title=Speaking%20at%20TSS-JS%202008" id="wpa2a_12"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/events/speaking-at-tss-js-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Treading into OSGi</title>
		<link>http://aslamkhan.net/software-development/treading-into-osgi/</link>
		<comments>http://aslamkhan.net/software-development/treading-into-osgi/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 11:34:21 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/java/treading-into-osgi/</guid>
		<description><![CDATA[On my current project, the number of JavaBeans / Spring Beans is becoming a bit too much to handle. What&#8217;s becoming quite painful is that there is a significant number of combinations and dependencies between beans, and between the various web applications that we are rolling out. Simply including a few &#8220;common&#8221; JARs in multiple [...]]]></description>
			<content:encoded><![CDATA[<p>On my current project, the number of JavaBeans / Spring Beans is becoming a bit too much to handle.  What&#8217;s becoming quite painful is that there is a significant number of combinations and dependencies between beans, and between the various web applications that we are rolling out.  Simply including a few &#8220;common&#8221; JARs in multiple WAR&#8217;s is not good enough anymore.Modularity and dynamic modules has always been painful in Java, mostly due to its ridiculous class loader.  But <a href="http://www.osgi.org/" title="OSGi">OSGi</a> seems to offer significant improvements in this area.  The possibilities of having classes &#8220;plugging&#8221; into each other, resolving versions, etc., all dynamically is terribly exciting and, at the same time, frightening.Nevertheless, I will be venturing into OSGi land and will blog my experiences and hopefully provide a some simple HOWTO&#8217;s and tutorial style posts.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Ftreading-into-osgi%2F&amp;title=Treading%20into%20OSGi" id="wpa2a_14"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/treading-into-osgi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

