1. 程式人生 > >點聚WebOffice組件介紹

點聚WebOffice組件介紹

多媒體 插件 一個 自由 system 自動安裝 exc 額外 約定

WebOffice及其相關技術介紹

1、WebOffice組件是一種支持在線文檔編輯的中間件,目前支持的主流文件格式有:Word、Excel、WPS等編輯文檔。

中間件是什麽?中間件是一種獨立的系統軟件或服務程序,可以讓不同技術之間共享資源。中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是為處於自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件。如WebOffice連接Web應用本身和本地的office軟件之間的資源共享。

技術分享

1-1

2、WebOffice是標準的ActiveX組件,支持在B/S、C/S應用開發平臺中嵌入整合,是在微軟的DSOframer控件的基礎上封裝開發的,已經為我們提供好了數字證書,可直接使用。

ActiveX是什麽?activeX控件也叫OLE控件OCX控件,它是一些軟件組件或對象,可以將其插入到WEB網頁或其它應用程序中。使用ActiveX,可輕松方便的在Web頁中插入多媒體效果、交互式對象、以及復雜程序等。但只有IE能夠識別ActiveX控件,所以如果需要得到其他瀏覽器內核的識別還需要通過插件技術來完成。如WebOffice提供的ffactivex-setup-r39.exe插件。

DSOframer是什麽?DSOframer是微軟提供一款開源的用於在線編輯、調用Word、 Excel 、PowerPoint等的ActiveX控件。

數字證書是什麽?數字證書是一個經證書授權中心(CA機構)數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。數字證書的作用是確保信息傳輸的保密性、數據交換的完整性、發送信息的不可否認性、交易者身份的確定性。數字證書還有一個重要的特征就是只在特定的時間段內有效。

數字簽名技術是什麽?將報文按雙方約定的哈希算法計算得到一個固定位數的報文摘要。在數學上保證:只要改動報文中任何一位,重新計算出的報文摘要值就會與原先的值不相符。這樣就保證了報文的不可更改性。

將該報文摘要值用發送者的私人密鑰加密(對明文進行解密完全沒問題,會得出一個不可讀的“明文”),然後連同原報文一起發送給接收者,而“加密”後的報文即稱數字簽名。

接收方收到數字簽名後,用同樣的哈希算法對原報文計算出報文摘要值,然後與用發送者的公開密鑰對數字簽名進行解密,得到的報文摘要值相比較。如相等則說明報文確實來自所稱的發送者,因為於只有擁有私鑰的簽名者能通過加密摘要生成簽名,因此具有安全和不可抵賴性。

那為什麽是對報文摘要進行加密,而不是對原報文進行加密呢?這是因為RSA加解密非常耗時,被加密的報文越大,耗得時間越多,因此聰明的人類對其摘要進行加密,(因為報文摘要是要比原報文小得多),仍然能夠起到同樣的作用。這就是為什麽多了個報文摘要。

數字簽名算法依靠公鑰加密技術來實現的。在公鑰加密技術裏,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。這裏用一個簡單的例子來解釋數字簽名的應用過程:假如現在Alice向Bob傳送數字信息,為了保證信息傳送的保密性、真實性、完整性和不可否認性,需要對傳送的信息進行數字加密和簽名,其傳送過程為:

1.Alice準備好要傳送的數字信息(明文);

2.Alice對數字信息進行哈希運算,得到一個信息摘要;

3.Alice用自己的私鑰對信息摘要進行加密得到Alice的數字簽名,並將其附在數字信息上;

4.Alice隨機產生一個加密密鑰,並用此密碼對要發送的信息進行加密,形成密文;

5.Alice用Bob的公鑰對剛才隨機產生的加密密鑰進行加密,將加密後的DES密鑰連同密文一起傳送給Bob;

6.Bob收到Alice傳送來的密文和加密過的DES密鑰,先用自己的私鑰對加密的DES密鑰進行解密,得到Alice隨機產生的加密密鑰;

7.Bob然後用隨機密鑰對收到的密文進行解密,得到明文的數字信息,然後將隨機密鑰拋棄;

8.Bob用Alice的公鑰對Alice的數字簽名進行解密,得到信息摘要;

9.Bob用相同的哈希算法對收到的明文再進行一次哈希運算,得到一個新的信息摘要;

10.Bob將收到的信息摘要和新產生的信息摘要進行比較,如果一致,說明收到的信息沒有被修改過。

3、點聚的WebOffice和卓正的PageOffice的比較。

  • 相同點:

1)可以對基本的office文檔格式(Word、Excel、PowerPoint等)進行編輯。

2)打開、保存文檔均有實時進度提示。

3)可更換界面主題,支持多種界面風格。

4)word的修訂痕跡、手寫批註、簽名、套紅與保護等功能。

5)可以通過js腳本實現控制文檔權限,調用、刪除本地文檔,上傳Web服務器功能。

  • 區別:

1)免費試用版的卓正PageOffice在打開、保存文檔時的實時進度提示有卓正的版權商標字樣,並提示去使用收費版本。點聚WebOffice則沒有。

2)點聚WebOffice組件只依賴前端腳本技術語言,卓正PageOffice需要配合後端的腳本使用,如後端使用Java語言則需要下載相應的PageOffice支持jar包,並撰寫相應的java代碼支持使用。

3)WebOffice的免費版本是永久免費的,而PageOffice的試用版只有3個月的試用期。

4)PageOffice可以實現讀取服務器文檔的並發控制,WebOffice則不可以。

WebOffice是怎樣運作的?

1、首先下載exe安裝包和cab組件包。exe安裝包用於客戶端手動安裝,如圖1-1;cab組件包用於系統集成,放在服務器通過代碼實現客戶端通過IE自動安裝,如圖2-2中的codebase屬性(但只有IE才能識別,還要依賴用戶IE的安全級別設置並且有時會失效)。

技術分享

2-1

技術分享

2-2

2、在網頁中使用<Object>標簽作為組件的載體,並使用js來取得對象的引用(如圖2-2),即可調用其提供的方法。

3、WebOffice可以打開本地文檔,也可以從服務器下載文檔進行打開。從服務器下載文檔的原理其實是把服務器的文檔下載到本地的一個默認文件夾中(可以調用接口獲得其路徑),然後再打開本地文檔。

4、WebOffice可以調用office的保存、另存為等接口,但一般情況我們是希望保存文檔到服務器中,其原理的調用WebOffice的相應接口把默認路徑的臨時文件上傳到服務器,從中還可以傳遞一些額外參數過去,服務器接收後返回一個結果,再由接口返回其結果;若服務器不返回結果,則接口也會返回一個默認的結果success。

5、需要註意的是,WebOffice是內置了一個HTTP引擎,所以通過調用WebOffice的接口與服務器交互(包括上傳、下載等),其實是調用其自身的HTTP引擎發送的請求。這意味著此次請求的Session對象與當前頁面所對應的Session對象不是同一個。這時候若要調用原來Session的信息或者需要判斷相關權限操作,則需要另行處理,如自建一個Session池等。

點聚WebOffice組件介紹