User's Manual

Chapter 1. WAF Overview 3
1.1.1.1. Presentation Layer
The Presentation Layer is responsible for presenting information to the end user. The presentation
layer accepts processed, structured data from the domain layer and is responsible for styling the data
appropriately and delivering the content in a format appropriate for the end user.
1.1.1.2. Domain Layer
The Domain Layer contains Domain Objects, which are abstractions of entities that exist in the busi-
ness domain, for example, Party, Person, Group, Company, Department, Team, Product, Order, Line
Item.
1.1.1.3. Data Layer
The Data Layer contains two very important components:
Data Objects
Provide read and/or write access to the persistent properties of Domain Objects.
Persistence Metadata
Describes a Domain Object e.g., its name, its properties, and how each property is mapped into
the Data Storage layer. This description is written using the Persistence Definition Language
(PDL) format. PDL was designed to be used specifically in WAF. PDL is discussed in more
detail in Section 2.3 Persistence Definition Language (PDL).
1.1.1.4. Data Storage Layer
The data storage layer Contains the mechanism(s) employed for storing data persistently. This is
typically a relational database (RDBMS) such as Oracle9i™ database or PostgreSQL, combined with
a data model. It may also include other mechanisms, such as an LDAP directory or filesystem.
1.2. Features
In his seminal book Analysis Patterns, Martin Fowler writes that a framework “... should be applicable
across a large domain and be based on an effective conceptual model of that domain” (p. 11). Accord-
ingly, the Web Application Framework defines a set of Domain Objects that are encountered in the
problem domain of most WAF applications. This object model further subdivides into two categories:
kernel and services.
In addition to kernel and services, WAF includes other features that facilitate building database-backed
web applications: infrastructure, persistence, presentation, and web.
1.2.1. Kernel
The kernel provides all the business logic provided by WAF, namely, business logic that is essen-
tial to building a web applications. Kernel provides domain objects that represent users, groups, and
permissions.