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
-
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
-
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.