引言
通常的辦公文檔為我們提供了豐富的輸入方式,除了文字,還可以利用表格、圖形、圖表等形式更好的表達信息,但是其往往僅作為靜態信息的載體,交互能力有限。
一份貸款合同,除了一些格式化條款外,還包括貸款人信息、貸款額度、貸款銀行信息、銀行貸款審批記錄,並且需要多方的信息錄入流程後,一份有效的貸款合同才能夠生成。想象這樣一種辦公文檔,其可以作為貸款合同的載體,在貸款工作流中流動,其內容在工作流中不斷被補充,修改。在工作流結束時,生成一份有效的正式貸款合同。貸款合同中的定制輸入的內容,可以隨意被提取,並以不同視圖的方式提供給終端用戶,供其修改。同時,用戶的修改還會影響其在合同文檔中關聯內容的動態變化,例如,貸款額度和還款年限數據信息與合同文檔中的年還款額的圖表相關聯,當貸款額度和還款年限數據信息發生變化時,該關聯的圖表會自動更新,以更加形象的反應還款額的變化。
利用 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. 交互式辦公文檔運行時流程圖
查看原圖(大圖)
其中,我們采用 Lotus Forms 作為 Form 編輯器,Lotus Symphony 作為 ODF 編輯器,並利用 Lotus Notes/Expeditor 復合應用技術實現了兩個應用的無縫集成和數據交換。由下圖可以看出,Lotus/Expeditor 復合應用成為兩個應用進行數據交換的橋梁,Lotus Forms 與 Lotus Symphony 各自提供了處理 XForms 數據模型的 API。
圖 2. 交互式辦公文檔架構圖
查看原圖(大圖)
交互式辦公文檔實例介紹
下面我們通過一個實例展現此交互式辦公文檔在運行時的工作過程。假設一個客戶正在填寫一份貸款合同,其通過下圖的 Form 視圖向導,填寫基本信息。用戶輸入了貸款銀行的名稱。
圖 3.Form 視圖向導 - 銀行信息頁
查看原圖(大圖)
然後在下一個向導頁中,用戶輸入了貸款人的信息。Form 視圖對於各個輸入項可以具有校驗功能。例如用戶在郵編項輸入的信息無效,視圖會提醒用戶該錯誤。
圖 4.Form 視圖向導 - 申請人信息頁
查看原圖(大圖)
當用戶在 Form 視圖中完成基本信息後,其可通過點擊“Loan Agreement”查看相應的如下圖的合同內容。可以發現用戶在 Form 視圖輸入的信息,已經更新到合同文本中了。
圖 5.ODF 編輯器中的合同文檔
查看原圖(大圖)
另外,用戶在 Form 視圖中輸入的貸款數額信息,在 ODF 文檔內容中可以用圖表的方式展現給用戶,這使貸款信息更加直觀。例如,貸款申請中各項用途在貸款中的比例。
圖 6. 動態變化的圖表
查看原圖(大圖)
用戶在 ODF 編輯器中可以對合同內容進行編輯,例如修改貸款銀行,貸款人信息。還可以對合同中的格式化條款進行增刪或修改。完成修改後,用戶點擊“Return to Form”回到 Form 視圖。
圖 7. 編輯合同文檔
查看原圖(大圖)
回到 Form 視圖,可以發現 ODF 編輯器中修改的內容已經在 Form 視圖中更新了。事實上,合同內容中的所有修改都已經同步到 Form 視圖中。
圖 8. 銀行信信息更新
查看原圖(大圖)
圖 9. 申請人信息更新
查看原圖(大圖)
通過以上實例,可以看出利用 XForms 模型和 ODF 文檔,使辦公文檔具有了更加友好的互操作性。另外,Lotus Form 的 Form 視圖還提供了數字簽名的功能,在合同完成後,對其進行數字簽名,則合同內容將不再可以修改,同時可以利用 Lotus Symphony 直接將合同打印。