Microsoft InfoPath2003提供給我們便利的創(chuàng)建電子表單的方式和所見(jiàn)即所得的設(shè)計(jì)模式。但是,用戶必須安裝InfoPath才能打開(kāi)填寫(xiě)表單。在不安裝InfoPath的環(huán)境中,特別是在瀏覽器中填寫(xiě)表單,是一個(gè)普遍的需求。但是,這一個(gè)愿望在Infopath2003的時(shí)代實(shí)現(xiàn)起來(lái)代價(jià)比較大,它讓很多InfoPath 2003的用戶為之遺憾。但是,隨著InfoPath 2007和InfoPathForms Services的發(fā)布,我們的夙愿終于得以達(dá)成。簡(jiǎn)而言之,InfoPath FormsServices是讓InfoPath表單可以在瀏覽器中訪問(wèn)、填寫(xiě)的技術(shù)。InfoPath Forms Services是OfficeSharePoint Server 2007的組件。同時(shí),也有基于它的獨(dú)立產(chǎn)品Microsoft Office Forms Server2007。本章,我們將帶領(lǐng)大家走進(jìn)InfoPath Forms Services的世界。
8.1 InfoPath Forms Services的應(yīng)用場(chǎng)景與架構(gòu)
8.1.1 InfoPathForms Services的應(yīng)用場(chǎng)景
InfoPath FormsServices是基于Web的InfoPath表單渲染技術(shù)。InfoPath2007可以方便地設(shè)計(jì)出用戶體驗(yàn)很好的表單。表單可根據(jù)規(guī)則進(jìn)行表單數(shù)據(jù)驗(yàn)證,向Web服務(wù)、數(shù)據(jù)庫(kù)或者SharePoint等數(shù)據(jù)源提交數(shù)據(jù)。同時(shí),InfoPath的“Design-Once”的設(shè)計(jì)理念讓所有這些特性在發(fā)布到Web上以后仍然和在InfoPath客戶端上一樣。這些都支持著我們來(lái)構(gòu)建豐富的表單解決方案。
首先,我們可以用InfoPath來(lái)作為數(shù)據(jù)收集的載體,比如做調(diào)查表單。在InfoPath2007的客戶端軟件中設(shè)計(jì)好調(diào)查表單,然后發(fā)布到SharePoint的文檔庫(kù)中。用戶在瀏覽器端打開(kāi)表單,填寫(xiě)調(diào)查表,表單數(shù)據(jù)提交到文檔庫(kù)中。調(diào)查結(jié)束后,把文檔庫(kù)的表單導(dǎo)出。InfoPath支持把數(shù)據(jù)一同導(dǎo)入Excel中進(jìn)行調(diào)查結(jié)果的統(tǒng)計(jì)分析。
其次,我們可以用InfoPath來(lái)作為數(shù)據(jù)展現(xiàn)和交互層。通過(guò)InfoPath設(shè)計(jì)表單界面,與后臺(tái)的數(shù)據(jù)源進(jìn)行連接,用戶在InfoPath的界面中進(jìn)行操作,最終提交數(shù)據(jù)到外部數(shù)據(jù)源。MOSS的工作流就利用InfoPath表單作為交互界面。開(kāi)發(fā)MOSS工作流的時(shí)候利用InfoPath設(shè)計(jì)交互界面也使開(kāi)發(fā)難度大大降低。
表單的本質(zhì)就是數(shù)據(jù)呈現(xiàn)和編輯的載體,所以表單應(yīng)用的中心不外乎圍繞數(shù)據(jù)、界面、流程來(lái)展開(kāi)。上面提到的兩種應(yīng)用場(chǎng)景旨在啟發(fā)大家的思路,從一般的角度上讓大家看看InfoPath Forms Services可以做些什么樣的應(yīng)用。對(duì)這個(gè)技術(shù)有更多的了解以后,便可以更好地把這項(xiàng)技術(shù)融入到我們的解決方案中。
8.1.2 InfoPath Forms Services的運(yùn)行機(jī)制
InfoPath2007充當(dāng)?shù)氖荗fficeSharePoint Server 2007表單設(shè)計(jì)器的角色。InfoPath FormsServices充當(dāng)?shù)氖潜韱卧跒g覽器中渲染的運(yùn)行環(huán)境。InfoPath文件格式中對(duì)于表單展現(xiàn)層用的都是Html格式,不管在InfoPath客戶端還是InfoPath FormsServices中,渲染表單都是根據(jù)表單模板文件中的Html代碼,Design-Once的理念就是基于此實(shí)現(xiàn)的。
一個(gè)InfoPath的模板包括了界面,同時(shí)也包括了表單控件的動(dòng)作規(guī)則和數(shù)據(jù)的驗(yàn)證規(guī)則等,所以InfoPath FormsServices要做的事情不僅僅是展現(xiàn),還要處理除了界面以外的校驗(yàn)等工作。當(dāng)服務(wù)器接收到Web端訪問(wèn)表單模板的請(qǐng)求時(shí),服務(wù)會(huì)根據(jù)表單模板生成HTML推送回瀏覽器,同時(shí)還包括控制頁(yè)面以及完成數(shù)據(jù)校驗(yàn)等操作的Javascript文件。InfoPath FormsServices采用AJAX機(jī)制,利用XMLHTTP實(shí)現(xiàn)客戶端與服務(wù)器的交互。
8.1.3 InfoPath Forms Services的應(yīng)用架構(gòu)
和ExcelServices一樣,InfoPath Forms Services構(gòu)建在Windows SharePoint Services3.0的基礎(chǔ)上,是OfficeSharePoint Server2007中的企業(yè)級(jí)應(yīng)用的組件,幫助企業(yè)更好地實(shí)現(xiàn)表單驅(qū)動(dòng)的商業(yè)流程。它的初衷和亮點(diǎn)就是支持在瀏覽器端訪問(wèn)和填寫(xiě)InfoPath表單,同時(shí)也提供了在智能手機(jī)和PDA等移動(dòng)設(shè)備上的支持。這個(gè)設(shè)計(jì)極大地?cái)U(kuò)展了InfoPath表單的應(yīng)用范圍和方式。
InfoPathForms Services的一般的應(yīng)用架構(gòu)如圖8-1所示。表單設(shè)計(jì)者通過(guò)InfoPath2007根據(jù)業(yè)務(wù)需要對(duì)表單進(jìn)行設(shè)計(jì),設(shè)計(jì)好表單需要從外部數(shù)據(jù)源抽取的數(shù)據(jù),以及表單的數(shù)據(jù)提交,必要的話還可能在表單中編寫(xiě)代碼。設(shè)計(jì)完成的表單發(fā)布到InfoPath FormsServices服務(wù)器環(huán)境中。最終用戶通過(guò)瀏覽器、移動(dòng)設(shè)備或者InfoPath客戶端訪問(wèn)表單,填寫(xiě)數(shù)據(jù),提交表單。這種應(yīng)用架構(gòu)突破了表單使用者必須有InfoPath客戶端的瓶頸,同時(shí)把一個(gè)表單的可訪問(wèn)范圍擴(kuò)展到網(wǎng)絡(luò)的任何角落。
聯(lián)系客服