<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">

  <channel rdf:about="http://blogs.webtide.com:80/gregw/">
    <title>Greg&#039;s blog</title>
    <link>http://blogs.webtide.com:80/gregw/</link>
    <description></description>
    <items>
      <rdf:Seq>
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/04/28/1209355449829.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/04/25/1209090806878.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/04/24/1208990374379.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/04/11/1207878698135.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/04/02/1207108680000.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/03/16/1205645580000.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/01/09/1199853132488.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/01/07/1199704334432.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2008/01/03/1199356319554.html" />
        
        <rdf:li resource="http://blogs.webtide.com:80/gregw/2007/11/22/1195699800000.html" />
        
      </rdf:Seq>
    </items>
  </channel>

  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/04/28/1209355449829.html">
    <title>Patterns for Servlet 3.0 suspend usage.</title>
    <link>http://blogs.webtide.com:80/gregw/2008/04/28/1209355449829.html</link>
    
      
      
        <description>
          This blog presents 5 patterns of suspend usage for servlet-3.0, which can help explain the generic cases, provide a template for specific implementations and/or be the basis of frameworks to help developers.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/04/28/1209355449829.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/04/25/1209090806878.html">
    <title>JSR-315 Needs YOU!</title>
    <link>http://blogs.webtide.com:80/gregw/2008/04/25/1209090806878.html</link>
    
      
      
        <description>
          The expert group for JSR 315 (servlet-3.0) has come to a bit of an impasse regarding some new features for auto discovery of servlets and filters.&amp;nbsp;&amp;nbsp; Some members of the EG have some security/flexibility concerns regarding these features, but others do not think the concerns&amp;nbsp; significant enough to warrant additional complexity in configuration options.&lt;br /&gt;
In order to resolve this impasse, the EG has decided to solicit more community feedback. So this is my biased blog soliciting that feedback.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/04/25/1209090806878.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/04/24/1208990374379.html">
    <title>Use-Cases for Async Servlets</title>
    <link>http://blogs.webtide.com:80/gregw/2008/04/24/1208990374379.html</link>
    
      
      
        <description>
          Pre-release 0 of Jetty 7.0.0 is now available and includes a preview of the proposed Servlet 3.0 API for asynchronous servlets.&amp;nbsp; This&amp;nbsp; blog looks at 4 cool things you can do with asynchronous servlets and how they can be implemented using the proposed API.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/04/24/1208990374379.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/04/11/1207878698135.html">
    <title>Jetty Improves in Netcraft survey (again)</title>
    <link>http://blogs.webtide.com:80/gregw/2008/04/11/1207878698135.html</link>
    
      
      
        <description>
          &lt;div align=&#034;justify&#034;&gt;As with most open source projects, it&#039;s very hard to get a measure of who/how/where/why Jetty is being used a deployed.&amp;nbsp; Downloads long ago became meaningless with the advent of many available bundling and distribution channels.&amp;nbsp;&amp;nbsp; The &lt;a href=&#034;http://survey.netcraft.com/Reports/200804/&#034;&gt;Netcraft Web Survey&lt;/a&gt; is one good measure, as it scans the internet and identifies which server sites run. In the results released April 2008, Jetty is identified for 278,501 public server, which is 80% of the market share of our closest &amp;quot;competitor&amp;quot; tomcat. If we exclude unknowns and others catagory, Jetty is currently 12th in the league table of identified servers of all types and closing in on a top 10 ranking .&lt;/div&gt;&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/04/11/1207878698135.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/04/02/1207108680000.html">
    <title>Jesse Mcconnell at Webtide</title>
    <link>http://blogs.webtide.com:80/gregw/2008/04/02/1207108680000.html</link>
    
      
      
        <description>
          Jesse Mcconnell (of maven background) has joined Webtide.&amp;nbsp; Jesse has been with us for several months now and we are really please to have his experience and skills being applied to the Jetty project and for Webtide clients.&lt;br /&gt;
&lt;br /&gt;
Jesse has started a &lt;a href=&#034;http://blogs.webtide.com/jesse/&#034;&gt;blog&lt;/a&gt;, and his first technical entry is a cracker! He&#039;s used the proposed async servlet 3.0 API to implement an &lt;a href=&#034;http://blogs.webtide.com/jesse/2008/03/28/1206725514147.html&#034;&gt;asynchronous web services demonstration&lt;/a&gt;. This demonstration clearly shows the huge gains that are possible with an asynchronous approach.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/04/02/1207108680000.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/03/16/1205645580000.html">
    <title>Servlet 3.0 sampler patch</title>
    <link>http://blogs.webtide.com:80/gregw/2008/03/16/1205645580000.html</link>
    
      
      
        <description>
          A patch is now available for the development version of Jetty that introduces some of the proposed features for Servlet 3.0.&amp;nbsp; Key among these is a suspend/resume API on the request object that is a proposed standardization the Jetty Continuation mechanism for asynchronous servlets.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/03/16/1205645580000.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/01/09/1199853132488.html">
    <title>Client-side session replication for clusters</title>
    <link>http://blogs.webtide.com:80/gregw/2008/01/09/1199853132488.html</link>
    
      
      
        <description>
          Techniques for&amp;nbsp; replicating session data include distributing: to all nodes in a cluster; to a subset of the nodes in the cluster; to a database; to a cluster server; etc. etc. To this range of solutions, cometd/bayeux now adds the possibility of using the client machine to store replicated session.&lt;br /&gt;
&lt;br /&gt;&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/01/09/1199853132488.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/01/07/1199704334432.html">
    <title>20,000 reasons why Jetty scales</title>
    <link>http://blogs.webtide.com:80/gregw/2008/01/07/1199704334432.html</link>
    
      
      
        <description>
          I have published a &lt;a href=&#034;http://cometdaily.com/2008/01/07/20000-reasons-that-comet-scales/&#034;&gt;comet Daily article&lt;/a&gt; that describes how I have benchmarked Jetty&#039;s &lt;a href=&#034;http://www.cometd.com&#034;&gt;Cometd&lt;/a&gt; implementationof &lt;a href=&#034;http://dojotoolkit.org/projects/dojox&#034;&gt;dojox&lt;/a&gt; Bayeux protocol to 20,000 simultaneous clients.&amp;nbsp; This blog looks at the same results from a more &lt;a href=&#034;http://jetty.mortbay.org&#034;&gt;Jetty&lt;/a&gt; centric view point.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/01/07/1199704334432.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2008/01/03/1199356319554.html">
    <title>Blocking Servlets, Asynchronous Transport</title>
    <link>http://blogs.webtide.com:80/gregw/2008/01/03/1199356319554.html</link>
    
      
      
        <description>
          The web-2.0 Ajax Comet use-cases have been getting most the attention when it comes to asynchronous features of servlet containers.&amp;nbsp;&amp;nbsp; The Asynchronous features are needed so that a request may wait without a thread allocated while waiting for a comet event to deliver to the Ajax client.&lt;br /&gt;
&lt;br /&gt;
However, there are some compelling use-cases for traditional web-1.0 applications to benefit greatly from asynchronous features.&amp;nbsp; Previously I have looked at how threadless waiting for resources can improve quality of service.&amp;nbsp; In this blog, I look at how an asynchronous servlet container like Jetty can greatly improve the scalability for serving medium and large content.&amp;nbsp; Furthermore, I reveal how your benchmarking is probably not giving you the full story when it comes to scalability.&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2008/01/03/1199356319554.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.webtide.com:80/gregw/2007/11/22/1195699800000.html">
    <title>Asynchronous IO is hard!</title>
    <link>http://blogs.webtide.com:80/gregw/2007/11/22/1195699800000.html</link>
    
      
      
        <description>
          &lt;div align=&#034;justify&#034;&gt;The tomcat 6 developers have proposed an asynchronous IO extension as their solution for Comet and Ajax push.&amp;nbsp; I have long argued that asynchronous handling is needed for Servlets (for comet and other use-cases), but that it is very important to make the distinction between asynchronous IO and asynchronous handling of requests. Asynchronous programming is hard and asynchronous IO even harder.&amp;nbsp; I maintain that asynchronous IO should be implemented by the container and that only asynchronous events should be delivered to an asynchronous servlet. As if to illustrate my point,the example code that tomcat provide for their asynchronous IO contains some classic bugs and inefficiencies that I examine here as they well illustrate why we should be making all efforts possible to encapsulate asynchronous IO below the level of the servlet API.&lt;/div&gt;&lt;p&gt;&lt;a href=&#034;http://blogs.webtide.com:80/gregw/2007/11/22/1195699800000.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  

</rdf:RDF>
