Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Workplace Shell (WPS) – объектно-ориентированная оболочка рабочего стола (также называемая рабочей средой), разработанная исследовательской лабораторией IBM в Бока-Ратоне для OS/2 2.0. Она основана на Common User Access и ознаменовала радикальный отход от интерфейса типа «Программный менеджер», который более ранние версии OS/2 разделяли с Windows 3.x, или от ориентированного на приложения WIMP-интерфейса Apple Macintosh. Workplace Shell также использовалась в OS/2 Warp 3 и Warp 4, а также в операционных системах eComStation и ArcaOS, основанных на OS/2. Первоначально IBM планировала поставлять Workplace Shell в составе продукта OfficeVision/2 LAN, но в 1991 году объявила о планах выпустить её как часть OS/2 2.0. Хотя в основном написана на C, по сути Workplace Shell реализована как объектно-ориентированная библиотека классов, основанная на System Object Model (SOM). Классы WPS связаны между собой с помощью языка определения интерфейсов (IDL). SOM и его IDL были разработаны IBM в своей лаборатории в Остине, штат Техас. Классами можно легко управлять, отправляя им простые строки настроек (например, "KEYWORD=VALUE;") как через API C, так и через API Rexx. При реализации нового класса WPS он наследуется от существующего класса в иерархии классов WPS. Для изменения, расширения или удаления определенной функциональности родительского класса разработчику часто требуется переопределить лишь несколько методов родительского класса. Вся остальная функциональность родительского класса может оставаться неизменной, обеспечивая бесшовную интеграцию добавленной или измененной функциональности и, следовательно, согласованность остального пользовательского интерфейса. Полученный объектный класс поставляется в виде DLL. Как только новый объектный класс, реализованный в нем, зарегистрирован в Workplace Shell и создан экземпляр этого класса, он может использоваться пользователем или другими программами как любой другой объект Workplace Shell. Часть архитектуры WPS позволяет разработчику класса Y, расширяющего или модифицирующего класс X, выполнить дополнительный API при установке, который позволит WPS «заменить» класс X классом Y. Это приведет к тому, что даже все существующие экземпляры класса X будут вести себя как экземпляры модифицированного класса Y, то есть почти как ретроактивное наследование. Это позволяет создавать множество полезных сторонних утилит для рабочего стола, которые добавляют или изменяют функциональность существующих объектов без доступа к исходному коду IBM. Если заголовки IDL и классов также публикуются для производных классов, эти классы также могут быть расширены аналогичным образом.
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. 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.