A data processing system based on an extensible set of typed data objects and a corresponding set of "object managers," each of which is a program for operating with the data stored in a corresponding type of object. The object managers in general support at least a standard set of operations. Any program can effect performance of these standard operations on objects of any type by making a particular request; in response to such a request, an object manager that is suitable for performing the requested operation on the specified type of data is identified and caused to perform the requested operation. A mechanism is provided for linking data from one object into another object. A catalog includes both information about objects and about links between objects. Data interchange services are provided for communicating data between objects of different types, using a set of standard data interchange formats. A facility is provided to permit two processes that are to cooperate in a data interchange operation to identify each other and to identify data formats they have in common. A facility is provided for managing shared data in units of data known as "resources". Customized versions of resources can be created and co-exist with standard versions of the resources. A resource retrieval function determines whether a customized or a standard resource is to be returned in response to each request for a resource.