Workplace Shell
Encyclopedia
The Workplace Shell is a object-oriented desktop shell 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 is still the user interface of the revamped successor to OS/2 called eComStation
of Serenity Inc.
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.
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.
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
's Boca Raton development lab for OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
2.0. It is based on Common User Access
Common User Access
Common User Access is a standard for user interfaces to operating systems and computer programs. It was developed by IBM and first published in 1987 as part of their Systems Application Architecture...
and made a radical shift away from the Program Manager
Program Manager
Program Manager is the shell of Windows 3.x and Windows NT 3.x operating systems. This shell exposed a task-oriented graphical user interface , consisting of icons arranged into program groups. It replaced MS-DOS Executive, a file manager, as the default Windows shell.The program derives from the...
type interface that earlier versions of OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
shared with Windows 3.x
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...
or the application-oriented WIMP
WIMP (computing)
In human–computer interaction, WIMP stands for "windows, icons, menus and pointers", denoting a style of interaction using these elements. It was coined by Merzouga Wilberts in 1980...
interface of the Apple Macintosh. The Workplace Shell was also used in OS/2 Warp 3 and Warp 4, and is still the user interface of the revamped successor to OS/2 called eComStation
EComStation
eComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:...
of Serenity Inc.
Although mostly written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, under the covers the Workplace Shell is implemented as an object-oriented class library, basing on the System Object Model
System Object Model
In computing, the System Object Model is an object-oriented shared library system developed by IBM. DSOM, a distributed version based on CORBA, allowed objects on different computers to communicate.-Applications:...
(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
Austin, Texas
Austin is the capital city of the U.S. state of :Texas and the seat of Travis County. Located in Central Texas on the eastern edge of the American Southwest, it is the fourth-largest city in Texas and the 14th most populous city in the United States. It was the third-fastest-growing large city in...
lab.
The classes can easily be manipulated by sending simple settings strings (like "KEYWORD=VALUE;") to them both via a C and a Rexx
REXX
REXX is an interpreted programming language that was developed at IBM. It is a structured high-level programming language that was designed to be both easy to learn and easy to read...
API.
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
DLL
DLL may refer to:* Data link layer, a layer in the OSI network architecture model* Delay-locked loop, a device to reduce clock skew in digital circuits* Doubly linked list, a data structure in computer programming...
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
Inheritance (computer science)
In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...
. 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.
External links
- A well-known free and open source Workplace Shell extension package named xWorkplace (for extended workplace) makes widely use of class replacement, introducing many new features to the user interface.
- For OS/2 and eComStation developers, the Workplace Shell Toolkit eases common programming tasks when creating WPS classes, as well as for plain Presentation ManagerPresentation ManagerPresentation Manager is the graphical user interface that IBM and Microsoft introduced in version 1.1 of their operating system OS/2 in late 1988.-History:...
programming. - DFM (Desktop File Manager) is a Linux file manager for the X-Window System, inspired by the WPS.
- Workplace Shell for Windows is a freeware clone of the WPS made for Windows unofficially by IBM employees.
- Download Workplace Shell for Windows
- OS2eZine Article: WPS for Windows v1.51
- Download Workplace Shell for Windows 2.0 Source Code