Workplace Shell

From Wikipedia, the free encyclopedia
OS/2 2.0, showing the first version of the Workplace Shell

The Workplace Shell (WPS) is an object-oriented desktop shell (also called desktop environment) produced by IBM's Boca Raton development lab for OS/2 2.0. It is based on Common User Access and made a radical shift away from the Program Manager type interface that earlier versions of OS/2 shared with Windows 3.x or the application-oriented WIMP interface of the Apple Macintosh. The Workplace Shell was also used in OS/2 Warp 3 and Warp 4, and the OS/2-based operating systems eComStation and ArcaOS.

IBM originally intended to deliver the Workplace Shell as part of the OfficeVision/2 LAN product, but in 1991 announced plans to release it as part of OS/2 2.0 instead.[1]

Although mostly written in C, under the covers the Workplace Shell is implemented as an object-oriented class library, basing on the System Object Model (SOM). The WPS classes are glued together with an interface definition language (IDL). SOM and its IDL was developed by IBM in their Austin, Texas lab. The classes can easily be manipulated by sending simple settings strings (like "KEYWORD=VALUE;") to them both via a C and a Rexx API.[2][3]

When implementing a new WPS class, it is derived from an existing class from within the WPS class hierarchy. For modifying, extending or removing certain functionality of the parent class, often only a few methods of the parent class need to be overwritten by the developer. All other functionality of the parent class can safely remain unchanged, ensuring the seamless integration of the added or modified functionality and with that the consistency of the remaining user interface.

The resulting object class is shipped in DLL form. Once the new object class implemented by it is registered with the Workplace Shell and an instance of this class is created, it can be acted on by the user or other programs as every other Workplace Shell object.

A part of the WPS design allows for the developer of a class Y which extends or modifies a class X to execute an additional API on installation which will let the WPS 'replace' class X by class Y. This will make even all existing instances of class X behave as instances of the modified class Y; i.e., almost a retroactive inheritance. This allows for many useful third-party desktop utilities that add or modify functionality to or of existing objects without access to IBM's source code. Where the IDL and class headers also of derived classes are published, these classes can as well be extended in turn in the same way.

See also[edit]


  1. ^ Desmond, Paul (1 July 1991), "IBM refocuses office tool", Network World, International Data Group, vol. 8, no. 26, p. 51, ISSN 0887-7661, IBM last week said some features originally scheduled to ship in OfficeVision/2 LAN will be bundled into the current release of the product, while others will be either integrated into OS/2 or delayed indefinitely... IBM's Workplace Shell, an enhanced graphical user interface, is being lifted from OfficeVision/2 LAN to be included in OS/2 2.0... The shell offers the capability to trigger processes by dragging and dropping icons on the desktop, such as dropping a file into an electronic wastebasket. Porting that feature to the operating system will let any application take advantage of the interface...
  2. ^ Oscar Cepeda (May 12, 1994). OS/2 Configuration Techniques: "Cracking" the Workplace Shell (PDF). IBM Redbooks. IBM Corporation, International Technical Support Organization. ISBN 9780738405742. Archived from the original (PDF) on 4 May 2005. Retrieved March 25, 2013.
  3. ^ Mindy Pollack (1995). Marc A. Stock (ed.). OS/2 Workplace Shell API. New York: Wiley. ISBN 9780471038726.

External links[edit]