Holds all Business Objects in the OHS.

Package Specification

The dfs package is where all the Business Objects in the OHS should be placed. This included P2PP,OT,and PHRS. BusinessObject are essentially Java Beans with properties (Class attributes),and setter and getter methods to access and change these properties.

Design Patterns (Object Factory)

Every Business Object is create through the Object Factory. When an object is created it is assigned a unique system wide ID. In each of the setter methods of the BusinessObject a firePropertyChange Event occurs which notifies the any other object that is listening. In our case the AutoSaver class is one of the classes which is listening and when it receives the event it saves the latest change to the Local Storage.

Dumb Objects

The design decision was made not to allow business objects any knowledge of the database or local storage. We use the persistence package to delegate to the correct storage manager to store these business objects

Production Issues

  1. Stick to the beans specification for adding member variables to a business object Make sure to add setter and getter methods for these attributes. This is essential because P2PP uses reflection to initialize the member variables and if the appropriate set and get methods are not present the default functionality will not apply to the new member variables

  2. Do not change the signatures of methods in business objects or any serialized object as it will cause incompatibilities with the cache. The best solution to this problem is to document the method as deprecated and add the new method.