Architecture overview

Framework architecture overview

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:

  • the client tier, which is not covered by the framework, encompasses the software running on the client side to provide interactivity with the application;
  • the presentation tier to render informations to the consumer;
  • the business tier to process requests and produce results;
  • the persistence tier to save and retrieve datas from an underling source like a database or the filesystem;
  • the resource tier, not covered by the framework, representing the data sources and system integrations.

Those five tiers produce a high decoupled design with support for extension and modularization of the produced applications.

Main architecture features

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.

Separation of concerns

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.

Evolution and Maintenance

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!

Scalability

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!