<?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>Gunnar's Weblog &#187; J2EE</title>
	<atom:link href="http://wagenknecht.org/blog/category/j2ee/feed" rel="self" type="application/rss+xml" />
	<link>http://wagenknecht.org/blog</link>
	<description>Me, my family, whatever I like, whatever I want to write about!</description>
	<lastBuildDate>Sat, 21 Jan 2012 21:29:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>The myth of OSGi-fying 3rd party libraries</title>
		<link>http://wagenknecht.org/blog/archives/2009/03/the-myth-of-osgi-fying-3rd-party-libs.html</link>
		<comments>http://wagenknecht.org/blog/archives/2009/03/the-myth-of-osgi-fying-3rd-party-libs.html#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:18:03 +0000</pubDate>
		<dc:creator>Gunnar Wagenknecht</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[bundling]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Spring DM]]></category>

		<guid isPermaLink="false">http://wagenknecht.org/blog/?p=211</guid>
		<description><![CDATA[There is a nice SpringSource blog about their plans for building OSGi applications. Actually, it&#8217;s more an advertisment for their tool called bundlor which basically has the same purpose as bnd but is implemented in a different way. There is one point in the blog the I don&#8217;t like at all. It&#8217;s yet again I [...]]]></description>
			<content:encoded><![CDATA[<p>There is a nice SpringSource blog about <a title="Open SpringSource blog about bundlor" href="http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/" target="_blank">their plans</a> for building OSGi applications. Actually, it&#8217;s more an advertisment for their tool called bundlor which basically has the same purpose as bnd but is implemented in a different way.</p>
<p>There is one point in the blog the I don&#8217;t like at all. It&#8217;s yet again I hear the myth about automatically generating OSGi bundles from 3rd party libraries and how successful it is used in the SpringSource bundle repository. Folks, it might work for one 3rd party library but it will never work  in an automated way for all 3rd party libraries. There are just too many issues around OSGi-fying 3rd party libs which need to be addressed carefully. If the library deals with class loading you might be out of luck no matter how great your generated manifests look like. You need to modify your source code and/or <a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=1888" target="_blank">patch</a> the 3rd party library to make it work correctly. Even better, sometimes there are multiple ways to convert a 3rd party library into an OSGi bundle. A stubborn one-to-one conversion process cannot incorporate that. It may depend on your requirements and preferences.</p>
<p>The process is not finished with generating manifests. Be aware that this can cause <a href="http://www.springsource.com/repository/app/search?query=lucene" target="_blank">broken bundles</a>. Those issues are <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=260034" target="_blank">fixable</a>. But this example shows that every library requires careful attention.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://wagenknecht.org/blog/archives/2009/03/the-myth-of-osgi-fying-3rd-party-libs.html" target="_blank"><img src="http://wagenknecht.org/blog/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://wagenknecht.org/blog/archives/2009/03/the-myth-of-osgi-fying-3rd-party-libs.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Persisting Data</title>
		<link>http://wagenknecht.org/blog/archives/2007/10/persisting-data.html</link>
		<comments>http://wagenknecht.org/blog/archives/2007/10/persisting-data.html#comments</comments>
		<pubDate>Tue, 09 Oct 2007 06:14:44 +0000</pubDate>
		<dc:creator>Gunnar Wagenknecht</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://wagenknecht.org/blog/archives/2007/10/persisting-data.html</guid>
		<description><![CDATA[Why do people always want to tell you that persisting a &#8220;domain model&#8221; is a many month spanning work item if you can&#8217;t generate the code? Sorry folks, with all due respect to model driven software engineering, but that&#8217;s totally non-sense. It&#8217;s all about developer productivity. The first object is always the hardest. But if [...]]]></description>
			<content:encoded><![CDATA[<p>Why do people always want to <a href="http://sureshkrishna.wordpress.com/2007/10/09/persist-your-emf-objects-with-teneo/" title="Open post from Suresh Krishna" target="_blank">tell you</a> that persisting a &#8220;domain model&#8221; is a many month spanning work item if you can&#8217;t generate the code?</p>
<p>Sorry folks, with all due respect to model driven software engineering, but that&#8217;s totally non-sense. It&#8217;s all about developer productivity. The first object is always the hardest. But if you follow the right approach and build good APIs and use <a href="http://www.eclipse.org/jdt/" title="The best Java Tooling ever." target="_blank">the right tools</a> than it&#8217;s just a matter of minutes for <em>every </em>other domain object.</p>
<p>Don&#8217;t get me wrong. I also use EMF and I love it. But some statements are just plain wrong.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://wagenknecht.org/blog/archives/2007/10/persisting-data.html" target="_blank"><img src="http://wagenknecht.org/blog/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://wagenknecht.org/blog/archives/2007/10/persisting-data.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Isolated solutions</title>
		<link>http://wagenknecht.org/blog/archives/2006/04/isolated-solutions.html</link>
		<comments>http://wagenknecht.org/blog/archives/2006/04/isolated-solutions.html#comments</comments>
		<pubDate>Mon, 17 Apr 2006 13:32:18 +0000</pubDate>
		<dc:creator>Gunnar Wagenknecht</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://wagenknecht.org/blog/archives/2006/04/isolated-solutions.html</guid>
		<description><![CDATA[In this post Mike refers (and answers?) to a blog posting from John O’Shea. John is complaining about the architecture and interoperability of several Eclipse top level projects (named WTP, STP, TPTP, BIRT). A cursory look at the architectures of many of the top level projects (WTP, STP, TPTP, BIRT etc.) shows the lack of [...]]]></description>
			<content:encoded><![CDATA[<p>In <a target="_blank" title="Seeking a Balance" href="http://milinkovich.blogspot.com/2006/04/seeking-balance.html">this post</a> Mike refers (and answers?) to a <a target="_blank" title="JCP “rubberstamping” and Eclipse.org project disarray?" href="http://www.xlml.com/aehso/2006/03/14/jcp-rubberstamping-and-eclipseorg-project-disarray/">blog posting</a> from John O’Shea. John is complaining about the architecture and interoperability of several Eclipse top level projects (named WTP, STP, TPTP, BIRT).</p>
<blockquote><p><em>A cursory look at the architectures of many of the <a href="http://www.eclipse.org/projects/">top level projects</a> (WTP, STP, TPTP, BIRT etc.) shows the lack of intra-project cooperation is resulting in frameworks that simply don’t integrate with one another in they ways we all want them to.</em></p></blockquote>
<p>Honestly, I partly agree with John but more from a usability point of view. Ok, that&#8217;s another topic. <img src='http://wagenknecht.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  But I think we have to remember that all these projects are very young projects compared to the Eclipse top level project itself. You can&#8217;t expect to get everything done in release 1.0, 1.5 or even 2.0. AFAIK the first goal was to <em>successfully </em>establish the projects on Eclipse.org and to create a vital user, developer and adopter community. With <a target="_blank" title="The Callisto Release" href="http://www.eclipse.org/projects/callisto.php">Callisto</a> I&#8217;m expecting this goal marked as fixed.</p>
<p>I also agree that one of the next goals should be concentrating on areas where the projects can create more interoperability. But again, I have to remind that work on this topic has already started in the past. <span id="more-79"></span>It&#8217;s is an ongoing long term goal that can&#8217;t just be solver over night or with the next release. For example, the common navigator framework and the tabbed properties view are two good solutions that were contributed to Eclipse as part of the initial WTP contribution and are now integrated into Eclipse 3.2.</p>
<p>On the other side, there are indeed examples of projects creating their own solutions to a very common problem that is better solved at a platform level. I accidentally came across such an issue on the weekend when I was talking to a guy on IRC. He just asked a question about a problem registering selection listeners to workbench parts. Well, I&#8217;m a curious guy and I was wondering why someone is watching part activation and registering selection listeners to every single workbench part when there is the workbench&#8217;s selection service. So I just asked him and we had a very interesting talk. During this conversation it came out that one Eclipse.org project was trying to create there own data binding framework. Well, that&#8217;s crazy and definitely not along the line of Eclipse.</p>
<p><em>But how to avoid this in the future?</em></p>
<p>In my opinion it&#8217;s all about <em>communication</em>, <em>openness </em>and <em>transparency</em>. This is <em><strong>the </strong>great advantage</em> of open source development. But it can only be successful if it&#8217;s practiced by <em>all involved parties</em>. The issue above just turned out to be caused by a lack of openness and communication. They started developing their own data binding framework because they didn&#8217;t know about the <a title="JFace Data Binding" target="_blank" href="http://wiki.eclipse.org/index.php/JFace_Data_Binding">JFace data binding</a> framework. You now may ask why is this a problem of openness and communication? Let me explain.</p>
<p>Openness is not only about opening your software and your processes to a community. It&#8217;s also about opening yourself and your mind to the input from the community. The same goes for communication. Communication is not only about starting telling everybody what you are going to do but also about starting listening to the community what they do and what&#8217;s going on there.</p>
<p>Referring back to the post of John, he asks who is responsible for avoiding miss-interoperability at Eclipse. I think in the example above it&#8217;s hard to blame anybody. The project is really young and I bet due to the lack of communication the PMC didn&#8217;t know about this. I also don&#8217;t think that you ever can blame somebody specific for such issues. It&#8217;s the community including committers, leads, PMC members, Eclipse.org member companies and <a target="_blank" title="Eclipse Councils" href="http://www.eclipse.org/org/foundation/council.php">councils</a> that has to demonstrate and practice their openness, transparency and communication skills.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://wagenknecht.org/blog/archives/2006/04/isolated-solutions.html" target="_blank"><img src="http://wagenknecht.org/blog/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://wagenknecht.org/blog/archives/2006/04/isolated-solutions.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTTP Caching</title>
		<link>http://wagenknecht.org/blog/archives/2005/03/subbuorg-http-caching.html</link>
		<comments>http://wagenknecht.org/blog/archives/2005/03/subbuorg-http-caching.html#comments</comments>
		<pubDate>Tue, 08 Mar 2005 11:37:15 +0000</pubDate>
		<dc:creator>Gunnar Wagenknecht</dc:creator>
				<category><![CDATA[J2EE]]></category>

		<guid isPermaLink="false">http://wagenknecht.org/blog/archives/2005/03/08/subbuorg-http-caching/</guid>
		<description><![CDATA[If you ever wonder how to improve client-side caching of your pages look here: subbu.org: HTTP Caching.]]></description>
			<content:encoded><![CDATA[<p>If you ever wonder how to improve client-side caching of your pages look here: <a href="http://www.subbu.org/weblogs/welcome/2005/01/http_caching.html">subbu.org: HTTP Caching</a>.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://wagenknecht.org/blog/archives/2005/03/subbuorg-http-caching.html" target="_blank"><img src="http://wagenknecht.org/blog/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://wagenknecht.org/blog/archives/2005/03/subbuorg-http-caching.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

