您的位置:首頁>科技>正文

工業企業系統集成技術系統集成的軟體技術(下)

城市軌道交通標準技術委員會 魏曉東

廣州新科佳都科技有限公司 陳朝暉

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月刊

工業企業資訊化集成系統的縱向集成主要是軟體功能的分層結構,包括資料獲取層、資料處理層以及資料傳送層。工業企業資訊化集成系統的橫向集成主要是指軟體的分散式部署,軟體系統可部署在企業的各個部門,採集資訊後統一匯總到企業管理中心,或者採集資料在本地處理加工後把處理加工的結果傳送到企業的管理中心。工業企業資訊化集成系統的縱向集成主要是在本機伺服器進行資料獲取、資料處理,在本地工作站上進行資料展現,邏輯結構如圖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月刊

Next Article
喜欢就按个赞吧!!!
点击关闭提示