"While simplicity is preferable, totally eliminate complexity is
impossible, thus a predefined solution entities are highly
valuable" - MRS, November 4, 2011 at 5:49PM
It's great if the ancients Aristotle, Plato, or Socrates
have the opportunity throughout their lifetime, to experience
how the internet is used as nowadays and give their own
perspectives regarding to web application development issues
faced by the developers today.
Far from try to be one of the above mentioned ancients,
nonetheless, it's worth and crucial to have something general
but substantive to grasp with so the framework will has a clear
visions and directions in its master plans development.
Learn from other proven concept particularly the "Model View
Controller" (MVC) architectural pattern that has been widely used
in many different environments and applications, the framework
simply outlines its development strategies as follows:
Not being exactly a MVC, simple, and lightweight might limit the
type of applications supported by the framework but there are
justifications for it. Even in small vertical problem domains,
further scoped by organization's limited roles and responsiblities,
there are still multitudinous different applications that are
critically required by the organization to fulfill stakeholder
needs. The idea of Webman-framework itself is actually come from
the experiences of solving various problems in academic computing
domain scoped at faculty and university level.
Accept, admit, and appreciate the benefits of implementing MVC
architecture and design in web application
Adopting the idea of MVC in a different ways for the sake of
simplicity and lightweight features of the framework
The figure below shows a relative comparison of different
web-based applications might be developed acrross different
In real world not all applications are categorized as the most
right-top of application as depicted in the figure. Developing the
most bottom-left type applications using an application framework
dedicated for the most right-top problem domains is obviously
overkilled. At worst, developers put most of their efforts
struggle with the complexities of the framework itself instead of
the problem domain to be solved.
Contrarily, from-scratch development approach without using any
application framework even for bottom-middle class applications
can be too error prone and lead to unnecessary repetition of
solutions thus increase the overall development cost.
Through the experiences of developing several bottom-middle type
in-house web applications, the framework was proposed with the
rationale to balance and harmonize both the complexity and
necessity in web application development activities.
The concepts are more towards how web application, alternatively,
should be developed. They are derived after doing some studies on
other previous related works and conducting small-scale reverse
engineering activities on exsiting web applications developed
using the framework.
Web applications (WAs) are mainly constructed from hierarchical
connected nodes implemented as standard HTML link structure.
Nodes act as references to application components to construct
the logical structure of component compositions that made up
the overall application.
Application components are modules written in "Object-oriented
Programming" (OOP) style following generic web application
solution specifications, predefined using "Component-based
Development" (CBD) approach.
Database should not only be used to store application data
(content and relationships) but also the aforementioned HTML
link structure and some parts of the control elements
(business logic) of the application.