Microsoft removed the main obstacle, DDE’s lack of network support, by developing network-aware Dynamic Data Exchange (NetDDE). NetDDE extends DDE under Windows for Workgroups. And the company at least partially overcame the second barrier, lack of a standard messaging architecture within WFW, by adding MAPI (Messaging Application Programming Interface) to WFW. Together with some of the easier development tools of Windows, such as Visual Basic, the enhancements bring the development of groupware into the r ealm of the power user.
NetDDE has the potential to change dramatically the way developers write network software for Windows. In the simplest scenario, NetDDE lets multiple users share rapidly changing information.
Imagine, for instance, multiple users working on different parts of a large financial worksheet. The manager of the entire operation could view one worksheet linked to the smaller ones and get a dynamic, real-time display of the progress of the entire project.
Real-time spreadsheet updates
In another scenario — one that we tried during testing of WFW — several users can connect to parts of a larger spreadsheet (which could, for instance, be connected to the stock exchange) and get real-time updates of the data in the spreadsheet. We connected four users to a Microsoft Excel spreadsheet; two of the four stations displayed parts of the spreadsheet as a table in a Word for Windows document. The other users displayed the different data (from the same worksheet ) as graphs in Word and Excel.
WFW enables existing applications such as Excel and Word to use NetDDE through ClipBook, an extension of the standard Windows clipboard.
ClipBook acts as an intermediary between the network and existing applications, most of which still assume that the data to which they are linked is running on the same PC. NetDDE includes an extension to the standard DDE API (application programming interface), so new applications should be able to connect over the network.
An example of an application that does this is included in WFW: WinChat uses NetDDE to allow users to type messages to each other over the network.
Used in more complex ways, NetDDE provides a relatively easy way to develop applications that use all or some of the machines on a network for processing. Different components of a very large application can use NetDDE to coordinate tasks and pass messages, turning the network into a sort of asymmetric multiprocessing computer.
NetDDE, at least in the tests performed by our site, is a fairly fast communication method for networked applications. Changes in source documents were reflected throughout the network in a few seconds, at the most. MAPI is another communication medium for less time-sensitive data.
Microsoft officials have said that the ultimate goal of MAPI is to hide the details of back-end messaging hardware and software from front-end applications. To achieve that goal, Microsoft is preparing a Service Provider API, which independent software vendors will be asked to write to when developing low-level messaging systems such as X.400 or a connection to host-based mail systems such as IBM’s PROFS.
On the application side, MAPI is designed to make it easy to add messaging and mail capabilities to any Windows application. By writing to a single API layer, developers won’t have to be concerned about how messages get from one place to another.
To date, the only component that Microsoft has completed and made public is a subset of MAPI called Simple MAPI. Although it may be too limiting for software developers building industrial-sized applications, Simple MAPI is perfect for creating smaller applications of the kind a power user could create in an afternoon.
We were able to use Simple MAPI to write a macro in Word for Windows to send completed stories to editors through Microsoft Mail 3.0. Similar macros can be written in any macro language (or Visual Basic) that can call a Windows dynamic link library.
But messages are not limited to those between two users. MAPI also provides application-to-application messaging. A good example is in Schedule+, the network-scheduling program included with WFW. Schedule+ exchanges E-mail with itself to exchange schedules of users over local or wide area networks.
Interapplication messaging can be used in simple group applications, such as a checkout board showing which employees are out of the office. Another possibility is posting records to a central database over a WAN.