摘要:Microsoft Office InfoPath是一種混合工具,它集傳統文檔(例如文字處理程序或電子郵件應用程序)編輯技術的精華與表單的嚴格數據捕獲功能于一身。針對傳統表單和文檔在收集數據功能上的局限性,分析了InfoPath所要解決的問題,討論了用于解決這些問題的設計原則和XML行業標準,并展示了InfoPath作為Web服務客戶端在企業中的應用。
關鍵詞:InfoPath;Web;可擴展標記語言;用戶界面;表單
中圖分類號:TP317文獻標識碼:A文章編號:1009-3044(2008)32-1044-02
Analysis and Application of Related Technique with InfoPath
SUN Yan
(SAIC GM WULING QD Branch, Qingdao 266555, China)
Abstract: Microsoft Office InfoPath is a kind of hybrid tool, which gathers the essence of the traditional document edit technique (e.g. the word processing procedure or E-mail application) and the strict data capture function of forms together. Considering the limitation of the traditional forms and documents collecting data, it has analyzed the problems that InfoPath should solve, then discussed the design principles and XML sector standard that resolve these problems, and finally brought forth the application of InfoPath in enterprise information as an ideal Web client.
Key words: InfoPath; Web; extensible markup language; user interface; form design
1 引言
從技術上說,InfoPath是一種高級XML創作工具,它使普通用戶可以創建屬于自定義XML架構的XML文檔。編輯XML文檔時,XML架構控制文檔的修改。與XML文檔交互,通過豐富的格式化視圖來完成。XML文檔中的節點或屬性值顯示為字段,節點的層次結構呈現為一組字段。
在企業應用中,作為Microsoft Office組件之一,InfoPath為IT人員提供了一整套創建、收集和共享信息的動態表單工具,幫助用戶在商業流程中及時獲取他們需要的信息。通過對當前選定的字段或字段組的有效編輯操作,用戶可以添加和刪除有效的XML元素和屬性,而不必查看元素和屬性。這樣表單應用程序既有嚴格的驗證功能,又具備文字處理程序的靈活性。
2 傳統表單和文檔的局限性
2.1 傳統表單的局限性
用戶在收集數據時,通常希望比靜態表單獲得更多的靈活性,同時希望比文字處理程序的文檔獲得更加結構化的編輯與驗證功能。
傳統表單是靜態的,行數固定,長度上也有限制,填好后不能擴展。由于缺乏豐富的編輯功能,傳統表單很難使用,而且用戶必須一次提供所有信息。
2.2 傳統文檔的局限性
另一方面,文字處理程序創建的傳統文檔使用戶可以自由地添加和刪除內容,但很少幫助用戶輸入完整的、結構化的信息;在文檔中定義的任何字段基本上不具有數據類型的驗證;字段中的數據也沒有正確的標簽,引用起來不方便。這種情況下開發人員往往創建自定義的應用程序。不僅需要進行大量編碼,需要提交驗證,包括對最終用戶進行培訓,而且在其他業務過程中還難以重復利用數據。所以在企業應用中這種自定義開發既昂貴又費時費力。
InfoPath的出現改變了這一切,它能夠通過豐富動態的表單高效地收集信息。因為它支持使用任何客戶定義架構的可擴展標記語言XML,所以能在整個企業和業務進程之間輕松復用收集到的信息。
3 用戶界面的實現
對于上述局限性,InfoPath的設計實際上要解決兩個技術問題,這些設計原則遵循XML行業標準。表1列出了InfoPath基于的XML相關技術元素名稱。
3.1 通過字段組提供結構化的編輯
InfoPath解決的一個技術問題是:如何提供輕松的用戶界面,在不顯示XML元素和屬性的情況下添加和刪除這些元素和屬性,同時使DOM樹根據自定義的XML架構來衡量仍然有效。用戶界面需要提供一種自然的方法來編輯DOM樹,包括插入可選的子樹、替換子樹選項以及擴展現有的子樹。
為了提供這種輕松的用戶界面,DOM子樹顯示為字段組。字段組是一組UI控件,可以使分層的XML數據可視化并編輯這些數據。如果用戶將鼠標指針放到字段組上,單擊出現在字段組上的下拉菜單,然后選擇插入字段組名,子樹就會添加到DOM樹中。
InfoPath通過使用指定的XML架構來約束結構化的XML數據編輯。該架構控制插入和刪除命令是否出現在字段組的下拉菜單中,并用于驗證操作。InfoPath是完全基于以下XML標準構建的,圖1說明了編輯過程中如何使用XML標準。
3.2 通過XSLT轉換提供XML數據視圖
InfoPath解決的另一個技術問題是:如何使UI視圖的內容可以用完全不同于XML數據結構的方式組織起來。這要求設計器能夠以不同于DOM數據樹的順序顯示數據,忽略視圖中的某些數據,將相鄰節點重新組織成獨立的視圖,并將數據樹不同部分的數據收集到一個視圖中。
因此,視圖內容的順序和結構不能依賴于DOM樹節點的順序和結構。這種表示和數據的結構獨立性,要求視圖中組合字段和DOM樹的節點之間有動態的映射。InfoPath廣泛地使用XSLT來提供這種復雜的映射。XSLT是功能強大的樣式表語言,它支持復雜的XSLT轉換并支持具有動態特性的視圖。每個視圖都使用一個XSLT文件,使用樣式表是一種很常見、很成熟的設計方法。
在InfoPath中打開表單時,表單模板包含了用于提供結構化編輯所需的所有語義信息,包括清單文件、定義視圖的XSLT文件、驗證數據所需要的信息,以及XML Web services的可選資源標識符。
4 表單設計與應用
由于InfoPath透明地解決了技術細節問題,所以對于企業IT人員而言,所要掌握的就是熟練運用其強大靈活的表單設計與應用功能,利用現有信息平臺進行系統集成和復用,提供低成本高價值的IT服務。
現在流行的B/S結構的信息系統,很多是Web頁面表單加上后臺數據庫的模式。企業IT人員可以利用InfoPath開發和完善這類系統。比如用InfoPath為客服部門制作一個CRM客戶信息表,并在數據庫中定義統計數據字段和表結構,這樣客服人員只需要使用Office的集成組件InfoPath,便可輕松地將客戶信息準確錄入到數據庫中去,并能方便快捷地查詢。對于跨部門的數據操作,還可以為這些表單定義工作流,比如打單審批等。同時,無縫地將數據導入到Excel進行數據透視或數據挖掘的分析,用圖表等方式實時進行展現,就形成了一個簡單高效的企業信息系統,維護起來也相對容易。
4.1 InfoPath的高效特性
目前企業應用中通常使用電子表格或電子郵件收集和傳遞大量信息。但是,這樣導致了數據被分散于整個公司的文檔或共享數據庫內。下面列出了InfoPath改進信息收集過程,提高業務效率的8點特性。
1) 可以部署為電子郵件形式。這樣就可以在不離開用戶原先熟悉的環境下完成表單。還支持將數據合并回一個InfoPath表單中。
2) 配合InfoPath Forms Services擴展。可以輕松地將表單解決方案擴展到防火墻以外,讓用戶使用多種不同的Web瀏覽器和便攜移動設備來完成表單。
3) 輕松地將Word文檔和Excel電子表格轉換為InfoPath表單。不僅將舊版文檔轉化為功能豐富的表單模板,還在信息收集過程中確保了數據完整性、版本控制和結構化。
4) 使復雜的表單設計變得更容易。采用直觀簡單的拖放式操作生成表單,同時也支持預設的模板部件和共享數據連接功能。
5) 通過SharePoint Server集成的工作流管理工具,可以有效驅動信息收集流程,實現企業級集成和協作。
6) 嚴格保護表單模板中的重要信息。通過對信息權限管理的支持,可以避免表單被不當使用和分發。
7) 便于集中管理整個組織的表單。僅向擁有安全連接的用戶提供訪問權限,從而使業務部門可以集中管理電子表單。
8) 與Microsoft Visual Studio密切聯系,便于開發人員使用托管代碼和.NET Framework構建高級表單解決方案。
通過這些特性,動態表單的創建更加豐富靈活,IT建設成本也大大降低。
4.2 InfoPath的企業應用
從上述特性可以看出,InfoPath專注于需要收集和使用信息的任務,將文檔標準化、驗證與公司服務器系統集成起來,最大限度地減少錯誤,避免重復的工作,幫助企業用戶更加快速和準確地獲得所需的信息。
InfoPath文件的后綴名是.XML,屬于數據存儲的中間層,包含大量常用控件,如:文本框、單選框、復選框等,同時提供很多表格的頁面設計工具。IT人員可以為每個控件設置相應規則或數學公式。很多人習慣用Excel做表單,現在可以由InfoPath代替。對于部門級別的快速開發,用戶可以將需要搜集的數據字段和表之間的關系在數據庫中定義好,使用SQL Server和Access進行設計。然后將InfoPath表單中的控件和數據庫中的字段進行綁定。這樣當用戶開始填寫InfoPath表單的時候,數據就會自動存儲到數據庫中去。此時保存的.XSN后綴文件是模板文件,如果想改變用戶使用的表單,只需要改變模板。
這里列舉幾個企業表單設計與應用的實例。車間的工位標準操作流程SOS原來使用Excel編制,版本更新比較頻繁,模板文件容易混亂,不便于信息統計和提交。采用InfoPath設計統一的表單后,按照生產部門定義的頁面收集XML形式的信息,調整和更新起來更加規范,符合GMS持續改進的要求。
企業IT部門原來的故障問題報告采用Word格式,雖然有文檔模版,但是數據有效性規則不統一,提交的信息不利于匯總和分析。現在用InfoPath設計問題報告表單,如圖2所示,應用到ITIL系統中,使得IT問題管理的效率顯著提高。
不僅是部門內部,在與供應商的信息傳遞和共享中,InfoPath也可產生多種表單方案,將雙方的數據庫系統聯系起來,實現統一的信息搜集界面。像物流調配系統正逐步通過InfoPath來完善表單的編制,利用現有的投入和知識減少IT系統運維成本。令人鼓舞的是全新的InfoPath 2007功能進一步增強,借助其中的一個組件InfoPath Forms Services,IT開發人員可以讓用戶在線填寫和訪問InfoPath表單。
InfoPath還可以應用于企業的Web平臺。SharePoint Portal Server是目前成熟的企業門戶與文檔協作服務器平臺,也是Office System家族的重要組成部分。面對整個企業IT環境,基于SharePoint Server的企業信息門戶(EIP)的解決方案已經開始實施。使用InfoPath所見即所得的電子表單設計模式,集成到文檔管理系統、知識管理系統、OA系統的設計和應用中,逐步實現“數字儀表板”的交互界面,將會更有效地優化企業信息資源和服務,整合企業后臺多個系統和應用的數據展現,給用戶清晰準確的界面來獲得需要的信息和功能。
5 結束語
InfoPath提供比靜態表單更多的靈活性,以及比文字處理程序的文檔更多的結構化編輯和驗證,集傳統文檔編輯技術的精華與表單的嚴格數據捕獲功能于一身。InfoPath是一個胖客戶端應用程序,提供了強大的功能,如業務邏輯驗證、RTF格式、自動更正等。還提供了XML Web services和數據庫互操作性支持,可以和任何支持XML的數據庫服務器一起使用。
隨著業界對XML Web services的支持越來越廣泛,很多后端和中間層系統都可以配置為使用Web服務標準(例如SOAP、UDDI和WSDL)來通信。現在,InfoPath提供理想的用戶界面來查看和編輯通過Web服務發送的XML數據,會在使用Web服務的系統中更多地普及開來,包括:數據庫、工作流系統、企業資源規劃(ERP)、客戶關系管理(CRM)以及其他系統。InfoPath面向企業級搜集信息和制作表單,優化了業務系統的信息提交和數據處理流程,將使IT系統與服務平臺更加智能,將企業中的人員、信息和流程緊密鏈接起來,最大化企業的潛能。
參考文獻:
[1] 謝君英.微軟XML技術指南[M].北京:中國電力出版社,2003:93-120.
[2] 肖華,安永進.精通Office 2003[M].北京:清華大學出版社,2005:125-151.
[3] Toot M S.Master VISUALLY Office 2003[M].2nd ed.JOHN WILEY,2005:52-96.
[4] Harold E R.Effective XML: 50 Specific Ways to Improve Your XML[M].Pearson,2006:35-71.
[5] 涂曙光,熊明鋒.Microsoft Office SharePoint Portal Server 2003深入指南[M].北京:電子工業出版社,2006:5-12.