Vlad: Software: OSSWEB:   Demo User Thu, 24 Jul 2008 19:00:43
Home
About
    Reading
    Shooting
    Pictures
Forums
Software
    OSSWEB
    OSSMON
    Maverix
    LMBOX
    Naviserver
News
Weather

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 $}