The Common Desktop Environment architecture has many cross-process relationships. The three-process relationship of an X client, a window manager, and the X Window SystemTM server seems simple by comparison. The area covered by the Common Desktop Environment is broad, but the layering in the system is not as rigorous as that of Motif, Xt, and Xlib. The relationships between high-level system components are diverse and extensible. This chapter groups the technologies to illustrate that each desktop component fits into an overall whole. The Common Desktop Environment can be divided into:
Data interaction graphical user interfaces (GUIs)--Application-level components that are available for user interaction, invocable by other applications. Think of these as programming components at a larger granularity than widgets.
Multiuser collaboration--Defines and uses application program interfaces (APIs) that enable collaboration between users on the network, particularly in the areas of calendar management, network resource naming, and network file sharing.
Desktop management--Provides components that negotiate the visual relationships between entities on the desktop. These include the following: Window Manager, Workspace Manager, Session Manager, Application Manager, File Manager, Style Manager, and the Front Panel.
Motif GUI engine--Includes those components that implement the controls available to the user and includes the Common Desktop Environment Motif toolkit, additional widgets, a GUI shell (Desktop Korn shell), and a GUI construction tool (Application Builder).
Integration technologies--Represent technologies that do not generate GUIs, but are used as infrastructure by the rest of the desktop. These technologies include process execution control, application messaging (mechanism and protocols), data typing, and method invocation.