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]