Microsoft InfoPath 2003提供给我们便利的创建电子表单的方式和所见即所得的设计模式。但是,用户必须安装InfoPath才能打开填写表单。在不安装InfoPath的 环境中,特别是在浏览器中填写表单,是一个普遍的需求。但是,这一个愿望在Infopath 2003的时代实现起来代价比较大,它让很多InfoPath 2003的用户为之遗憾。但是,随着InfoPath 2007和InfoPath Forms Services的发布,我们的夙愿终于得以达成。简而言之,InfoPath Forms Services是让InfoPath表单可以在浏览器中访问、填写的技术。InfoPath Forms Services是Office SharePoint Server 2007的组件。同时,也有基于它的独立产品Microsoft Office Forms Server 2007。本章,我们将带领大家走进InfoPath Forms Services的世界。 8.1 InfoPath Forms Services的应用场景与架构 8.1.1 InfoPath Forms Services的应用场景 InfoPath Forms Services是基于Web的InfoPath表单渲染技术。InfoPath 2007可以方便地设计出用户体验很好的表单。表单可根据规则进行表单数据验证,向Web服务、数据库或者SharePoint等数据源提交数据。同时, InfoPath的“Design-Once”的设计理念让所有这些特性在发布到Web上以后仍然和在InfoPath客户端上一样。这些都支持着我们来 构建丰富的表单解决方案。 首先,我们可以用InfoPath来作为数据收集的载体,比如做调查表单。在InfoPath 2007的客户端软件中设计好调查表单,然后发布到SharePoint的文档库中。用户在浏览器端打开表单,填写调查表,表单数据提交到文档库中。调查结束后,把文档库的表单导出。InfoPath支持把数据一同导入Excel中进行调查结果的统计分析。 其次,我们可以用 InfoPath来作为数据展现和交互层。通过InfoPath设计表单界面,与后台的数据源进行连接,用户在InfoPath的界面中进行操作,最终提 交数据到外部数据源。MOSS的工作流就利用InfoPath表单作为交互界面。开发MOSS工作流的时候利用InfoPath设计交互界面也使开发难度 大大降低。 表单的本质就是数 据呈现和编辑的载体,所以表单应用的中心不外乎围绕数据、界面、流程来展开。上面提到的两种应用场景旨在启发大家的思路,从一般的角度上让大家看看 InfoPath Forms Services可以做些什么样的应用。对这个技术有更多的了解以后,便可以更好地把这项技术融入到我们的解决方案中。 8.1.2 InfoPath Forms Services的运行机制 InfoPath 2007充当的是Office SharePoint Server 2007表单设计器的角色。InfoPath Forms Services充当的是表单在浏览器中渲染的运行环境。InfoPath文件格式中对于表单展现层用的都是Html格式,不管在InfoPath客户端 还是InfoPath Forms Services中,渲染表单都是根据表单模板文件中的Html代码,Design-Once的理念就是基于此实现的。 一个 InfoPath的模板包括了界面,同时也包括了表单控件的动作规则和数据的验证规则等,所以InfoPath Forms Services要做的事情不仅仅是展现,还要处理除了界面以外的校验等工作。当服务器接收到Web端访问表单模板的请求时,服务会根据表单模板生成 HTML推送回浏览器,同时还包括控制页面以及完成数据校验等操作的Javascript文件。InfoPath Forms Services采用AJAX机制,利用XMLHTTP实现客户端与服务器的交互。 8.1.3 InfoPath Forms Services的应用架构 和Excel Services一样,InfoPath Forms Services构建在Windows SharePoint Services 3.0的基础上,是Office SharePoint Server 2007中的企业级应用的组件,帮助企业更好地实现表单驱动的商业流程。它的初衷和亮点就是支持在浏览器端访问和填写InfoPath表单,同时也提供了 在智能手机和PDA等移动设备上的支持。这个设计极大地扩展了InfoPath表单的应用范围和方式。 InfoPath Forms Services的一般的应用架构如图8-1所示。表单设计者通过InfoPath 2007根据业务需要对表单进行设计,设计好表单需要从外部数据源抽取的数据,以及表单的数据提交,必要的话还可能在表单中编写代码。设计完成的表单发布 到InfoPath Forms Services服务器环境中。最终用户通过浏览器、移动设备或者InfoPath客户端访问表单,填写数据,提交表单。这种应用架构突破了表单使用者必 须有InfoPath客户端的瓶颈,同时把一个表单的可访问范围扩展到网络的任何角落。 |
|