OSSWEB, Web Development Framework for Naviserver
OSSWEB is a Web Application Framework which includes the following subsystems:
- security layer
- templating manager
- database layer
- connection manager
- extension modules
OSSWEB does not try to hide Web presence or introduce some kind of new development
approach to Web programming. It just makes it easier to develop Web applications,
fully aware that you are developing Web application, not general purpose GUI. Briefly,
programing with OSSWEB is just writing callbacks on commands, similar to other GUI
frameworks.
Current version includes the following modules:
- Admin Interface
- Bookmarks
- Contact Manager(People,Companies)
- News
- Webmail
- Print Spooler
- Problem/Task Tracker
- Timesheet
- Weather
- Webmail
- Calendar
- Photo Album
- Forums
- TV Guide with PVR
- Movies Collection Manager
- Simple Webcam module
- OSSMON network monitor
Security_Design.txt document,
briefly it is a general purpose mechanism for access restrictions
in Web applications.
Templating manager is almost syntax compatible with former ArsDigita
Templating engine and OpenACS
templating engine but implemented differently. The idea was borrowed
from those templating systems and extended with more tags and form/widget
subsystems implemented completely differently.
Database layer is a high level DB access functions which covers most typical
database access methods and performs all type/variable conversions between
database and Tcl. Many functions are similar in functionality with
ACS/OpenACS database functions.
Connection manager performs all work with query parsing,
Tcl variables initializing and request routing. The system implements
request state machine whereby each request launches corresponding
Tcl callback.
Overall OSSWEB makes it very easy to build Web applications and because it
is based on Naviserver platform, at the same time OSSWEB provides ability
to make server or backend applications as well. All DB access functions
are very high level, not complex and data query manipulations, just define
SQL statement with places where Tcl variables should put their values and
OSSWEB will execute and retrieve all data. Multiple methods how to store
values from database are available: Tcl variable, array, list, ns_set.
OSSWEB offers the ability to keep SQL queries separate from the Tcl code and
refer to SQL statements by name. This provides abstaction layer, flexibility
and makes code cleaner and easier to read. Those SQL statements can be changed
and server will pick them up automatically.
Tcl code is always compiled into bytecode and cached inside the server, this
gives very good performance as parsing/compilation time may eat up significant
portion of Web page execution time.
This site is running NaviServer 4.99 and {OSSWEB version 3.0 $Revision: 3232 $}
|