|Column Tag:||The Editor's Page
The next great Macintosh Advantage?
By Neil Ticktin, Editor-in-Chief
AOCE The next great Macintosh Advantage?
When the Macintosh came out in 1984, people began to realize that computers were supposed to make ones life easier. Ordinary people started to use a computer to improve the speed and more importantly, the quality of that work. But the computer revolution has left a bit to be desired - you have to work too hard to make the computer do what you want it to do.
We all know that Apple (and other vendors) need to come up with completely new ways to use computers something that will inevitably take massive amounts of processing power. While we are waiting for this to happen, Apple is trying to make headway in making Macintosh a more productive computer.
Todays user interfaces with cut/copy/paste and other interapplication communication schemes force the user to be the glue between systems, applications, people and projects. AOCE is meant to change that - the driving principle behind this technology is seamlessness. Many of those things that youve said to yourself the computer should be able to do this are now actually done by the computer! This gives both large and small business the chance to come up with reasonable solutions.
What is this AOCEstuff?
First, AOCEstands for Apple Open Collaboration Environment. The technology extends the operating system to provide a platform for the integration of communications, directories, and agents into the Macintosh user experience. AOCE includes a number security capabilities such as digital signatures, authentication and encryption. These technologies allow developers to create secure communications as well as the foundation for new paperless workflow applications to be built on.
From a users perspective, AOCEs functionality will be most visible through a system-wide directory or catalog services, with a standard browser and electronic business cards; a compound mailbox for mail from all sources (fax, voice mail, e-mail, pager, etc.); integration of telephony and desktop video conferencing; and application integration, with all applications having the ability to send documents.
Were going to take a look at the AOCE technologies and architecture. Much of the below information is taken from Apples AOCE Data Sheet.
AOCE provides a rich set of services for collaboration that can be easily incorporated into your application. By providing a single API, developers will be able to concentrate on their applications, not the technologies. And because it is at the system level, a standard is created for all applications to use. Thats the good news. The bad news is that in the pursuit of providing tools for everyone, the AOCE API is large (the running joke is that Apple has doubled the Macintosh API). To be fair, theres a lot of things that you can do with AOCE and that inevitably raises the needed number of calls.
There are a number of things that you should think about doing in your applications to support AOCE. The more support there is, the better the seamlessness there will be. Heres some of the things you should think about doing.
Make your Application Mail Capable
AOCE allows you to make your application Mail Capable by incorporating the new Mailer user interface provided by the Standard Mail Package. Users will then be able to effortlessly send documents by fax or other electronic mail transports directly from your application. Recipients can review the documents which appear in their compound mailbox using your application. [Theres an article dedicated to this topic later in the issue.]
Utilize Store and Forward Messaging
AOCE InterProgram Messaging (IPM) extends the inter-application communications (IAC) capability of System 7. For example, an AOCE Savvy application could allow users to fill out a form requesting information on a particular subject and use IPM to send it to a series of library agents on various networks. These agent applications could search through databases and file servers and mail back pertinent documents.
Take advantage of Catalog Services
Any application that requires a user database, address book or some other repository of information, can utilize the catalog services to store and manage data of all kinds. By using catalog services, information can be more easily managed and shared by other applications and other users where appropriate. An AOCE Savvy telephony and video conferencing application would take advantage of catalog services to store pictures, telephone numbers, connection information and preferences for users. Users could then exchange AOCE electronic information cards with this information.
Build AOCE Templates
AOCE Templates are a vehicle for extending and customizing the Macintosh desktop. You can provide AOCE templates to accompany an application which stores information in catalogs; thereby providing an alternate means of accessing this data. For example, a collection of PIM templates could create the necessary entries in a catalog to store such things as pictures, logos, multiple telephone numbers, spouse and children names, etc.
Allow Users to Sign Data
Digital signatures can be implemented by any application which needs to positively identify the source of some data and detect whether some part of a document or record has been tampered with. For example, an accounting application could take advantage of digital signatures by requiring each entry in the systems audit trail to have an associated signature. [Theres an article discussing digital signatures later in the issue.]
Tie into AOCE Security
AOCE users need only one password to authenticate them to the entire system. Your product can take advantage of AOCE authentication to simplify security administration and improve over-all security. Any application which utilizes a stream-based LAN connection (such as one based on ADSP currently) can take advantage of ASDSP for encrypted network communication.
Build Service Access Modules
You can develop Message Service Access Modules (MSAMs) and Catalog Service Access Modules (CSAMs) which allow users and applications to plug into specific messaging systems and catalog services through AOCE. These modules allow AOCE and applications to adapt to any environment without changing software or modifying the user experience. [Theres an article discussing the development of MSAMs later in the issue as well.]
AOCEs technologies fall into four major categories: Catalogs; Store and Forward messaging; Authentication and privacy; and Digital signatures. These four major areas of service can be accessed by any Macintosh application. The data structures and routines for utilizing any of these services are available to all Macintosh developers.
AOCE Desktop-level services that provide immediate benefits to Macintosh users by integrating a compound Mailbox and a catalog browser directly into the Macintosh desktop. The AOCE templates facility allows you to extend the browsing capability of the system.
AOCE Collaboration Packages provide your application with a set of standard user interface components and access to AOCEs electronic mail and catalog browsing facilities.
AOCE Service Access Modules allow plug-and-play access to any underlying messaging or catalog system. Apple will provide access modules for direct dial-up, direct AppleTalk and server-based operation. You can develop access modules for fax, voice mail, existing public, LAN-based and host-based messaging and catalog services as well as new emerging standards. Through its open architecture, AOCE can be adapted to any user environment while maintaining the overall user experience.
Apple will also provide support for a subset of AOCE functionality through the Vendor Independent Messaging interface (VIM) which allows portability of messaging applications across different computer platforms.
The Catalog Manager provides a standard, system-wide catalog system which is scalable from a single stand-alone system to a corporate-wide replicated & distributed system. It provides routines and data structures for accessing catalogs of any kind, regardless of content. The Catalog Manager represents all catalogs as hierarchally accessed object-oriented databases. Catalog Service Access Modules (CSAMs) are used to actually access the information stored in a given catalog. This makes the implementation of a given catalog independent of the Catalog Manager.
The contents of AOCE catalogs are not restricted in any way. They could include records for users, groups, file servers, printers, clip art, and accounting servers, for example. A particular record for a user could contain attributes including picture, telephone number, video conference number, internet address, fax address, postal address, position, signing authority, and managers name.
Standard Catalog Package
While the Catalog Manager provides direct access to catalog information, the Standard Catalog Package provides higher level facilities for consistent user access to catalogs. Specifically, it includes standard panels for browsing, finding and selecting catalog records and routines that display dialog boxes for prompting users to authenticate themselves. Standard Catalog Package routines are used in conjunction with the Catalog Manager which can be used to fetch or update specified catalog information.
AOCE templates control the way that catalog records and their contents are displayed on the Macintosh desktop. This extensible user interface allows developers to provide new capabilities and access to new pieces of catalog information.
Templates can be a simple collection of resources or may involve the development of code. They determine what records are browsed, what information is visible and how individual attributes are displayed and edited. Different users can use different templates to look at the same catalog.
InterProgram Messaging Manager
The InterProgram Messaging (IPM) Manager provides store and forward delivery of messages between applications. Within the Macintosh IAC architecture, it compliments the existing InterProcess Communications (IPC) facility which provides immediate inter-process communication. While IPC requires the destination to be instantly accessible over a network connection, IPM messages may be sent even though the source and destination applications are not simultaneously available (the destination may not be running or may be on completely different network).
IPM allows a message to be sent to multiple destinations over any type of message transport and there are no content or format restrictions. IPM messages are delivered via Messaging Service Access Modules (MSAMs) and can therefore be sent to virtually any destination. Examples include: another computer on a local area network, a computer accessible over a dial up connection, a fax machine, an address on a mail system such as MHS or PROFS or a public messaging network such as AppleLink or MCIMail.
Standard Mail Package
Electronic mail is one use of AOCE messaging. Mail messages are special in that they are intended for users rather than applications and are distinguished from other AOCE messages by their message type. The Standard Mail Package provides routines that allow every application to become Mail Capable. Users can send documents as electronic mail from any application which supports the Standard Mail Package.
The Standard Mail Package provides a standard Mailer user interface and other routines that allow applications to be made Mail-Capable in a simple and consistent fashion. The Mailer allows other documents and whole folders to be enclosed in, and opened from within, an AOCE letter. Users can also sign letters and verify signatures using the Mailer user interface.
Authentication Manager & ASDSP
The Authentication Manager provides the tools necessary to verify the identity of parties communicating with each other and to keep their communications private. AOCEs protocols provide two-way authentication. This means that both parties to a connection are assured of the others identity.
AOCE can prevent wiretapping by encrypting network traffic through the use of a new protocol: the AppleTalk Secure Data Stream Protocol (ASDSP).
Digital Signature Manager
Digital signatures provide a way of signing electronic data, eliminating the need to print and circulate paper versions. Digital Signatures offer more security than a paper signature because in addition to positively identifying who has signed some data it can detect whether data was tampered with after it was signed. A user can sign an entire document or only certain fields within a document or database record.
For example, developers of electronic forms applications will want to integrate digital signatures into their products so that users can electronically sign portions of a form. Signatures could be useful in database and accounting applications or anywhere that users need to have absolute confidence in the integrity of their data. Since digital signatures detect changes in files, they could also be used to detect viruses or implement anti-piracy measures.
While digital signatures do not provide a means of encrypting data, they do rely upon public key encryption technology to ensure that the signatures are cryptographically secure.
PowerShare Collaboration Servers
By the time you read this, Apple should be shipping the PowerShare Collaboration Servers. PowerShare does several things including: consolidated administration of catalogs, gateways; network security allows for the exchange of sensitive information; scales to support large number of users; and acts as a platform for team solutions. There will be more information to come on this product.
So where is this all going?
No doubt about it - implementing AOCE support is a serious task. But, theres also no doubt that if lots of applications support the standards (or at least the relevant ones to those applications), AOCEcan help to give Macintosh an advantage over other platforms. But, since AOCE has a lot to do with communication and we no longer have homogenous networks, it is critical that Apple extend the tools to Windows for it to be of use.
As a developer, the most important thing for you to do first is to add Mailer Support to your application. Once youve done this, you should look at the other technologies and see what makes sense to you. For now, you can get a taste of AOCE development by looking at the other three articles in this issue.
Neil Tictkin, Editor-in-Chief