1.1實現目標
數據總線技術是為了東莞地鐵日后業務發展所建設的內容,由于現有系統和本階段所新上系統,以及后繼由于業務擴展所新建的多個業務系統,在實現業務系統與業務系統數據共享與交換服務時,將會以網狀的形勢來進行。利用數據總線,制定信息傳遞的標準要求,集成企業內部門戶、統一通信 和郵件等基礎技術平臺,使業務系統之間的數據共享與交換服務由網狀變為線形,是工程項目管理系統與其它業務系統之間信息傳遞的統一管理模塊。數據總線平臺是一個面向服務(SOA)軟件架構之上的企業服務總線平臺,它將應用程序的不同功能單元----服務(service),通過服務間定義良好的接口和契約(contract)聯系起來。接口采用中立的方式定義,獨立于具體實現服務的硬件平臺、操作系統和編程語言,使得構建在這樣的系統中的服務可以使用統一和標準的方式進行通信。主要實現目標:
- 數據交互:能夠將一個數據庫的某一表中數據,根據一定的要求導入到另一數據庫相應表中;
- 資源共享與訂閱:能夠實現數據資源的共享設置、共享級別設置,訂閱數據資源等操作,并能按照訂閱內容交換數據;
- 信息級別權限控制:一定級別的工作站只能訪問該級別或級別要求更低的共享資源;
- 數據操作源和目的數據庫可以為多種數據庫:如:SQL Server,Oracle等;
- 數據交換要支持多種數據類型:如:數值、字符、日期、文件等;
- 信息交換平臺運行模塊要以服務程序模式運行;
- 信息交換平臺支持數據配置擴展,可以通過配置文件來更改運行環境、共享資源數據內容以及共享級別;
- 日志記錄:創建日志,方便調試和日后查看;
- 系統具有長時間穩定運行的能力;
- 有一定的網絡故障處理能力,當網絡出現問題時,系統可以在一定程度上采取自救措施,如支持斷點續傳和發送短信息給等待用戶。
1.2平臺功能架構
圖片 1平臺功能架構
應用層:在數據總線平臺中,系統管理模塊作為平臺應用層的一部分,也是平臺運行的基礎模塊,完成平臺運行環境、平臺運行過程中相關進程的運行方式、時間特性、服務對象與區享等級、資源信息等的設置操作,為實現數據交換提供基礎支撐服務;數據交換服務模塊同樣是應用層的組成部分,完成具體的數據交換功能,根據系統管理部分的設置信息有效有序的管理消息、進行數據的接收、發送、解析、整編及保存等相關操作。
認證層:身份認證屬認證層,是指在系統運行過程中,根據系統管理相關部分的設置信息判斷發出訂閱申請的用戶在本平臺中具有的共享級別信息,從而作到權限的有效控制,防止信息泄露。
表現層:人機交互界面是表現層內容,是計算機軟件操作者與軟件系統進行交互的途徑,本平臺除在后臺自動運行的數據傳輸及進程管理方面的功能外,所有系統參數設置、資源定制管理方面的操作均通過表現層的人機交互界面完成。
1.3功能模塊
1.3.1功能劃分
信息交換平臺除一部分設置功能需要用戶通過界面控制完成外,數據交換功能需要長期穩定的在后臺運行,為水務信息各應用提供數據共享與交換服務,因此本平臺功能可分為系統管理(或叫數據交換管理)和數據交換服務兩部分。其功能結構圖如下:圖片 2信息交換平臺功能結構圖
1.3.1.1系統管理模塊
分為運行環境配置、注冊管理、目錄服務管理、權限管理、訂閱定制、日志定制、安全管理、其它參數設置七個子模塊,功能概述如下:- 運行環境配置:完成平臺運行的系統環境、可以連接的數據庫類型、連接方式及參數、可以接受轉換的數據類型等支持系統運行環境的基礎信息配置。
- 注冊管理:完成通過本平臺進行數據交換與共享的所有應用系統在局中心平臺的注冊,獲取相應訪問信息范圍及其它輔助信息,只有在本平臺注冊過的系統才可以通過本平臺與局中心及其它分中心之間實現數據的交換與共享。
- 目錄服務管理:系統以目錄的形式管理所有信息元素,對各類信息元素進行分類管理,分類從多角度進行,如按基礎信息、業務信息;服務對象(這里指局中心各系統及分中心相關系統)等,每種分類及具體信息均按一定規則被編制成目錄形式,且在整個目錄中均有唯一的ID標識,同時基礎信息和業務信息元素按可以訪問的秘密程度分組,與系統用戶組對應,這樣便于對有請求的系統用戶(這里指發出請求的相關應用系統)進行訪問內容控制,即根據目錄索引快速定位到當前用戶有權訪問的數據范圍,并迅速定位用戶指定信息。目錄信息的類別、內容可根據實際需要由人工或系統設定自動增加整理,并定時給出總目錄詳細信息及目錄變化記錄等。
- 權限管理:在本平臺中,權限管理分為兩部分完成,一是對操作者的管理與權限分配,實現操作者使用本平臺具體功能的權限對應管理;二是對系統用戶的可訪問信息的權限設置,所有欲使用本平臺進行數據交換的應用系統需首先在本平臺上注冊身份,注冊方式可以由系統自動判別注冊也可以由管理員通過相關界面輸入系統內,并對各用戶可以訪問的信息內容進行權限等級劃分——不同級別的用戶可以訪問的資源范圍不同。在此后的運行中,平臺會自動判斷提出請求的用戶身份并與其權限對應,從而保證用戶的正當權力和數據信息的保密性。
- 訂閱定制:各用戶均可訂閱其它用戶作好訂閱分配的數據信息集,可以根據各自權限及所需信息訂閱其它用戶的可訂閱信息數據,從而大限度的包容了由業務變動帶來的需求信息變化,也靈活的實現了不同時期、不同級別用戶對數據的不同需求。
- 日志定制:本平臺將日志按重要程度分級管理,并由用戶進行設置(當然系統會提供默認設置)應記錄的日志范圍,系統會根據設置信息記錄相關日志。
- 安全管理:包括信息數據安全及網絡安全兩部分,信息安全又為分訪問安全與傳輸安全兩種,訪問安全是指本平臺通過對用戶進行身份認證、權限判斷的方式保護正當用戶的應得權力,同時避免信息的非法訪問;傳輸安全指本系統對傳輸數據按一定規則進行加密封裝之后再行傳送,接收時同樣首先進行解密和有效性驗證后才對數據進行解析、整編、保存相關處理;網絡安全是考慮到本平臺的數據交換服務進程要長期依托網絡運行,因此應具有一定的自動監測網絡狀態及故障應對措施,確保信息的完整和安全。
- 其它參數設置:支撐系統運行及方便用戶的其它參數設置功能。
1.3.1.2數據交換服務模塊
包括消息管理、隊列管理、發送管理、接收管理、封裝與解析、數據整編、數據保存和其它相關服務八個子模塊,功能概述如下:- 消息管理:平臺提供消息管理機制,統一管理經過平臺的收發信息。各用戶發送過來的請求中均有各自的特征信息,平臺接收與準備發送的消息也同樣以一定規則驗證特征信息,然后根據指定原則對各種消息進行驗證、歸類、排序等一系列管理操作,便于通過平臺的各類消息有序的傳遞。
- 隊列管理:當通過本平臺的請求較多時,如果不對各類消息加以控制會產生資源爭用或并發沖突的現象,并且可能會出現優先級較高的請求反而等待時間過長現象,因此需要平臺對隊列進行有序管理,隊列管理根據消息分類的結果及發出請求的用戶優先級及消息本身的優先級進行綜合判斷給出合理排序。
- 發送管理:本交換平臺在處理各類數據交換與共享請求時,會向請求方發送處理結果或其它中間信息,本平臺依據發送數據包的特征標識找到接收方,并首先探測網絡狀況,許可時即進行發送操作,并自動記錄發送日志。
- 接收管理:與發送管理相對應,本平臺在接收各用戶傳送過來的信息時,首先驗證數據包的有效性、接收目標等內容,將數據解析后接收并歸入相應的目標信息集隊列等待下一步處理。
- 封裝解析:封裝與解析是與發送和接收相對應的兩個過程,封裝指在數據發送前,要按指定規則對數據進行加密、壓縮、封裝,當數據量較大,一個數據包裝不下時,系統自動將信息分成多個數據包,并在每個包內加上相應標識后準備發送;解析即是接收方在接收到對方傳來的數據包后,對數據包進行規則解密、驗證數據的有效性,通過后即可整編保存數據。
- 數據整編:數據接收后,要根據數據特性標識進行整編、分析、歸類及相關轉換處理,然后準備保存。
- 數據保存:整編無誤的數據即可以保存到目的數據庫的相關表內,以完成數據交換的全部操作。并記錄相關日志。
- 相關服務:提供數據交換過程中其它相關服務功能如流量分析、關聯計算等。
項目管理系統數據總線平臺應用
地鐵工程項目管理系統基于協同工作流平臺,采用分層的系統架構,在與外部系統集成的上,基于SOA整合模式,采用協同數據總線集成平臺,充分使系統達到組件化、松耦合、易擴展的目標。圖片 3工程管理系統體系架構
工程項目管理系統與OA系統、ERP系統、物流系統、檔案系統、預算系統、報賬平臺等外部系統存在信息交換。在項目建議書之前,OA系統通過調用工程管理系統下達開發任務書;工程管理系統和ERP系統之間存在組織結構數據的實時同步;項目到立項的時候,需要根據項目號從預算系統中實時同步部分立項信息;當項目進行到合同錄入階段以后,物流系統從工程管理系統中取得合同、項目、供應商數據;工程管理系統中的付款功能需要調用報賬系統中的數據,方能完成付款;工程管理系統中的項目數據需要按季度定時歸檔,存放到檔案系統中。通過數據總線平臺將工程管理系統與其他系統有機的整合如圖所示:
圖4 ESB集成