[Today’s post comes to us courtesy of Zachary Yang and Rui Ling from Sustained Engineering]
Several Microsoft online services, such as Office 365, Windows Azure Backup, and Dynamics CRM Online, use Windows Azure Active Directory (Windows Azure AD) as the identity provider. With the Windows Server Essentials Experience role on Windows Server 2012 R2, we provide Windows Azure AD integration and a set of APIs for third-party add-ins.
Third parties whose services are built on top of Windows Azure AD can integrate their online services into Windows Server Essentials Experience via these APIs. This allows administrators to have a unified view across all their available online services from within the Windows Server Essentials Dashboard.
Dynamics CRM Online add-in
, developed by one of our ISV partners,
, is a very typical add-in for service integration. This add-in was recently released and is available for
download from Pinpoint
. Using this as an example, developing a service integration add-in usually consists of the following parts:
1. Create a Get Started task
After installation, third-party integration add-ins are usually disabled by default. A
task on the
page of the Windows Server Essentials Dashboard is a very good entry point to make the add-in more discoverable. For more details about how to create a Get Started task, see the MSDN page
Extend setup, Quick Status, and Help
. Note that if the Windows Azure AD integration is not already enabled on the Windows Server Essentials server (in other words, if no other services that use Windows Azure AD have been installed previously), the third-party Get Started task should enable it before their own integration is initiated.
2. Create a Dashboard tab
The Windows Server Essentials Dashboard allows you to create a top-level tab in the navigation bar for an add-in, which often contains additional sub-tabs that show relevant information and handle business functionality for the service integration scenarios. We highly recommend creating at least an overview tab for the service. For example, in the following screenshot, a new top-level tab
is created with sub-tabs for different functional areas, such as
CRM Business Units
The Windows Azure AD integration module in Windows Server Essentials Experience provides critical identity management features, such as managing online users and groups via the on-premises user accounts. In addition, an online service built on top of Windows Azure AD identities may also have their own user definitions and properties. It is therefore recommended that you create an extension for the
tab in the Dashboard. For example, in the Dynamics CRM Online add-in, additional information includes
CRM Business Unit
. With the add-in installed, these properties should display as new columns on the
sub-tab. This is implemented by defining new business objects as a
4. Run a backend service
We recommend running a backend service to sync the online data. Depending on your scenario, you could opt to:
Create a provider
, which can run within a Windows Service. For more details, see the MSDN page
Creating a Provider
. This is preferred if your backend logic is relatively complex and heavy.
Create a cache mechanism
to use certain features of the add-in even while the CRM Online service is unavailable.
Monitor the connection
to report the connection status. This can be used to show an alert/warning on the service’s overview page and provide a hyperlink to diagnose and troubleshoot connectivity issues.
Thanks for reading! We hope this post will help you better understand the development of service integration add-ins for Windows Server Essentials Experience. We would like to encourage you to join the community
and to develop more useful service integration add-ins!