To understand the Microsoft Unified Communications Managed API 2.0 Core SDK architecture, it is helpful to understand the personaswho 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.
Personas
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.
Persona | Description |
---|---|
Local owner |
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. |
Local participant |
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. |
Remote participant |
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. |
Organizer |
The conference organizer, who is not necessarily a participant. |
Conference participant |
An entity whom the Organizer grants permission to participate in a conference. |
Presentity |
An entity that can publish presence information. A local presentityis the entity associated with a particular endpoint. Relative to the same endpoint, a remote presentityis associated with a different endpoint. A local presentity can subscribe to presence information from a remote presentity. |
Contact |
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.) |
Key Features and UCMA Classes
Each of the top-level feature areas described in Key Features of UCMA 2.0 Core SDKis 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.
Feature | Area | Main Class Name |
---|---|---|
Conversation |
Communication |
Conversation |
Conference scheduling and management |
Communication |
ConferenceServices |
Presence publishing |
Collaboration |
LocalOwnerPresence |
Presence subscription |
Collaboration |
RemotePresence |
Contacts and groups |
Collaboration |
ContactGroupServices |
Architecture
In UCMA 2.0 Core SDK, the entry point class is CollaborationPlatform. An application can create multiple CollaborationPlatforminstances, where each instance can host multiple endpoints.
An endpoint (represented as a UserEndpointor ApplicationEndpointinstance) 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
Conversationproperty).
- Schedule and manage conferences offline (the
ConferenceServicesproperty).
- Subscribe to the presence of remote presentities (the
RemotePresenceproperty.
- Publish presence for the endpoint owner (the
LocalOwnerPresenceproperty).
- Manage contacts and groups (the
ContactGroupServicesproperty).
Important: The ContactGroupServicesproperty is present only on a particular type of endpoint, a UserEndpointobject. 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 Conversationobjects, 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.