文|錢純
淺談上海報業集團公文統一系統解決方案的應用
文|錢純
上海報業集團是中國最大的報業集團之一,是整合了解放日報、文匯報、新民晚報所有媒體資源的媒體集團。形成了日報、早報、晚報、周報、周刊、月刊和出版社等結構合理、品種較全的新聞出版群體。為實現集團內部現代、高效的日常辦文,加快集團信息化建設的進程,利用集團現有計算機的網絡資源及豐富的信息系統資源,開發了具有實際應用前景的集團公文處理系統。開發和建成的集管理與服務于一體的公文處理系統,極大地促進了集團的整體信息化。
但是終端系統的發展給公文系統的便捷使用提出了更高的要求。目前主流的終端系統有安卓、IOS、Windows等系列,而且各個系統上使用的瀏覽器也花樣繁多,如Firefox、chrome、IE、Safari等。瀏覽器也是各有各的版本,以及各個終端的分辨率等情況。這些問題都會造成開發與測試周期的成倍增加。除此以外,上海報業集團自有的開發團隊人力有限。除了系統的日常維護外,如果要對這些系統在不同平臺上進行搭建和測試,在資源范圍內必定無法完成系統設計規劃的開發時間。而如果使用外包公司,則需要外包公司了解系統幾乎全部的業務邏輯,無法實現與內部資源的有效分工合作,會嚴重拉長工期以及增加非常多的開發費用。
針對以上問題,上海報業集團公文統一系統解決方案旨在通過明確的業務分工,從而解決項目進度被拉長以及項目成本增加兩個問題。
上海報業集團公文統一系統解決方案,即是將工作系統的接口、業務邏輯和通信協議等全部封裝,通過webservice方式將接口和前臺展現外包給第三方來實現。這樣做的優勢如下:
加快工程進度:上海報業集團的開發團隊對集團工作系統的業務邏輯非常清楚,整個業務系統的調研也不需要外包公司參與,從而減少了系統在開發時的調研時間。
分工明確:外包公司只需要關注前臺展現的美工和布局,不需要了解工作系統的業務邏輯與行為和數據內容。
業務保密:外包公司對項目的數據庫沒法完全掌控,他們只能通過數據的調用來獲得某些方面的數據以用于前臺展現,從而避免了整個數據庫和內部業務邏輯對外的公開程度。
系統通過采用.NET面向對象和XML結合來編寫Webservice應用程序來實現將接口對外公布。
Webservice技術能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數據或集成。依據WebService規范實施的應用之間,無論它們所使用的語言、平臺或內部協議是什么,都可以相互交換數據。WebService是自描述、自包含的可用網絡模塊,可以執行具體的業務功能。WebService也很容易部署,因為它們基于一些常規的產業標準以及已有的一些技術,諸如標準通用標記語言下的子XML、HTTP。WebService減少了應用接口的花費。WebService為整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制。圖1為Webservice體系結構。

圖1 Webservice體系結構

圖2 系統架構圖
1系統架構
系統采用B/S的體系結構。在功能結構上采用模塊化結構,即把整個信息系統按功能劃分為若干個模塊,這種模塊結構功能分明、操作簡潔方便、易于系統的功能擴展,使得系統具有可擴展性和開放性。既能實現對各種辦公事務的管理,又能適應新的工作需要,不斷完善升級(圖2)。
整個系統由用戶管理系統、公文管理系統、消息訂閱服務、內部協作控制、日志記錄服務等構成。用戶管理系統主要包括應用程序授權、用戶授權等;公文管理系統包括公文信息接口、公文流轉接口、操作權限判定接口等;消息推送服務主要以事務提醒、內容推送為主要目的,以求達到信息的及時性、準確性、有效性、完整性,并以手機短信、電子郵件、app消息推送等方式來體現;日志記錄服務:用戶登錄認證、訪問業務系統等操作的日志記錄。
2系統實現
2.1系統模塊結構
后臺數據庫管理系統采用S q lServer2008,Web服務器操作系統采用Windows2008Server,Web服務器管理軟件采用運行于Win2008上的IIS,開發工具采用VisualStudio2008,開發語言采用.Net和JavaScript等。系統模塊結構由用戶驗證、權限控制、安全通信、消息推送服務、內部協作控制、操作日志記錄等接口組成。圖3所示。
2.2系統實現
根據圖三,對幾個主要的功能做一個簡單的介紹:
(1)用戶驗證部分,以移動的方案為例,如圖4所示。
應用程序啟動后,通過試訪問的模式,確定APP客戶端的版本;在整個移動辦公中,所有的數據請求均使用加密方式請求數據;用戶登錄信息將與硬件序列號進行邦定,確保系統的安全使用;用戶賬號統一為單一賬號,對于其他接入系統將采用賬號映射的方式,由移動辦公統一處理;移動辦公將記錄APP客戶端的所有操作日志。

圖3 系統模塊結構

圖4 用戶驗證模塊

圖5 用戶內部驗證模塊

圖6 用戶內部驗證模塊
在這個過程中,集團開發團隊對圖4中2、3兩部分涉及到的數據處理打包以做接口,以Webservice方式開放給開發公司使用,從而避免了將內部處理邏輯暴露出去。開發公司需要做1部分的app版本驗證以及通過接口處理后得到的數據通過分析終端操作類型來分別展示最后結果。
圖5所示即團隊內部解決方案流程,而此流程的內部處理順序和返回值不需要第三方外包公司考慮。
通過這樣的分工可以看到,整個項目的70%的代碼都是由集團內部完成,且這部分的內容可以被其他第三方公司重復使用。而第三方公司只需知道Webservice接口的輸入、輸出,而接口內的各種邏輯處理則不需要他們關心。
(2)內部協作控制:這是整個系統最重要的部分,涉及到辦公的各個方面。這部分的所有接口以及使用實現也如(1)中所述方式來實行。
(3)消息推送服務,如圖6所示。
消息推送服務主要以事務提醒、內容推送為主要目的。以求達到信息的及時性、準確性、有效性、完整性。
在圖6中,MessageSendThread和MessageReceiveThread在IMServiceServer中以獨立線程的模式進行單獨工作,互不干擾;但在整個IMService.Server進程中,將使用同一套配置信息。不同類型的Message發送將以Adapter的模式進行擴充。IMServiceServer的Adapter將以配置方式動態加載。所有第三方系統,均通過IMService.Client類庫進行消息的發送MessageDBAccess庫是以數據庫為存儲介質,以Access.DBAccess為基類的數據庫訪問層而消息推送服務以以下渠道為主:
★ 手機短信:強調信息的及時性
★ 電子郵件:強調信息的準確性和完整性
★ APP消息推送:與APP集成,用戶體驗好

表1
2.3系統接口
對于上海報業集團開發人員,在這里提供了所有業務操作的接口,以便于前臺展示調用。具體列表1所示。
隨著互聯網的進一步發展,操作系統級瀏覽器越來越展現出多樣化和定制化,系統的統一展現會越來越成為一個突出問題。
上海報業集團的“集團公文統一系統解決方案”,在這一問題上做了有效的嘗試和突破,成功解決了工作系統在不同終端上統一展示的問題,同時滿足了系統性能、安全性、降低成本等方面的要求。這一系統的上線為今后這一問題的解決提供了一個很好的樣板。
進一步發展:上海報業集團的“集團公文統一系統解決方案”的解決方法雖然解決了統一接口的問題,但是對前端展現還是使用定制化客戶端。這一方法雖然在本項目中可以滿足需求,但是這意味著針對不同操作系統和瀏覽器都要進行定制化的客戶端開發,這一方法會隨著操作系統和瀏覽器的增多而繼續增加工作量。在今后的項目中,會繼續考慮采用統一客戶端的嘗試,繼續尋找既能滿足工作系統需求,又減少開發工作量的方法。
(作者單位:上海報業集團信息技術中心開發科)