<?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"
	>
<channel>
	<title>Comments on: JVM restarts/availability JSRs</title>
	<atom:link href="http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/feed/" rel="self" type="application/rss+xml" />
	<link>http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/</link>
	<description>Brian Pontarelli</description>
	<pubDate>Tue, 06 Jan 2009 12:49:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/#comment-4451</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Mon, 13 Aug 2007 17:43:43 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/#comment-4451</guid>
		<description>Alex,

Thanks for the comments. I think it seemed like the OSGi JSRs have been approved rather quickly. As for the competing with the other JSRs, it does indeed do that specifically because much of the community believes OSGi superior. I don't get into that debate. 

Furthermore, 277 and 294 were formalized declarations of Sun's intent to solve the problems. Gilad and others will probably tell you they came up with the ideas years if not a decade ago. I still feel as though this particular JSR was specifically put through and rather quickly at that because Sun was looking to formalize some of the more academic discussion it had been having into JSRs. Whether or not that is accurate is left to the historians. Just seemed that way.

As for OSGI, I understand the nature of OSGi and how it solves the modules, lifecycle and dependencies as well as distribution. My point was that there is more to making large distributed applications than those concerns. You have availability, provisioning and other concerns as well. OSGi can't solve these problems until the JVM does because it isn't necessarily allowed to modify the JVM semantics or the runtime. The different with the Sun JSRs like 277 and 294 is that they more than likely will modify the JVM because Sun is driving them. Therefore, they have the potential to create a truly modular system, which undoubtedly OSGi will take advantage of.</description>
		<content:encoded><![CDATA[<p>Alex,</p>
<p>Thanks for the comments. I think it seemed like the OSGi JSRs have been approved rather quickly. As for the competing with the other JSRs, it does indeed do that specifically because much of the community believes OSGi superior. I don&#8217;t get into that debate. </p>
<p>Furthermore, 277 and 294 were formalized declarations of Sun&#8217;s intent to solve the problems. Gilad and others will probably tell you they came up with the ideas years if not a decade ago. I still feel as though this particular JSR was specifically put through and rather quickly at that because Sun was looking to formalize some of the more academic discussion it had been having into JSRs. Whether or not that is accurate is left to the historians. Just seemed that way.</p>
<p>As for OSGI, I understand the nature of OSGi and how it solves the modules, lifecycle and dependencies as well as distribution. My point was that there is more to making large distributed applications than those concerns. You have availability, provisioning and other concerns as well. OSGi can&#8217;t solve these problems until the JVM does because it isn&#8217;t necessarily allowed to modify the JVM semantics or the runtime. The different with the Sun JSRs like 277 and 294 is that they more than likely will modify the JVM because Sun is driving them. Therefore, they have the potential to create a truly modular system, which undoubtedly OSGi will take advantage of.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Blewitt</title>
		<link>http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/#comment-4450</link>
		<dc:creator>Alex Blewitt</dc:creator>
		<pubDate>Mon, 13 Aug 2007 17:23:22 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/#comment-4450</guid>
		<description>JSR 291 wasn't marshaled through to battle 277 and 294. It came before 294 (hence the number) and indeed, was an extension of one of the earlier ones (232). So both 277 and 294 were created *after* OSGi was already around. 291 just formalised version 4.1 of the spec under a JSR.

Also, OSGi doesn't just address services. It addresses modules, security and lifecycle, all on top of the existing class loader architecture/structure. Services are part of that process, but it's a superset of the functionality of 277 and 294 as well as other parts.

As for the distributed applications or mini apps; there's nothing to stop that happening in an OSGi platform, but that's not what it sets out to achieve. In addition, there's no reason that the services  need to be local to one VM as distributed frameworks like R-OSGi and Newton and Infiniflow show.

In terms of restarts, OSGi provides exactly the same mechanism as Tomcat does for webapps; you can stop, restart, install and uninstall on the fly. The fact that you're always in one VM means that there are some situations (e.g. badly behaved native code) that can take the process down as well as memory management; but that's a deployment choice that you've got. There's no reason that that can't exist using the same framework as you do for modules.</description>
		<content:encoded><![CDATA[<p>JSR 291 wasn&#8217;t marshaled through to battle 277 and 294. It came before 294 (hence the number) and indeed, was an extension of one of the earlier ones (232). So both 277 and 294 were created *after* OSGi was already around. 291 just formalised version 4.1 of the spec under a JSR.</p>
<p>Also, OSGi doesn&#8217;t just address services. It addresses modules, security and lifecycle, all on top of the existing class loader architecture/structure. Services are part of that process, but it&#8217;s a superset of the functionality of 277 and 294 as well as other parts.</p>
<p>As for the distributed applications or mini apps; there&#8217;s nothing to stop that happening in an OSGi platform, but that&#8217;s not what it sets out to achieve. In addition, there&#8217;s no reason that the services  need to be local to one VM as distributed frameworks like R-OSGi and Newton and Infiniflow show.</p>
<p>In terms of restarts, OSGi provides exactly the same mechanism as Tomcat does for webapps; you can stop, restart, install and uninstall on the fly. The fact that you&#8217;re always in one VM means that there are some situations (e.g. badly behaved native code) that can take the process down as well as memory management; but that&#8217;s a deployment choice that you&#8217;ve got. There&#8217;s no reason that that can&#8217;t exist using the same framework as you do for modules.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Rubalcaba</title>
		<link>http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/#comment-4447</link>
		<dc:creator>Andrew Rubalcaba</dc:creator>
		<pubDate>Mon, 13 Aug 2007 15:44:18 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/13/jvm-restartsavailability-jsrs/#comment-4447</guid>
		<description>Great post Brian and I will read more into these.  Sounds interesting and hopefully its not all to good to be true.</description>
		<content:encoded><![CDATA[<p>Great post Brian and I will read more into these.  Sounds interesting and hopefully its not all to good to be true.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
