The Workplace Shell (WPS) is an
object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
desktop shell (also called
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
) produced by
IBM's
Boca Raton
Boca Raton ( ; es, Boca Ratón, link=no, ) is a city in Palm Beach County, Florida, United States. It was first incorporated on August 2, 1924, as "Bocaratone," and then incorporated as "Boca Raton" in 1925. The population was 97,422 in the ...
development lab for
OS/2
OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
2.0. It is based on
Common User Access
Common User Access (CUA) 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. Used originally in the MVS/ESA, VM/CM ...
and made a radical shift away from the
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 (GUI), consisting of ''icons'' (shortcuts for programs) arranged into ''program groups''. It replaced ...
type interface that earlier versions of
OS/2
OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
shared with
Windows 3.x Windows 3.x means either of, or all of the following versions of Microsoft Windows:
* Windows 3.0
* Windows 3.1x
Windows 3.1 is a major release of Microsoft Windows. It was released to manufacturing on April 6, 1992, as a successor to ...
or the application-oriented
WIMP
Wimp, WIMP, or Wimps may refer to:
Science and technology
* Weakly interacting massive particle, a hypothetical particle of dark matter
* WIMP (computing), the "window, icon, menu, pointer" paradigm
* WIMP (software bundle), the web stack of Win ...
interface of the
Apple Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software ...
. The Workplace Shell was also used in OS/2 Warp 3 and Warp 4, and the OS/2-based operating systems
eComStation
eComStation or eCS is an operating system based on OS/2 Warp for the 32-bit x86 architecture. It was originally developed by Serenity Systems and Mensys BV under license from IBM. It includes additional applications, and support for new hard ...
and
ArcaOS
ArcaOS is an operating system based on OS/2, developed and marketed by Arca Noae, LLC under license from IBM. It was codenamed Blue Lion during its development. It builds on OS/2 Warp 4.52 by adding support for new hardware, fixing defects and l ...
.
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.
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
In computing, the System Object Model (SOM) is an object-oriented shared library system developed by IBM. DSOM, a distributed version based on CORBA, allowed objects on different computers to communicate.
SOM defines an interface between prog ...
(SOM). The WPS classes are glued together with an
interface definition language
interface description language or interface definition language (IDL), is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs describe an inter ...
(IDL). SOM and its IDL was developed by IBM in their
Austin, Texas
Austin is the capital city of the U.S. state of Texas, as well as the county seat, seat and largest city of Travis County, Texas, Travis County, with portions extending into Hays County, Texas, Hays and Williamson County, Texas, Williamson co ...
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 (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
.
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
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
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 is the practice of receiving private property, titles, debts, entitlements, privileges, rights, and obligations upon the death of an individual. The rules of inheritance differ among societies and have changed over time. Offici ...
. 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
*
Shadow (OS/2)
*
Workplace OS
Workplace OS is IBM's ultimate operating system prototype of the 1990s. It is the product of an exploratory research program in 1991 which yielded a design called the Grand Unifying Theory of Systems (GUTS), proposing to unify the world's system ...
References
External links
* A well-known free and open source Workplace Shell extension package name
xWorkplace(for extended workplace) makes widely use of class replacement, introducing many new features to the user interface.
osFree which seeks to entirely reimplement OS/2 as free software.
* For OS/2 and eComStation developers, th
Workplace Shell Toolkiteases common programming tasks when creating WPS classes, as well as for plain
Presentation Manager programming.
DFM(Desktop File Manager) is a Linux file manager for the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting ...
, inspired by the WPS.
Workplace Shell for Windowsis a freeware clone of the WPS made for Windows unofficially by IBM employees.
Download Workplace Shell for WindowsDownload Workplace Shell for Windows 1.51 Source Code
{{OS/2
Workplace Shell
Desktop environments