InfoPath Forms Services

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