城市軌道交通標準技術委員會 魏曉東
廣州新科佳都科技有限公司 陳朝暉
1.1.3 分布式實時應用集成技術
實時(Real Time)計算一般是指這樣的計算活動,其正確性不僅依賴于計算的邏輯結果,而且依賴于產生結果的時間。因此,實時計算的核心問題是計算活動的時間可預測性(predictablity)或者時間的確定性(determinism)。時間可預測性指能夠預先知道某個任務是否與應用的時間約束相符合的特性。
目前的企業分布式集成技術及中間件能夠提供良好的開發平臺和通訊支持,但是它們缺乏對分布式實時應用的時間約束的支持能力。隨著分布式計算技術和分布式應用的深入發展,一些關鍵業務領域特別是工業制造領域都要求實時分布式技術。九十年代,對象管理組織OMG提出了實時CORBA規范,用于開發分布式實時應用和系統集成。提出了DDS(Data Distribution Service,數據分發服務)規范,DDS采用以數據為中心的發布—訂閱模型,實現了分布式異構環境下海量數據的實時傳輸。
實時CORBA技術:1997年9月OMG提出了實時CORBA 1.0的RFP(request for proposal),于1999年3月,發布了實時CORBA 1. 0規范。實時CORBA規范定義了一組標準的接口以及策略供用戶來控制和配置系統的處理器資源、內存資源和通信資源。處理器資源的標準控制機制包括線程池、CORBA優先級、互斥機制和全局調度服務等;內存資源的標準控制機制主要有請求隊列等;而通信資源的標準控制機制則有協議特性設置和顯式綁定等。線程是實時CORBA系統進行調度的實體,規范中對線程提供了更加豐富的控制和配置方式以支持實時應用;定義了CORBA優先級,用于確定CORBA對象調用被處理的先后順序,并定義了優先級映射接口(Priority Mapping),用于CORBA優先級和本地優先級之間的映射;定義了兩種設置CORBA優先級的模式:客戶傳遞模式以及服務器指定模式;定義了互斥接口以協調對系統共享資源的競爭;定義了全局調度服務,應用可以向該調度服務對象指定各種有關參數。
數據分發服務技術:在大型網絡中心系統中,信息的實時交換最為關鍵。從多個源產生的信息必須由信息制造者按QoS要求將信息請求者感興趣的信息進行分發。特別是在實時和關鍵性任務系統中,“在正確的時間和地點獲取正確的數據”是非常關鍵的任務。對象管理組織OMG的數據分發服務 DDS采用以數據為中心的發布-訂閱模型,提供了強大的數據QoS控制策略,實現了分布式系統中數據實時、可靠、高效地分發,能夠廣泛應用于航空、國防、分布仿真、工業自動化、分布控制、機器人、電信等多個領域。
DDS規范標準化了分布式實時系統中數據發布、傳遞和接收的接口和行為,定義了以數據為中心的發布-訂閱機制,提供了一個與平臺無關的數據模型(此模型能夠映射到各種具體的平臺和編程語言)。DDS允許應用程序實時發布其擁有的信息,并訂閱其需要的信息,較好的處理了不可靠網絡通信中數據的自動發現、可靠性和冗余性等問題,可應用在要求高性能、可預見性和對資源有效使用的關鍵任務領域。
DDS規范描述了兩個層次的接口:低層的DCPS(Data-Centric Publish-Subscriber)用于完成數據的發布、訂閱,其目的是發布者能夠高效地將正確的信息傳遞給適當的訂閱者;高層的DLRL(Data Local Reconstruction Layer)用于數據在本地的表示,其目的是使應用程序能更加直接的訪問交換的數據,并能與本地語言完美的結合起來。
1.2 軟件應用集成架構技術
1.2.1 工業企業信息化集成系統的架構設計
工業企業信息化集成系統對信息的基本處理過程和內容是:信息采集、加工、存儲、傳遞、利用和反饋。工業企業信息化集成系統應用集成架構設計主要圍繞信息采集、信息處理和信息傳遞進行設計和實現的。
信息采集:信息采集是企業管理和控制過程的起點,貫穿于企業信息管理的全過程。信息采集是根據企業管理和控制的需求,把企業內外各種形態的信息收集并且匯總,供信息化集成系統使用。信息處理:信息處理指將采集到的信息按照不同層次企業管理和控制的目的和要求,進行鑒別、篩選和處理,使信息規范和準確,以便進一步存儲、傳遞和利用,使信息具有使用價值。信息傳遞:信息傳遞就是根據不同層、級企業管理和控制的需求,把采集、加工后的信息在系統內外傳輸。針對工業企業信息化集成系統上述的特點,系統的軟件架構采用最新的分層分布式架構。工業企業信息化集成系統的縱向集成主要是軟件功能的分層結構,包括數據采集層、數據處理層以及數據傳送層。工業企業信息化集成系統的橫向集成主要是指軟件的分布式部署,軟件系統可部署在企業的各個部門,采集信息后統一匯總到企業管理中心,或者采集數據在本地處理加工后把處理加工的結果傳送到企業的管理中心。工業企業信息化集成系統的縱向集成主要是在本地服務器進行數據采集、數據處理,在本地工作站上進行數據展現,邏輯結構如圖1所示:
圖1 縱向集成示意圖
工業企業信息化集成系統的橫向集成主要是在企業各部門部署系統,各個系統之間通過分布式通信總線(軟件總線)進行數據傳送。邏輯結構如圖2所示:
圖2 縱向集成示意圖
1.2.2 CORBA架構
CORBA是當今最重要的企業信息化集成系統應用集成架構之一,它獨立于網絡協議、編程語言和軟硬件平臺,支持異構的分布式計算環境和不同編程語言間的對象重用。CORBA可以作為不同平臺應用間信息傳遞的中間件,CORBA通過引入經過充分驗證的有效的框架結構和通信手段,最大限度地簡化了網絡通信相關應用的設計與開發,使得我們可以專注于業務邏輯的實現,而無需關心通信的細節。這恰恰是信息化集成系統構建時最需要的軟件需求。CORBA是系統集成軟件的消息中間件,是數據傳遞通道及軟總線,如圖3所示。
CORBA應用系統主要分為兩部分:一是位于應用程序服務器中的CORBA對象,另一個是應用使用的客戶端程序。這些客戶端程序通過CORBA技術使用CORBA對象提供的服務來完成其工作。CORBA規范定義了客戶端程序與服務端程序中的對象進行通信的機制。在系統集成軟件平臺中,CORBA中間件作為分布式通信總線(軟總線),為系統中的各個應用程序提供數據傳遞服務。
圖3 基于CORBA消息中間件的分層分布式軟件平臺架構
1.2.3 J2EE架構
J2EE是JAVA2平臺企業版,它的核心是一組技術規范與指南,提供基于組件的方式來設計、開發、組裝和部署企業應用。J2EE使用多層分布式的架構模式。J2EE所包含的各類組件、服務架構及技術層次,均有共同的標準及規格,讓各種依循J2EE架構的不同平臺之間,存在良好的兼容性,解決過去企業后端使用的信息產品彼此之間無法兼容,企業內部或外部難以互通的窘境。
J2EE架構可以充分利用用戶有的投資,通過允許將現有的信息系統和資產“包裹”在J2EE應用程序中,不要求客戶更換現有技術。因為J2EE擁有廣泛的業界支持和一些重要的“企業計算”領域供應商的參與,每一個供應商都對現有的客戶提供了不用廢棄自己已有投資的升級途徑。由于基于J2EE平臺的產品幾乎能夠在任何操作系統和硬件運行,現有的操作系統和硬件也能被保留使用。J2EE的體系結構是分層結構,主要是:
(1)客戶層,運行在客戶計算機上的組件,用戶與系統的接口邏輯,通過http協議的來訪問應用服務器。
(2)表示層,運行在J2EE服務器上的組件,通過與業務邏輯層互動,將用戶需要的數據以適當的方式輸出。
(3)業務邏輯層,同樣是運行在J2EE服務器上的組件。
(4)企業信息系統層(EIS),是指運行在EIS服務器上的軟件系統。
1.2.4 NET架構
采用.NET架構可用快速地開發出Windows下的軟件系統。在軟件系統開發中采用.NET架構具有以下技術優勢:(1)技術易學易用,開發效率高;(2)運行環境安裝配置方便;(3)技術成熟,主流技術,配套技術文檔完善,眾多開源或免費的文檔或項目可供參考;(4)擁有眾多新技術,方便構建企業級應用;(5)開發部署工具功能強大;(6)能與Windows平臺緊密結合,最大限度利用系統功能;(7)眾多中間件(控件支持);(8)技術在不斷更新發展中,擁有龐大的開發人員群體且呈增長趨勢;(9)支持多種語言的互操作,即在一種語言下開發的組件,可在另一組件下通過面向對象的繼承而得以重用;(10)通過對HTTP、XML、SOAP、WSDL等Internet標準的良好支持,提供在異構網絡環境下獲取遠程服務,連接遠程設備,交互遠程應用的編程界面。這些是企業信息化集成系統所需求的。
典型的采用.NET開發的軟件系統的架構為五層結構,分為:表現層、服務層、業務層、數據訪問層、公共基礎設施層。
表現層充當系統的界面呈現以及UI(用戶界面)邏輯的角色。UI用戶界面的實現方式當前主要有兩種:(1)模型-視圖-控制器模式,通過視圖觸發并執行某個操作,調用控制器,通過控制器去操作業務層,最終返回模型,在視圖中進行展示。(2)模型-視圖-展示器模式,視圖和模型完全分離,視圖中定義一個接口,展示器通過調用該接口的方法控制視圖。
服務層:當項目的規模大到使用多種表現形式,就要考慮在表現層和業務層之間增加一個層,以便讓表現層和業務層解耦,因為業務層作為一個業務中間件的平臺,最好不要暴露于表現層中,這個層就是服務層。服務層實際上并不執行任何具體的工作,其功能在于組織各個業務對象將業務層所有的細節對表現層隱藏起來。服務層消除了表現層和業務層之間的耦合,可實現一個遠程接口與多用戶界面甚至多平臺通信。
業務層包含系統所需要業務過程的實現,并與數據訪問層交互,包括對業務實體建模的對象模型,表達了客戶的所有策略和需求的業務規則。另外,業務層還包括核心中間件技術,包括第三方組件,以及工作流引擎等等。業務層需要考慮到一些與數據訪問層交互的設計模式,模式中包括事物腳本模式、表模塊模式、活動記錄模式、領域模型模式。
數據訪問層主要提供數據持久化功能,包括數據的讀取和寫入,另外還必須包括事務處理,并發控制等等。操作數據庫的方法可以有兩種方式:ORM(對象關系映射)方式和ADO.NET方式(ADO:Active Data Object,活動數據對象)。ORM可以采用一些第三方的ORM框架來實現,ADO.NET采用ASP.NET自帶的數據庫操作來實現。
公共基礎設施層:包括Common通用模塊,Logging日志模塊,Exception異常模塊,Configuration配置模塊,DI依賴注入模塊,單元測試模塊以及第三方組件(例如NHibernate、Sprint.NET、Castle、Quartz計劃任務等等)。
系統集成軟件正是采用上述的最新軟件技術完成企業大型信息化集成系統構建的。
1.2.5 集成架構應用
現以一個城市軌道交通的信息化集成系統(綜合監控系統)為例說明1.1與1.2節的軟件技術應用:
此綜合監控系統軟件采用了消息中間件架構技術,分布式通信軟總線選用CORBA。應用邏輯層是應用組件、分布式結構,是具體的業務應用組件,如圖4所示。
圖4 城市軌道交通綜合監控系統軟件平臺應用集成架構
由此可見一般的信息化集成系統軟件是如何采用應用集成架構構建起來的。
作者簡介:
魏曉東,1967年畢業于天津大學精儀系。1984~1991年任安徽工業大學自動化系副教授。1991年出版《分散型控制系統》( 上海科技文獻出版社) 。2000~2012年任北京和利時系統工程公司副總工、事業部總設計師,北京地鐵13號線、深圳地鐵一期工程、廣州地鐵3號線綜合監控系統工程技術總負責人。2006、2010年出版《城市軌道交通自動化系統與技術》初版與第二版(電自工業出版社);2010年主編國家標準《城市軌道交通綜合監控系統工程設計規范》(GB50636-2010)《城市軌道交通綜合監控系統施工與質量驗收規范》(GB/T50732-2011);2010年主編關于兩化融合的國家標準《工業企業信息化集成系統規范》(GB/T26335-2010)。2013年至今任清華同方數字城市工程中心技術專家,住建部城市軌道交通標注技術網Eu委員會委員,全國自動化系統與集成標準技術委員會委員。
摘自《自動化博覽》2017年6月刊