UCMA 2.0 Core Architecture
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
To understand the Microsoft Unified Communications Managed API 2.0 Core SDK architecture, it is helpful to understand the personas who are associated with the components of the architecture. It is also helpful to recognize that the architecture has been designed to enable the features described in Key Features of UCMA 2.0 Core SDK.
Many of the more important architectural components of UCMA 2.0 Core SDK are associated with one or more personas, terms that describe ownership, participation, and other attributes of humans or applications that take part in a UCMA 2.0 Core SDK application. The following table describes the personas used in UCMA 2.0 Core SDK.
The owner of the local endpoint in a process. A local owner can own multiple endpoints, such as a Microsoft Office Communicator-enabled mobile telephone, a desktop computer running Office Communicator, and so on.
The participant associated with a particular conversation instance. Each conversation instance has one local participant, and can have multiple remote participants. A participant can be a person or an application.
Relative to a given conversation instance, a participant who is associated with a different conversation instance. Each conversation instance has one local participant, and can have multiple remote participants. A participant can be a person or an application.
The conference organizer, who is not necessarily a participant.
An entity whom the Organizer grants permission to participate in a conference.
An entity that can publish presence information. A local presentity is the entity associated with a particular endpoint. Relative to the same endpoint, a remote presentity is associated with a different endpoint. A local presentity can subscribe to presence information from a remote presentity.
A presentity whose presence information is tracked. In Unified Communications, a contact typically registers its status and other attributes with Microsoft Office Communications Server. (Public Internet Cloud (PIC) users do not register their presence with Office Communications Server.)
Each of the top-level feature areas described in Key Features of UCMA 2.0 Core SDK is implemented in a UCMA 2.0 Core SDK class. The following table lists the top-level feature areas and the class that implements the area.
In UCMA 2.0 Core SDK, the entry point class is CollaborationPlatform. An application can create multiple CollaborationPlatform instances, where each instance can host multiple endpoints.
An endpoint (represented as a UserEndpoint or ApplicationEndpoint instance) acts as a gateway to communication and collaboration functionality in UCMA 2.0 Core SDK, providing access through its properties to the classes that implement these functionalities.
An endpoint can use this functionality to:
Initiate and manage a conversation (the Conversation property).
Schedule and manage conferences offline (the ConferenceServices() property).
Subscribe to the presence of remote presentities (the RemotePresence() property.
Publish presence for the endpoint owner (the LocalOwnerPresence() property).
Manage contacts and groups (the ContactGroupServices() property).
The ContactGroupServices property is present only on a particular type of endpoint, a UserEndpoint object. For more information, see Endpoints.
The following illustration shows the relationships among the principal objects of the architecture as well as the personas involved in each type of object. The numbers shown between two objects indicate the kind of pairing between the two objects that can occur. For example, one local endpoint can be associated with zero or more Conversation objects, but can be associated with only one Presence Subscription object.
The following topics in this section discuss the major features and capabilities of the UCMA 2.0 Core SDK architecture.