The most critical part in the installation process is the preparation of
the senvironment required by the framework. This environment is actually an
integration of web-based support software that consists of operating system,
web server, database application server, and main scripting language to be
used in the application development. Regardless of the operating systems to
be used (Linux/Unix, Windows, or Mac), the rest of three other software
elements are conveniently supported by the
distribution. XAMPP is a bundle installation package containing Apache,
MySQL, and PHP/Perl scripting language.
The tutorial gives the basic ideas of how web application could be developed
with less effort helped by web-based development tools and automatic code generator
scripts provided by the framework. The main objective of the tutorial is to provide
a hands-on experience to developers to apply the main concepts of architecture and
design, and development approaches used by the framework. It will help developers
to further understand the rest of other conceptual and technical parts of the framework.
Web-based Support Tools
There are two categories of web-based support tools provided by the framework,
as briefly described below:
Application Development Tool:
Provides facilities to manage application link's node hierarchy structure that
involves basic node's operations such as adding new nodes, updating node's
attributes, and deletion of an existing nodes. More complex operations are
including the management of node's references to application resources and
control on resource's parameters. Application resources can be the framework's
component-type modules or just a simple static HTML files.
Application Administration Tool:
Application Administration Tool is actually one of the applications
developed using the framework thus it's under the scope of control of the
previously described Application Development Tool. Main facilities
provided by the Application Administration Tool are more focused on
application maintenance operations. It involves user and group entities
management, and access control of these entities to the application
resources (link nodes, component-type modules, and database items).
Architecture and Design
Adopting the idea of the Model View Controller (MVC) architecture,
the framework proposes the Controller View Controller (CVC)
architecture for its conceptual specifications. In CVC archictecture the
controller has become a dominant element and more focus has been placed on
it. The controllers are treated as a component with built-in generic aplication
specifications that are ready to be implemented as a semi-complete solution
inside the application. Component specifications are obtained by capturing and
abstracting the most possible generic requirements of the target problem
domain (web-based applications) where the architecture and design would
be based on.
The framework enforces Component Based Development (CBD)
approach through the abstraction of the generic specifications of web
application. These generic specifications are implemented as Perl modules
written in Object Oriented Programming (OOP) style. Inside the
framework, the modules which are written following these specifications are
known as component-type modules. One of the specifications is to solve the
integration of business logic for data manipulation and presentation internally
inside the modules themselves.
To support application data presentation, component-type modules will internally
process the view-template assigned to them. A view-template is simply a standard
HTML document contains special structured tags to split its content into several
different content parts, known as view-element. A collection of view-elements
inside a single view-template will be passed to the hook functions invoked by the
implementation of the component-type modules. Inside the hook function, view-element
content is manipulated by data presentation modules to generate the final content
Modules and APIs
In general, framework's modules are classified into two different groups
that are the core modules and the component-type modules. The core modules
provide basic web application development facilities as listed below:
Inside the framewok, component-type modules are treated as application
components. They provide various generic web application business logic
solutions either as a fully-complete solution (black-box) or as a
semi-complete solution(white-box). Generic tasks and solutions supported
by current available component-type modules are including application link
structure handling, database operations (view/search/insert/update/delete),
calendar-based application data control, JSON-based data service, and
dynamic control for the selection of active-component to be composed inside
Base module that provides basic application functions following web
application generic specifications defined by using the CBD approach.
All framework's component-type modules are derived from this base
CGI and session data handling.
High level database APIs to simplify and automate database operations.
Application related data structure instance creation.
Mapping of application data instance to view-element for