利用 XForms 和 ODF 實現互動式辦公文件

genusBIT發表於2010-07-23
蘇 赫峰, 高階軟體工程師, IBM

簡介: 通常的辦公文件為我們提供了豐富的輸入方式,除了文字,還可以利用表格,圖形,圖表等形式更好的表達資訊,但是其往往僅作為靜態資訊的載體,互動能力有限。利用 ODF 和 XForms 就可以實現使用者有好的增強互動式辦公文件,本文通過一個例項闡述此種互動式文件。


引言

通常的辦公文件為我們提供了豐富的輸入方式,除了文字,還可以利用表格、圖形、圖表等形式更好的表達資訊,但是其往往僅作為靜態資訊的載體,互動能力有限。

一份貸款合同,除了一些格式化條款外,還包括貸款人資訊、貸款額度、貸款銀行資訊、銀行貸款審批記錄,並且需要多方的資訊錄入流程後,一份有效的貸款合同才能夠生成。想象這樣一種辦公文件,其可以作為貸款合同的載體,在貸款工作流中流動,其內容在工作流中不斷被補充,修改。在工作流結束時,生成一份有效的正式貸款合同。貸款合同中的定製輸入的內容,可以隨意被提取,並以不同檢視的方式提供給終端使用者,供其修改。同時,使用者的修改還會影響其在合同文件中關聯內容的動態變化,例如,貸款額度和還款年限資料資訊與合同文件中的年還款額的圖表相關聯,當貸款額度和還款年限資料資訊發生變化時,該關聯的圖表會自動更新,以更加形象的反應還款額的變化。

利用 ODF 和 XForms 就可以實現此種互動式辦公文件,本文通過一個例項闡述此種互動式文件。

XForms 和 ODF 簡介

XForms 是 W3C 的表單標準,XForms 最顯著的特徵是:將一個窗體的邏輯、表示和資料分離開來,形成一個與平臺和裝置無關的、基於 XML 的抽象窗體定義。邏輯層包含窗體中各域的填充、多頁、Form. 次序等的控制管理以及合法性檢查;表示層描述窗體的表現,即採用何種窗體控制部件,響應何種事件;資料層則是針對實際的資料來源,通過應用更豐富的模式(schema)或型別(type),為窗體增加更多的資料結構以及資料一致性的維護 . 目前 Lotus Forms 實現了對 XForms 標準的支援,其基於 XForms 的 XFDL 文件提供了嚮導式的表單輸入功能,更加複雜的公式支援,資料簽名的安全性檢查及全文提交能力,同時其還具有附件支援的功能,即將其他文件作為附件儲存在 XFDL 文件中。

ODF(開放文件格式)是標準的基於 XML 的辦公文件格式,包括電子表格、圖表、簡報和文書處理檔案。ODF 格式最大的優勢在於其開放性和可繼承性,基於 ODF 格式的文件在許多年以後仍然可以為最新版的任意一款辦公軟體開啟使用。同時 ODF 使用了 XForms 作為其表單標準,即 XForms 模型可以嵌入到 ODF 文件中。IBM Lotus Symphony 實現了對 ODF 文件格式的全面支援,其提供了豐富的文件內容顯示方式,並支援 XForms 模型的顯示及儲存。

基於以上背景,XForms 提供了理想的邏輯,資料和表示分離,而 ODF 文件支援 XForms,這為實現互動式辦公文件提供了可能。

架構圖

XForms 文件執行於 Form. 編輯器,其包含了 XForms 的邏輯層,資料層和表示層,同時還包含 ODF 附件,並且文件資料層的 XML 資料模型與 ODF 附件中 XForms 資料層的 XML 資料模型是相對應的,使用者在 Form. 編輯器中的嚮導功能進行表單輸入,輸入完成後,可以開啟附件,這時 ODF 文件將在 ODF 編輯器中開啟,並且使用者輸入的表單資料也會在 ODF 文件內容中相應地更新。使用者可以在 ODF 編輯器中瀏覽文件內容並還可以對相應資料進行修改,當使用者切回到 Form. 編輯器中是會發現,其在 ODF 文件中資料的修改,在 Form. 編輯器中也進行了同步。


圖 1. 互動式辦公文件執行時流程圖
圖 1. 互動式辦公文件執行時流程圖 

其中,我們採用 Lotus Forms 作為 Form. 編輯器,Lotus Symphony 作為 ODF 編輯器,並利用 Lotus Notes/Expeditor 複合應用技術實現了兩個應用的無縫整合和資料交換。由下圖可以看出,Lotus/Expeditor 複合應用成為兩個應用進行資料交換的橋樑,Lotus Forms 與 Lotus Symphony 各自提供了處理 XForms 資料模型的 API。


圖 2. 互動式辦公文件架構圖
圖 2. 互動式辦公文件架構圖 

互動式辦公文件例項介紹

下面我們通過一個例項展現此互動式辦公文件在執行時的工作過程。假設一個客戶正在填寫一份貸款合同,其通過下圖的 Form. 檢視嚮導,填寫基本資訊。使用者輸入了貸款銀行的名稱。


圖 3.Form. 檢視嚮導 - 銀行資訊頁
圖 3.Form. 檢視嚮導 - 銀行資訊頁 

然後在下一個嚮導頁中,使用者輸入了貸款人的資訊。Form. 檢視對於各個輸入項可以具有校驗功能。例如使用者在郵編項輸入的資訊無效,檢視會提醒使用者該錯誤。


圖 4.Form. 檢視嚮導 - 申請人資訊頁
圖 4.Form. 檢視嚮導 - 申請人資訊頁 

當使用者在 Form. 檢視中完成基本資訊後,其可通過點選“Loan Agreement”檢視相應的如下圖的合同內容。可以發現使用者在 Form. 檢視輸入的資訊,已經更新到合同文字中了。


圖 5.ODF 編輯器中的合同文件
圖 5.ODF 編輯器中的合同文件 

另外,使用者在 Form. 檢視中輸入的貸款數額資訊,在 ODF 文件內容中可以用圖表的方式展現給使用者,這使貸款資訊更加直觀。例如,貸款申請中各項用途在貸款中的比例。


圖 6. 動態變化的圖表
圖 6. 動態變化的圖表 

使用者在 ODF 編輯器中可以對合同內容進行編輯,例如修改貸款銀行,貸款人資訊。還可以對合同中的格式化條款進行增刪或修改。完成修改後,使用者點選“Return to Form”回到 Form. 檢視。


圖 7. 編輯合同文件
圖 7. 編輯合同文件 

回到 Form. 檢視,可以發現 ODF 編輯器中修改的內容已經在 Form. 檢視中更新了。事實上,合同內容中的所有修改都已經同步到 Form. 檢視中。


圖 8. 銀行信資訊更新
圖 8. 銀行信資訊更新 

圖 9. 申請人資訊更新
圖 9. 申請人資訊更新 

通過以上例項,可以看出利用 XForms 模型和 ODF 文件,使辦公文件具有了更加友好的互操作性。另外,Lotus Form. 的 Form. 檢視還提供了數字簽名的功能,在合同完成後,對其進行數字簽名,則合同內容將不再可以修改,同時可以利用 Lotus Symphony 直接將合同列印。

檢視原文:http://www.ibm.com/developerworks/cn/lotus/xforms-odf/index.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-668835/,如需轉載,請註明出處,否則將追究法律責任。

相關文章