The SmartWeb framework aims to provide a support base to develop web applications in a consistent and clear manner, guiding the developer to use common and useful design patterns.
Under this perspective the framework is separated into the commonly known five tiers:
Those five tiers produce a high decoupled design with support for extension and modularization of the produced applications.
Hereby are presented the most important features of the framework as a result of the evaluation process of the tipical architecture systemic qualities as proposed in many enterprise grade architecture analisys.
Having the software splitted onto three distinct tiers allows to have three distinct teams with different skills working cooperatively onto the software using the layers interfaces to communicate.
Each single tier can obviuosly be completely rewritten in case of software maintenance or requirements evolution: you can start with a file based persistence and then switch later to a relational database or you can add a web service interface implementation whenever you discover another system needs to access your business!
Each tier can scale differently depending on your customer needs and software usage: an application with complex business logic and few cuncurrent accesses may need to scale only the business tier while an application with simple business logic but with an high cuncurrency level may need to scale only on the presentation tier.
The tiering allows you to choose which tier you need to separate and the framework will support your choice!