如何在 Windows Server Essentials Experience上开发服务集成插件

今天的博文来自Windows Server Essentials团队的软件工程师杨晶生和凌睿。

如大家所熟知,微软的云服务,如 Office 365、Windows Azure 备份和Dynamics CRM 在线等,都使用 Windows Azure Active Directory (Windows Azure AD) 作为身份标识服务。在 Windows Server 2012 R2 上的 Windows Server Essentials Experience角色中,我们也提供了与Windows Azure AD的紧密集成,以及用于第三方插件开发的相关API。

通过这些 API,对于在 Windows Azure AD上构建其在线服务的第三方来说,可以将他们的在线服务也集成到 Windows Server Essentials Experience中来。这使管理员们在 Windows Server Essentials 仪表板中对于所有获得一致的管理体验。

Dynamics CRM 在线插件是一个非常典型的服务集成插件,它由我们的一个 ISV合作伙伴上海微创软件开发。这个插件最近刚刚发布,您可以通过Pinpoint下载。以这个插件作为一个例子,开发一个服务集成的插件通常包括以下几个部分:

1. 创建一个开始任务

安装完成后,第三方的插件集成通常默认处于禁用状态。Windows Server Essentials仪表板的主页上的开始任务是很好的切入点,使插件的功能更容易发现。有关如何创建开始任务的详细信息,请参阅 MSDN 页面扩展安装、 快捷状态和帮助。请注意,如果 Windows Azure AD集成在这台服务器上还没有启用(换句话说,如果还没有其他使用 Windows Azure AD的在线服务备份被启用 )、 第三方的开始任务在初始化中首先开启Windows Azure AD服务集成组件。

2. 创建仪表板页面

Windows Server Essentials仪表板支持插件在顶部的导航栏中加入自己的选项卡,一般来说这个选项卡中将包含数个子选项卡来显示插件有关的信息和处理相关的业务功能。我们强烈建议至少创建一个相关服务的概述选项卡。例如,在下面的截屏中,新的顶级选项卡CRM ONLINE被创建,并包含一系列类似CRM 业务单位等子选项卡,来处理各方面的功能。

有关创建选项卡的详细信息,请参阅以前的博文:如何创建仪表板用户界面选项卡

3. 扩展用户页面

Windows Server Essentials Experience中的 Windows Azure AD 集成模块提供了服务集成中最核心的的身份管理功能,如管理在线用户和组与本地用户帐户的关联。此外,基于 Windows Azure AD 的在线服务可能也有他们自己的用户定义和属性。因此建议您在仪表板中创建用户选项卡的扩展。例如,在Dynamics CRM 在线的插件中,附加信息包括CRM 业务部门、客户关系管理团队和CRM 角色等等。在插件安装并启用后,这些属性将用户子选项卡上显示为新的列。其开发方式主要是是通过将业务对象作为一个PageAdorner来实现。

4. 运行后端服务

我们建议运行一个后端服务来同步在线数据。根据您的应用场景,您可能有如下选择:

  • 创建一个Provider:它可以运行在一个 Windows 服务中。更多详细信息,请参阅 MSDN 页面创建Provider。如果您的后端逻辑是相对复杂或负载较大,这个途径应当是首选。
  • 创建一个缓存机制:如 Dynamics CRM 在线的插件中,当在线服务的某些功能将不可用时,仍然可以通过本地的缓存来浏览数据。
  • 监视相关服务的连接状态并通知用户:这可以用于在该服务的概述页上显示警报,并提供一个链接告诉用户如何诊断并解决连接问题。

感谢阅读 !我们希望这篇文章将帮助您更好地了解 Windows Server Essentials Experience服务集成插件的开发。我们希望您能加入社区论坛和开发更多有用的服务集成外接程序 !