|
PAMWeb is a simple application framework and a set of pluggable modules for
quickly constructing web applications. The main goal is to provide a proper
infrastructure for the development of independent ready-made application
modules as well a comprehensive set of such modules that a programmer can assemble
or plug into their application. For example, almost all web sites and applications
need some form of user profile management with login/logout/register functionality
as well as some form of permissions management where users are allowed access only
to certain resources. A web site will often have a FAQ section, a news section, perhaps
some only message boards etc. All these pieces of functionality can be abstracted
into separate, configurable modules.
Such modules can be presented as portlets in a portal environment, or assembled
in a standard web application.
Key Facts
-
The architecture is a classic 3-tier. A shortcoming is that the persistent
layer is somewhat sloppy compared to such excellent tools as Hibernate for
example. However, it can be replaced as its API is not intrusive.
-
UI layer is using TICL, which allows for very concise and flexible expression
on style, layout and behavior.
-
The framework includes a simple meta-model for dynamic typing of objects. Ralph
Johnson document a Type Object pattern some time ago. This follow this
idea, easily expressible in Java. Dynamic types are like records created at run-time
and attached to persistent objects. Each dynamic type is made up from a set
of dynamic properties, each typed on its own. A dynamic property has an editor
and a viewer associated with it. Etc.
-
The user management module is fairly complete and advanced. It has been used
in several commercial projects. It includes a sophisticated permissions management
sub-system that has proven practicle and flexible.
-
The forums module is quite flexible as well. Combined with the categorization module,
the message/forum abstractions are general enough to solve most content management
problems.
Get It
PAMWeb is available only in source form, from the following Subversion URL:
https://svn.kobrix.com/webstuff/pamweb
Use your favorite Subversion client to access it. Let us know if you are using it!
|