InfoPath 窗体与其他 Microsoft 解决方案之间的对比

Peter Kelly

3Sharp, LLC

2003 年 9 月

适用于:

Microsoft® Office InfoPath® 2003

Microsoft Office Word 2003

Microsoft Office Excel 2003

摘要:了解使用哪种 Microsoft 产品或技术创建客户端信息解决方案。本文通过与 Microsoft Windows 窗体、Web 窗体、Microsoft Office Word 2003 和 Microsoft Office Excel 2003 智能文档相比较,阐明了 Microsoft Office InfoPath 2003 扮演的角色。

本页内容

简介 简介
Microsoft 解决方案前景展望 Microsoft 解决方案前景展望
Windows 窗体 Windows 窗体
Web 窗体 Web 窗体
Word 2003 和 Excel 2003 中的智能文档 Word 2003 和 Excel 2003 中的智能文档
InfoPath InfoPath
开支报告 开支报告
状态报告 状态报告
小结 小结

简介

Microsoft 提供了几种不同的方法来创建办公室工作效率解决方案。所有这些技术都有一个共同的目标:使创建丰富的窗体和文档、收集并分析窗体和文档中存储的数据以及与企业相关的数据更加简捷。因为不同的企业任务有不同的需求和侧重点,所以 Microsoft 已经开发了几项不同的技术,旨在提供广泛的功能以满足这些需要。

本文为 IT 专业人员和信息工作者提供了一个决策树,以便在他们创建客户端信息解决方案时,帮助他们了解何时使用 Microsoft 的每项技术。本文旨在阐明 Microsoft® Office InfoPath® 2003 与其他技术相比所扮演的角色。

了解每项技术的功能以及何时使用它们是有效解决方案开发的一个重要部分。因此,本文首先概述 4 项 Microsoft 解决方案技术(Web 窗体、Microsoft Windows® 窗体、智能文档和 InfoPath 窗体),指出每项技术的独特功能和部署注意事项,特别关注于 InfoPath 的功能。描述解决方案前景之后,本文继续提供许多单独示例,其中有的解决方案方法特别有意义。总体说来,这些示例旨在就如何以及何时使用 InfoPath 解决方案提供最佳实践指南。

Microsoft 解决方案前景展望

数据收集和分析也是现代业务操作的关键部分。商务智能、客户关系管理和企业应用程序集成都需要各种应用程序和过程不断地提供数据。Microsoft(特别通过 Microsoft Office 系统)提供了用于构建客户端解决方案的强大的企业级工具,这些解决方案使用传统的方式(XML 和 Web 服务)链接到后端数据源和过程。对于使用 Microsoft 技术的开发人员来说,有四个主要选项可用:

  • Microsoft Windows 窗体将 Web 窗体开发过程的灵活性与在 Windows 桌面使用本地 Windows 服务的功能结合在一起。结果产生了一个可执行解决方案,它可以部署在客户端桌面上,并为最终用户提供本地 Windows 体验。

  • Web 窗体使解决方案开发人员能够获得更多的用户。Web 窗体代码可以使用 ASP.NET、Microsoft ActiveX® 控件和多种脚本语言实现。得到的解决方案可由 Microsoft Internet Explorer 和其他现代 Web 浏览器的用户访问,通常无需在客户端自身上进行配置或安装。

  • Microsoft Office Word 2003 和 Microsoft Office Excel 2003 都支持 XML 架构的映射。此外,Word 2003 和 Excel 2003 中的文档也是智能文档。要创建一个智能文档,开发人员可以将上下文添加到 XML 文档中,从而根据信息工作人员在文档内的工作位置为其提供操作或帮助。公司可以从单个服务器位置部署和更新智能文档解决方案。对信息工作人员来说,智能文档是一个很好的解决方案,因为他们已经非常熟悉 Word 和 Excel 环境。这可以减少培训成本,并能够提高用户的接受程度。

  • InfoPath 是用于丰富数据捕获和验证的理想应用程序,可以提供对 XML 的广泛支持。InfoPath 工具集包括一个 XML 窗体编辑器、常见 Office 用户界面中的一个 XML 窗体设计器,以及一个解决方案开发人员工具包。InfoPath 开发的解决方案可以联机或脱机使用,而且通过对 Web 服务的内置支持,它们可以联结到支持行业标准 XML 的任何后端系统上。

请注意,这些技术经常联合使用。例如,开发人员可以将智能文档和 InfoPath 解决方案联合在一起,以便解决同一个业务问题的不同方面。在防火墙外,开发人员可以决定构建使用相同 Web 服务和后端系统的 Web 窗体。

表 1. 所比较的四个用于客户端信息解决方案的技术

-

InfoPath

智能文档(Word 或 Excel)

Web 窗体

Windows 窗体

自定义代码/部署

小脚本

DLL

ActiveX、脚本

编译的代码/可执行文件

解决方案灵活性(适用于用户)

极高

安全性

带有受信部署的高安全性 (URN)
可以使用带沙箱部署部署的 Web 安全级 (URL)

-

与任何 Web 页/应用程序相同

开发人员确定安全需求和体系结构

易于部署

极高

中(部署到桌面的客户端应用程序)

客户端组件

InfoPath 和自定义窗体模板

Word 2003/Excel 2003 和自定义 DLL

Web 浏览器

自定义客户端组件

主要优点

易于部署
强数据验证
对客户定义的 XML 数据的本地支持

熟悉的用户环境和全功能集的 Word/Excel
重用 XML 数据
易于部署

易于部署
通用

构建任何应用程序
具有对客户端操作系统功能的访问权

Windows 窗体

Windows 窗体是一个框架,它提供了一个易懂、现代的 API,该 API 可以将 Windows API 的强大功能与取自 .NET Framework 的一组丰富的服务结合在一起。使用 Windows 窗体构建应用程序可以在保留与 Windows API 相关的工具和技术的现有投资的同时,为用户提供熟悉的 Windows 界面。但是,使用 .NET Framework 的开发人员经常发现它比 Windwos API 的功能更丰富,而且当您使用 Windows 窗体编写应用程序时,您可以利用该框架的全部功能。通常,使用 Windows 窗体编写的应用程序比使用 Windows API 或 MFC 编写的应用程序需要更少的代码。

Windows 窗体的另一个优点是,无论您选择哪种编程语言,都可以使用相同的 API。所有使用 Windows 窗体的应用程序都写入到 .NET Framework 类库的一个 API 中。

Windows 窗体仍然要求开发人员从头开始构建应用程序,因此不是可以满足所有需要的理想选择。但是,它们在受信的模式下运行,而且可以为开发人员提供对其他 Windows 服务的最丰富的访问权,此外,通过使用 Windows XML 分析组件,它们使开发人员能够更容易地读写本地 XML 数据。它们也提供对 Windows 安全服务(包括加密和身份验证服务)的访问,对于需要附加安全性的应用程序来说,它们是一个自然之选。

Web 窗体

Web 窗体是一项 ASP.NET 技术,旨在帮助开发人员构建动态、交互式 Web 页。它们在基于窗体的开发工具中提供一种类似于 API 的编程接口,这些工具可用于构建快速响应的办公室工作效率应用程序。

开发人员将 Web 窗体作为 HTML、代码和预打包的服务器组件(控件)的组合进行创建,它们在运行 Microsoft Internet 信息服务的 Web 服务器上执行。开发人员通过生成适当的标记语言(通常为 HTML)以返回到浏览器,将 Web 窗体设计为呈现它们自己的用户界面。该呈现方式可以考虑客户端的语言和 Web 浏览器版本,从而提供针对客户端功能量身定做的界面。

Web 窗体通过使用为基于 Windows 的开发人员所熟知的、基于窗体的相同编程范例,在传统应用程序模型和 Web 编程模型之间架起了桥梁。使用 Microsoft Visual Studio??.NET 时,可以通过将控件拖到窗体上,然后双击这些控件并编写一些时间处理程序来创建 Web 应用程序。事件处理程序的代码可以用 Microsoft Visual Basic®、Microsoft Visual C#® 或 .NET 编译器支持的任何其他语言编写。

Web 窗体的主要优点之一是,由于大量工作都是在服务器上进行的,因此实际上任何 Web 浏览器都能运行 Web 窗体应用程序。预打包的服务器控件也是一个巨大的优势,因为它们将复杂的 UI 元素简化为简单的类似于 HTML 的标记,并且将适应其输出的智能服务器组件提升为目标浏览器。因为 Web 窗体应用程序运行在 Web 服务器上,所以它们的安全与 Web 服务器的安全息息相关,因此确保 Web 服务器的安全非常重要,这样才能保护应用程序的完整性。

当有一个异类用户基时,Web 窗体是一个很好的选择。例如,许多规模庞大的制造业公司使用 UNIX 工作站进行计算机辅助设计;基于 Web 窗体的应用程序显然可以在 Windows、Macintosh、UNIX 和 Linux 计算机上使用,从而使它们成为异类环境的自然之选。当一组不同的用户(包括那些您不能控制其桌面的用户)使用应用程序窗体时,Web 窗体也很有意义。在这些情况下,指望所有客户端都安装有某个应用程序或组件是不合理的。

Word 2003 和 Excel 2003 中的智能文档

基于 Word 2003 或 Excel 2003 的智能文档解决方案将基础 XML 结构与自定义代码结合在一起,以便在文档内启用特殊的操作。根据光标在文档内的不同位置,操作可以是提供与上下文相关的帮助信息、数据检索、格式化操作,等等。

当一个信息工作者打开一个智能文档时,该文档会在“文档操作”任务窗格中公开一组操作。可用的操作依赖于所编辑的文档部分;开发人员可以构建显示帮助文本、要求用户输入(使用标准的 Microsoft Windows 控件,例如,复选框和文本字段),或者从其他应用程序或后端服务器检索数据的操作。在用户输入任务所需的数据之后,智能文档能够执行某些操作,例如,查找数据,根据文档的模板对其进行格式化,并将其放在文档中,所有这些操作都是自动的。

由于该文档“理解”最终用户的常见任务,因此提高了他们的工作效率,使得他们可以更简捷地构建特定工作的文档。由于智能文档是使用行业标准 XML 和任何一种编程语言构建的,因此易于开发人员构建和测试,进而也使得为企业内的所有信息工作者小组开发解决方案更加容易。这可以使信息工作者更快、更有效率地工作,从而缩短产品的上市时间,并在企业内部进行更好的通讯。这一改进不提供附加的用户培训,因为智能文档利用 Office 2003 界面公开它们的功能。此外,由于 Word 和 Excel 是胖客户端,因此它们可以脱机工作,从而使用户可以保存他们的工作,以便以后需要时继续使用。

智能文档需要一些编码,但不如 Windows 窗体或 Web 窗体需要的多。通过 Web 服务来实现与后端系统的集成是相对较容易的。要创建一个智能文档解决方案,开发人员要先将一个 XML 架构(任何由客户定义的 XML 架构)附加到一个 Word 文档或 Excel 工作薄,并用 XML 批注将具有智能文档操作或与其相关的帮助内容的文档部分。然后,开发人员可以基于该文档内的 XML 元素创建操作,并将解决方案作为 DLL(以及任何支持文件)进行编译。要部署该解决方案,开发人员可以对 DLL 进行数字签名,创建一个“解决方案清单”文件(它也是已签名的),而且管理员要将解决方案的文件放在解决方案清单所引用的位置中。

要使用智能文档,信息工作者只需打开设计为智能文档的 Word 文档或 Excel 工作薄,然后开始与其进行交互。该清单会提示信息工作者下载该解决方案的组件(XSLT、DLL、托管代码程序集,等等)。智能文档还有一个很好的安全模型:

  • 智能文档可以通过安全策略进行控制。

  • 解决方案清单必须来自可信站点。解决方案清单本身必须是已签名或可信的代码。

  • 作为智能文档解决方案的一部分,运行的代码受用户的 Office 安全设置的限制。

  • 系统将提示用户是否要启动智能文档解决方案的安装。

由于智能文档解决方案可以从服务器加载,因此它们也能从服务器进行更新,这就简化了解决方案的更新过程。

InfoPath

InfoPath 为信息工作者提供了一组工具,它们能够创建动态窗体,以便跨广泛的正式和非正式的业务过程收集并共享信息。与传统的窗体包不同,InfoPath 提供了高度的信息收集灵活性,使人们能够及时获取所需的信息,并进行相应的决策。信息工作者喜欢 InfoPath 和其他 Office System 2003 程序之间的无缝集成。

除了用于窗体本身的丰富设计环境,InfoPath 还提供与现有企业系统(包括非 Microsoft 的数据库和中间层系统)的出色集成。这意味着,开发人员和 IT 专业人员可以协作构建利用现有环境的、强大的业务过程解决方案。之所以能进行该集成,可能主要是因为 InfoPath 支持任何由客户定义的 XML 架构(它的本地文件格式是 XML),此外还因为它具有对 Web 服务的内置支持。

因此,如果一个客户有一个 SAP 系统、一个基于 Microsoft SQL Server 的库存系统和一个架构来处理内部事务和合作伙伴事务,则他可以构建一个 InfoPath 解决方案,该解决方案能够提供 InfoPath 客户端环境的所有丰富功能,而且还可以通过 Web 服务,提供检索和写回到多个后端系统、参与工作流等功能。

在此类“智能客户端”解决方案中,可以对用户输入的数据进行动态验证,以便确保它在传递到下一层之前是正确且完整的。所有这一切意味着,使用 InfoPath 收集的任何信息都可供企业中的任何人或过程重用或重新计划,这极大地提高了该信息的效率和功能。

在比较 InfoPath 窗体与 Web 窗体时,有以下几个注意事项。第一,InfoPath 与浏览器不同,它是一个胖客户端,带有胖客户端能够提供的所有功能,包括多信息文本编辑、拼写检查和 AutoCorrect。第二,InfoPath 可以提供一个普通的接口,用于处理重复的数据组和可选字段组,甚至是现有的客户架构。Web 窗体需要您进行手动编码,才能处理 XML 架构。第三,InfoPath 窗体通常比 Web 应用程序更易于构建。第四,InfoPath 提供一个类似于文档的模型,使您能够脱机(完全断开连接)工作。您可以将工作保存到计算机上,等方便时继续使用。最后,InfoPath 提供在客户端上联机或脱机验证业务逻辑的功能。通常,数据和架构越复杂,InfoPath 就越适合。

InfoPath 使您能够在窗体上脱机工作,因为它在第一次使用窗体模板后会将其缓存。它也具有对窗体模板的内置更新支持,使窗体开发人员可以在无需用户交互的情况下为其应用新功能和错误修补程序。由于执行的是自动部署,InfoPath 有一个针对这些模板的严格的安全模型(这是一个沙箱部署)。如果开发人员需要对带有窗体的客户端计算机具有完全访问权限,InfoPath 会为开发人员提供用于创建受信模板的选项,这些模板需要安装在客户端计算机上(这是一个受信的部署,类似于智能文档或 Windows 窗体解决方案的部署)。

对于基于小组的数据收集和协作方案,InfoPath 和 Microsoft Windows SharePoint?Services 提供了很好的集成。使用对窗体库的内置支持,信息工作者可以使用 InfoPath 轻松地创建窗体并将其发布到窗体库中,在窗体库中这些窗体可供所有人使用。

窗体部署

InfoPath 解决方案要求客户端具有 InfoPath 应用程序的副本。对于窗体部署,InfoPath 提供了两个选项:Sandboxed (URL) 和 Trusted (URN)。

Sandboxed 解决方案不进行本地注册。它们由 URL 安装(下载可以是静态的,而更新可以是动态的),而且存储在本地缓存中。Sandboxed 解决方案在与 Web 页在 Internet Explorer 中相同的安全模型下运行,而且只具有对当前窗体的访问权(它们不具有对本地计算机任何资源的访问权)。企业在任何时候都应该将 Sandboxed 解决方案用作默认选择,该方案可以在 Sandboxed 安全模式中实现。

如果该解决方案需要访问本地资源,例如,写入本地文件,或者需要运行受信代码(例如,Microsoft Visual C++® 组件),则需要受信解决方案。受信解决方案需要客户端安装(使用 MSI 或其他安装技术)和显式更新。

示例:销 售需求报告

销售需求报告和其他内部数据收集窗体可以实际利用 InfoPath 及其功能来提供一个灵活、结构化的窗体环境。在图 1 显示的示例中,提供了许多用户界面功能,以便使数据收集过程尽可能的简单、丰富。有一个功能在该图中并没有显示,但它对于销售人员来说非常重要,那就是脱机处理窗体的功能。窗体开发人员可以通过创建窗体来联机或脱机提供全部功能。

图 1. InfoPath 中的销售需求报告解决方案

该 InfoPath 窗体在一个 customer 字段组中包含了一个与上下文相关的下拉菜单,以便使信息工作者可以添加另一个 customer 字段组、移除该 customer 字段组,或者在该字段组内插入一个可选的 actions 字段组。

该窗体具有某个自定义、启用代码的条件格式化,但 InfoPath 也允许设计人员应用现成的条件格式化。例如,窗体设计人员可将字段配置为在特定条件得到满足时以特定方式呈现。

然后,可选的 actions 部分会有它自己的元素,这些元素能够包括可将该窗体路由到一个定单履行中心的操作。Click here 链接提供另一个用于插入 actions 字段组的方式。该窗体的另一个功能是定单字段内的条件格式化。请注意,数字“100”呈现绿色;条件格式化定义大于等于 100 的值应该呈现绿色,从而指示可接受的定单数量。第二次输入的值是“99”,呈现为红色,指示该值不在正确的范围内。

选择正确的选项

面对如此多的强大选项,为您的方案挑选一个正确的看起来有点令人困惑。不同的业务过程有不同的要求、任务和文档类型;这些差异为您提供了为每个方案寻找最适合的开发方法的途径。

对于给定的任务或文档类型,确定相应地使用哪项技术并不是严格的科学。由于一些很好的原因,Windows 窗体、Web 窗体、智能文档和 InfoPath 窗体之间有相当多的重叠。例如,开发人员可以设计一个基于 Windows 窗体的开支报告解决方案。然而,一个 Web 窗体解决方案,或者基于 InfoPath 的开支报告解决方案,却更易于在多数环境中开发和部署。

有几个可以指导决策的通用标准(如图 2 所示)。特殊的注意事项是文档或任务的种类、文档中数据的使用方式,以及使用该解决方案的人的逻辑位置和物理位置。请注意,这里描述的决策树绝对不是一组严格的规则。很明显,除了在该决策树中描述的基本参数之外,一些“软”因素(例如,用户的喜好)也可以产生很强的影响。例如,在 Office Client Choice Test 分支中,在分析和报告没有结构化、动态和分层的数据布局重要的情况下,InfoPath 作为适当的解决方案显示。然而,在一种非常适合使用 InfoPath 解决方案的情况下,企业选择使用 Excel 或 Access 同样可能取得成功。关键是要断言一些通用原则。

图 2. 一个用于指示在与其他 Microsoft 选项相比的情况下何时使用 InfoPath 窗体的决策树

开支报告

与多数办公室工作效率任务一样,开发人员可以使用 Windows 窗体、Web 窗体、InfoPath 窗体和智能文档构建一个针对开支报告的解决方案。使用 Windows 窗体构建开支报告明显是大材小用,极不方便。Web 窗体可能比较有意义,例如,Web 窗体有助于更好地保护信用卡信息。然后,Web 窗体的一个主要缺点是不能在脱机模式下使用。

InfoPath 开支报告窗体却非常易于设计(只需少量编码)。InfoPath 附带一个示例开支报告窗体,该窗体包含几个关键元素,使其可以很好地满足开支报告的需要。一个条目化开支字段包含可重复的部分,以便信息工作者只需要与其条目同样多的行。下面还有一个可选的附注字段,它是隐藏的,只有当信息工作者单击它时才能显示出来。此外,InfoPath 窗体可以在脱机情况下创建并完成,从而使信息工作者能够在旅行时完成他们的开支报告,并且在回到办公室的时候上载它们。

状态报告

状态报告将一个结构化的文档布局与自由窗体数据项结合在一起。例如,每周状态报告将包含需要处理的一致主题(目标、所完成的任务、下周的目标、阻塞问题,等等)。在该结构内,信息工作者也会提供自由格式文本来支持项目的状态。

对于由带有一些用于进行自由文本编辑的空间的大部分结构化信息组成的状态报告而言,InfoPath 是一个明显的选择。对于包含少量结构化信息和多数自由编辑区域的状态报告来说,Word 2003 可能更加适用,因为它带有智能文档逻辑,可以提供任何所需的结构、相关操作和用于所有部分的上下文帮助,包括自由窗体部分。

在 InfoPath 中创建的状态报告包含一些所需的字段(例如,所完成的任务)、一些可选的字段(例如,针对管理的附加注释或建议),等等。它也可以具有自动将报告发送给信息工作者的管理器的路由逻辑,该路由逻辑基于用户检测和业务规则。

最后,该管理器可以使用 InfoPath 中内置的合并功能将多个状态报告中的信息聚合到单个窗体中。它可以单独在 InfoPath 内完成该操作,或者在 Windows SharePoint Services 中完成。

Requests For Proposals 和其他文档生成任务

虽然许多重复任务可以得到自动处理,但是创建 Requests For Proposals (RFP) 和其他此类文档仍然是一个纯手动过程,需要来自信息工作者的富有创造力的输入。RFP 通常是非常大且复杂的文档,它的目的是被显示。因此,Word 2003 的丰富的格式化功能是一个明显的选择。使用智能文档时,多数文档生成、数据收集和数据操作都可由文档本身处理。

例如,一个用于呼叫中心协定的 RFP 可能包含以下元素:

  • 定价……具有全部服务成本的详细信息,还有单个服务类型的成本信息。

  • 组织功能……具有关于日常呼叫量、周期性、呼叫等待时间等的详细信息。

  • 设备……具有关于编号和位置的详细信息。

  • 系统……具有关于硬件/软件类型、IT 支持、灾难恢复等的详细信息。

  • 报告……具有关于功能、报告示例、报告成本等的详细信息。

  • 质量和监视……具有关于质量保证程序、监视程序、监视器数量等的详细信息。

  • 附录……组织图表、年度报告、客户列表、奖励资料等的详细信息。

如果不使用智能文档解决方案,将这些信息合并在一起需要进行大量手动的(且易于出错的)剪切和粘贴、在数据库中查找信息等操作。由于我们的示例呼叫中心响应很多 RFP,所有这些 RFP 都包含这些公共元素,他们已经开发了一个可以简化大部分信息收集和分类的智能文档解决方案。例如,填充定价部分的信息工作者可能会使用一个智能文档操作,该操作可以通过查询该公司的后端系统来检索最新的精确价格,将它们作为图表或图形格式化,然后将其正确插入文档中。

除了智能文档功能之外,还有几个在该情况下使用 Word 的常识性理由。文档的长度、在协作环境中跟踪更改的需求和高保真打印需要,都使得 Word 对于此类解决方案来说是一个引人注目的环境。

信息处理

一些常见的信息处理文档示例有问卷、接待员表单和电话树(例如,呼叫中心支持人员所使用的电话树)。传统上,此类文档的结构很严格,而且该表单字段的可允许的值范围非常窄,因此它们通常作为表单显示。对于能够很好地基于输入的信息进行响应和更改、与后端系统很好地集成的文档来说,InfoPath 是一个理想的选择。例如,基于 InfoPath 的问卷可以:

  • 提供数据验证,以确保所提供的回答是有意义的

  • 根据对问题的“Yes”回答,确定目前需要一个附加的解释部分,然后自动将其添加到文档中

  • 动态提供重复的部分,以便容纳其他输入

  • 提供输入多信息文本和检查拼写的功能

  • 当使用纸表单(例如,服务定单或维修票据)时,提供灵活的格式化和打印选项

  • 快速开发,易于修改

InfoPath 表单中捕获的 XML 数据可以从 InfoPath 内提交到一个 Web 服务,以便做进一步的处理。InfoPath 可以使用 Microsoft BizTalk® Server,还可以与 IIS、Microsoft SQL Server 2000,或任何能够使用 Web 服务的第三方后端系统交互(与 IIS 交互通过 ASP.NET 进行)。可以将 InfoPath 配置(不用编码)为使用 ADO(ActiveX 数据对象)接口直接与 SQL 或 Microsoft Access 会话。

数据分析

信息工作者长期使用 Excel 处理数据分析任务。Excel 2003 甚至更适合于其中的数据分析、解释和演示都很重要的文档。与 Word 2003 智能文档一样,Excel 2003 智能文档使可用操作基于文档内的 XML 元素。

例如,投资银行公司可以创建一个 Excel 2003 智能文档来帮助分析一家公司的财政运营状况。智能文档可以基于所选择的单元格为分析人员提供上下文特定的帮助指令。该文档还可以从很多源检索公司信息(公开的报价、SEC 信息和其他经济信息等)。然后,所有这些信息能够以编程方式排序、处理,并且与内部数据进行对比,或者通过专用的分析技术运行。分析人员查找信息所需的时间更少,犯错误(下载的公司数据不是所需公司的数据)的可能性也变得更小,而且能够基于智能文档模板生成一致的、精制的数据外观。

销售文档

销售人员经常需要创建为客户量身定做的销售文档,这些文档实际上是小型方案。例如,一个制药公司销售人员的工作是拜访医生并且分发一些产品样品,这就需要创建一个针对他所拜访的每位医生的文档。该文档将包括产品数据表,医生的详细地址、执照和专业信息,一封介绍信和一个记录分发样品数量的表单,等等。

由于该方案中所需的最终产品是文档本身(打印或电子版),因此 Word 2003 智能文档解决方案最有意义。在该解决方案中,销售人员与文档交互,从而提供医生的姓名和专业。该智能文档检索医生的当前地址和执照信息,并基于 XML 元素的映射将其放在文档中。虽然数据收集和格式化操作极大地简化了整个任务,但是在创建销售文档时,智能文档仍然允许丰富的灵活性。

临床文档

需要遵循某种特定结构(或者依据法律,或者依据约定)的文档特别适合使用 InfoPath。例如,HL7 临床文档体系结构 (CDA) 是一种文档标记标准,它指定用于进行交换的“临床文档”的结构和语义。这些临床文档需要遵循一些关键要求:

  • 持久性……临床文档以不变的状态继续存在一段由本地规章制度要求定义的时间。

  • 管理……临床文档由受委托的个人或公司维护。

  • 进行身份验证的潜能……临床文档是一个要经合法身份验证的信息集合。

  • 整体……临床文档的身份验证应用于文档整体,而不是不带有文档全部上下文的部分文档。

  • 可读性……临床文档是可读的。

CDA 文档是一个定义的完整信息对象,可以包括文本、图像、声音和其他多媒体内容。

除了满足所有这些需求之外,InfoPath 窗体可以设计为在必要的情况下遵循客户定义的现有 XML 架构。医生可以在办公室中使用表单收集关于患者的信息:例如,他已被诊断患有高血压,而且已经开了药。InfoPath 窗体符合 CDA 标准,并且包含关于诊断(高血压)、药方 (Hyzaar),以及医生和病人的名字和标识符的编码项。然后使用相同的信息生成一个定单(以另一个结构化文档格式),之后将该定单发送到药房,以便为该患者填写药方。

小结

InfoPath 极大地简化了丰富的集成窗体的开发过程。虽然 Windows 窗体、Web 窗体和智能文档在某些方案中明显是很适合的解决方案,但是开发人员在遇到一些用它们不能解决的困难时,则可以求助于 InfoPath。表 2 汇总了本文中描述的文档和任务类型。它也提供了一个关于 Windows 窗体、Web 窗体、智能文档和 InfoPath 窗体何时以及在何处有意义的快速查看。

表 2. 文档/任务类型和适当的解决方案的汇总

-

推荐的解决方案

选择解决方案时的关键因素

开支报告

InfoPath 窗体

集中关注数据和数据结构,而不是包含数据的文档
面向过程

状态报告

InfoPath 窗体

集中关注数据和数据结构
面向过程
InfoPath 的灵活性(多信息文本、可选的部分,等等。)

RFP

Word 智能文档

集中关注作为最终产品的文档
文档的长度和高保真打印的需要
Word 2003 丰富的创作/编辑和协作功能
基于文档内 XML 元素的、智能文档操作的强大自定义功能

信息处理任务

InfoPath 窗体

非常面向过程
窗体的灵活性(可重复部分、可选部分、数据验证和多信息文本)
通过对 Web 服务的内置支持与后端系统集成

数据分析任务

Excel 智能文档

强大的分析功能
强大的 XML 支持
支持 Web 服务的数据收集和提交

销售文档

Word 智能文档

集中关注作为最终产品的文档
文档的长度和高保真打印的需要
Word 2003 丰富的创作/编辑和协作功能
基于文档内 XML 元素的、智能文档操作的强大自定义功能

销售需求报告

InfoPath 窗体

非常面向过程
窗体的灵活性(可重复部分、可选部分、数据验证和多信息文本)
通过对 Web 服务的内置支持与后端系统集成

临床文档

InfoPath 窗体

集中关注结构化数据
与合作伙伴/供应商交换数据的功能
遵从结构和使用客户定义的 XML 架构的功能
InfoPath 窗体的灵活性

本文提供了一个框架,在该框架内可以考虑何时使用不同的 Microsoft 技术来创建客户端信息解决方案。总之,无论何时需要收集信息并对其进行操作,开发人员都可以先考虑 InfoPath。

参考站点

有关详细信息,请参阅以下内容:

Microsoft Office 系统

Microsoft Office InfoPath 2003

Microsoft Windows 窗体

Web 窗体

转到原英文页面