创建 UI 组件
IBF 允许您的文档包含指向后端数据的活动链接。这些文档通过智能标记或者获得文档的附加架构,来包含有关要获得哪些后端数据的信息。智能标记或架构中的元素节点将存储有关要指向哪些后端信息的信息。根据前面有关如何创建 IBF 服务的主题中的讨论,这些就是引用。例如,智能标记将包含对后端信息的引用。您的解决方案必须定义它希望这些智能标记如何插入文档,对此 IBF 提供/推荐了几种方法。您可以自动生成嵌入了智能标记的文档(如果电子邮件/文档由某些进程动态生成,这将十分有用);您可以使用智能标记识别器基于正则表达式来检测文本,或者在其中查找并动态插入智能标记;您还可以使用 IBF 中的内置搜索功能,让用户查找他们感兴趣的信息实例,并允许用户将它们粘贴到文档中。
剩下的 UI 部分就是要显示给用户的部分。IBF 提供了一个窗格方法,该方法可以宿主可由解决方案提供程序完全定义的区域。IBF 支持 .NET CLR 控件和 HTML 区域(以及这些区域的菜单)。创建一个 UI 实际上就是创建一个控件,以及实现一个将数据插入控件的界面。控件本身不需要知道如何获得数据,以及数据来自哪里。控件只需要知道所提供的数据类型。IBF 将在运行时动态实例化控件,并将正确的数据传递给控件。这就允许将数据的显示与获取数据的方式分离开来。根据前面的示例,您可以创建一个知道如何呈现客户信息的控件(它理解客户的架构,并且包含其名称、地址等)。
创建解决方案元数据
创建 IBF 解决方案的最后一步就是,创建将服务描述与为其定义的 UI 元素相链接的元数据。为了让您轻松地创建这些基于元数据的解决方案,IBF 提供了以下几个概念:
? 操作 — 从用户的观点来看,这些是可执行单元,并且可以包含服务和 UI 方法/操作。在前面的示例中,您应该有一个 DisplayInformation 操作,它使用 CustomerContactInformation 上的服务实体/视图,并将其链接到我们创建的、用于显示客户信息的用户控件。
? 转换 — 由于来自服务的数据和 UI 元素所需的数据可能不同,因此 IBF 允许您转换数据。XSL 转换、正则表达式或调用 CLR 组件都是受支持的数据转换方式。
? 关系 — 您的解决方案可以具有除该服务提供的关系之外的关系,还可以跨服务了解关系。例如,我可以将一个旧式应用程序中的客户与 CRM 系统中的客户相关联。
部署和安全
您可以将 IBF 视为元数据的中央库,作为解决方案动态部署的服务描述和 UI 元素将由 IBF 客户端组件使用。除了 IBF 客户端以外,不需要在客户端机器上安装其他任何代码/元数据。IBF 客户端组件可以连接到相应的元数据服务,以获得给定上下文所需的所有元数据和 UI 元素。在获得元数据描述和 UI 元素后,IBF 客户端组件将它们与服务方法调用一起执行,并根据需要来构建 UI 和用户体验。
由于 IBF 使用 CLR 组件进行 UI 呈现,因此它构建在 .NET 安全性之上,所有组件都动态下载并在本地缓存,并且在沙箱环境中执行,因而不会危害客户端机器。如果您需要让控件拥有更高级别的控制权,可以使用标准的 .NET 安全策略对这些控件进行签名,并提升它们的权限。
它为您的企业解决方案提供了一个健壮且无需部署的环境。
小结
通过将服务层与 UI 层分开,并经由元数据将它们链接在一起,IBF 可以允许高度抽象和重用您的服务和 UI 组件。它提供了一个功能非常强大的平台,用于指定企业中的后端资产,以及根据这些资产创建无需编码即可链接或组合的解决方案。在元数据驱动的方法中,该元数据方法添加了许多灵活性,并允许根据客户的情况进一步改进解决方案。IBF 提供了功能强大的 UI 结构,以帮助构建完整的 UI 体验以及与 Office 应用程序的集成。通过在 .NET 技术之上构建,它还为新的解决方案提供了一个安全且无需部署的环境。