title | description | ms.date | ms.topic | author | ms.author | search.audienceType | ms.custom | ||
---|---|---|---|---|---|---|---|---|---|
UII Application Integration Framework | MicrosoftDocs |
Learn information about UII Application Integration Framework that enables the integration and automation of applications. |
06/27/2024 |
article |
gandhamm |
mgandham |
|
evergreen |
The [!INCLUDEpn_application_integration_framework_aif] in [!INCLUDEpn_user_inteface_integration_uii] enables the integration and automation of applications. Through [!INCLUDEpn_aif_acronym], applications can be launched and automated for a variety of purposes, for example, to reduce copy and paste. It also provides session management capabilities, which allows applications to be isolated from each other based on a session key. This separation helps to enforce data security and easier application management for the user.
[!INCLUDEpn_aif_acronym] uses the [!INCLUDEpn_composite_ui_application_block] tools and services for messaging, visual containment, application loading, and state management. For more information, and to download the application block, see MSDN: HYPERLINK "https://msdn.microsoft.com/library/aa480450.aspx" Smart Client – Composite UI Application Block.
The following illustration shows the [!INCLUDEpn_aif_acronym] components.
As shown in the preceding illustration, the [!INCLUDEpn_aif_acronym] has the following major components:
-
Hosted applications: A hosted application is a line-of-business application that is hosted directly in the [!INCLUDEpn_uii_acronym] shell. Applications can be hosted controls, external applications (such as [!INCLUDEpn_ms_VisualC_long], [!INCLUDEpn_ms_Visual_Basic_long], or [!INCLUDEpn_Java]), web applications, or [!INCLUDEpn_citrix] hosted applications. Hosted controls are Windows Forms or [!INCLUDEpn_ms_Windows_Presentation_Foundation] user controls that implement additional hooks to integrate into the [!INCLUDEpn_aif_acronym]. [!INCLUDEproc_more_information] UII Hosted Applications
-
UI Shell framework: Provides a unified framework for developing unified desktop application shells by providing base UII services classes that simplify [!INCLUDEpn_uii_acronym] development. [!INCLUDEproc_more_information] UI Shell Framework
-
Composition engine: The [!INCLUDEpn_aif_acronym] uses the [!INCLUDEpn_composite_ui_application_block] tools and services for messaging (event broker), visual containment (workspaces), application loading (module loader), and state management. Application Integration Framework leverages the Composite UI Application Block to provide functionality and guidance for constructing host environments that can combine and present the user interfaces for each hosted application. Application Integration Framework also allows applications to share information and events, so changes made in one pane can affect the other hosted applications.
-
Centralized management: The configuration of the hosted applications, actions, workflows, and security are managed through the [!INCLUDEpn_microsoftcrm] web client.
[!INCLUDEpn_aif_acronym] exposes an object model to enable a shell application, such as [!INCLUDEpn_unified_service_desk_for_crm], to instantiate line-of-business applications. The object model also lets you use a session context object to implement interactions between applications and actions to pass messages between them.
-
ApplicationHost
: TheApplicationHost
acts as a broker between the [!INCLUDEpn_uii_acronym] desktop application (such as [!INCLUDEpn_unified_service_desk]) and a hosted application. It can also play the role of a broker between multiple hosted applications, enabling them to send and receive actions or events. TheApplicationHost
object enables hosted applications to raise events, which are referred to as actions in [!INCLUDEpn_uii_acronym]. The hosted applications pass actions to theApplicationHost
object, which in turn passes them to the target (hosted application) of the action. TheApplicationHost
also provides hosted applications with access to the context object. -
Context: Context is a collection of key-value pairs shared between hosted applications. Each Application Integration Framework session includes a context object that contains user-defined data. The context data is shared between the hosted applications and adapters in the session. One hosted application can write some data (such as a user ID) into the context, and the data is visible to other applications. The context can be persisted, which allows a session to be transferred to another agent or retrieved by the original agent.
-
Session: [!INCLUDEpn_uii_acronym] provides a session engine that contains both hosted application instances and context information for that session. A session is used as an organizational construct to allow the separation of groups of hosted applications and associated data. The data for a session can be grouped into two main categories:
-
Core support data: This includes information that identifies the session, the primary data structure (usually customer data), the [!INCLUDEpn_computer_telephony_integration_cti] connection identifiers, and any applications hosted during the session.
-
Session context: This is the shared information area between the hosted applications.
A session can be associated with any type of channel (such as a phone call, an email message, an instant messaging [IM] conversation, or another means of communication). [!INCLUDEpn_uii_acronym] can be configured to permit only one session at a time or multiple, concurrent sessions. Session management allows agents to handle multiple interactions simultaneously on different channels without losing or intermingling the context or state of each session.
-
AifServices
IHostedApplication
UII Hosted Applications
Extend Unified Service Desk
Session management in Unified Service Desk
[!INCLUDEfooter-include]