Lightweight, Component-based, and Database-oriented Web Application Framework

About | Overview | Documentation


Historical Information

The history of the framework began in the early 2000s when there is a need to develop new custom CGI libary in Perl language to support online order facilities for book selling company website. Later the library has been used to support online article submission system for two consecutive conferences (CoGRAMM'02 and CoGRAMM'04) organized by the Faculty of Computer Science & Information System (FSKSM), UTM. Since then the library is continuously improved with new modules have been added to support the development of various more complex web-based applications to solve academic computing tasks at the faculty and university level.

Among all of the applications that have been developed, the most significant one is FSKSM's online Timetable & Space Management System. This particular application has several unique features that require complex integrations of various entities involving users (students, lecturers, etc.), courses, spaces (lecture rooms, halls, labs, etc.), and times. Invaluable experiences have been gained through the development of this application since its complexity challenge motivates and compels developers to reorganize all library's modules in more structured and systematic fashion. As a result, a consistent and generic design structure of web application are able to be identified. Most of the ideas and concepts of the framework are mainly derived from this particular application through later reverse engineering acitivites.


Deployment Environment

Currently the framework is dedicated to be used with XAMPP environment as its prerequisite. This means that besides the operating systems (Linux/Unix, Windows, or Mac) the list of support application/server softwares as listed below are required.
  • Apache Web Server
  • MySQL Database Application Server
  • Perl Scripting Language


Development Approach

The framework holds the principle that web applications should mainly constructed from standard HTML links (hypertext links) which is one of the core underlying concept used to define and build the "World Wide Web" (WWW). Inside the framework implementations, these links are actually nodes that hierarchically connected to each others. Each of these nodes can be used as references to particular application modules. Through a collection of link paths derived from node's hierarchy structure, application modules are composed together to deliver service to the users.


Development Facilities

Development activities are mainly supported by web-based application development and administration tools. Generally, these web-based tools will be used by developers to construct the basic link (node) structure of the application, referencing node to particular application module, setting the module's parameters, and control access to application resources.

Besides the web-based tools, there are command-line scripts in Perl language to help developers to do the development tasks in more productive way. Below are major development tasks supported by the command-line scripts provided by the framework.

  • Creation of new application - prepare the configuration files, directory structure, and application logic database tables following framework's default structures, schemas, and conventions.
  • Database tables management - dump and load database tables (application logic and problem domain data) for the purpose of application backup and deployment.
  • Code generator - automatically generate application code from framework's predefined code templates to solved basic application functions that are mostly related to database operations (CRUD).