<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Is it time for a next-generation Servlet API?</title>
	<atom:link href="http://closingbraces.net/2007/03/20/newservletapi/feed/" rel="self" type="application/rss+xml" />
	<link>http://closingbraces.net/2007/03/20/newservletapi/</link>
	<description>After-hours notes and opinions on Java and system development</description>
	<lastBuildDate>Sat, 13 Feb 2010 02:18:24 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: closingbraces</title>
		<link>http://closingbraces.net/2007/03/20/newservletapi/#comment-67</link>
		<dc:creator>closingbraces</dc:creator>
		<pubDate>Thu, 22 Mar 2007 12:10:13 +0000</pubDate>
		<guid isPermaLink="false">http://closingbraces.net/2007/03/20/newservletapi/#comment-67</guid>
		<description>Re unit-testing: Fair enough. Guess it depends what framework(s) you&#039;re using, whether any Servlet API objects are still involved, the nature of the testing, whether you&#039;re also writing &quot;bare&quot; filters/listeners etc. I&#039;d imagine it&#039;s also an issue if you&#039;re developing a framework or a container rather than an app.

Maybe the whole Servlet API is fading into the background, and doesn&#039;t actually matter to anyone but framework and container writers. I&#039;m still inclined to think it&#039;d be generally useful to be able to construct and configure instances of Servlet API classes.

What has your experience been? Are you able to test everything without any Servlet API stuff, or do you also need e.g. mocks, or framework-provided test classes, or other tools like Cactus etc? Is this now a &quot;dead&quot; issue? Any view on this from framework/container developers? How is everyone finding JSF in this regard?</description>
		<content:encoded><![CDATA[<p>Re unit-testing: Fair enough. Guess it depends what framework(s) you&#8217;re using, whether any Servlet API objects are still involved, the nature of the testing, whether you&#8217;re also writing &#8220;bare&#8221; filters/listeners etc. I&#8217;d imagine it&#8217;s also an issue if you&#8217;re developing a framework or a container rather than an app.</p>
<p>Maybe the whole Servlet API is fading into the background, and doesn&#8217;t actually matter to anyone but framework and container writers. I&#8217;m still inclined to think it&#8217;d be generally useful to be able to construct and configure instances of Servlet API classes.</p>
<p>What has your experience been? Are you able to test everything without any Servlet API stuff, or do you also need e.g. mocks, or framework-provided test classes, or other tools like Cactus etc? Is this now a &#8220;dead&#8221; issue? Any view on this from framework/container developers? How is everyone finding JSF in this regard?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BlogReader</title>
		<link>http://closingbraces.net/2007/03/20/newservletapi/#comment-66</link>
		<dc:creator>BlogReader</dc:creator>
		<pubDate>Thu, 22 Mar 2007 04:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://closingbraces.net/2007/03/20/newservletapi/#comment-66</guid>
		<description>&lt;i&gt;Unit-testing of code that uses the Servlet API is far too difficult. The application code depends on objects that are “magically” constructed by the container&lt;/i&gt;

Is that a problem with the servlet API or just how the app was done?  Using a framework like Spring or Tapestry you&#039;re working a layer above the servlet api and you don&#039;t have to be concerned with things like this.

Thanks for the links to the new stuff in java 6, going to check them out.</description>
		<content:encoded><![CDATA[<p><i>Unit-testing of code that uses the Servlet API is far too difficult. The application code depends on objects that are “magically” constructed by the container</i></p>
<p>Is that a problem with the servlet API or just how the app was done?  Using a framework like Spring or Tapestry you&#8217;re working a layer above the servlet api and you don&#8217;t have to be concerned with things like this.</p>
<p>Thanks for the links to the new stuff in java 6, going to check them out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: closingbraces</title>
		<link>http://closingbraces.net/2007/03/20/newservletapi/#comment-64</link>
		<dc:creator>closingbraces</dc:creator>
		<pubDate>Wed, 21 Mar 2007 23:17:21 +0000</pubDate>
		<guid isPermaLink="false">http://closingbraces.net/2007/03/20/newservletapi/#comment-64</guid>
		<description>Thanks Patrick, that was a really interesting comment. I was intrigued to read your comment about it being unclear how to write non-Http Servlets - I had been wondering if I was the only one that saw any problems there. 

I hadn&#039;t really thought about other types of service container or a &quot;Contained Agent Execution Engine&quot;, but that might be a useful viewpoint. Possibly my ideal would be a &quot;plain java&quot; way of defining and using a &quot;service&quot; (e.g. as a Java SE API using simple POJOs), without necessarily needing any kind of substantial container, but that could then also be put inside your &quot;Contained Agent Execution Engine&quot; when you need to provide clustering, management, load-balancing etc.

Maybe there are three separate things here: the logical nature of a &quot;service&quot; (as general as possible), adapters for the various protocols through which you talk to such services, and the container that hosts the services and adapters (of which you might have a very thin and trivial one for embedded in-process use, and more sophisticated ones for large-scale stand-alone hosting or particular situations). Or is any/all of this already present in APIs or JSRs I&#039;m not aware of? Surely this has already been done somewhere?

As for how it happends, I really don&#039;t have any good answers at the moment. I&#039;d guess that doing it properly would involve a period of gestation and discussion and a prototype solution, then when ready offer it as a specific product and/or raise a JSR. Care needed to avoid too much duplication or overlap with other APIs. It would probably also help if it could be used in a servlet container and interoperate with the Servlet API (probably fairly easy via a filter or servlet, similar to how all the various web-app frameworks do it). Not something I have time for at the moment, but maybe one day...

Regardless of this, the existing Servlet API will continue anyway, so I&#039;d still hope that at some point it would be radically modernized and simplified.

Mike</description>
		<content:encoded><![CDATA[<p>Thanks Patrick, that was a really interesting comment. I was intrigued to read your comment about it being unclear how to write non-Http Servlets &#8211; I had been wondering if I was the only one that saw any problems there. </p>
<p>I hadn&#8217;t really thought about other types of service container or a &#8220;Contained Agent Execution Engine&#8221;, but that might be a useful viewpoint. Possibly my ideal would be a &#8220;plain java&#8221; way of defining and using a &#8220;service&#8221; (e.g. as a Java SE API using simple POJOs), without necessarily needing any kind of substantial container, but that could then also be put inside your &#8220;Contained Agent Execution Engine&#8221; when you need to provide clustering, management, load-balancing etc.</p>
<p>Maybe there are three separate things here: the logical nature of a &#8220;service&#8221; (as general as possible), adapters for the various protocols through which you talk to such services, and the container that hosts the services and adapters (of which you might have a very thin and trivial one for embedded in-process use, and more sophisticated ones for large-scale stand-alone hosting or particular situations). Or is any/all of this already present in APIs or JSRs I&#8217;m not aware of? Surely this has already been done somewhere?</p>
<p>As for how it happends, I really don&#8217;t have any good answers at the moment. I&#8217;d guess that doing it properly would involve a period of gestation and discussion and a prototype solution, then when ready offer it as a specific product and/or raise a JSR. Care needed to avoid too much duplication or overlap with other APIs. It would probably also help if it could be used in a servlet container and interoperate with the Servlet API (probably fairly easy via a filter or servlet, similar to how all the various web-app frameworks do it). Not something I have time for at the moment, but maybe one day&#8230;</p>
<p>Regardless of this, the existing Servlet API will continue anyway, so I&#8217;d still hope that at some point it would be radically modernized and simplified.</p>
<p>Mike</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Wright</title>
		<link>http://closingbraces.net/2007/03/20/newservletapi/#comment-63</link>
		<dc:creator>Patrick Wright</dc:creator>
		<pubDate>Wed, 21 Mar 2007 20:42:53 +0000</pubDate>
		<guid isPermaLink="false">http://closingbraces.net/2007/03/20/newservletapi/#comment-63</guid>
		<description>I like your notes/analysis, it feels (without having all the details presented) right. Regarding the idea that maybe we need a generalized container, I think this makes sense if for no other reason than that to be able to support HTTP-based services in the last few years, a whole layer of infrastructure has been developed which has nothing to do with HTTP in particular, and at the same time I think it&#039;s unclear to most of us how to easily and correctly implement something that is a Servlet that is not an HttpServlet that runs in one of those containers. I think the dynamic app loading (and isolation), clustering, request processing and dispatch would serve us well for a number of purposes--take Nailgun as one example, or Jini service containers--there are lots of interesting possibilities. On the other hand, I&#039;m not sure how exactly this happens. I&#039;m sure that an improved Servlet NG could come out of the JCP, but not sure that a Contained Agent Execution Engine--something related, but much more general--can come out of committee. Interesting to think about, and to remember we don&#039;t need to tie ourselves to solutions developed under other circumstances and for other problems many years ago. Cheers, Patrick</description>
		<content:encoded><![CDATA[<p>I like your notes/analysis, it feels (without having all the details presented) right. Regarding the idea that maybe we need a generalized container, I think this makes sense if for no other reason than that to be able to support HTTP-based services in the last few years, a whole layer of infrastructure has been developed which has nothing to do with HTTP in particular, and at the same time I think it&#8217;s unclear to most of us how to easily and correctly implement something that is a Servlet that is not an HttpServlet that runs in one of those containers. I think the dynamic app loading (and isolation), clustering, request processing and dispatch would serve us well for a number of purposes&#8211;take Nailgun as one example, or Jini service containers&#8211;there are lots of interesting possibilities. On the other hand, I&#8217;m not sure how exactly this happens. I&#8217;m sure that an improved Servlet NG could come out of the JCP, but not sure that a Contained Agent Execution Engine&#8211;something related, but much more general&#8211;can come out of committee. Interesting to think about, and to remember we don&#8217;t need to tie ourselves to solutions developed under other circumstances and for other problems many years ago. Cheers, Patrick</p>
]]></content:encoded>
	</item>
</channel>
</rss>
