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

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

本講介紹系統集成中最重要的技術—系統集成軟體技術。 資訊化集成系統的層級被集成為有機整體, 主要是通過系統集成軟體實現的。 資訊化集成系統不同層級通過分層分散式軟體架構集成起來實現資訊化集成系統整體目標。 資訊化集成系統軟體將硬體平臺、網路平臺、資料庫平臺、工具平臺, 各種子系統應用軟體平臺以及系統整體的各種資源有機、高效地集成到一起, 形成了一個完整的資訊共用環境。 系統集成軟體平臺決定系統集成的成敗、對智慧生產、智慧製造的開發、維護有重要的影響。

系統集成軟體成為構建資訊化集成系統的關鍵。

工業4.0時代, 互聯網滲透到企業間和企業內的資訊化集成系統。 互聯網已成為新的計算基礎設施, 它的出現和普及使電腦軟體發展、部署、運行和維護的環境開始從封閉、靜態逐步走向開放、動態。 越來越多的企業提供基於互聯網的服務, 新的業務模式得到了發展, 企業業務系統之間的交互逐漸增強, 系統之間的通信和集成問題凸現出來;在企業內部也存在異構系統之間的整合問題;因此, 發展出了各種分散式系統集成技術。 首先是分散式企業應用集成技術和分散式即時應用集成技術;進而言之, 是系統集成軟體的核心——系統應用集成架構。

1.1 企業分散式應用集成技術

1.1.1 分佈計算、分散式系統和分散式元件技術

在企業應用中分佈計算是指各種不同的工作站通過網路互相連接, 由分散式系統提供跨越網路透明地訪問各種異構設備所需要的支援, 使得使用者可以充分利用網路上的各種計算資源來完成自己的任務。 與網路技術的發展和日益增長的應用需求相適應, 分散式運算已經成為新一代計算和應用的主流。

分散式運算中所涉及的分散式系統是指元件分佈在網路電腦上且通過消息傳遞進行通信和動作協調的系統。 分散式系統具有以下特徵:元件的併發性和元件故障的獨立性。 構造分散式系統的挑戰主要是其元件的異構性、開放性(允許增加或替換元件)、安全性、可伸縮性(用戶數量增加時能正常運行的能力)、故障處理以及元件的併發性和透明性。

構造和使用分散式系統的主要動力來源是資源分享, 分散式系統之間的通信和集成技術是重點。

分散式系統中, 中介軟體能夠很好的完成異構分佈系統的集成, 交互操作, 並且能夠很好地保證這些系統的可移植特性, 因而極大地降低了開發分散式應用的週期, 能夠提高系統的可靠性, 是當前分散式應用開發和分散式系統集成的主要手段。 中介軟體技術是軟體技術發展史上一大進步。 中介軟體是基礎軟體的一大類,是一種介於應用軟體和作業系統之間的獨立的系統軟體或服務程式。 它能遮罩作業系統和網路通訊協定的差異,幫助管理各種複雜的異構的分系統,並為處於上層的應用程式提供一個標準的開發與運行環境,使得分散式應用軟體能夠獨立於特定的硬體和作業系統平臺,説明使用者靈活、高效地開發和集成複雜的應用軟體。

中介軟體可滿足大量應用的需要, 運行於多種硬體和OS平臺, 支援分佈計算, 提供跨網路、硬體和OS平臺的應用或服務的交互;支援標準的協定, 支援標準的介面。

隨著軟體的市場規模和軟體的系統規模快速擴大, 特別是網路普及後,軟體的運行已經網路化。 軟體發展必須考慮網路功能,即分散式特點, 於是中介軟體技術又向前邁出一大步即分散式組件技術。 21世紀的軟體工業面臨著如何將高效的應用程式開發和分發、較低的費用、良好的可管理性和足夠的安全性統一在一起。

簡化軟體發展流程、降低開發成本、提高效益並開發出可用性、伸縮性、開放性好的軟體成為關鍵。 分散式元件技術是解決這些問題的有效途徑, 正在全面取代傳統的軟體設計方法。 分散式元件技術具有物件導向的特點,能夠良好地類比真實世界的各種情況,且能直接對應到軟體模組中;對於系統級開發人員,通過分散式元件方式開發的元件可提供給各類應用軟體使用,並且可以重複多次使用, 不用考慮升級問題。 對於獨立軟體廠商, 則可專心開發領域內應用元件,不用考慮跨平臺相容性的問題。 對於軟體使用人員,使用一致的應用元件節省了大量的學習時間。 分散式元件技術使用經過封裝的可重用的軟體元件來構造應用程式,為多層結構系統開發注入了新的活力,使分散式應用軟體變得易開發、易修改和易升級。

1.1.2 分散式應用集成技術

企業自上世紀七十年代開始使用IT支援系統至今,一些大型企業中各種IT支援系統平均達數十種之多。它們大部分是一個個的資訊孤島,管理著企業特定的各個職能部門的工作,相互之間缺乏有效的通信。隨著資訊技術的不斷發展,今天的企業需要一個集成的、開放的、面向用戶且隨需而變的IT支援系統,因此面臨著應用系統的整合問題。不同的應用(尤其是不同企業的)的開發語言不同,部署平臺不同,通信協議不同,對外交換的資料格式也存在著差異,如何去解決解決語言差異、平臺差異、協定差異、資料差異所帶來的高代價的系統集成是這個問題的關鍵。

企業應用集成(Enterprise Application Integration,EAI)將企業中的業務流程、應用系統、硬體和各種標準聯合起來,在兩個或更多的企業應用系統之間實現無縫集成,是它們像一個整體一樣進行業務處理和資訊共用。企業應用集成不僅包括企業內部的應用系統集成,還包括企業與企業之間的集成,以實現企業與企業之間的資訊交換、商務協同、過程集成和組建虛擬企業和動態聯盟等。目前,常用的企業應用集成技術有遠端程序呼叫技術、分散式物件技術、面向消息的中介軟體技術和Web服務技術。

(1)遠端程序呼叫技術

RPC(Remote Procedure Call Protocol)——遠端程序呼叫協議,在分散式環境下,遠端程序呼叫允許本地電腦上的程式調用遠端電腦上的進程。遠端程序呼叫採用客戶機/伺服器模式。允許發送一個請求(客戶進程)到伺服器進程,伺服器進程執行這個過程併發回一個結果(回應)消息。該方法最主要的特點是程式不需要知道調用的過程是本地還是遠地。遠端程序呼叫和傳統的程序呼叫不同就在於調用者(Caller或Client)和被調用的進程(Server)是在不同的機器上的不同的進程。遠端程序呼叫的靈活性體現在它的跨平臺性上,它不僅遠端的副程式,而且這種調用是可以跨越不同作業系統平臺的。遠端程序呼叫適合於小型的簡單應用,當需要支援多種通信模式時,遠端程序呼叫並不適合。

(2)分散式物件技術

分散式物件技術支援多種通信模式,提供了一種通訊機制,透明地在異構的分散式運算環境中傳遞物件請求,而這些物件可以位於本地或遠端機器。主流的分散式物件技術有以下三種:(1)物件管理組織(Object Management Group,OMG)制定的CORBA(Common Object Request Broker Architecture,通用物件請求代理架構)技術。(2)Microsoft公司提出的DCOM(Distributed Component Object Mode,分散式元件物件模型)技術。(3)Sun公司提出的RMI(Remote Method Invocation,遠端方法調用)技術。

CORBA是OMG專門為異構平臺上不同語言開發的分散式物件進行交互操作而制定的規範。是為應用開發提供一個公共框架,使得基於物件的軟體在分佈異構環境下具有良好的再使用性、可攜性和互通性,從而能夠在由多種作業系統構成的異構分佈環境中,方便的建立異構分散式應用系統,或實現企業資訊資源的集成。CORBA自發佈以來,已經有很多實現。目前市場上流行的產品有:IONA公司的Orbix,Inprise/Borland公司的VisiBroker等。

DCOM是由Microsoft於1996年提出的分散式物件構件標準,旨在提高應用軟體的交互操作能力。COM(Component Object Model,元件物件模型)技術使得程式的各個元件之間可以用一種統一的方式進行交互,而DCOM實際上是COM技術在分散式環境中的擴展, DCOM遮罩了COM物件的位置差異,使使用者不需知道COM物件的實際位置,就可以使用該COM物件。

RMI是Sun公司於1997年所提出的分散式運算模型,用以解決訪問Java分散式物件的通信問題。Java是一個提供了可移植的物件導向程式設計語言和高性能的Java虛擬機組成的應用系統運行和開發平臺。RMI能夠支持一台Java虛擬機器(JVM)上的對象與另一台Java虛擬機器(JVM)上的物件進行通信。

(3)面向消息的中介軟體技術

面向消息的中介軟體(Message-Oriented Middleware,MOM),提供了以鬆散耦合的靈活方式集成應用程式的一種機制。它們提供了基於存儲和轉發的應用程式之間的非同步資料發送,即應用程式彼此不直接通信,而是與作為仲介的MOM通信。MOM提供了有保證的消息發送,應用程式開發人員無需瞭解遠端程序呼叫(RPC)和網路/通信協定的細節。

傳統的面向消息中介軟體通常採用點對點的消息傳輸結構,但在實踐中存在較多問題,此後消息中介軟體開始向發佈/訂閱架構轉變,並成為企業應用集成中介軟體的一種核心機制,而基於發佈/訂閱架構的消息中介軟體通常稱為發佈/訂閱消息中介軟體(Publish/Subscribe Middleware,簡稱P/S MOM)或消息代理(Message Broker)。

在基於消息代理的分散式應用系統中,消息的發送方稱為發佈者,消息的接收方稱為訂閱者,發佈/訂閱模型用稱為主題的內容分層結構代替了點對點模型中的惟一目的地,不同的消息通過不同的主題進行區分。發佈者向消息代理發佈其它應用系統感興趣的消息,而訂閱者從消息代理接收自己感興趣的消息,發佈者和訂閱者之間通過消息代理進行關聯。消息代理適合於具有即時性、非同步性、異構性、動態性和松耦合的應用需求。

(4) Web服務技術

Web服務提供了一種在廣域網路絡上共用資料和功能的方法,是分佈物件技術的重要補充。Web服務能夠通過XML消息及Internet協定完成與其他軟體應用的直接交互,它是傳統組件技術在互聯網應用環境下的延伸,其目的和作用是提供一種統一的規範和技術,為連接異構的企業應用系統提供基礎,為互聯網軟體應用提供統一的功能描述和共用機制,提供一種在不同平臺/系統之間進行應用層功能自動整合、自動化處理所需要的技術架構。

Web服務採用一套完全開放且獨立於實現平臺及程式設計語言的交互機制,形成了較為全面的協議族,其中SOAP、WSDL、UDDI以及上層面向服務組合的WS-BPEL等構成了Web服務協定族的核心。

XML語言的提出為Web服務相關標準的制訂做出了里程碑式的貢獻,目前幾乎所有的Web服務標準都建立在XML語言的基礎上。Web服務協定族最重要的是簡單物件訪問協定SOAP(Simple Object Access Propotol),它是Web服務通信的事實標準。SOAP支援應用程式與應用程式之間的通信,主要應用於商務對商務的通信以及企業應用集成。SOAP定義了如何通過軟體以獨立於各種程式設計語言或平臺的方式來構造消息、處理消息,從而使那些用不同程式設計語言編寫的程式之間具有互通性,並能夠在不同的作業系統上運行;Web服務描述語言WSDL(Web ServicesDescription Language)用於描述Web服務的功能調用語法。它將Web Services描述定義為一組服務訪問端點,用戶端可以通過這些服務訪問端點對包含面向文檔資訊或面向程序呼叫的服務進行訪問(類似遠端過程調);還有跨網路尋找網路服務的技術——UDDI ,它提供了一組基於標準的規範用於描述和發現服務,還提供了一組基於網際網路的實現。服務註冊中心存儲了描述商業或其他實體的資訊及其提供的服務的相關技術調用介面(或API)。至此,以上協議的引入和發佈奠定了Web服務的基礎。

由於Web服務採用基於XML的開放的Web規範技術,具有更好的封裝性、高度的可集成性以及更好的開放性與互通性。相對於COM/DCOM,RMI和CORBA等分散式元件模型,Web服務具有鬆散耦合性、簡單性、高度可集成性和開放標準等特點。通過Web服務能夠遮罩分散式系統間的差異,為跨平臺、松耦合、語言無關的網路環境下的資源分享和集成提供了解決方案。

Web服務運行平臺為Web服務提供了運行和管理環境,實現了服務部署、執行、管理、監控等功能,使得服務能夠遵照標準的服務契約向服務消費者提供業務功能。目前,主流的開源Web服務運行平臺包括:Apache的Axis、Axis2和Apache CXF。商業Web服務平臺包括IBM 的WebSphere、Microsoft的Windows通信框架(WCF:Windows Communication Framework)、SUN的Sun GlassFish Enterprise Server等。

作者簡介:

魏曉東,1967年畢業于天津大學精儀系。1984~1991年任安徽工業大學自動化系副教授。1991年出版《分散型控制系統》( 上海科技文獻出版社) 。2000~2012年任北京和利時系統工程公司副總工、事業部總設計師,北京地鐵13號線、深圳地鐵一期工程、廣州地鐵3號線綜合監控系統工程技術總負責人。2006、2010年出版《城市軌道交通自動化系統與技術》初版與第二版(電自工業出版社);2010年主編國家標準《城市軌道交通綜合監控系統工程設計規範》(GB50636-2010)《城市軌道交通綜合監控系統施工與品質驗收規範》(GB/T50732-2011);2010年主編關於兩化融合的國家標準《工業企業資訊化集成系統規範》(GB/T26335-2010)。2013年至今任清華同方數位城市工程中心技術專家,住建部城市軌道交通標注技術網Eu委員會委員,全國自動化系統與集成標準技術委員會委員。

摘自《自動化博覽》2017年5月刊

分散式元件技術使用經過封裝的可重用的軟體元件來構造應用程式,為多層結構系統開發注入了新的活力,使分散式應用軟體變得易開發、易修改和易升級。

1.1.2 分散式應用集成技術

企業自上世紀七十年代開始使用IT支援系統至今,一些大型企業中各種IT支援系統平均達數十種之多。它們大部分是一個個的資訊孤島,管理著企業特定的各個職能部門的工作,相互之間缺乏有效的通信。隨著資訊技術的不斷發展,今天的企業需要一個集成的、開放的、面向用戶且隨需而變的IT支援系統,因此面臨著應用系統的整合問題。不同的應用(尤其是不同企業的)的開發語言不同,部署平臺不同,通信協議不同,對外交換的資料格式也存在著差異,如何去解決解決語言差異、平臺差異、協定差異、資料差異所帶來的高代價的系統集成是這個問題的關鍵。

企業應用集成(Enterprise Application Integration,EAI)將企業中的業務流程、應用系統、硬體和各種標準聯合起來,在兩個或更多的企業應用系統之間實現無縫集成,是它們像一個整體一樣進行業務處理和資訊共用。企業應用集成不僅包括企業內部的應用系統集成,還包括企業與企業之間的集成,以實現企業與企業之間的資訊交換、商務協同、過程集成和組建虛擬企業和動態聯盟等。目前,常用的企業應用集成技術有遠端程序呼叫技術、分散式物件技術、面向消息的中介軟體技術和Web服務技術。

(1)遠端程序呼叫技術

RPC(Remote Procedure Call Protocol)——遠端程序呼叫協議,在分散式環境下,遠端程序呼叫允許本地電腦上的程式調用遠端電腦上的進程。遠端程序呼叫採用客戶機/伺服器模式。允許發送一個請求(客戶進程)到伺服器進程,伺服器進程執行這個過程併發回一個結果(回應)消息。該方法最主要的特點是程式不需要知道調用的過程是本地還是遠地。遠端程序呼叫和傳統的程序呼叫不同就在於調用者(Caller或Client)和被調用的進程(Server)是在不同的機器上的不同的進程。遠端程序呼叫的靈活性體現在它的跨平臺性上,它不僅遠端的副程式,而且這種調用是可以跨越不同作業系統平臺的。遠端程序呼叫適合於小型的簡單應用,當需要支援多種通信模式時,遠端程序呼叫並不適合。

(2)分散式物件技術

分散式物件技術支援多種通信模式,提供了一種通訊機制,透明地在異構的分散式運算環境中傳遞物件請求,而這些物件可以位於本地或遠端機器。主流的分散式物件技術有以下三種:(1)物件管理組織(Object Management Group,OMG)制定的CORBA(Common Object Request Broker Architecture,通用物件請求代理架構)技術。(2)Microsoft公司提出的DCOM(Distributed Component Object Mode,分散式元件物件模型)技術。(3)Sun公司提出的RMI(Remote Method Invocation,遠端方法調用)技術。

CORBA是OMG專門為異構平臺上不同語言開發的分散式物件進行交互操作而制定的規範。是為應用開發提供一個公共框架,使得基於物件的軟體在分佈異構環境下具有良好的再使用性、可攜性和互通性,從而能夠在由多種作業系統構成的異構分佈環境中,方便的建立異構分散式應用系統,或實現企業資訊資源的集成。CORBA自發佈以來,已經有很多實現。目前市場上流行的產品有:IONA公司的Orbix,Inprise/Borland公司的VisiBroker等。

DCOM是由Microsoft於1996年提出的分散式物件構件標準,旨在提高應用軟體的交互操作能力。COM(Component Object Model,元件物件模型)技術使得程式的各個元件之間可以用一種統一的方式進行交互,而DCOM實際上是COM技術在分散式環境中的擴展, DCOM遮罩了COM物件的位置差異,使使用者不需知道COM物件的實際位置,就可以使用該COM物件。

RMI是Sun公司於1997年所提出的分散式運算模型,用以解決訪問Java分散式物件的通信問題。Java是一個提供了可移植的物件導向程式設計語言和高性能的Java虛擬機組成的應用系統運行和開發平臺。RMI能夠支持一台Java虛擬機器(JVM)上的對象與另一台Java虛擬機器(JVM)上的物件進行通信。

(3)面向消息的中介軟體技術

面向消息的中介軟體(Message-Oriented Middleware,MOM),提供了以鬆散耦合的靈活方式集成應用程式的一種機制。它們提供了基於存儲和轉發的應用程式之間的非同步資料發送,即應用程式彼此不直接通信,而是與作為仲介的MOM通信。MOM提供了有保證的消息發送,應用程式開發人員無需瞭解遠端程序呼叫(RPC)和網路/通信協定的細節。

傳統的面向消息中介軟體通常採用點對點的消息傳輸結構,但在實踐中存在較多問題,此後消息中介軟體開始向發佈/訂閱架構轉變,並成為企業應用集成中介軟體的一種核心機制,而基於發佈/訂閱架構的消息中介軟體通常稱為發佈/訂閱消息中介軟體(Publish/Subscribe Middleware,簡稱P/S MOM)或消息代理(Message Broker)。

在基於消息代理的分散式應用系統中,消息的發送方稱為發佈者,消息的接收方稱為訂閱者,發佈/訂閱模型用稱為主題的內容分層結構代替了點對點模型中的惟一目的地,不同的消息通過不同的主題進行區分。發佈者向消息代理發佈其它應用系統感興趣的消息,而訂閱者從消息代理接收自己感興趣的消息,發佈者和訂閱者之間通過消息代理進行關聯。消息代理適合於具有即時性、非同步性、異構性、動態性和松耦合的應用需求。

(4) Web服務技術

Web服務提供了一種在廣域網路絡上共用資料和功能的方法,是分佈物件技術的重要補充。Web服務能夠通過XML消息及Internet協定完成與其他軟體應用的直接交互,它是傳統組件技術在互聯網應用環境下的延伸,其目的和作用是提供一種統一的規範和技術,為連接異構的企業應用系統提供基礎,為互聯網軟體應用提供統一的功能描述和共用機制,提供一種在不同平臺/系統之間進行應用層功能自動整合、自動化處理所需要的技術架構。

Web服務採用一套完全開放且獨立於實現平臺及程式設計語言的交互機制,形成了較為全面的協議族,其中SOAP、WSDL、UDDI以及上層面向服務組合的WS-BPEL等構成了Web服務協定族的核心。

XML語言的提出為Web服務相關標準的制訂做出了里程碑式的貢獻,目前幾乎所有的Web服務標準都建立在XML語言的基礎上。Web服務協定族最重要的是簡單物件訪問協定SOAP(Simple Object Access Propotol),它是Web服務通信的事實標準。SOAP支援應用程式與應用程式之間的通信,主要應用於商務對商務的通信以及企業應用集成。SOAP定義了如何通過軟體以獨立於各種程式設計語言或平臺的方式來構造消息、處理消息,從而使那些用不同程式設計語言編寫的程式之間具有互通性,並能夠在不同的作業系統上運行;Web服務描述語言WSDL(Web ServicesDescription Language)用於描述Web服務的功能調用語法。它將Web Services描述定義為一組服務訪問端點,用戶端可以通過這些服務訪問端點對包含面向文檔資訊或面向程序呼叫的服務進行訪問(類似遠端過程調);還有跨網路尋找網路服務的技術——UDDI ,它提供了一組基於標準的規範用於描述和發現服務,還提供了一組基於網際網路的實現。服務註冊中心存儲了描述商業或其他實體的資訊及其提供的服務的相關技術調用介面(或API)。至此,以上協議的引入和發佈奠定了Web服務的基礎。

由於Web服務採用基於XML的開放的Web規範技術,具有更好的封裝性、高度的可集成性以及更好的開放性與互通性。相對於COM/DCOM,RMI和CORBA等分散式元件模型,Web服務具有鬆散耦合性、簡單性、高度可集成性和開放標準等特點。通過Web服務能夠遮罩分散式系統間的差異,為跨平臺、松耦合、語言無關的網路環境下的資源分享和集成提供了解決方案。

Web服務運行平臺為Web服務提供了運行和管理環境,實現了服務部署、執行、管理、監控等功能,使得服務能夠遵照標準的服務契約向服務消費者提供業務功能。目前,主流的開源Web服務運行平臺包括:Apache的Axis、Axis2和Apache CXF。商業Web服務平臺包括IBM 的WebSphere、Microsoft的Windows通信框架(WCF:Windows Communication Framework)、SUN的Sun GlassFish Enterprise Server等。

作者簡介:

魏曉東,1967年畢業于天津大學精儀系。1984~1991年任安徽工業大學自動化系副教授。1991年出版《分散型控制系統》( 上海科技文獻出版社) 。2000~2012年任北京和利時系統工程公司副總工、事業部總設計師,北京地鐵13號線、深圳地鐵一期工程、廣州地鐵3號線綜合監控系統工程技術總負責人。2006、2010年出版《城市軌道交通自動化系統與技術》初版與第二版(電自工業出版社);2010年主編國家標準《城市軌道交通綜合監控系統工程設計規範》(GB50636-2010)《城市軌道交通綜合監控系統施工與品質驗收規範》(GB/T50732-2011);2010年主編關於兩化融合的國家標準《工業企業資訊化集成系統規範》(GB/T26335-2010)。2013年至今任清華同方數位城市工程中心技術專家,住建部城市軌道交通標注技術網Eu委員會委員,全國自動化系統與集成標準技術委員會委員。

摘自《自動化博覽》2017年5月刊

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