The following module was proposed for inclusion in the Module List:
modid: SAWA
DSLIP: bdphp
description: Simple Api for Web Applications
userid: PHISH (Christian Glahn)
chapterid: 15 (World_Wide_Web_HTML_HTTP_CGI)
communities:
similar:
CGI::Application, CGI::XMLApplication, Poe
rationale:
SAWA stands for Simple API for Web Applications which is borrowed
by the idea of SAX known in the XML world. It will provide an
abstract interface that allows to implement web applications of
different stages of complexity.
The idea behind SAWA as a Web application interface/ framework is
to allow the development of plugable object oriented web
applications. Instead of offering a certain application or output
style, SAWA tries to offer a lightwight interface that allows
generally the change of parts of the application without breaking
the global application.
While very general idea of SAWA is taken from Poe, the major
difference to Poe is that SAWA application do not need a separate
server to be implemented. The design of the framework is made in a
way that it is possible to port both CGI::*Application frameworks
without adding to much overhead. This is possible because SAWA
provides generally spoken a lightwight outling of what these
frameworks concider to be a CGI application. by just outlining the
application structure SAWA offers more flexibility than both of
them.
Until now it becomes not clear why I would like to request a
toplevel namespace. While many web applications start as ordinary
CGI scripts most of them grow over the time and are ported to
mod_perl, which is part of the Apache namespace (yes, you should
know) ;) Still SAWA separates the data delivering from the core
application logic, which allows to easily switch between mod_perl
and plain CGI environments. As well in the current state of
development the application logic can be plugged to the AxKit
server, without changing almost no code. Another reason why SAWA
might be a toplevel namespace is the point, that it shouldn't be too
much effort implement separate IO interfaces that can be plugged to
the core application logic object, so the application can run within
a Jabber environment.
Therefore SAWA supports application development using existing
servers. Thus it cannot be simply bound to the CGI or the Apache
namespace, as I think.
This may support development towards the idea of open source:
Rather then implementing an entire web application themself a
programmer can concentrate more to the application logic and reuse
sollutions of various content delivering techiques depending of the
needs of the given application. As well one can choose between
different and relativly strict frameworks that support the
development of the application logic. In this context the output
schemes are strictly separated from the application logic. So it is
possible to reuse different content delivering techniques
independent from the application class used in a given case.
Each of the parts are ment to be object oriented, while these
objects communicate with eachother thrugh a well defined--but simple
interface. This includes the possibility of cascading various
"subapplications".
I hope it becomes clear about the intention and the target of the
set of modules that should be covered by this namespace.
Christian Glahn
enteredby: PHISH (Christian Glahn)
enteredon: Sun Jul 7 02:47:59 2002 GMT
The resulting entry would be:
SAWA bdphp Simple Api for Web Applications PHISH
Thanks for registering,
The Pause Team
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=b4100000_d477d58a6293a204&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=b4100000_d477d58a6293a204&SUBMIT_pause99_add_mod_insertit=1