The Workplace Shell is implemented using the System Object Model. Many of the characteristics of the Workplace Shell, such as folders and icons, are implemented as System Object Model classes. This method of implementation allows an application developer to use such classes and inherit characteristics and behaviors from them.
The ability to inherit standard behaviors from existing object classes can significantly simplify the task of developing a new object class, since only the differing behaviors must be explicitly defined; all others may simply be inherited from the parent class.
The WPS implementation also enables multiple instances of each class to be created, as well as multiple copies of any specific instance. WPS classes include data files, programs and shadow copies. Each class has its own methods for instantiating and storing objects of that class and use a variety of techniques for recording the attributes and data for each object.
Table "Workplace Shell Object Persistence Summary" summarizes persistence in the Workplace Shell.
A data file stores its data in files within a disk directory and its attributes in Extended Attributes (EAs) associated with that file. A folder stores its contents in a disk directory and its attributes in EAs associated with that directory.
Program files are stored on disk but access to them via the WPS is controlled by pointers in the OS2.INI file. Shadow copies do not physically exist, they are simply pointers to the original data file which are held in the OS2.INI file. These pointers are also stored by folders in a section of the OS2.INI file. The position of their icons is held in the directory EAs for that folder.