世界經濟一體化浪潮席卷全球,我國鋼鐵制造企業面臨前所未有的機遇和挑戰。在這樣的大環境下,利用信息化提升企業的綜合競爭能力,是在激烈的市場競爭中應對挑戰的必然選擇。筆者在總結所在企業信息化取得階段性成果和成功經驗的同時,發現由于不注重信息化規劃的統一性和持續性,在外包或者自主研發過程中,外包公司或者內部項目組可以自由選擇開發語言、系統架構,導致系統整合困難,加大了后期維護的難度,從而在信息化實施過程中形成了很多個孤立甚至功能重疊的系統,在解決信息孤島的同時又產生了新的“信息孤島”。此外,還使得信息化實施團隊忙于掌握各種開發語言、系統架構,導致開發的信息系統參差不齊,對信息化實施團隊的技術積累和業務知識沉淀也造成了不利影響。要解決上述問題,除了加強信息化整體規劃外,擁有一個平臺統一、架構合理、能覆蓋鋼鐵企業信息化大多數業務需求、開發者易上手且開發工作量少、使得信息化實施人員能將精力集中在業務功能實現上的軟件二次開發平臺也是必不可少的支撐。
1方案選擇
在軟件開發領域,C/S(Client/Server)與B/S(Browser/Server)是最基本的2種系統架構。其中C/S架構出現相對較早,它具有人機交互強、存取數據安全、響應速度快等優點,缺點是維護成本高、升級困難。隨著技術的發展,后來出現的B/S架構克服了C/S架構的一些缺點,它具有客戶端機器要求低、維護成本低、升級方便等優點,但相對C/S架構而言,又存在著人機交互弱、響應速度慢等缺點。曾幾何時,B/S架構將逐步代替C/S架構的觀念大行其道,隨著時間的流逝,B/S架構不僅沒有替代C/S架構,反而形成了對C/S功能的某種回歸,比如富客戶端技術。而C/S架構通過多層設計、免安裝及組件遠程自動更新等技術,大大緩解了它維護成本高、升級困難的不足。因此,筆者認為這兩種基本架構本質上沒有優劣之分,而是應該根據應用領域的不同特點,采用最合適的架構。鋼鐵行業作為一個典型的流程制造行業,信息系統按照與實際生產結合的緊密程度大致可分為生產型與管理型兩類系統。其中生產類系統一般對人機交互、響應速度要求較高,也往往會跟設備打交道,B/S架構的系統難以滿足要求,因此C/S架構的系統是不二選擇。而管理類系統一般側重于信息的查詢、發布、分析統計或者實時性不強的管理性業務的操作,如信息錄入、流程審批等,從系統的擴展、升級、后期維護等方面考慮,B/S架構的系統是更適宜的選擇。既然鋼鐵企業信息化兩者不可或缺,那么開發一種結合C/S架構和B/S架構兩者優點的新型體系架構的軟件二次應用開發平臺,對滿足覆蓋鋼鐵企業信息化大多數業務需求,能夠快速開發成熟、高效、穩定的軟件應用系統至關重要。
2平臺介紹
為此,筆者提出并實現了一種適合鋼鐵行業信息化的軟件二次開發平臺,特性如下:
a.支持C/S架構和B/S架構,不僅可以單獨實施C/S架構的系統或者B/S架構的系統,還可以實施C/S+B/S混合架構的系統。
b.服務端跨平臺,滿足各種規模系統的服務器部署要求。
c.支持多種主流數據庫,如Oralcle、SqlServer、Mysql等。
d.架構松散耦合,具備全面的擴展性,符合SOA思想。
e.快速開發應用軟件,少寫源代碼或不寫源代碼。
f.平臺風格、圖片、遠程通信、DLL調用等通過配置文件實現,系統靈活易維護。
平臺基于DOTNET, J2EE開發技術,總體架構如圖1所示,平臺采用C/S +)3/S混合模式。
圖1平臺總體架構
服務端采用J2EE開發,輕松實現跨平臺部署,作為服務提供者發布運行在服務器上,主要負責業務邏輯實現及數據庫連接管理,如:權限管理,數據庫增、刪、查、改操作,ERP接口服務等。對于平臺內部系統采用Hessian協議實現C/S系統Client和Server之間、B/S系統Weh和Server之間的通信;對于非平臺內部架構的系統則可通過Hessian協議或者WebService協議實現服務調用或者數據交互。由此可以看出,平臺架構是一種分布式、符合SOA思想的架構,具備全面的擴展性。相比WebService, Hessian更簡單、快捷,采用的是二進制RPC協議,通訊效率快一個數量級以上,因而選作實時交互性要求高的平臺內部架構的核心遠程調用協議。同時,非平臺架構內的信息系統,推薦使用Hessian,但如果交互性要求不高,則WebService , Hessian都可以選擇,這樣便大大加強了平臺的靈活性。
C/S架構平臺邏輯上由展現層、業務層、數據層組成。展現層與業務層通過Hessian實現遠程交互,業務層與數據層通過Spring提供的數據庫連接池實現交互。其中,展現層(Client)采用DOTNET技術,適合于各種生產型系統,尤其是實時交互性要求高或需要跟各種設備、工控系統進行交互的系統,如視頻監控、集中計量、檢化驗、MES等。由圖1可以看出,C/S架構平臺采用了多層設計,再加上免安裝及組件遠程自動更新技術,大大緩解了C/S架構維護成本高、升級困難的不足。
其中組件遠程自動更新技術是指C/S架構平臺采用組件設計技術,平臺除自動更新引導模塊及平臺核心模塊為可執行exe程序外,系統各業務功能模塊以DLL形式存在,除自動更新引導模塊不可自動更新外,平臺其他組件均可實現遠程自動更新,而自動更新引導模塊只是進行組件版本的比較及下載更新,不存在變動可能,因此C/S架構平臺客戶端基本只需要實施部署一次,從而減少了后期維護工作量。
B/S架構平臺邏輯上由Web層、業務層、數據層組成。Web層與業務層通過Hessian實現遠程交互,業務層與數據層通過Spring提供的數據庫連接池實現交互。其中Web層跟服務端一樣采用J2EE技術,適合各種人機交互相對簡單的中、小規模管理型系統,如:門戶網站、配置管理、查詢統計、客戶關系管理等。
總之,平臺通過預置大量基本操作、業務功能、標準組件、界面模板(如權限管理,對數據的查詢、新增、修改、刪除,對報表的打印、預覽、導出、圖表分析等),極大地縮短了軟件系統的開發周期,降低了軟件開發成本。此外,由于平臺架構統一設計且平臺風格、圖片、遠程通信、DLL調用等均可通過配置文件實現,從而大大加強了平臺的靈活性和可維護性。
3具體應用
軟件二次開發平臺目前已成功應用于多個項目,下面以采用C/S + B/S混合結構的某鋼廠無人值守遠程集中計量系統為例,簡要闡述平臺的實際應用情況。
無人值守遠程集中計量,即要實現計量信號進人計量大廳、稱重現場無人值守,而由司磅員在計量管控大廳遠程監控計量,那么不可避免首先要滿足人機交互的實時性,其次系統需要具備與各種設備打交道的能力,如計量儀表、攝像頭、紅外對射、讀卡機、道閘等等。因此對于計量相關功能,采用C/S架構平臺實現。
無人值守遠程集中計量實施后,隨著現場紙質單據的取消,一個取代紙質單據、能提供計量信息查詢的系統也是必不可少的。由于需要查詢計量相關信息的用戶既有企業內部單位,又有企業外部單位,用戶有很大的不確定性,采用C/S架構對于后續的維護是不可能完成的任務,因此查詢系統采用B/S架構實現。
系統的網絡拓撲結構示意圖如圖2所示。
圖2網絡拓撲結構圖
圖2中:Client指C/S系統的客戶端,Browser指B/S系統的瀏覽器端;B/S服務器部署的是B/S系統的Web端;服務器1和服務器2為雙機熱備,部署的是C/S系統和B/S系統的、以服務提供者模式提供功能調用的服務端;服務器3部署的是獨立于計量系統、同樣采用本平臺實現的SAF接口系統,計量系統與其他業務系統一樣,凡是與SAP交互的業務都通過調用SAP接口系統提供的統一接口服務實現,保證企業核心系統和業務的安全。與此同時,其他業務系統也可以通過部署在服務器1或者服務器2上的服務端提供的服務實現與計量系統的交互。
4結束語
本文設計并實現了一種C/S架構與B/S架構相結合的鋼鐵行業軟件二次開發平臺,與現有大多數軟件二次開發平臺相比,該平臺架構松散藕合,具備全面的擴展性,符合SOA思想;服務端跨平臺,可以根據系統規模的大小,選擇部署不同類型的服務器;功能設計組件化、模塊化,再加上可配置、可擴展、快速開發的特性,大大節省了開發成本和系統后續的維護成本,提高了系統的統一性、通用性和靈活性,為企業信息化的進一步深入實施提供了有力的技術支撐。本文雖僅列舉該平臺在鋼鐵行業中的成功應用,但其應用范圍絕不僅限于此,完全可推廣至其他行業,為相關行業的信息化建設提供有益的參考和借鑒。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/