Publication and Subscription Objects
Microsoft Office Communications Server supports category as an abstract data type to represent application data, including contact and presence information. With Unified Communications Client API interfaces, you can interact with these category data types. The base interface, IUccCategoryInstance, is considered a data structure of a generic type. This characteristic allows the interface to provide a flexible vehicle for you to publish custom application data. This interface along with the IUccCategoryContext interface give you the functionality to provide a fully customized enhanced presence model for your users.
Unified Communications Client API interfaces based on IUccCategoryInstance further define the data types that are carried in the category instance. These strongly typed category instances, also known as well-known categories, are used by Office Communications Server to provision clients with data structures defined by Unified Communications.
For example, Microsoft Office Communicator uses strongly typed category to define an enhanced presence model providing users with more flexibility and finer control to publish, subscribe to, and manage presence information (than simply indicating the availability status visible to everyone in the contact lists, as in Office Communicator 2005). The following diagram illustrates this category instance inheritance.
The IUccContact interface is derived from IUccCategoryInstance and, as a strongly typed data structure, exposes properties and methods that pertain to remote user contact attributes. Because IUccContact is a derived type, it can be cast to its base type. The casting process exposes IUccCategoryInstance methods and properties. You use IUccContact during publication of an instance of the contact interface.
Unified Communications Client API provides a general framework for category publication and subscription. This framework is encapsulated by the interfaces representing category instances and the publication and subscription functionalities.
The following diagram illustrates the Unified Communications Client API object model for category publication and subscription.