Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: Tom Newsgroups: comp.lang.java.programmer Subject: Re: Support for both Web and Desktop front-ends [Architecture] Date: Wed, 13 Jul 2011 12:28:47 +0000 (UTC) Organization: Aioe.org NNTP Server Lines: 34 Message-ID: References: NNTP-Posting-Host: kyiEPMrZYa1k6vhLW1G2ZQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Pan/0.133 (House of Butterflies) X-Notice: Filtered by postfilter v. 0.8.2 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:6160 On Wed, 13 Jul 2011 10:48:08 +0000, Stefan Ram wrote: > Tom writes: >>Anyway, our desktop client is swing and uses serialisation to/from the >>server. There is no soap/rmi, just sockets. > > Actually, a plain Java interface would be sufficient (or a set of > those). A socket is only neccessary for the web client, not for the > Swing client. However, when the server socket is already there, it > might be more straightforward when the Swing client uses it, too, but > this might sacrifice some performance. I assume that OP wants a thin client, not a fat one, or if that was not what you meant exactly, that a server of some sort would coordinate the access of multiple clients to the underlying data. In our case this includes pushing events about data changes to the (desktop) clients asynchronously. > >>Because all data is just trees, MVC with the desktop is automatic (you >>don't have to code that). > > (I don't understand this. But never mind.) All of the application data is maps, not instances of class MyFooBar This means you do not need to write code that does the MVC for MyFooBar. When (for example) a mutation event emanates from the map path "p.q.myFooBar.someField" (possibly raised by the server and pushed to the client) and because the GUI component has been told it is rendering "p.q.myFooBar.someField" the client side of the framework does the MVC for you. For tables/trees there is more metadata but you get the idea...