Technical architecture is concerned about how large software applications can be or
should be organized for better performance and ease of development. The commonly
used option is a 3 or n tier architecture.
Presentation Tier (or Client-tier) (see Web Design)
It implements the "look and feel" of an application. It is responsible for the presentation of data, receiving user events and controlling the user interface. Most ecommerce applications are web-based.
- HTML is a Web authoring markup language for defining content structures and
rendering a web page.
over the look-and-feel of a page in dynamic HTML.
Application Tier (see Application Development)
This layer implements the business logic of the applications. It is usually powered by a Java Application Server (WebLogic or WebSphere). There're several
sub-layers within the application layer.
- Control Layer is the interface layer between presentation tier and application
tier. The implementation of this layer is dependent on the languages used for implementing
the presentation tier.
- Transaction Layer usually implements business processes that may involve many business objects.
In J2EE architecture, session beans are commonly used for implementing the transaction layer.
Transaction Layer and Business Object Layer are not constrained by the programming languages for the presentation
and the database used for persistence.
- Business Object Layer consists of objects that represent business entities which always
should be 100% independent of database used for data persistence.
- Data Access Object (DAO) Layer is the interface between the application tier and
persistence tier. Besides the methods for "creating", "retrieving", "updating" and
"removing" a business object from database, DAO objects implement other business-specific methods
as well. Even with JDBC, DAO objects may not be 100% database independent.
This is the layer that manages the persistence of application
information. It is usually powered by a relational database server
(Oracle or MS SQLServer).
- Stored Procedures and Functions are used to execute database server-side
processes pertinent to data integrity. Business logic processes should be part of
application layer in general, not part of data layer.
- Views are better choice than tables for presenting data to applications.
They offer some level of security and can be used as alias to hide physical structures of
- Database Tables are used primarily for storing data.
Criteria of Evaluating Architecture Options for Web-based applications
3 Tiers of Business Applications