Andrew po-jung Ho wrote:


> 
> 
> In environments such as the "disconnected" client (e.g. Palm Pilot)
 >
Here is where the Palm (and other such smart devices) 
paradigm run afoul of the web application server model. To 
recap, a web application server (Zope, PHP, Perl, Java, ASP, 
whatever) uses the browser to display a GUI which interacts 
with application logic on the server.  If your device must 
run disconnected from the net, which all devices must assume 
will happen sometime, then the GUI becomes disconnected from 
the application logic.  To use the device while disconnected 
  you must load both a browser and the application server on 
the device and then do data synchronization when the network 
next becomes available.

   This is 1) awkward and 2) requires too much on the small 
device.

So, if one is using a web application server for 
development, then you must accept that when the device is 
disconnected, there is no application available!

   If this is unacceptable to the intended use of the 
device, another paradigm should be used.  I believe that is 
roaming,   mobile code. The exact world java was intended to 
service (and failed at!).  Since java has become such a 
success on the server side,  I have neglected the client 
side issues that caused the original failure.  Let me 
recount them and see where we are:

   No standard java platform - The advent of java2 
(j2se1.3.x and j2me) and Microsoft's abandonment of java has 
stabilized platform differences.

   applet's took to long to download - the advent of jnlp ( 
http://java.sun.com/products/javawebstart/docs/developersguide.html 
)
provides incremental version control and cacheing 
capabilities, thus replacing applets with applications.

data synchronization - for now the Palm model seems 
dominant, but I expect that agent technology  or something 
like JavaSpaces to become more widespread.  ( 
http://java.sun.com/products/javaspaces/faqs/jsfaq.html ).

So, in the device world, I am coming to the conclusion that 
client side code  with a data synchronization layer is a 
viable solution.




Reply via email to