MacWorkStation is a collection of high-level Toolbox routines that allow host programs running over any supported communications protocol to utilize the standard user-interface, file-management, and printing features of the Apple Macintosh personal computer. It gives programmers full access to and control over windows, pulldown menus, dialog boxes, and other features of the Macintosh user interface-without requiring them to learn the details of a traditional Macintosh programming environment.
MacWorkStation provides two primary benefits: high-level access to the Macintosh Toolbox and a framework for building cooperative Macintosh-to-host applications. MacWorkStation allows programmers not familiar with programming the Macintosh to easily build Macintosh-style interfaces for their host applications. (Without MacWorkStation, developing a Macintosh interface to a host application requires extensive work and detailed knowledge of the Macintosh.)
This combination of features allows corporate MIS departments, software developers, value-added resellers, and systems integrators to enhance their existing host-based applications, and to use their existing programming staffs to create applications with the characteristics of the Macintosh interface.
The heart of MacWorkStation, these are messages that are received from or sent to a host. Messages are either commands or events; commands are messages sent from the host requesting an action on the Macintosh, and events are messages sent from the Macintosh informing the host of a significant change of state.
These act as a high-level toolbox that interprets commands from the host to build and maintain a Macintosh interface. Directors use the underlying Macintosh Toolbox managers to support a consistent environment between host and local applications. These Directors include Alert, Dialog, Graphics, Window, Cursor, Menu, List, and File. Additional Directors can be added.
These constitute a Macintosh code resource that can be created from any high-level Macintosh programming language and added to the MacWorkStation application or document file. One or more Exec Modules can be launched locally (or by the host) and may perform any programming task. These Exec Modules run simultaneously and can trap events or interact with the host or user while MacWorkStation is running. This provides a very powerful way of extending and customizing MacWorkStation to fit a wide range of cooperative processing needs. Exec Modules also have the capability of using MacWorkStation commands to perform any user-interface, printing, or file-management functions. This reduces the amount of knowledge that even an Exec Module programmer needs in order to perform Macintosh programming.
Communications Connection Language (CCL)
This is a powerful scripting language built specifically to help access remote applications. The CCL script can be lengthy and complex or it can be very short, depending on how the user is accessing the remote application. Once the host application is reached, the CCL script transfers control of the session to the appropriate Communications Module.
These are Macintosh code segments that may be written and added to MacWorkStation. They are responsible for ensuring that MacWorkStation functions entirely independently, without regard to the type of network the communication with the host application is taking place on. This allows MacWorkStation to work over a wide range of communications protocols.
Data Flow Diagram
Utilizing MacWorkStation to develop a Macintosh interface on a host application requires that the host software be modified. This modification can take one of two forms. If the application has been written with a separate module to manage the terminal or user-interface interaction, then a Macintosh interface module can be written to manage the interaction between the host application and MacWorkStation. If the application has been written to include the terminal-handling function as an integral part, then the application must be modified directly to support MacWorkStation.
In a typical application, MacWorkStation could be used as a front-end for the following:
- An office automation system (mail, calendar handling, and other tasks)
- A transaction entry system
- A database system
- An executive information system