摘 要: 針對各ITS系統(tǒng)建設(shè)中存在的問題,分析了面向服務(wù)體系結(jié)構(gòu)和Web服務(wù)的理論及特點?;赟OA和Web Services技術(shù)提出了智能交通綜合信息平臺集成架構(gòu),分析了該平臺的優(yōu)勢、集成的難點,對該平臺的實現(xiàn)作了研究和分析,為交通信息的共享、交換、深加工和綜合利用提供了一個理想的平臺。
關(guān)鍵詞: 面向服務(wù)架構(gòu);智能交通;綜合信息平臺;數(shù)據(jù)共享與交互
智能運輸系統(tǒng)(ITS)隨電子信息技術(shù)的發(fā)展得到了迅速發(fā)展。然而,在ITS建設(shè)方面表現(xiàn)為多部門各自研發(fā)和建設(shè),其中公路交通的主體就涉及到公安局交警隊、交通局、公交公司、出租車公司[1],其他ITS系統(tǒng)還包括鐵路、航空、水路等。這些ITS系統(tǒng)雖然自身都掌握有一定的交通信息資源,但又無法完全滿足自身業(yè)務(wù)發(fā)展需求,存在較強(qiáng)的信息交換及聯(lián)網(wǎng)需求。但各自開發(fā)的不同交通實體間ITS系統(tǒng)彼此獨立,相互異構(gòu),多層次的縱向分割,無法整合,彼此不能交互、共享,缺乏協(xié)作能力,難以面向一些綜合性、協(xié)作性要求較高的應(yīng)用,不能對各類交通數(shù)據(jù)進(jìn)行綜合的統(tǒng)計分析,不能發(fā)揮輔助決策作用,造成現(xiàn)有資源難以利用或不能充分利用以致出現(xiàn)“物流聯(lián)運短路”[2]的尷尬局面。
為解決以上矛盾,推倒現(xiàn)有系統(tǒng)重新開發(fā)一個統(tǒng)一系統(tǒng),從成本、實施周期到難度上看都是一種不可行的解決方案。發(fā)達(dá)國家ITS建設(shè)的成功經(jīng)驗表明,當(dāng)ITS發(fā)展到一定階段,就應(yīng)該擴(kuò)展高層次的交通信息服務(wù),要選擇一個合適的集成平臺將各個分散的、孤立的ITS系統(tǒng)有機(jī)地集成起來[1]。ITS發(fā)展的當(dāng)務(wù)之急是必須在技術(shù)上解決好系統(tǒng)整合、信息交換、共享和深加工的問題,建立智能交通綜合信息平臺是解決該問題的主要途徑,它可實現(xiàn)多個交通部門之間、多個ITS應(yīng)用系統(tǒng)間的有機(jī)整合,對來自各個不同ITS數(shù)據(jù)源的數(shù)據(jù)進(jìn)行采集、存儲、共享、交互和綜合利用。智能交通綜合信息平臺是智能交通系統(tǒng)ITS的信息樞紐,是各組成部分之間信息互通的橋梁,是對整個地區(qū)交通信息系統(tǒng)共用數(shù)據(jù)組織結(jié)構(gòu)和傳輸形式的一種規(guī)范化定義。
1 面向服務(wù)體系架構(gòu)SOA和Web服務(wù)及優(yōu)勢
1.1 面向服務(wù)體系架構(gòu)SOA
面向服務(wù)體系架構(gòu)SOA是一種在計算環(huán)境中設(shè)計、開發(fā)、部署和管理服務(wù)的組件模型,是粗粒度、松散耦合的服務(wù)架構(gòu),它通過定義良好的接口和契約將應(yīng)用程序的不同功能單元聯(lián)系起來。接口采用中立的方式進(jìn)行定義,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言?;谶@種模型的應(yīng)用程序的不同功能單元可以以一種統(tǒng)一和通用的方式進(jìn)行交互,不必考慮其后臺具體的實現(xiàn)技術(shù)和運行平臺等,從而最大限度地重用了應(yīng)用程序中的服務(wù),提高了IT適應(yīng)性和效率[3]。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,各種原本封閉的資源將以服務(wù)的形式開放出來,并且互聯(lián)網(wǎng)上原有資源以及新出現(xiàn)的資源已經(jīng)或者正在以服務(wù)的形式存在,SOA的價值將更加巨大。SOA為解決異構(gòu)資源的統(tǒng)一訪問提供了很好的架構(gòu),是傳統(tǒng)的面向?qū)ο竽P偷奶娲P?。與Web服務(wù)和一系列公認(rèn)的面向服務(wù)的原則一起,發(fā)展成為嶄新的架構(gòu)平臺。SOA被譽(yù)為下一代Web 服務(wù)的基礎(chǔ)架構(gòu),目前已成為計算機(jī)信息領(lǐng)域的一個新的發(fā)展方向[3]。構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種通用的方式進(jìn)行交互。
1.2 Web服務(wù)
Web Services已經(jīng)成為實現(xiàn)SOA的主要技術(shù),是一個嶄新的分布式計算模型,是Web數(shù)據(jù)和信息集成的有效機(jī)制。它基于XML、SOAP、WSDL、UDDI等協(xié)議,動態(tài)地描述、開發(fā)、發(fā)布、發(fā)現(xiàn)和調(diào)用跨平臺、跨系統(tǒng)的各種分布式應(yīng)用。Web Services包括SOAP、WSDL、UDDI以及補(bǔ)充的Web Services規(guī)范等,是一套開放的標(biāo)準(zhǔn),將促進(jìn)SOA被廣泛采納,并成為新一代面向服務(wù)開發(fā)的基礎(chǔ),使各種網(wǎng)絡(luò)軟硬件設(shè)備通過XML文檔實現(xiàn)無縫鏈接,透過Web Services,任何應(yīng)用程序可在網(wǎng)絡(luò)上順利地整合在一起。由于Web Services利用標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議來傳送XML信息,因此可以使任何程序語言、中間層組件或平臺很容易地整合進(jìn)來,并且可以快速低成本地集成各部門、各應(yīng)用系統(tǒng)。Web服務(wù)的各種協(xié)議結(jié)構(gòu)如圖1所示。
Web Services之前的分布式架構(gòu)技術(shù)主要包括CORBA、DCOM、COM+、RMI等,這些技術(shù)要求服務(wù)客戶端與系統(tǒng)提供的服務(wù)本身之間必須進(jìn)行緊耦合,這將會導(dǎo)致如果一端的執(zhí)行機(jī)制發(fā)生變化,另一端便會崩潰[4]。而Web Services采用松散耦合的XML技術(shù),用標(biāo)準(zhǔn)的Internet協(xié)議訪問,具有以組件為基礎(chǔ)的開發(fā)模式和Web的出色性能,通過網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)格式可以在不關(guān)心功能實現(xiàn)的情況下重復(fù)使用,并且Web服務(wù)的用戶可以使用任何語言在任何平臺上完成相應(yīng)的功能。隨著安全性、可靠性、事務(wù)性、元數(shù)據(jù)管理及編制等相應(yīng)的新的Web服務(wù)標(biāo)準(zhǔn)的提出,Web服務(wù)應(yīng)用必將擴(kuò)展到更廣的范圍。并且它可以始終如一地提供健壯的、可重用的服務(wù),以促成信息技術(shù)與業(yè)務(wù)需求的配合與協(xié)調(diào),更容易集成信息系統(tǒng)及實現(xiàn)業(yè)務(wù)流程的自動化,是實現(xiàn)SOA的理想平臺。
1.3 基于Web Services和SOA構(gòu)建智能交通信息平臺
1.3.1 構(gòu)建思想
Web Services提供的是業(yè)務(wù)功能而非技術(shù)功能,并且能滿足公共需求且可在不同的應(yīng)用程序中重用,即SOA中的服務(wù)是無縫地提供給服務(wù)使用者使用的。通過組件對象的分布和運行重用,在使用者連接到一個SOA實例后,服務(wù)使用者可以無縫地使用服務(wù),所以在實現(xiàn)綜合信息平臺時將智能交通的各個子系統(tǒng)提供的業(yè)務(wù)服務(wù)作為SOA的構(gòu)建模型,實現(xiàn)工作流程和業(yè)務(wù)面向服務(wù)的轉(zhuǎn)化。
1.3.2 技術(shù)無關(guān)和跨平臺性
各個ITS子系統(tǒng)的平臺構(gòu)建技術(shù)包含有.NET、J2EE,分布式技術(shù)有EJB、CORBA、COM+等,傳輸機(jī)制有同步傳輸和異步傳輸,分布式體系架構(gòu)有用Web服務(wù)實現(xiàn)等[5]。而使用SOA將自然地抽象和隱藏以上特殊平臺和技術(shù)的專有屬性,實現(xiàn)技術(shù)環(huán)境的一致性和標(biāo)準(zhǔn)化。
1.3.3 數(shù)據(jù)共享和集成[6]
分布式的數(shù)據(jù)訪問方式中,數(shù)據(jù)存放在應(yīng)用系統(tǒng)自有的數(shù)據(jù)庫中,每個應(yīng)用節(jié)點通過建立Web服務(wù)來展示自己所提供的數(shù)據(jù)模式,在接到數(shù)據(jù)訪問服務(wù)請求時,通過Web服務(wù)調(diào)用來向外提供數(shù)據(jù)服務(wù),在交換過程中使用XML來封裝數(shù)據(jù)。分布式的數(shù)據(jù)匯集,可以將需要共享的數(shù)據(jù)通過節(jié)點服務(wù)器上傳到數(shù)據(jù)中心并加以更新,平臺在接到數(shù)據(jù)服務(wù)請求時,直接從平臺的數(shù)據(jù)中心提供平臺服務(wù)。
1.3.4 支持異構(gòu)系統(tǒng)及其間的無縫對接
使用當(dāng)前的Web服務(wù)架構(gòu),采用消息轉(zhuǎn)發(fā)的模式進(jìn)行系統(tǒng)間的通信,各個應(yīng)用系統(tǒng)間可以采用不同的系統(tǒng)開發(fā)技術(shù)。服務(wù)器端可以采用J2EE或IIS服務(wù)器、自身的軟件服務(wù)器,也可以是公開的服務(wù)器格式協(xié)議[6]。通過服務(wù)參數(shù)及調(diào)用模式間的轉(zhuǎn)換,實現(xiàn)異構(gòu)系統(tǒng)的部署。同時,支持?jǐn)?shù)據(jù)以XML格式在各節(jié)點進(jìn)行交換和轉(zhuǎn)換,實現(xiàn)系統(tǒng)間的無縫對接。
1.3.5 支持多種通信傳輸方式[7]
支持多種通信傳輸方式,通過相關(guān)技術(shù),按照接口標(biāo)準(zhǔn)和服務(wù)標(biāo)準(zhǔn)來實現(xiàn)異構(gòu)的應(yīng)用系統(tǒng)間的連接,實現(xiàn)數(shù)據(jù)封裝、交換和共享,提供良好的互操作性。
2 智能交通綜合信息平臺及集成層次架構(gòu)
2.1 智能交通綜合信息平臺集成的難點分析
城市ITS涉及到多個部門的職能范圍,每一個部門既是ITS的數(shù)據(jù)源,又是其他部門以及在多部門數(shù)據(jù)之上進(jìn)行綜合加工處理所得到信息的需求者。只有各相關(guān)部門協(xié)調(diào)配合、協(xié)同行動,在一定的機(jī)制和技術(shù)手段上充分實現(xiàn)部門間的信息共享,城市ITS才可能順利建設(shè)和發(fā)展,才能真正在提高城市交通管理與服務(wù)水平、提高城市交通系統(tǒng)運行效率、緩解交通擁堵、站在城市大交通的高度提供科學(xué)的決策支持等方面發(fā)揮應(yīng)有的作用。
雖然各交通部門間業(yè)務(wù)聯(lián)系緊密,但由于我國管理體制的條塊分割,分屬不同部門的千差萬別的ITS 應(yīng)用系統(tǒng),其實現(xiàn)的平臺不同、業(yè)務(wù)流程不同、數(shù)據(jù)格式各異、實現(xiàn)技術(shù)不同。為提高交通各相關(guān)部門的業(yè)務(wù)協(xié)同處理能力和工作效率,需要對各部門的信息系統(tǒng)進(jìn)行集成,形成智能交通綜合信息平臺,以便統(tǒng)一、透明地操作不同交通部門ITS系統(tǒng)間的數(shù)據(jù),使用戶可以透明地訪問各個不同應(yīng)用程序,實現(xiàn)數(shù)據(jù)的共享,同時為交通部門數(shù)據(jù)的綜合利用和業(yè)務(wù)決策提供基礎(chǔ)和依據(jù)。
通過智能交通綜合信息平臺實現(xiàn)各交通部門間交通信息系統(tǒng)的有效集成,使面對來自不同部門、不同系統(tǒng)、不同設(shè)備、不同時段的性質(zhì)內(nèi)容各異、格式千差萬別的海量數(shù)據(jù)通過智能交通綜合信息平臺實現(xiàn)信息交換和共享,是智能交通綜合信息平臺集成的難點,也是集成的重點所在。
2.2 智能交通綜合信息平臺集成層次架構(gòu)
針對智能交通綜合信息平臺集成的需求,提出了如圖2所示的基于Web Services和SOA的智能交通綜合信息平臺集成架構(gòu),由分布異構(gòu)數(shù)據(jù)源層、業(yè)務(wù)邏輯層、應(yīng)用層三層構(gòu)成,可解決各部門ITS子系統(tǒng)間信息通信和數(shù)據(jù)共享的問題,并能對數(shù)據(jù)進(jìn)行綜合加工處理。
分布異構(gòu)數(shù)據(jù)源層包括多個采用了不同的開發(fā)技術(shù)、開發(fā)平臺和不同數(shù)據(jù)庫平臺的不同ITS子系統(tǒng)的交通數(shù)據(jù)源,將各系統(tǒng)不同的異構(gòu)的信息形成標(biāo)準(zhǔn)數(shù)據(jù)源。業(yè)務(wù)邏輯層根據(jù)SOA和Web Services提供的功能和良好的數(shù)據(jù)標(biāo)準(zhǔn)將異構(gòu)數(shù)據(jù)源層提供的數(shù)據(jù)以Web服務(wù)方式進(jìn)行業(yè)務(wù)集成,并通過數(shù)據(jù)倉庫管理和存儲、訪問和獲取,實現(xiàn)數(shù)據(jù)共享和交互查詢。應(yīng)用層將業(yè)務(wù)邏輯層的處理結(jié)果返回用戶,并可進(jìn)行Web發(fā)布。本集成方案的各個部分通過基于Web服務(wù)的消息總線進(jìn)行通信,實現(xiàn)了各部分間的松耦合關(guān)系,可協(xié)調(diào)解決不同系統(tǒng)、不兼容的技術(shù)的系統(tǒng)的數(shù)據(jù)差別和數(shù)據(jù)交互模式。
3 基于Web Services和SOA的智能交通信息平臺
3.1 系統(tǒng)集成架構(gòu)的實現(xiàn)
在集成框架中,各智能交通子系統(tǒng)的交通數(shù)據(jù)源對應(yīng)著集成體系結(jié)構(gòu)中的異構(gòu)數(shù)據(jù)源層。為使欲集成的業(yè)務(wù)模塊能夠加入到信息集成平臺中,并了解和利用一些共享的信息,首先就要從資源系統(tǒng)中提取共享數(shù)據(jù),生成相應(yīng)的XML文檔,并放在服務(wù)器上,通過Web服務(wù)對XML文檔進(jìn)行監(jiān)聽,Web服務(wù)將監(jiān)聽到的XML數(shù)據(jù)外置到互聯(lián)網(wǎng),并且通過監(jiān)聽的方法監(jiān)聽數(shù)據(jù)的變化,及時反映到其他系統(tǒng),通過這種監(jiān)聽方式保證數(shù)據(jù)的一致性。這樣就將共享系統(tǒng)與共享數(shù)據(jù)分離,又使它們保持有機(jī)聯(lián)系,從而減少了資源系統(tǒng)暴露在互聯(lián)網(wǎng)下的風(fēng)險。業(yè)務(wù)邏輯層則對所有信息實現(xiàn)總的控制,提供Web Service服務(wù),并負(fù)責(zé)不同系統(tǒng)的共享服務(wù)資源的注冊、存儲、管理、查詢以及發(fā)布,將相應(yīng)的數(shù)據(jù)存儲在綜合數(shù)據(jù)庫或數(shù)據(jù)倉庫中,以實現(xiàn)全局的信息共享和數(shù)據(jù)交換。使得統(tǒng)一合作的子系統(tǒng)成為一個整體,不讓非合作組織的成員共享。同時集成平臺提供Web服務(wù),將所有共享的信息通過Web服務(wù)的形式對外發(fā)布,使其可以通過Web瀏覽器進(jìn)行訪問,實現(xiàn)了應(yīng)用層的功能,同時也保證了各系統(tǒng)的安全。
3.2 智能交通綜合信息平臺集成實現(xiàn)的關(guān)鍵點
智能交通綜合信息平臺集成實現(xiàn)的關(guān)鍵點體現(xiàn)在用Web Services實現(xiàn)信息集成和交互以及Web服務(wù)器的架構(gòu)兩點上。面向服務(wù)的集成提供了一個抽象的接口,系統(tǒng)通過該接口進(jìn)行交互,而不是使用底層的協(xié)議和自定義的接口來規(guī)定系統(tǒng)與其他系統(tǒng)的交互。系統(tǒng)只需要以服務(wù)的形式出現(xiàn),選擇與其交互的系統(tǒng),能夠簡單發(fā)現(xiàn)那些服務(wù),在運行時與其綁定,尤其是在分布式Web應(yīng)用服務(wù)中。Web系統(tǒng)間通過互聯(lián)網(wǎng)互訪時,數(shù)據(jù)都是基于XML形式訪問的,當(dāng)獲得XML文檔后,只需要通過強(qiáng)類型轉(zhuǎn)化即可將XML文檔映射成數(shù)據(jù)庫中數(shù)據(jù)表一樣的結(jié)構(gòu),以供Web應(yīng)用程序以及其他子系統(tǒng)使用。在Web Service中添加一個Web方法即可外置XML文檔。在Web服務(wù)器架構(gòu)方面,采用Web服務(wù)來實現(xiàn)。Web服務(wù)體系使用WSDL描述服務(wù),使用UDDI發(fā)布和查找服務(wù),采用SOAP協(xié)議執(zhí)行服務(wù)調(diào)用,其完全是低耦合的,只有在請求者需要服務(wù)時才動態(tài)地綁定服務(wù)提供者。另外,Web服務(wù)是可組合和可重用的,并且采用SOAP執(zhí)行服務(wù)調(diào)用及XML作為消息格式。本文采用IIS服務(wù)器構(gòu)建SOA平臺,Web Services的實現(xiàn)采用了.net平臺。
對于圖2所示的集成架構(gòu),無論原有的數(shù)據(jù)源系統(tǒng)是基于何種平臺采用何種技術(shù)實現(xiàn)的,在對外接口上都用統(tǒng)一的對象模型Web Services進(jìn)行封裝。新的功能可以直接設(shè)計為一個Web Services,已有的功能則可以進(jìn)行接口轉(zhuǎn)換和封裝。在未來的業(yè)務(wù)需求變更后,不必對整個系統(tǒng)進(jìn)行修改,只需要變更相應(yīng)的模塊,并將其封裝成服務(wù)后發(fā)布。這樣減少了系統(tǒng)維護(hù)的工作量,更便于與其他系統(tǒng)的集成。通過定義Web Services的接口描述WSDL文檔,并把WDSL文檔描述的內(nèi)容映射到UDDI數(shù)據(jù)結(jié)構(gòu)中去注冊。當(dāng)服務(wù)請求者請求獲取數(shù)據(jù)服務(wù)時,首先需要到UDDI注冊庫訪問該服務(wù)的注冊信息,然后訪問該服務(wù)的WSDL文檔,并生成本地對象。然后各業(yè)務(wù)通過此對象與Web Services進(jìn)行交互,如果Web Services的內(nèi)部結(jié)構(gòu)和實現(xiàn)發(fā)生了改變,只要WSDL描述保持不變,整個系統(tǒng)就不需要做任何變化。
SOA和Web Services為企業(yè)開發(fā)和集成提供了一個松耦合、可擴(kuò)展及互操作性強(qiáng)的軟件架構(gòu)思想。智能交通綜合信息平臺通過對這種思想的應(yīng)用,可有效解決各智能交通系統(tǒng)的數(shù)據(jù)共享和交換問題,擴(kuò)展和集成現(xiàn)有和未來的各交通管理系統(tǒng)的功能,提高交通系統(tǒng)的集成性和智能化水平,同時共享各系統(tǒng)的數(shù)據(jù)和信息,避免了信息的重復(fù)采集與低水平利用的現(xiàn)象,實現(xiàn)了多種交通信息的互連,并且能將綜合數(shù)據(jù)分析所獲得的有用信息發(fā)布出去,為政府和社會提供更廣泛的交通信息服務(wù),緩解交通壓力,提高出行效率。還可以通過數(shù)據(jù)融合、數(shù)據(jù)挖掘、專家系統(tǒng)等技術(shù)的應(yīng)用,獲得有用知識,為交通管理提供輔助決策支持,減少環(huán)境污染,解決資源短缺問題,提高辦公效率,減少事故發(fā)生,體現(xiàn)以人為本的理念,提高我國的信息化水平。此平臺為不同交通部門間的各子ITS系統(tǒng)的整合集成奠定了堅實基礎(chǔ)。
參考文獻(xiàn)
[1] 陳茜,邱紅妹.全國智能交通系統(tǒng)示范城市建設(shè)示例-杭州ITS建設(shè)現(xiàn)狀與發(fā)展規(guī)劃[J].城市交通,2008,6(1):
33-38.
[2] 《經(jīng)濟(jì)半小時》聚焦中國物流頑癥之七——物流聯(lián)運短路之謎[N/OL].[2011-05-15].http://jingji.cntv.cn/
20110515/105013.html.
[3] 王衛(wèi)星,王晨光.基于SOA的企業(yè)信息系統(tǒng)集成框架[J].計算機(jī)工程,2010,36(18): 29-31.
[4] 楊鵬,王文俊,董存祥.海洋領(lǐng)域信息集成與共享研究[J].計算機(jī)工程與應(yīng)用,2010,46(26): 194-197.
[5] 張朝暉,徐立臻,董逸生,等.一種基于SOA的企業(yè)集成平臺[J].計算機(jī)工程,2011,37(5): 258-260.
[6] 張雷元.智能交通系統(tǒng)集成模式的研究與應(yīng)用[J].交通與計算機(jī),2010(10): 136-158.
[7] 馬俊,丁曉明.基于SOA的現(xiàn)代異構(gòu)系統(tǒng)集成研究[J].計算機(jī)工程與設(shè)計,2008,29(14): 3638-3641.
[8] 柴曉路,梁宇奇.Web Service技術(shù)、架構(gòu)和應(yīng)用[M].北京: 電子工業(yè)出版社,2003.