[EMAIL PROTECTED] wrote:
>
>Occasionally, I thought we might start up with a new application server that 
>has features like these: 1) MVC model; 2) XHTML templates; 3) backend
>programming based on XML (e.g. parsing parameters like STRUTS), so other
>java, .NET applications can be translated as easy as possible; 4) some
>special cares on the places where mod_perl may be weak (such as memory
>usuage), so there might be a few special C modules for things like 
>system-wide authentication. and so on.


While we're on the topic of PR, I'll go ahead and insert a shameless
plug for a project I've been working on :)

I'm hoping to get another release out before OSCon (one that actually
installs :/), but Gestinanna is a project I've been working on for a
year or two now that has the following features:

 o Separation of Model, View, and Controller
   Model is supplied in the form of taglibs that extend the language of the
   Controller that determines which of the
   Views get used to present data to the customer.

 o The Controller is written as (what I'm calling) an eXtensible
   StateMachine (XSM for short, using a SAX XML->Perl compiler) which
   is a collection of XML namespaces and schemas that can be used to
   define state machines and add scripting that gets triggered when
   it changes state (and offering basic continuations in the process,
   though I'm thinking hard on how to extend it to make it even more
   useful).  This language is declarative / descriptive (similar to
   XSLT) instead of the usual prescriptive form that we're used to in
   Perl and PHP.

 o Views are written in a docbook-derived schema that allows easier
   transformation to various devices (screen, handheld, etc.) with
   extensions to handle forms.  The views are processed by Template
   Toolkit to allow some simple scripting for managing data insertion
   into the view. (This was a decision based on who was going to be
   managing the views where I work.)

 o Uses AxKit to manage the transformation from XML to HTML or other
   format.

 o Abstraction of data sources so applications can be written in a
   generic fashion as to both model and data source.

 o Extremely flexible security / ACL language using XPath-like
   specifications for sets of objects

 o full application inheritance of states as well as views, both IS-A
   and HAS-A style

 o support for embedding multiple application views within a page and
   for themes

 o command-line management tool for managing installation of
   applications (from .tar.gz packages) as well as RDBMS schema
   management (with inheritable schemas from packages).

 o revision control system for all scripts, views, etc., managed
   within the application framework.  Uses the idea of tag paths so
   not all the members of a tag need to be tagged - just the ones
   that are different from the previous tag.

In addition, I have been able to use the scripting to define
workflows using the Workflow module recently submitted to CPAN.  This
is still needing some testing and integration work though.  Also
working on starting DAV support with the recent publishing of a perl
module that handles DAV requests.

I'm in the process of revamping the testing code as well as cleaning
up a few other odds and ends.
-- 
James Smith <[EMAIL PROTECTED]>, 979-862-3725
Texas A&M CIS Operating Systems Group, Unix

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to