UCMA 3.0 Building Blocks
To understand the Microsoft Unified Communications Managed API (UCMA) 3.0 architecture, it is helpful to understand the classes that represent the key features of the architecture as described in Key Features of UCMA 3.0 Core. It is also helpful to recognize that the architecture has been designed to enable these features.
Architecture
UCMA 3.0 is divided into layers, as shown in the following illustration. At the top level are the classes in the Microsoft Unified Communications Managed API (UCMA) 3.0 Workflow SDK (not described in this documentation). The next layer down provides classes that enable communication and collaboration. The next level below that provides classes that represent the collaboration platform, the foundation of UCMA 3.0 applications, and endpoints, which represent users or applications that can impersonate users. The lowest level exposed by UCMA is the signaling layer, which provides classes that encapsulate low-level Session Initiation Protocol (SIP) functionalities.
Each of the layers shown in the illustration, except the Workflow layer, is described in UCMA 3.0 Core Details.
In UCMA 3.0, the entry point class is CollaborationPlatform. An application can create multiple CollaborationPlatform instances, and each platform 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 3.0 Core SDK, providing access through its methods and properties to the classes that implement these functionalities.
An endpoint can use this functionality to:
Initiate and manage a conversation (the GetConversations() method).
Schedule and manage conferences offline (the ConferenceServices property).
Subscribe to the presence of remote presentities (the PresenceServices property.
Publish presence for the endpoint owner (the PresenceServices and LocalOwnerPresence properties).
Manage contacts and groups (the ContactGroupServices property).
Important
The ContactGroupServices property is present only on a UserEndpoint object. For more information, see Endpoint Services.
The following illustration shows the relationships among the principal objects of the architecture as well as the personas (see 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.
Key Features and UCMA Classes
Each of the top-level feature areas described in Key Features of UCMA 3.0 Core is implemented in a UCMA 3.0 class. The following table lists the top-level feature areas and the class that implements the area.
Feature |
Area |
Main Class Name |
---|---|---|
Conversation |
Communication |
|
Conference scheduling and management |
Communication |
|
Presence publishing |
Collaboration |
|
Presence subscription |
Collaboration |
|
Contacts and groups |
Collaboration |