Table of Contents

OpenSER Web Interface will be developed in true OOP fashion, meaning compatability will only be with PHP 5.0+. The program will be composed of the traditional three layers: View, Logic, and Data.

Common OOP patters will be employed to solve many of the problems involved with this project. The next three sections will describe the three layers from top-to-bottom, or view-to-data.

View Layer

Front Controller

Application Controller

Command Resolver

Context

Context Interpretor

View/Logic

Command

Logic

Domain Objects

Logic/Data

Mappers

Data

Collections with Lazy Load

* Implements PHP Iterator interface
* Type specific collection
* Given DB result and a Mapper to build collection of objects with

Identity Mapper and Unit of Work