詹凌瀚,蔣秋華,王 斌
(1. 中國鐵道科學研究院 研究生部,北京 100081;2. 中國鐵道科學研究院 電子計算技術研究所,北京 100081)
隨著近年來鐵路生產布局調整以及貨運組織改革等工作的深入推進,除滿足運輸生產需求外,產生了大量的閑置資產和資源,主要涉及房產、土地、設備、廣告資源、大宗商品等。目前,采用計算機管理系統已成為招商管理科學化和現代化的重要標志,它給企業管理帶來明顯的經濟效益和社會效益。與此同時,隨著招商信息數量的增加,招商管理難度也越來越大,如何實現鐵路招商經營的成效管理也已成為重要議題。
鐵路局資產經營開發管理尚存在以下不足:
(1)經營性資產以及閑置資產均分散在各單位,難以產生規模效應,也無法充分利用鐵路資產資源,實現經營開發效益的最大化。
(2)由于沒有統一的管理模式和明確的經營方式,在招商過程中存在廉政風險。
(3)資產經營開發日常監管與指導力度不夠,難以組織評估整體運轉效果,全面把握總體運行狀況。
針對這些情況,有必要研發一套完善的資產經營開發信息系統,對全局資產經營開發的推進情況進行統一管理,從而盤活閑置資產,提高資產經營效益,提升經營管理水平,以實現統一管理、科學開發。
本系統應用Spring+SpringMVC+MyBatis技術對業務邏輯實現分層控制,易于解耦,注入簡單,從而提高開發效率;采用shiro安全框架保證系統的登錄認證與權限控制,提高系統的安全性和可靠性。
SpringMVC框架是Spring基于MVC設計模型的用于構建Web應用程序的一種實現。在JavaWeb應用開發過程中,SpringMVC框架結合了包括JSP、Html在內的大量視圖技術,可靈活配置。SpringMVC的工作流程如圖1所示。

圖1 SpringMVC工作流程圖
SpringMVC具有以下幾個優勢:
(1)SpringMVC的安全性更高。SpringMVC是方法級別的攔截,顆粒度更小,所以更安全。
(2)SpringMVC直接使用注解的方式,使得配置更加簡單清晰。
(3)SpringMVC參數傳遞更加方便。Spring-MVC直接使用對應的實體去接收form提交的表單信息。
MyBatis是J2EE應用開發中的一個持久層框架,它通過XML配置文件或者注解實現對象實體和存儲過程,SQL語句的關聯,而不是操作對象實體類與數據庫表的關聯,并且可以實現動態生成SQL語句,操作數據庫進行增加、刪除、修改、查詢等操作。MyBatis工作原理如圖2所示,通過XML配置文件將JavaBean、Map以及數據類型(如Integer、Double、String等)映射成PreparedStatement所需的輸入參數并以ResultMap作為結果集的返回類型展現。

圖2 MyBatis工作原理圖
Apache Shiro是功能強大而靈活的開源框架,該框架能夠簡捷地處理身份認證、授權、企業會話管理和加密等功能。由于招商系統各登陸用戶分屬不同角色,為避免業務混淆不清,通過Shiro進行權限控制可以使用戶按自己的角色來分配菜單和資源。Apache Shiro框架結構如圖3所示,包括應用程序的基礎和額外功能的支持。

圖3 Apache Shiro框架結構圖
1.3.1 應用程序
應用程序的基礎包括:身份驗證、會話管理、授權和加密。
(1)Authentication:稱為“登錄”,這是一個可以證明用戶是合法用戶的行為;
(2)Session Management:管理用戶的會話;
(3)Authorization:訪問控制,也就是誰有權訪問哪些資源;
(4)Cryptography:通過加密算法使得數據安全并易于使用。
1.3.2 額外功能
(1)Web Support:提供了保護Web應用程序的API接口;
(2)Caching:緩存的使用,確保安全操作快速而高效;
(3)Concurrency:支持多線程應用程序;
(4)Testing:易于編寫單元測試和集成測試;
(5)Run As:允許用戶設定為另一用戶身份的功能;
(6)Remember Me:記住用戶的身份,在下次登錄時方便登錄。
根據實際的工作要求,擬設計2個子系統、12個功能模塊、32個子模塊來實現系統功能,如圖4所示。
2.1.1 招商信息管理系統
(1)用戶管理模塊
本功能主要實現用戶管理功能,客戶在客戶端進行注冊,待管理人員對注冊用戶審核后,客戶即可進行相關操作。主要分為招商用戶(注冊、登陸),競商用戶(注冊、登陸、注銷、信息修改)、系統管理用戶(注冊、登陸、注銷、審核、其他用戶信息修改)。管理人員可直接錄入用戶信息,無需再次審核。
(2)招商管理模塊
本功能主要實現在招商門戶網站上發布招商信息、招商報名(資質審查)、招商結果公示、招商情況查詢。招商單位根據實際情況發布招商信息,管理人員審核后,競商用戶根據招商信息按要求填寫報名表進行報名并提供相關資質進行資質審查,招商結果在相應公示欄中公示。用戶可對招商情況進行查詢,主要有招商項目簡述、招商時間、招商金額、中商者信息、合同簽訂情況等內容。
(3)信息查詢模塊
所有用戶通過此項功能,可以查詢到要找的招商信息和通知公告。支持關鍵字模糊查詢、分類查詢、發布時間查詢。
(4)投訴管理
主要實現對各類投訴進行實時發布、收集反饋,發布處理結果。支持新增、修改、刪除、查詢等功能。
(5)招商評委管理
本功能主要實現對專家信息錄入、編號、資格審查、刪除等功能,并由系統隨機從招商評審委員庫中抽取的評委對招商項目進行評審。
(6)公共模塊

圖4 系統功能結構圖
其他模塊包括:通知公告,管理人員通過后臺錄入最新政策消息和活動通知,系統全部用戶都可查看。管理人員具有信息的發布、修改、刪除等權限;使用幫助,介紹系統操作流程,招商方法等;廣告宣傳,用于宣傳鐵路局鐵路商業風采、重點建設、重點推廣及優質服務,投放招商廣告及相關商業廣告。
(7)招商門戶網站
作為鐵路局資產經營招商相關信息發布窗口,與社會用戶信息溝通平臺。
2.1.2 資產資源管理系統
(1)用戶管理
本功能主要實現鐵路局資產資源管理功能,用戶在客戶端進行注冊,待系統管理人員對注冊用戶審核后,用戶即可進行相關操作。系統管理人員也可直接錄入資產單位信息,無需再次審核,具有注冊、登陸、退出、注銷、信息修改等功能。
(2)基本信息管理
本功能按照房產資源、土地資源、廣告資源、設備資源、大宗商品、其他資源,6個基本類型對鐵路局資產資源基本信息進行統計。資產單位將信息上傳至資產資源管理系統,待管理人員對上傳的信息審核后,即可在系統中實現共享和查詢。包括本單位資產情況,所有單位資產情況,擁有資產信息的錄入、修改、刪除(系統管理人員操作),資產信息導入、導出等功能,可按照單位名稱、關鍵字模糊、資產類型、資產狀況(使用、閑置)等多種方式進行查詢。
(3)日常管理
本功能主要實現資產單位對招商、合同簽訂、收入結算等日常經營情況的維護及錄入。
(4)經營預警
功能包括:資產閑置預警,對長期閑置、在用但3個月沒有收益的資產發出警告,提醒管理人員對此類項目優先處置;合同到期預警,對距離合同結束時間小于60 d的經營項目發出警告,提醒用戶對此類項目進行處置,可選擇續簽合同或重新招商;應收款預警,對應收款期限即將到期的項目進行預警。
(5)信息查詢
功能包括:招商信息查詢,對以往的招商項目詳情進行查詢;合同信息查詢,對已簽訂的經營合同進行查詢;收入信息查詢,對項目結算情況進行查詢,具有選擇時間范圍進行數據統計分析功能。
資產經營開發信息系統按“數據-服務-應用”的邏輯層次,結合實際業務數據流程設計,資產資源管理系統將全局范圍內經營性質的房產、土地、設備、廣告資源等信息納入管理庫數據,實現全局資產經營開發工作的推進工作的動態管理。招商信息管理系統將全局范圍內資產經營開發工作中涉及到的招商信息及時發布到網絡上,接受商家報名,并在網絡上進行線上資格初審等。系統功能時序圖如圖5所示。
資產經營開發信息系統主要由資產資源管理系統、招商信息管理系統組成。為保證鐵路局內部網絡信息安全,系統采用內外網物理隔離的方式,各系統功能分開部署在兩個網絡中,資產資源管理系統和招商信息管理系統運行在鐵路生產網上,招商門戶網站運行在互聯網上。內外網分別部署一套數據庫服務器以及應用服務器,系統之間的數據同步通過物理拷貝的方式完成。系統總體架構如圖6所示。
系統硬件選用PC服務器、網絡設備,通過安全隔離設備與外部系統接口,保證系統關鍵的業務處理和信息傳輸平臺穩定不間斷運轉。

圖5 系統功能時序圖

圖6 資產經營開發信息系統總體架構
系統軟件開發采用結構化、模塊化的設計原則,通過申請域名與服務代理的方式,將招商信息平臺系統發布至Internet,合法客戶通過權限驗證后,即可進行招商公告發布、招商查詢、提交意向、資質審核等操作;資產資源管理系統用于企業固定資產管理,通過路內互聯網絡,實現對全局范圍內房產、土地、設備、廣告資源、大宗商品等資產進行統一管理、科學開發,合理配置資源。
本系統采用B/S架構,系統的核心功能集中在Web應用服務器上,在服務器端運行主要的程序代碼,把較少的邏輯交給Web瀏覽器,按照表現層—業務邏輯層—數據訪問層的3層設計原則,對整個系統進行設計,如圖7所示。
用戶通過瀏覽器端登錄訪問,登錄請求通過過濾器過濾后交由LoginController進行處理,經過shiro處理后的token通過subject進行認證,認證時用戶的用戶名和密碼與數據庫用戶表進行匹配,如匹配成功則進行授權。本系統面向3類用戶提供服務,分別是招商用戶,競商用戶和系統管理用戶,將要進行授權的資源用shiro標簽進行標注,在用戶授權時通過shiro標簽來判定哪些資源可以被此用戶使用。對應代碼如下:
Web服務器通過客戶端在瀏覽器中指定的url路徑“adtempinfolist/save”,將此url轉化成服務器上對應廣告信息管理模塊的文件路徑名,使用shiro標簽庫中hasPermission標簽指定該登錄用戶擁有新增廣告信息的權限,從而完成用戶授權。

圖7 系統邏輯架構圖
持久層采用MyBatis實現,依賴于MyBatis的對象化映射和數據庫交互為上層業務服務提供數據訪問支持,如系統管理員需定期查看那些已完成簽約的招商合同,即可點擊“合同管理”目錄下的“合同查詢”,通過前臺操作將指令下達到后臺,后臺將指令由Spring進行自動掃描分配首先到達業務邏輯層中的ContractController類,通過調用findContract()方法中的接口ContractService,它的實現類通過重寫并調用findContractAllById方法到持久層,持久層通過調用findById方法進行MyBatis映射到ContractMapper.xml文件,xml文件中配置了操作數據庫的sql語句以及指定的返回結果集ResultMap,通過xml文件中的sql查詢語句對數據庫進行訪問,然后從最底層逐層向上返回數據,即完成對合同的一次查詢。查詢結果如圖8所示。

圖8 合同查詢結果
在實現業務邏輯層到數據訪問層的交互過程中,MyBatis使用簡單的XML配置文件實現原始映射,通過映射引擎將定義的查詢接口映射成操作合同數據庫的sql語句,解除了sql和Java程序代碼的耦合,便于日常運維,統一管理。
本系統平臺前臺頁面采用EasyUI+html5,運用jquery的方法對數據進行請求或提交,將得到的數據返回到各個子系統進行前端頁面展示。部分展示效果如圖9、圖10所示。

圖9 資產資源管理系統展示圖

圖10 招商管理系統展示圖
本系統通過資產招商與資產經營管理相結合,以資產信息為基礎,運用互聯網對外公開招商,對資產狀態、招商進度、合同信息、收入結算進行動態跟蹤管理,掌握全局每一項經營性資產的現實狀態及經營情況。該系統還促進了資產招商工作的推進,延伸出了資產經營開發和招商管理等一系列文件、流程,運用“互聯網+”思想,實現了鐵路系統資產網絡公開招商。

[1] 宋偉偉,張遂征. 基于J2EE的應用體系結構及其實現方法[J].鐵路計算機應用,2005,14 (8):35-38.
[2] 張 翼,揭金良. 基于MVC的企業級應用開發[J].鐵路計算機應用,2006,15(11):8-10.
[3] 李 洋. SSM框架在Web應用開發中的設計與實現[J].計算機技術與發展,2016,26(12):190-194.
[4] 徐孝成. 基于Shiro的Web應用安全框架的設計與實現[J].電腦知識與技術,2015,11(16):93-95.
[5] 王艷清,陳 紅. 基于SSM框架的智能web系統研發設計[J].計算機工程與設計,2012,33(12):4751-4757.
[6] 廖福保. 擴展Spring MVC模塊的Web應用[J].實驗室研究與探索,2012,31(10):70-73.
[7] 任廣震,侯 進,王 獻. MVC模式在B/S結構政務系統的應用研究[J].計算機應用與軟件,2014,31(8):54-58.
[8] 唐永瑞,張達敏. 基于Ajax與MVC模式的信息系統的研究與設計[J].電子技術應用,2014,40(2):128-131.