OK, I've just committed the changes to the framework that enable the  
creation of something I've been thinking about for a very long time,  
and working on for the last few months: Dabo applications that work  
like web apps.

        First off, in anticipation of worries by some, this does not require  
*any* changes by anyone using the existing framework. None. It will  
not open up any communication over the internet that did not already  
occur. The only way this comes into play is if you create a connection  
with the new property 'RemoteHost'. Unless you do that, everything  
works *exactly* the same as before.

        Now that we've gotten that out of the way, let me explain what I mean  
by 'web-enabled'. First, you need client and server applications, just  
like any other web app. In this case, though, Dabo is the client  
instead of a web browser. Everything happens locally as in normal Dabo  
apps, with two differences: many of the bizobj data functions  
(requery, save, delete, etc.) are now sent to the server instead of  
carried out locally. On the server will be a new bizobj subclass,  
RemoteBizobj, that will handle these requests and return the  
appropriate response. This means that there is no need for the client  
to have database adapters installed, as there is no direct access to  
data by the client, just as in a web browser.

        Another major aspect of a web application is that updates are  
transparent: you go to a site, and if they've changed it, you see the  
changes, not the old page. Dabo will work the same; changes to the  
source files on the server are automatically passed on to the client  
app, just as in a web browser. And since the business logic now lives  
on the server, there is no need to expose that on the client side,  
making updates to business logic instant.

        Of course, this requires a web server in order to work. I'm almost  
ready to post the one I've developed. It's a Pylons app; I chose  
Pylons since that's the framework with which I'm most familar. There  
is absolutely no reason why the this wouldn't work equally well with  
any other Python web server, as the only thing it needs to be able to  
do is route URLs to the correct methods in the controller, and return  
standard response objects and codes.

-- Ed Leafe





_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]

Reply via email to