<?xml version="1.0" encoding="UTF-8"?>
<!-- name="generator" content="blojsom v3.2" -->
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <channel>
        <title>ICEfaces Water Cooler</title>
        <link>http://blog.icefaces.org/blojsom/blog/default</link>
        <description>Where the ICEfaces dev team blogs</description>
        <language>en</language>
        <image>
            <url>http://blog.icefaces.org/blojsom/favicon.ico</url>
            <title>ICEfaces Water Cooler</title>
            <link>http://blog.icefaces.org/blojsom/blog/default</link>
        </image>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>blojsom v3.2</generator>
		<managingEditor>product.support@icesoft.com</managingEditor>
		<webMaster>product.support@icesoft.com</webMaster>
		<pubDate>Fri, 1 Aug 2008 15:04:51 -0500</pubDate>

                        <item>
            <title>JSFOne</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/08/01/JSFOne</link>
            <description>&lt;br&gt;
&lt;p&gt;&lt;a href=&quot;http://www.jsfone.com&quot;&gt;JSFOne&lt;/a&gt; is rapidly (if you account for summer vacation) approaching: September 4th - 6th, near Washington D.C.  It looks to be the most comprehensive JavaServer Faces event yet and will be a good opportunity to learn about and discuss JSF 2.0.  As an &lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces community&lt;/a&gt; member you are eligible for a substantial discount if you register before August 15th (let us know if you missed the email with the registration code).  Here are some of the sessions on ICEfaces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;a href=&quot;http://www.jsfone.com/speaker_topic_view.jsp?topicId=1404&quot;&gt;Ajax Push and ICEfaces for Enterprise Collaboration&lt;/a&gt;: How to use Ajax Push (aka &quot;Comet&quot; with JavaServer Faces)
&lt;li&gt; &lt;a href=&quot;http://www.jsfone.com/speaker_topic_view.jsp?topicId=1457&quot;&gt;Mobile Ajax with JSF&lt;/a&gt;: Development tips and demos for JavaServer Faces on mobile devices, such as the iPhone
&lt;li&gt; &lt;a href=&quot;http://www.jsfone.com/speaker_topic_view.jsp?topicId=1461&quot;&gt;Filthy Rich Portlets with ICEfaces and Liferay&lt;/a&gt;: How to develop portlets with rich user interfaces and how to integrate them with each other through Ajax Push
&lt;/ul&gt;
&lt;p&gt;We hope to see you there. Also, don&#39;t forget to check out Dan&#39;s new book, &lt;a href=&quot;http://www.amazon.com/gp/product/1933988401/ref=s9subs_c2_img1-rfc_g1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-2&amp;pf_rd_r=0Y6R12E9CFAH5VWWQ1HW&amp;pf_rd_t=101&amp;pf_rd_p=278240301&amp;pf_rd_i=507846&quot;&gt;Seam in Action&lt;/a&gt; (especially the Ajax chapter).&lt;/p&gt;
</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/08/01/JSFOne</guid>
			<pubDate>Fri, 1 Aug 2008 15:04:51 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/08/01/JSFOne</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/08/01/JSFOne?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Snappy Calendar and Table components for ICEfaces</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/07/28/Snappy-Calendar-and-Table-components-for-ICEfaces</link>
            <description>&lt;br&gt;
&lt;p&gt;There are many dimensions to Ajax, yielding many different possible approaches.  One particularly interesting dimension is the division of labour between client and server.  Generally, &lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces&lt;/a&gt; assigns the most work to the server, treating the browser as a remote display.  There are a number of reasons for this:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;The data is on the server.
  &lt;li&gt;Server-side logic is not open to inspection by attackers.
  &lt;li&gt;MVC is preserved.
  &lt;li&gt;Only server-side events can trigger Ajax Push.
  &lt;li&gt;Java code is far easier to write and maintain: client-side code requires custom JavaScript.
&lt;/ul&gt;
&lt;p&gt;So how do you implement a date picker? As a custom JSF component, of course. Clicking on an arrow to the right of &quot;July&quot; updates the page with a new calendar for &quot;August&quot;, containing an &amp;lt;h:commanLink&amp;gt; for each day of the month. It can handle a wide range of locales and can account for varied daylight savings time legislation throughout history. But if we ignore the chaos introduced by daylight savings time, is this ultimately the right solution from a distributed computing point of view? Wouldn&#39;t it be more efficient to page through calendars in the browser, and only submit data to the server when the user had actually picked a date?&lt;/p&gt;
&lt;p&gt;Of course, a client-side date picker is more efficient at runtime; the reasons that ICEfaces took a server-side approach with this particular component were because, at the time, we didn&#39;t want to write the JavaScript and we wanted to experiment with a component as complex as a date picker.
&lt;/p&gt;
&lt;p&gt;As an alternative, the &lt;a href=&quot;http://snappy.sensemaker.net/&quot;&gt;Snappy Calendar&lt;/a&gt; is a purely client-side date picker for ICEfaces.  You will also find a &lt;a href=&quot;http://snappy.sensemaker.net/&quot;&gt;Snappy Table&lt;/a&gt; that provides a client-side table with sorting and row selection. There are two particularly interesting things about these components: one, that they are client-side implementations; and two, that they are developed outside ICEfaces.org.  Please try them out and provide your comments directly to the author or on the &lt;a href=&quot;http://www.icefaces.org/JForum/posts/list/9019.page&quot;&gt;ICEfaces forums&lt;/a&gt;.
&lt;/p&gt;
</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/07/28/Snappy-Calendar-and-Table-components-for-ICEfaces</guid>
			<pubDate>Mon, 28 Jul 2008 17:02:41 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/07/28/Snappy-Calendar-and-Table-components-for-ICEfaces</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/07/28/Snappy-Calendar-and-Table-components-for-ICEfaces?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>ICEfaces at Jazoon</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/06/12/ICEfaces-at-Jazoon</link>
            <description>&lt;br&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.jazoon.com&quot;&gt;Jazoon 2008&lt;/a&gt; will be starting shortly (June 23 - June 26), and you&#39;ll have several opportunities to learn about Ajax Push at the conference:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://jazoon.com/jazoon08/en/conference/presentationdetails.html?type=sid&amp;detail=5140&quot;&gt;GlassFish Community Day&lt;/a&gt; (a free event)
&lt;li&gt;The Jazoon talk &lt;a href=&quot;http://jazoon.com/jazoon08/en/conference/presentationdetails.html?type=sid&amp;detail=5420&quot;&gt;AJAX Push for Revolutionary Enterprise Applications&lt;/a&gt;
&lt;li&gt;The &lt;a href=&quot;http://www.mimacom.ch/&quot;&gt;mimacom stand&lt;/a&gt; in the exhibition.
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;mimacom ag has a great deal of experience building enterprise applications, and is now a &lt;a href=&quot;http://www.mimacom.ch/firma/news/news-artikel/article/mimacom-ag-lanciert-eine-strategische-partnerschaft-mit-icesoft-technologies-inc/&quot;&gt;strategic ICEsoft partner&lt;/a&gt;. The beginning of this partnership can be seen in an interactive locking demo that we have put together for Jazoon. The essential idea is to build collaboration features through the mimacom &lt;a href=&quot;http://www.mimacom.ch/edoras/&quot;&gt;edoras&lt;/a&gt; lock manager and &lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces&lt;/a&gt; Ajax Push. The demo allows multiple users to edit and lock records in a common data set.  Besides being able to see changes to the data in &lt;a href=&quot;http://blog.icefaces.org/blojsom/blog/default/2008/06/02/Ajax-Push-in-Real-Time&quot;&gt;real time&lt;/a&gt; they can also negotiate locks through chat and lock operations right within the application.
&lt;/p&gt;
&lt;p&gt;The locking demo will be featured in the Jazoon talk and at the mimacom exhibition stand (where you can learn how to apply edoras and ICEfaces to build a complete application). For GlassFish Community Day, I plan to demonstrate &lt;a href=&quot;http://webmc.icefaces.org&quot;&gt;WebMC&lt;/a&gt; and possibly the new SIP telephony demo.
&lt;/p&gt;
</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/06/12/ICEfaces-at-Jazoon</guid>
			<pubDate>Thu, 12 Jun 2008 18:07:07 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/06/12/ICEfaces-at-Jazoon</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/06/12/ICEfaces-at-Jazoon?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Push and the Telephone</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/06/11/Ajax-Push-and-the-Telephone</link>
            <description>&lt;br&gt;
&lt;p&gt;The telephone is an excellent source of asynchronous events — you never know when it is going to ring. This means that web-based views of the telephony space make for interesting applications of Ajax Push.&lt;/p&gt;
&lt;p&gt;Using &lt;a href=&quot;http://sailfin.dev.java.net&quot;&gt;SailFin&lt;/a&gt; and &lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces&lt;/a&gt; we&#39;ve put together a very simple call setup &lt;a href=&quot;http://blog.icefaces.org/blojsom/resources/default/callsetup.sar&quot;&gt;demo&lt;/a&gt;.  It shows when your phone is online and allows you to initiate a call between any two phones just by selecting them and pressing &quot;call&quot;.
&lt;/p&gt;
&lt;p&gt;To run the demo:
&lt;ol&gt;
&lt;li&gt;Download a &lt;a href=&quot;https://sailfin.dev.java.net/downloads/v1-b36.html&quot;&gt;recent build of SailFin&lt;/a&gt;.
&lt;li&gt;Download the demo binary &lt;a href=&quot;http://blog.icefaces.org/blojsom/resources/default/callsetup.sar&quot;&gt;callsetup.sar&lt;/a&gt;.
&lt;li&gt;&lt;pre&gt;
java -Xmx512m -jar sailfin-installer-v1-b36-darwin.jar
cd sailfin
ant -f setup.xml
bin/asadmin start-domain domain1
bin/asadmin start-database
cp callsetup.sar domains/domain1/autodeploy/
&lt;/pre&gt;
&lt;li&gt;Point your SIP phone (such as &lt;a href=&quot;http://www.counterpath.com/x-lite.html&quot;&gt;X-Lite Demo&lt;/a&gt;) at a localhost Proxy.
&lt;li&gt;Point your browser at &lt;a href=&quot;http://localhost:8080/CallSetup/registrations.iface&quot;&gt;http://localhost:8080/CallSetup/registrations.iface&lt;/a&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;
As phones connect and disconnect, the list in the registrations page will be dynamically updated, showing user presence.
&lt;/p&gt;
&lt;p&gt;
The full source code is available at &lt;a href=&quot;http://anonsvn.icefaces.org/repo/projects/CallSetup/&quot;&gt;http://anonsvn.icefaces.org/repo/projects/CallSetup/&lt;/a&gt;
&lt;/p&gt;


</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/06/11/Ajax-Push-and-the-Telephone</guid>
			<pubDate>Wed, 11 Jun 2008 16:43:54 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/06/11/Ajax-Push-and-the-Telephone</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/06/11/Ajax-Push-and-the-Telephone?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Push in Real Time?</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/06/02/Ajax-Push-in-Real-Time</link>
            <description>&lt;br&gt;
&lt;p&gt;One popular question on our &lt;a href=&quot;http://www.jroller.com/tedgoddard/entry/ajax_push_across_canada&quot;&gt;road trip&lt;/a&gt; has been &quot;How do I ensure that each Ajax Push is delivered to all clients at the same time?&quot; (By the way, if you don&#39;t happen to be a resident of Vancouver, Montreal, or Toronto, you can still catch the talk as a one hour &lt;a href=&quot;https://www1.gotomeeting.com/register/165128562&quot;&gt;webinar on Monday, June 2, 2008&lt;/a&gt;. Be sure to check out the other &lt;a href=&quot;http://www.icesoft.com/webinar/&quot;&gt;ICEfaces webinars&lt;/a&gt; that same week. If the webinar isn&#39;t convenient, &lt;a href=&quot;http://weblogs.java.net/blog/jfarcand/archive/2008/05/les_presentatio_1.html&quot;&gt;Jeanfrancois has a copy of the slides available.&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;Of course, it&#39;s not actually necessary that the page updates arrive at each client at exactly the same time, just that they arrive within some short interval.  In the past, I have objected to applying the term &quot;real time&quot; to Ajax Push on the web. Real time systems typically are used to control physical processes and often have tolerances of a few milliseconds (using Java for real time applications is challenging enough, let alone using Java over the internet).  Web2.0 is not yet ready to run your car&#39;s antilock breaking system from a central server (I&#39;m sure Web3.0 will easily handle this, though).
&lt;/p&gt;
&lt;p&gt;
But when we define a &lt;a href=&quot;http://en.wikipedia.org/wiki/Real-time_computing&quot;&gt;real time system&lt;/a&gt; as one where success is determined not just by the results of the computation but also by having the response within a certain deadline; and further, that a soft real time system is simply considered to provide a lower quality of service when deadlines are missed, it becomes possible to consider Ajax Push from a soft real time perspective.  (We have removed the expectations that system responsiveness must be within a few milliseconds, or be &quot;instantaneous&quot;, and that the system must be used to control a &quot;real&quot; physical process; instead, we focus only on the timeliness guarantee.) 
&lt;/p&gt;
&lt;p&gt;We can now measure the quality of an Ajax Push system in soft real time terms: assign a time interval based on the application (say, &quot;all bid notifications should be received within 3 seconds of the bid&quot;), and measure the proportion of page updates delivered within the time interval (the more updates that lie outside the interval, the lower the quality of the system). Then, we can work on producing a system capable of operating at the desired quality.  The good thing is that the problem is easily parallelized -- each node in a cluster can independently determine the page updates for its sessions (database and network infrastructure may not be so easily parallelized).  
&lt;/p&gt;
&lt;p&gt;In other words, to ensure that updates are delivered in a timely fashion (that is, to satisfy our soft real time requirement) it&#39;s important to exploit parallelism within the cluster and to measure the running time of the Ajax Push updates under realistic application conditions. Producing the page updates for each user takes an application-dependent amount of time; this must be measured for the application and hardware planned accordingly.
&lt;/p&gt;

</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/06/02/Ajax-Push-in-Real-Time</guid>
			<pubDate>Mon, 2 Jun 2008 14:35:22 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/06/02/Ajax-Push-in-Real-Time</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/06/02/Ajax-Push-in-Real-Time?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Push Across Canada</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/05/20/Ajax-Push-Across-Canada</link>
            <description>&lt;br&gt;
&lt;p&gt;
&lt;a href=&quot;http://weblogs.java.net/blog/jfarcand/&quot;&gt;Jeanfrancois&lt;/a&gt; and I will be on the road next week (ok, we&#39;re mostly flying) to explain how to use Ajax Push and non-blocking I/O in Web2.0 applications.  The sessions are free, but &lt;a href=&quot;http://www.spincc.com/proofs/opentech/&quot;&gt;please register&lt;/a&gt; to reserve your spot and have a chance to win an iPod touch:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href=&quot;https://www.suneventreg.com//cgi-bin/register.pl?EventID=2223&quot;&gt;Toronto, May 27&lt;/a&gt;
&lt;li&gt; &lt;a href=&quot;https://www.suneventreg.com//cgi-bin/register.pl?EventID=2224&quot;&gt;Montreal, May 29&lt;/a&gt;
&lt;li&gt; &lt;a href=&quot;https://www.suneventreg.com//cgi-bin/register.pl?EventID=2225&quot;&gt;Vancouver, June 3&lt;/a&gt;
&lt;/ul&gt;

&lt;p&gt;The new ICEfaces technology behind these talks lies in two areas: Grizzly auto-detection, and a new Ajax Push API (&lt;a href=&quot;http://sventon.icefaces.org/svn/showfile.svn?name=repo&amp;revision=16455&amp;path=%2Ficefaces%2Ftrunk%2Ficefaces%2Fcore%2Fsrc%2Forg%2Ficefaces%2Fapplication%2FSessionRenderer.java&quot;&gt;SessionRenderer&lt;/a&gt;). Grizzly auto-detection helps you know when a grizzly is around.  It&#39;s important for safety reasons, but it also makes application deployment easier -- ICEfaces automatically takes advantage of the threading scalability provided by &lt;a href=&quot;http://glassfish.dev.java.net&quot;&gt;Glassfish&lt;/a&gt; (you no longer need to configure GrizzlyPushServlet yourself). 
&lt;/p&gt;
&lt;p&gt;
The SessionRenderer is important because it considerably simplifies the development of Ajax Push applications (we&#39;re looking for community feedback on this API -- by introducing it in the org.icefaces package we won&#39;t freeze it until ICEfaces 2.0).  One feature is that sessions are rendered rather than views (in other words, all views in a session are rendered) considerably simplifying the bookkeeping required by the application. The other feature is that the groups of sessions are maintained by the SessionRenderer and automatically cleaned up as sessions expire.  This allows the application to refer to the groups by name, again eliminating bookkeeping in the application.
&lt;/p&gt;

</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/05/20/Ajax-Push-Across-Canada</guid>
			<pubDate>Tue, 20 May 2008 16:45:44 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/05/20/Ajax-Push-Across-Canada</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/05/20/Ajax-Push-Across-Canada?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Building Collaborative CRUD Applications With ICEfaces and NetBeans</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/05/16/Building-Collaborative-CRUD-Applications-With-ICEfaces-and-NetBeans</link>
            <description>&lt;em&gt;CRUD-style applications remain the mainstay of enterprise application development, but more and more, application developers are looking to add Rich Internet Application (RIA) capabilities into their development process.  ICEfaces provides a comprehensive development framework for building RIAs using pure Java techniques based on JavaServer Faces (JSF), but beyond RIA features ICEfaces can truly revolutionize web applications by facilitating real time collaboration using Ajax Push.  The latest ICEfaces 1.7 release includes complete integration with NetBeans 6.0.1 making it easy to build collaborative RIA-style applications, and Glassfish combined with the Asynchronous Request Processing (ARP) features of Grizzly provides the scalable deployment infrastructure required for push-style web applications.  Note: NetBeans 6.1 integration is underway and will be available soon...&lt;/em&gt;
&lt;p&gt;
That is the intro to an article that was recently published at netbeans.org.  You can read the full article &lt;a href=&quot;http://facestutorials.icefaces.org/tutorial/ide/netbeans/tutorial.html&quot;&gt;here&lt;/a&gt;. You can find the code for the example at our &lt;a href=&quot;http://www.icefaces.org/main/resources/tutorials.iface&quot;&gt;tutorial page&lt;/a&gt; under the IDE Tutorials.  More on this subject when the NetBeans 6.1 integrations is complete.
</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/05/16/Building-Collaborative-CRUD-Applications-With-ICEfaces-and-NetBeans</guid>
			<pubDate>Fri, 16 May 2008 15:22:12 -0500</pubDate>
            <category>/Steve+Maryka/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Steve+Maryka/2008/05/16/Building-Collaborative-CRUD-Applications-With-ICEfaces-and-NetBeans</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/05/16/Building-Collaborative-CRUD-Applications-With-ICEfaces-and-NetBeans?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>ICEfaces at JavaOne 2008</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/24/ICEfaces-at-JavaOne-2008</link>
            <description>&lt;br&gt;
&lt;p&gt;&lt;a href=&quot;http://java.sun.com/javaone/sf/index.jsp&quot;&gt;JavaOne 2008&lt;/a&gt; is shaping up to be an excellent show.  In particular, you should be sure to pre-register for &lt;a href=&quot;http://www28.cplan.com/sb191/session_details.jsp?isid=295250&amp;ilocation_id=191-1&amp;ilanguage=english&quot;&gt;Asynchronous Ajax for Revolutionary Web Applications&lt;/a&gt; on Wednesday at 9:30 AM. &lt;a href=&quot;http://weblogs.java.net/blog/jfarcand/&quot;&gt;Jeanfrancois&lt;/a&gt; and &lt;a href=&quot;http://blog.icefaces.org/blojsom/blog/default/Ted%20Goddard/&quot;&gt;I&lt;/a&gt; have distilled the key ideas behind Ajax Push/Comet so that you can understand the Asynchronous Web Revolution.  We will even describe how the &lt;a href=&quot;http://caucho.com/resin/examples/servlet-comet/index.xtp&quot;&gt;Resin&lt;/a&gt; API works (even better than the explanation we gave at AjaxWorld).
&lt;/p&gt;
&lt;p&gt;If you would like to have your copy of &lt;a href=&quot;http://www.manning.com/crane2/&quot;&gt;Ajax in Practice&lt;/a&gt; signed, stop by the JavaOne DigitalGuru on Tuesday at 2:30 PM.  There&#39;s even a chance to win a reproduction of the nice hat the lady on the cover is wearing (ok, I&#39;m joking about the hat, but I will be there to talk about Ajax and ICEfaces). 
&lt;/p&gt;
&lt;p&gt;At the ICEfaces booth, we will have a full contingent of people ready to answer your questions about ICEfaces (from core framework to components) and to give you a chance to provide your comments and influence the project roadmap.  It&#39;s always possible on the forums, of course, but often its easier to explain your ideas in person. Most importantly, you can pick up this year&#39;s ICEfaces T-shirt and enter our iPod Touch giveaway.
&lt;/p&gt;
&lt;p&gt;This year there are a number of interesting sessions relating to Ajax Push; here are a few that I&#39;ve found (titles are abbreviated in some cases):
&lt;ul&gt; 
&lt;li&gt; TS-5250: Asynchronous Ajax for Revolutionary Web Applications : Wed 9:30
&lt;li&gt; TS-6482: Ajax and JavaServer™ Faces Technology: Wed 2:50
&lt;li&gt; BOF-5661: Comet: The Rise of Interactive Web: Wed 6:30
&lt;li&gt; BOF-4922: Using Google Web Tookit and Comet: Wed 7:30
&lt;li&gt; BOF-6584: Using Comet to Create a Web Game: Wed 8:30
&lt;li&gt; TS-5415: Java™ Servlet 3.0 API: Thu 10:50
&lt;li&gt; BOF-5495: Untangling the Asynchronous Web: Thu 8:30
&lt;li&gt; TS-4883: Java™ NIO Technology w/ Grizzly Framework: Fri 1:30
&lt;/ul&gt;
&lt;/p&gt;


</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/24/ICEfaces-at-JavaOne-2008</guid>
			<pubDate>Thu, 24 Apr 2008 18:45:08 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/04/24/ICEfaces-at-JavaOne-2008</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/24/ICEfaces-at-JavaOne-2008?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Pushed at fisl9.0</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/23/Ajax-Pushed-at-fisl9-0</link>
            <description>&lt;br&gt;
&lt;p&gt;
&lt;a href=&quot;http://fisl.org.br&quot;&gt;fisl9.0&lt;/a&gt; turned out to be a far greater success than I could have imagined.  With over 7000 participants and a few (beneficial) schedule changes, I had a chance to present with &lt;a href=&quot;http://weblogs.java.net/blog/alegomes/archive/2008/04/grizzly_comet_r_1.html&quot;&gt;Alexandre Gomes&lt;/a&gt; (standing room only; be sure to check out his &lt;a href=&quot;https://www28.cplan.com/cc191/session_details.jsp?isid=294922&amp;ilocation_id=191-1&amp;ilanguage=english&quot;&gt;BOF on GWT&lt;/a&gt; at JavaOne), &lt;a href=&quot;http://blogs.sun.com/FrancoisOrsini/&quot;&gt;Francois Orsini&lt;/a&gt; and &lt;a href=&quot;http://weblogs.java.net/blog/gsporar/&quot;&gt;Gregg Spoar&lt;/a&gt;.  
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.flickr.com/photos/giulianobg/2422695985/&quot;&gt;Here I am, showing WebMC on the iPhone.&lt;/a&gt; The trick to giving web-based demos on the iPhone (when the server is on your laptop and a WiFi network may or may not be available) is to enable connection sharing on your Mac (even if you don&#39;t have a connection to share).  This works much better than creating an ad-hoc network from the Airport menu.  You can even use multicast DNS names from the iPhone, such as &quot;icefaces.local&quot;.
&lt;/p&gt;

</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/23/Ajax-Pushed-at-fisl9-0</guid>
			<pubDate>Wed, 23 Apr 2008 18:07:08 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/04/23/Ajax-Pushed-at-fisl9-0</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/23/Ajax-Pushed-at-fisl9-0?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>What ever happened to ICEfaces EPS?</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/21/ICEfaces-EPS-and-Licensing-History</link>
            <description>From time-to-time there is a forum post or other inquiry asking about the &lt;strong&gt;ICEfaces Enterprise Production Suite (EPS)&lt;/strong&gt; and how it relates to the open-source ICEfaces project. A fair amount of confusion has been caused by the migration of the EPS features from a commercial product offering into the open-source ICEfaces project. To clear that up I though a quick history of the EPS product may be useful.
&lt;p&gt;&lt;p&gt;
Just to make it absolutely clear right off the top, while the EPS started life as a commercial product offering, &lt;strong&gt;since July, 2007 (ICEfaces 1.6) the major features that constituted the EPS have been freely available under the open-source MPL license&lt;/strong&gt;.
&lt;p&gt;
ICEfaces 1.0 (May, 2006) was released under the ICEfaces Community License, which was absolutely free to use and deploy, but was not open-source. This remained true for all versions prior to the inaugural open-source release of ICEfaces 1.5 in November of 2006. So all ICEfaces versions prior to 1.5 were Community License, and all versions 1.5 and greater have been under the open-source Mozilla Public License (MPL).
&lt;p&gt;
In addition to the free Community Edition of ICEfaces there was also an Enterprise Production Suite (EPS) product that had to be commercially licensed  and used in conjunction with the free-to-use ICEfaces 1.0 and 1.1 libraries. The EPS added the following additional capabilities to the standard ICEfaces product:
&lt;ul&gt;&lt;li&gt;- More sophisticated asynchronous connection management and recovery, including the ice:outputConnectionStatus component.&lt;/li&gt;
&lt;li&gt;- Support for deploying ICEfaces asynchronous apps. in a cluster, incl. detailed configuration instructions, etc.&lt;/li&gt;
&lt;li&gt;- Improved asynchronous resource utilization and scalability via the stand-alone ICEfaces Asynchronous HTTP Server (AHS).&lt;/li&gt;
&lt;li&gt;- A Broadcast Render Manager API that added the ability to easily broadcast asynchronous updates across application sessions on different nodes in a cluster, or across different applications.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
When ICEfaces 1.5 was released under an open-source license in Nov. of 2007, it was still possible to license the EPS under a commercial license and use it with ICEfaces 1.5.
&lt;p&gt;
Beginning with the ICEfaces 1.6 release in July of 2007, EPS as a commercial product was withdrawn and most of the key features that were originally provided in the EPS edition were added into the core ICEfaces code-base under the open-source license, including the enhanced asynchronous connection management features and support for clustered deployments. The Asynchronous HTTP Server (AHS) was offered as a separate project on ICEfaces.org, also under MPL open-source license. 
&lt;p&gt;
As of ICEfaces 1.7 (April, 2008) the AHS server has been moved into the core ICEfaces project as it has become a key component in the ICEfaces portlet configuration. The stand-alone ICEfaces AHS project is now dormant as future work will be done on the AHS facility that is part of the core ICEfaces repository.
&lt;p&gt;
The Broadcast Renderer is the one remaining element of the original EPS product that has not yet shown up in the open-source ICEfaces product. However, &lt;a href=&quot;http://jira.icefaces.org/browse/ICE-2742&quot; target=&quot;_blank&quot;&gt;plans&lt;/a&gt; are in place to add this capability for ICEfaces 1.7.1.
&lt;p&gt;
In summary:

&lt;ul&gt;&lt;li&gt;- The Enterprise Production Suite (EPS) was a commercially licensed product that worked with ICEfaces 1.0 - 1.5 to offer enhanced robustness, performance, and scalability for large-scale asynchronous deployments.&lt;/li&gt;
&lt;li&gt;- With ICEfaces 1.6 (July 4th, 2007), the commercial EPS product was withdrawn from the market and the key features it provided were contributed to the open-source ICEfaces project.&lt;/li&gt;
&lt;li&gt;- As of ICEfaces 1.7.1 (Est. May, 2008), the last missing EPS feature, the Broadcast Render Manager, will be added to the core ICEfaces libraries.&lt;/li&gt;&lt;/ul&gt;

I hope this helps clear up any confusion that may have been caused by the gradual migration of the EPS features into ICEfaces proper over the last few releases. The good news is that those features that once constituted a commercial product offering have all been contributed into the open-source ICEfaces project, further strengthening ICEfaces&#39; support for large scale asynchronous deployments.
&lt;p&gt;


</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/21/ICEfaces-EPS-and-Licensing-History</guid>
			<pubDate>Mon, 21 Apr 2008 11:12:52 -0500</pubDate>
            <category>/Ken+Fyten/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ken+Fyten/2008/04/21/ICEfaces-EPS-and-Licensing-History</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/21/ICEfaces-EPS-and-Licensing-History?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>ICEfaces 1.7 - Something for Everyone</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/14/ICEfaces-1-7-Offers-Something-for-Everyone</link>
            <description>&lt;strong&gt;ICEfaces 1.7 is &lt;a href=&quot;http://www.icefaces.org/main/downloads/&quot;
 target=&quot;_blank&quot;&gt;here&lt;/a&gt;!&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;
A&amp;nbsp;lot of sweat and&amp;nbsp;a few tears
went into it, and it took a little longer to arrive than many of us
would have liked, but I think you&#39;ll be very pleased with how it turned
out. The&amp;nbsp;culmination of over 45 enhancements, 110
improvements, and&amp;nbsp;300 bug fixes, there&#39;s no question that it&#39;s
a&amp;nbsp;major leap forward in the evolution of ICEfaces.&amp;nbsp;
With significant enhancements and improvements in every direction you
look, there is truly something here for everyone.&lt;br&gt;
&lt;br&gt;
Perhaps the most visible changes are the 7 entirely new components
(e.g. context menu, rich text editor, media player,&amp;nbsp;Google
map, split-pane, etc.), with an additional 6 subcomponents for Google
Maps alone. Additionally, there have been a whopping&amp;nbsp;47
component enhancements made as well, including user-resizable table
columns, multi-column / multi-row table headers, row-span grouping of
table data, auto-positioning for popup panels - the list goes on and
on. An entirely new theme has been added too, called&amp;nbsp;&quot;Rime&quot;,
which provides a fresh new face for the &amp;nbsp;ICEfaces Component
Suite.&amp;nbsp; I&#39;m pleased to report that in this release
we&#39;ve&amp;nbsp;been able to address most of&amp;nbsp;the
highest-ranked&amp;nbsp;new component features as voted for
by&amp;nbsp;the ICEfaces community.&lt;br&gt;
&lt;br&gt;
To better demonstrate all the new component features the Component
Showcase sample applications have been completely redeveloped. The new
Component Showcase features&amp;nbsp;improved code-samples, more
consistent&amp;nbsp;styling and layout, and improved component demos
for many components. It also provides additional links to component
documentation and resources, tutorials, etc., providing an excellent
starting point for anyone looking to learn more about the
components.&amp;nbsp;&lt;br style=&quot;font-weight: bold;&quot;&gt;
&lt;br&gt;
Less visible, but equally important to everyone leveraging ICEfaces&#39;
asynchronous update features (Ajax-push) in&amp;nbsp;wide-scale
deployments is&amp;nbsp;the addition of out-of-the-box support for 5
leading Asynchronous Request Processing (ARP)
implementations, such as Glassfish &quot;Grizzly&quot; and Tomcat 6 / JBoss 4.2
NIO. By&amp;nbsp;leveraging these ARP implementations ICEfaces
applications can &amp;nbsp;immediately benefit from reduced server-side
resource consumption for asynchronous applications, resulting in
increased scalability of asynchronous apps. on the same hardware and
software. Special thanks to Jean-Francois Arcand at Sun for all his help with the Glassfish Grizzly integration.&lt;br&gt;
&lt;br&gt;
In addition, we&#39;ve re-engineered the JavaScript bridge to handle
asynchronous&amp;nbsp;connection management between multiple viewports
using a robust connection sharing implementation
that&amp;nbsp;eliminates issues related to using multiple async. views
between browsers and to the same host&amp;nbsp;due to the HTTP
2-connection limit. The Asynchronous HTTP Server (AHS) has also been
added into the core ICEfaces bundle for this release, along with a new
servlet deployment mode that makes it easier to configure and use.&lt;br&gt;
&lt;br&gt;
The changes above were a key enabler for ICEfaces much improved support
for JSR-168 portlets, including full support for multiple ICEfaces
portlets on a the same page, async. or synchronous, from a single .war
file or several. ICEfaces 1.7 has&amp;nbsp;been verified&amp;nbsp;with
5 leading Java portal containers, including&amp;nbsp;Liferay Portal,
BEA WebLogic Portal, and JBoss Portal. Some really outstanding work has
been done to bring robust portlet support to the ICEfaces community.
I&#39;d like to give a shout-out of thanks to our friends at
Liferay in particular, who have been fantastic supporters of ICEfaces
and continue to work with us to bring the best portlet development
experience possible to the combined&amp;nbsp;ICEfaces and Liferay
communities. &lt;br&gt;
&lt;br&gt;
New features are nice but without excellent documentation and examples
they can be difficult to use effectively. On this front we&#39;ve put a
concerted effort in to review and upgrade the ICEfaces documentation in
this release, beyond simply refreshing references, etc. for
1.7.&amp;nbsp; The net result is we&#39;ve added of 8 entirely new sections
and 2 new appendices. We&#39;ve really tried to fill in some gaps in
the&amp;nbsp;and react to community suggestions for improvements. I&#39;d
strongly recommend to everyone to&amp;nbsp;check out the new docs, it
will save you time in the long run and allow to get the most out of
what ICEfaces has to offer.&lt;br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br&gt;
&lt;/span&gt;There really is far too much that&#39;s new and improved in
1.7 for me to cover here, updates to Tool integrations, new Seam sample
applications, etc., etc..&amp;nbsp; Check out the &lt;a
 href=&quot;http://www.icefaces.org/releasenotes/icefaces-1.7.0-RN.html&quot;
 target=&quot;_blank&quot;&gt;Release Notes&lt;/a&gt; for the complete
picture. &lt;br&gt;
&lt;br&gt;
Finally, I&#39;d need to highlight how greatly 1.7 has benefited from all
the community involvement along the way. A special thank-you to
everyone who&#39;s been working with the ICEfaces 1.7 early-access
releases&amp;nbsp;and reporting issues, offering suggestions, and
making contributions. It&#39;s been a very challenging, yet satisfying
release, and that&#39;s best kind, really.&amp;nbsp;&lt;br&gt;
&lt;br&gt;
</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/14/ICEfaces-1-7-Offers-Something-for-Everyone</guid>
			<pubDate>Mon, 14 Apr 2008 12:23:00 -0500</pubDate>
            <category>/Ken+Fyten/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ken+Fyten/2008/04/14/ICEfaces-1-7-Offers-Something-for-Everyone</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/14/ICEfaces-1-7-Offers-Something-for-Everyone?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Push Comes of Age</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/10/Ajax-Push-Comes-of-Age</link>
            <description>&lt;p&gt;Ajax Push has always been an integral capability of the ICEfaces framework,
but for the longest time it was not a primary consideration of the average technology evaluator.  We always found this surprising, because the impact that push can have on a web application is far more profound than Ajax&#39;s primary claim to fame - eliminating the full page refresh.  In recent months, however, we have seen a marked change in demand for push technology within the ICEfaces community, and we are now involved with a large number of projects where Ajax Push is front and center on the requirements list.  So when people are evaluating their options for achieving web-based push, what makes them decide on ICEfaces?&lt;/p&gt;

&lt;p&gt;Simply put - ICEfaces provides the most comprehensive open source solution in the industry for lightweight (plugin-free), push for web applications.  Now, I will back up that statement with the supporting facts.&lt;/p&gt;

&lt;p&gt;To begin with, while there are hundreds of open source Ajax libraries out there, only a small handful offer push capabilities - namely Dojo/Cometd, DWR/Reverse Ajax, and ICEfaces/Ajax Push.  All three mechanisms are based on the same fundamental concept of HTTP protocol inversion - holding an open request from the browser, and responding to that request when something is available to be pushed.  Normal and inverted HTTP connections are illustrated in the figure below.&lt;/p&gt;
&lt;img src=&quot;http://blog.icefaces.org/blojsom/resources/default/httpconnections.png&quot; alt=&quot;Normal HTTP Connection&quot; /&gt;

&lt;p&gt;So if all push mechanisms are based on this low-level protocol inversion, then how can they be fundamentally different from the developer&#39;s perspective?  With ICEfaces we have strived to provide a natural extension to the JSF programming model in support of push style application development, and have sheltered the developer from the low-level mechanics for Ajax-based push.   ICEfaces provides an application-level managed bean, the RenderHub, that orchestrates push events within the JSF lifecycle.  Basically, you define groups of client sessions that need to receive the same push events, and register those render groups with the hub.  Some trigger point in application logic can then request a render on a given render group, and the hub will make it all happen.  The hub is responsible for executing the render phase for each session in the group, coalescing requests and maximizing throughput with multiple parallel render threads.  Furthermore, the RenderHub architecture supports clustered deployments. This basic push architecture is illustrated below.&lt;/p&gt;
&lt;img src=&quot;http://blog.icefaces.org/blojsom/resources/default/pusharchitecture.png&quot; alt=&quot;ICEfaces Push Architecture&quot; /&gt;
&lt;p&gt;From the developer&#39;s perspective, it is a clean, natural mechanism for implementing push logic using pure Java programming techniques.  What is less obvious (and rightly so) are some of the intricacies that the underlying push mechanism handles.  The first relates to the browser and connection limits for the same URL.  One connection from the browser is required for the push channel, and a second is required to handle user initiated requests, so an application requires 2 connections, which happens to be the maximum allowable in Internet Explorer.  The connection usage for a single view onto the application is illustrated in the leftmost schematic in the diagram below.&lt;/p&gt;


&lt;p&gt;Now if you attempt to open multiple views onto the same web application you will not have sufficient connections to support it, as each view needs a connection to support its push channel.  With ICEfaces, the push mechanism in the Ajax Bridge provides connection sharing that allows multiple views to share a single connection for push updates.  It is based on shared cookies where a single view marshals updates for all views, and if the controlling view is closed, another view takes over.  The connection sharing for multiple views support is illustrated in the center schematic in the diagram below.&lt;/p&gt;

&lt;p&gt;The connection problem is amplified in a portal deployment where you might have multiple portlets from different web applications looking to share the same push connection.  In this case, not only do you need connection sharing at the browser, but also at the server.  And because the server side connection management needs to communicate with multiple web applications you need some IPC mechanism to support it.  With ICEfaces we have adapted the Asynchronous HTTP Server to handle connection management for portlets.  The portal deployment support is illustrated in the rightmost schematic in the diagram below.&lt;/p&gt;
&lt;img src=&quot;http://blog.icefaces.org/blojsom/resources/default/connectionsharing.png&quot; alt=&quot;Normal HTTP Connection&quot; /&gt;
&lt;p&gt;Now if we turn our attention fully to the server-side connection issues related to push we see scalability concerns with multiple open connections at the Servlet level.  Each connection requires a dedicated threat to handle it, so thread exhaustion can occur quickly within the application server.  Efforts to address the asynchronous communication path within application serves has begun, and will ultimately be standardized under JSR 315. To date we have seen independent solutions emerge for &lt;a href=&quot;http://tomcat.apache.org/&quot;&gt;Tomcat 6&lt;/a&gt;, &lt;a href=&quot;http://www.mortbay.org/&quot;&gt;Jetty 6&lt;/a&gt;, and most recently &lt;a href=&quot;https://grizzly.dev.java.net/&quot;&gt;Glassfish/Grizzly&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;img src=&quot;http://blog.icefaces.org/blojsom/resources/default/appservers.png&quot; alt=&quot;App Servers&quot; /&gt; &lt;/p&gt;
&lt;p&gt;All of these application servers support scalable asynchronous communication, and ICEfaces is integrated to work will all of them.  Additionally, ICEfaces includes the Asynchronous Http Server, that can be deployed along side any application server and provides scalable handling of the push requests.&lt;/p&gt;

&lt;p&gt;Because ICEfaces handles all of the connection related intricacies at the framework level, the developer is free to focus on application development, and to that end, has a straightforward Java API to work with.  Without question, ICEfaces is the only solution in the market that provides such a comprehensive feature set and an easy to use programming model.  The industry is definitely catching on to the revolutionary value of push, and when enterprises decide they need push, they are flocking to ICEfaces.  Ajax Push has definitely come of age in ICEfaces.&lt;/p&gt;
</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/10/Ajax-Push-Comes-of-Age</guid>
			<pubDate>Thu, 10 Apr 2008 09:55:01 -0500</pubDate>
            <category>/Steve+Maryka/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Steve+Maryka/2008/04/10/Ajax-Push-Comes-of-Age</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/10/Ajax-Push-Comes-of-Age?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Push at fisl9.0</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/07/Ajax-Push-at-fisl9-0</link>
            <description>&lt;br&gt;
&lt;p&gt;I&#39;ll be presenting a comprehensive overview of Ajax Push (aka Comet) at &lt;a href=&quot;http://fisl.org.br&quot;&gt;fisl9.0&lt;/a&gt; next week. &lt;a href=&quot;http://fisl.softwarelivre.org/9.0/papers/pub/programacao/159&quot;&gt; Asynchronous Ajax for Revolutionary Web Applications&lt;/a&gt; will cover a wide spectrum on the complete push stack.  Java servers and development will be certainly be emphasized, but &lt;a href=&quot;http://weblogs.java.net/blog/jfarcand/&quot;&gt;Jeanfrancois&lt;/a&gt; and I have included information that is of interest to more than just Java developers.  The talk allows you to compare the development environments available for applications with &lt;a href=&quot;http://dojotoolkit.org/&quot;&gt;Dojo&lt;/a&gt;, &lt;a href=&quot;http://getahead.org/dwr&quot;&gt;DWR&lt;/a&gt;, and &lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces&lt;/a&gt; and the server APIs available to frameworks on &lt;a href=&quot;http://tomcat.apache.org/tomcat-6.0-doc/aio.html&quot;&gt;Tomcat&lt;a/&gt;, &lt;a href=&quot;http://docs.codehaus.org/display/JETTY/Continuations&quot;&gt;Jetty&lt;/a&gt;, and &lt;a href=&quot;https://grizzly.dev.java.net/&quot;&gt;GlassFish&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I&#39;m not sure it&#39;s time to coin Web3.0 yet, but the combination of incremental page update and push is really a fundamental, revolutionary change for the web because it changes the way that communication and collaboration can take place.&lt;p&gt;
&lt;br&gt;
&lt;a href=&quot;http://fisl.org.br&quot;&gt;&lt;img src=&quot;http://fisl.softwarelivre.org/9.0/www/files/uploads/u69/fisl9_identidade_460x60_banner.png&quot;&gt;&lt;/a&gt;
&lt;br&gt;


</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/07/Ajax-Push-at-fisl9-0</guid>
			<pubDate>Mon, 7 Apr 2008 15:12:07 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/04/07/Ajax-Push-at-fisl9-0</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/07/Ajax-Push-at-fisl9-0?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax Calendar component with Spacetime extensions</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/04/01/Ajax-Calendar-component-with-Spacetime-extensions</link>
            <description>&lt;br&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces&lt;/a&gt; 1.7 will contain a number of enhancements; in particular, we&#39;ve greatly improved the Calendar component (or &quot;selectInputDate&quot;) to full spacetime support.  Currently, ice:selectInputDate allows you to choose a date in your current locale:
&lt;/p&gt;

&lt;img src=&quot;http://jroller.com/tedgoddard/resource/calendar.png&quot;&gt;

&lt;p&gt;
This has now been extended to full spacetime selection with ice:selectInputSpacetime (simply a four-dimensional generalization of one-dimensional time selection) with accommodations for special and general relativity (without singularities; support for singularities is considered to be relevant only to large-scale commercial deployments, such as those exceeding 20 solar masses, and requires a support contract ). 
&lt;/p&gt;

&lt;img src=&quot;http://jroller.com/tedgoddard/resource/lcars.png&quot;&gt;

&lt;p&gt;
Ajax Push works well with this new component, since it has both input and output aspects; for instance, to choose the location of a meeting while it is being scheduled by the other participants.  Future enhancements to the component will allow spacetime range selection in the form of arbitrary but convex, bounded regions.
&lt;/p&gt;

</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/04/01/Ajax-Calendar-component-with-Spacetime-extensions</guid>
			<pubDate>Tue, 1 Apr 2008 16:21:06 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/04/01/Ajax-Calendar-component-with-Spacetime-extensions</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/04/01/Ajax-Calendar-component-with-Spacetime-extensions?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Ajax with Seam or Spring Web Flow?</title>
            <link>http://blog.icefaces.org/blojsom/blog/default/2008/03/14/Ajax-with-Seam-or-Spring-Web-Flow</link>
            <description>&lt;br&gt;
&lt;p&gt;When you&#39;re writing an Ajax application in Java (particularly using &lt;a href=&quot;javaserverfaces.dev.java.net&quot; &gt;JavaServer Faces&lt;/a&gt; or &lt;a href=&quot;http://www.icefaces.org&quot;&gt;ICEfaces&lt;/a&gt;) you will quickly find that you need more powerful abstractions to deal with scopes and navigation. &lt;/p&gt;
&lt;p&gt;Of course, for many Ajax applications, navigation will not be necessary at all because an Ajax interface can often be created as a single page, but if you have any sort of workflow in your application, you will need to look beyond what can be done with JSF navigation rules.&lt;/p&gt;
&lt;p&gt;Consider  the standard scopes provided in the Java Servlet model (request, session, and application).  Which of these scopes is suitable for multiple browser windows or tabs opened in the application?  Clearly it&#39;s not &quot;application&quot;, because that spans activity for all users, and it can&#39;t be &quot;session&quot; because that spans all activity for a given user.  It also can&#39;t be &quot;request&quot;, because a request spans only a single user interaction (but it can be the ICEfaces &quot;extended request scope&quot; where request spans a full page refresh).  This is where &lt;a href=&quot;http://www.jboss.com/products/seam&quot;&gt;Seam&lt;/a&gt; and &lt;a href=&quot;http://www.springframework.org/webflow&quot;&gt;Spring Web Flow&lt;/a&gt; come in.  These frameworks do a variety of things that can help improve the architecture of your application, but specifically, they both provide additional scopes that work well with Ajax. With Seam, we get &quot;conversation&quot; and &quot;view&quot; scope, and with Spring Web Flow we get &quot;flash&quot;, &quot;flow&quot;, and &quot;conversation&quot; scopes. (With JSF 2.0, we&#39;re looking at &quot;view&quot; and &quot;component&quot; scopes, so those will be excellent to have in the standard.)
&lt;/p&gt;
&lt;p&gt;Which framework and which scope should you use?  I&#39;ll provide the details in a &lt;a href=&quot;http://javasymposium.techtarget.com/lasvegas/presentationtier.html#TGoddardAjax&quot;&gt;talk at TheServerSide JavaSymposium&lt;/a&gt; on March 28th in Las Vegas.  By presenting how these two frameworks allow you to work with new scopes and how they are integrated with the ICEfaces Ajax framework, you can then decide which configuration is best for your application.
&lt;/p&gt;

</description>
            <guid>http://blog.icefaces.org/blojsom/blog/default/2008/03/14/Ajax-with-Seam-or-Spring-Web-Flow</guid>
			<pubDate>Fri, 14 Mar 2008 18:53:39 -0500</pubDate>
            <category>/Ted+Goddard/</category>
                                        <wfw:comment>http://blog.icefaces.org/blojsom/commentapi/default/Ted+Goddard/2008/03/14/Ajax-with-Seam-or-Spring-Web-Flow</wfw:comment>
            <wfw:commentRss>http://blog.icefaces.org/blojsom/blog/default/2008/03/14/Ajax-with-Seam-or-Spring-Web-Flow?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
            </channel>
</rss>
