Return-Path: Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: (qmail 41077 invoked from network); 4 Apr 2006 13:44:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 4 Apr 2006 13:44:48 -0000 Received: (qmail 13248 invoked by uid 500); 4 Apr 2006 13:44:47 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 13204 invoked by uid 500); 4 Apr 2006 13:44:47 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 13179 invoked by uid 99); 4 Apr 2006 13:44:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Apr 2006 06:44:46 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [217.160.230.40] (HELO mout.perfora.net) (217.160.230.40) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Apr 2006 06:44:46 -0700 Received: from [24.163.167.196] (helo=[192.168.1.100]) by mrelay.perfora.net (node=mrelayus0) with ESMTP (Nemesis), id 0MKoyl-1FQlpX15L4-0007aP; Tue, 04 Apr 2006 09:44:24 -0400 Message-ID: <44327840.8030604@hookom.net> Date: Tue, 04 Apr 2006 08:44:32 -0500 From: Jacob Hookom User-Agent: Thunderbird 1.5 (Windows/20051201) MIME-Version: 1.0 To: MyFaces Development Subject: Re: What's a POJSO ? References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: perfora.net abuse@perfora.net login:38996d6b4507362014e15e1650404613 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Dennis Byrne wrote: >> I guess I look at this stuff much differently with JSF. Watching Ted >> Neward's interview on SOA >> (http://www.theserverside.com/news/thread.tss?thread_id=39757), it got >> me thinking that these AJAX solutions are doomed to pursue the same route. >> > > [OT] > I have only listened to the first 15 minutes. Neward is a smart guy but I don't buy the "Spouse" example. Although a spouse href can point to a cat, he does not mention that modelling that relationship in Java has it's limitations as well. For example, there is no way to guarantee this in any language: > > dennis.getSpouse() == tatiana & tatiana.getSpouse() == dennis > > (which is true in XML also). A better way to model that situation would be to just create a marriage class. > It doesn't resolve the fact that transporting contextual data like that is much more expensive than the result of the evaluation for the UI. Yes, this doesn't apply for more 'interesting' components, but most of the time developers just want to update parts of the screen. Why go through a series of intermediary expectations back on the developer as a special case when it can be done so easily by just asking the component to re-render itself? I do get what you mean by "selling" JSF and waiting for a round trip to the server for a full refresh. What if you were able to simply request a single component from the server to be re-rendered via AJAX? No waiting for a full refresh of the screen, no need to develop specialized intermediaries/RPC wrappers, just refresh this area or re-render the h:message for some component based on the state of your input. (ADF/Exadel/Avatar) So there's a simple foundation that can be leveraged for the 80% case of updating parts without extra development or wasteful data marshalling over the network. The 20% case, which is to optimize specific types of component interaction w/ pre-fetching or JavaScript handwaving at the data layer, then continue with specialized PhaseListeners, Filters, and Servlets.