智慧校園綜合業(yè)務(wù)平臺(tái)的ESB架構(gòu)分析與研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
智慧校園[1] 是指以物聯(lián)網(wǎng)為基礎(chǔ)的智慧化校園工作、學(xué)習(xí)和生活一體化的環(huán)境,這種一體化環(huán)境以各種應(yīng)用服務(wù)系統(tǒng)為載體,將教學(xué)、科研、管理和校園生活進(jìn)行充分融合。目前, 國內(nèi)外在智慧校園平臺(tái)的架構(gòu)設(shè)計(jì)與開發(fā)方面做了相關(guān)研究: 文獻(xiàn) [2] 提出利用云計(jì)算、虛擬化及SOA 構(gòu)建校園云,結(jié)合物聯(lián)網(wǎng)、RFID構(gòu)建智慧校園,實(shí)現(xiàn)資源動(dòng)態(tài)分配,提高資源利用率 ;文獻(xiàn) [3] 提出一種面向私有云的IaaS架構(gòu)的智慧校園信息化支撐平臺(tái),為云計(jì)算在智慧校園平臺(tái)的建設(shè)應(yīng)用提供了基礎(chǔ);文獻(xiàn) [4] 提出基于SOA的實(shí)時(shí)服務(wù)總線,用于構(gòu)建分布式實(shí)時(shí)系統(tǒng) ;文獻(xiàn) [5] 在分析遠(yuǎn)程教育平臺(tái)缺陷的基礎(chǔ)上提出了基于SOA的智能遠(yuǎn)程教育平臺(tái)的概念,并給出了平臺(tái)架構(gòu)和模型的實(shí)現(xiàn)方式;文獻(xiàn) [6]提出一種基于企業(yè)服務(wù)總線(ESB) 的共享平臺(tái)架構(gòu)模型,并以 貴陽市城市綜合應(yīng)急管理共享平臺(tái) 為例探討了該共享平臺(tái)的實(shí)現(xiàn)方案,這為利用ESB 技術(shù)實(shí)現(xiàn)智慧校園平臺(tái)架構(gòu)設(shè)計(jì)提供了理論依據(jù);文獻(xiàn) [7] 在調(diào)研各個(gè)行業(yè)常用物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)的基礎(chǔ)上,梳理出各類系統(tǒng)的共性功能,把各系統(tǒng)的共性功能看作服務(wù),提出一種基于企業(yè)服務(wù)總線的物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺(tái)架構(gòu);文獻(xiàn) [8] 在綜合分析了WebServices,SOA和ESB三者之間聯(lián)系的基礎(chǔ)上給出一種基于ApacheSynapseESB平臺(tái)的應(yīng)用集成規(guī)則。這些研究對(duì)物聯(lián)網(wǎng)技術(shù)和SOA 應(yīng)用在智慧校園平臺(tái)建設(shè)方面具有一定的借鑒意義,也為利用ESB 技術(shù)構(gòu)建與實(shí)現(xiàn)智慧校園綜合業(yè)務(wù)平臺(tái)提供了一定的技術(shù)基礎(chǔ)。
1 ESB簡(jiǎn)介
企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)是傳統(tǒng)中間件技術(shù)與XML、Web 服務(wù)等技術(shù)結(jié)合的產(chǎn)物,是 SOA 的一種實(shí)現(xiàn)方式[9]。ESB 主要提供了協(xié)議轉(zhuǎn)換、消息傳遞、消息轉(zhuǎn)換和服務(wù)路由等功能。在眾多ESB 實(shí)現(xiàn)工具中,Apache Synapse 是一個(gè)輕量級(jí)高性能的企業(yè)服務(wù)總線, 通過一個(gè)快速的異步規(guī)則引擎,能分別提供 XML,Web Services 和REST 的支持。除 XML 和 SOAP 外,Apache Synapse 還支持其他中間內(nèi)容格式,如純文本、二進(jìn)制、JSON 等,通過大量的適配器可以支持諸如 HTTP(S),POP3/IMAP/SMTP 郵件協(xié)議,TCP,UDP 等傳輸協(xié)議,以支持與其他系統(tǒng)的通信[10]。
2 基于ApacheSynapseESB 的智慧校園綜合業(yè)務(wù)平臺(tái)的架構(gòu)設(shè)計(jì)
2.1 平臺(tái)的總體架構(gòu)
本文提出的基于ESB 的智慧校園綜合業(yè)務(wù)平臺(tái),不僅要解決智慧校園綜合業(yè)務(wù)平臺(tái)建設(shè)過程中存在的 信息孤島問題,實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的集成與通信,還要側(cè)重滿足基于物聯(lián)網(wǎng)應(yīng)用技術(shù)智慧校園的智能化管理功能。為此,結(jié)合Apache Synapse 的特點(diǎn),本文給出一種基于Apache Synapse ESB 的智慧校園綜合業(yè)務(wù)平臺(tái)的架構(gòu)設(shè)計(jì)方案, 如圖 1 所示。利用ESB 技術(shù)實(shí)現(xiàn)平臺(tái)架構(gòu)的最大特點(diǎn)在于組件服務(wù)化和業(yè)務(wù)編排,在平臺(tái)架構(gòu)中,還引入了服務(wù)組件框架(Service Component Architecture,SCA) 編程規(guī)范機(jī)制來實(shí)現(xiàn)業(yè)務(wù)組件的服務(wù)化處理以及利用業(yè)務(wù)過程管理(Business Process Management,BPM)實(shí)現(xiàn)業(yè)務(wù)服務(wù)的彼此串接。
平臺(tái)采用 3 層架構(gòu)設(shè)計(jì),即基礎(chǔ)設(shè)施層、服務(wù)管理層和應(yīng)用層。在服務(wù)管理層引入Apache Synapse ESB 企業(yè)服務(wù)總線,主要負(fù)責(zé)向SCA 組件模型傳入基于JMS 傳輸協(xié)議的SOAP 消息以及接收BPM 流程管理傳入的基于JMS 傳輸協(xié)議的SOAP 消息。同時(shí)服務(wù)管理層還以服務(wù)適配器的形式封裝基礎(chǔ)設(shè)施層提供的基礎(chǔ)功能,而后通過 SCA 框架規(guī)范化這些服務(wù)適配器為基于SOAP 的Web 服務(wù)。這些基于 SOAP 的Web 服務(wù)又供 BPM 消費(fèi)使用。在應(yīng)用層則通過HTTP 傳輸協(xié)議向ESB 傳入SOAP 消息,而此時(shí)Apache Synapse ESB 不僅要實(shí)現(xiàn) HTTP 協(xié)議與JMS 協(xié)議的轉(zhuǎn)換,還要根據(jù)消息的內(nèi)容使用路由規(guī)則調(diào)用相應(yīng)的服務(wù)。
2.2 平臺(tái)功能
平臺(tái)各層次的主要功能描述如下:
(1) 應(yīng)用層主要分為應(yīng)用表示層和業(yè)務(wù)邏輯層。應(yīng)用表示層包含了智慧校園領(lǐng)域的各項(xiàng)功能應(yīng)用,并提供了一個(gè)良好的人機(jī)交互平臺(tái),通過人工操作觸發(fā)驅(qū)動(dòng)業(yè)務(wù)邏輯層接口,實(shí)現(xiàn)對(duì)底層服務(wù)的調(diào)用。業(yè)務(wù)邏輯層起著承上啟下的作用,除了要向上層提供良好、靈活的業(yè)務(wù)邏輯接口以供調(diào)用,還要向下發(fā)送基于HTTP傳輸協(xié)議的 SOAP消息給ApacheSynapse ESB總線,實(shí)現(xiàn)對(duì)服務(wù)的調(diào)用。
(2) 服務(wù)管理層大致可以分為 ApacheSynapseESB總線、SCA 組件層、BPM 業(yè)務(wù)流程管理和服務(wù)適配器層四個(gè)部分。
Apache Synapse ESB 總線是服務(wù)管理層的核心部分,主要利用Apache Synapse ESB 所提供的功能實(shí)現(xiàn)消息的傳遞和轉(zhuǎn)換、協(xié)議的適配等,實(shí)現(xiàn)異構(gòu)系統(tǒng)之間基礎(chǔ)業(yè)務(wù)協(xié)同能力以及數(shù)據(jù)交換和共享能力。
SCA 組件層將服務(wù)適配器層提供的各種形式的服務(wù)適配器通過 SCA 框架定義和創(chuàng)建基于SOAP 的Web 服務(wù),以供BPM 業(yè)務(wù)流程管理使用。
BPM 業(yè)務(wù)流程管理利用SCA 組件層提供的服務(wù)組裝創(chuàng)建可建模、可執(zhí)行的業(yè)務(wù)流程,并將其服務(wù)化為 SCA 組件, 供Apache Synapse ESB 使用。
服務(wù)適配器層主要設(shè)計(jì)開發(fā)不同語言環(huán)境下的服務(wù)適配器接口,向下實(shí)現(xiàn)調(diào)用平臺(tái)底層的基礎(chǔ)業(yè)務(wù)功能,向上提供一個(gè)可調(diào)用的良好接口。
(3) 基礎(chǔ)設(shè)施層??梢詫⑵鋭澐譃榛谖锫?lián)網(wǎng)技術(shù)的智能化管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、歷史遺留的業(yè)務(wù)系統(tǒng)和可擴(kuò)展接口四個(gè)部分。
基于物聯(lián)網(wǎng)技術(shù)的智能化管理系統(tǒng)主要利用物聯(lián)網(wǎng)技術(shù)將該部分分割為感知層和傳輸層。感知層主要負(fù)責(zé)將物聯(lián)網(wǎng)中各個(gè)感知節(jié)點(diǎn)的信息接入平臺(tái);傳輸層具有多種類型的通信接口,便于感知層感知節(jié)點(diǎn)的信息接入以及傳遞服務(wù)管理層向感知層發(fā)送的命令。
數(shù)據(jù)庫系統(tǒng)提供有數(shù)據(jù)庫管理系統(tǒng),便于各種業(yè)務(wù)數(shù)據(jù)的保存和讀取。
歷史遺留的業(yè)務(wù)系統(tǒng)保留著現(xiàn)有的業(yè)務(wù)系統(tǒng),以便通過擴(kuò)展現(xiàn)有的業(yè)務(wù)系統(tǒng)接口提供基礎(chǔ)業(yè)務(wù)功能??蓴U(kuò)展的接口主要包含平臺(tái)的可擴(kuò)展業(yè)務(wù),如郵件服務(wù)等。
2.3 平臺(tái)的UML部署圖設(shè)計(jì)
基于Apache Synapse ESB 的智慧校園綜合業(yè)務(wù)平臺(tái)的UML 部署如圖 2 所示。在該部署圖中,主要有 2 個(gè)服務(wù)器, 即SCA 服務(wù)器和ESB 服務(wù)器。SCA 服務(wù)器主要負(fù)責(zé)將各業(yè)務(wù)功能和 BPM 服務(wù)化 ;ESB 服務(wù)器則負(fù)責(zé)將服務(wù)化后的 SCA 組件進(jìn)行部署,以供客戶端使用。其他各個(gè)業(yè)務(wù)系統(tǒng)以結(jié)點(diǎn)的形式通過通信協(xié)議連接到SCA 服務(wù)器,從而實(shí)現(xiàn)業(yè)務(wù)功能的服務(wù)化。
圖 2 基于Apache Synapse ESB 的智慧校園綜合業(yè)務(wù)平臺(tái)的
3 結(jié) 語
本文提出了一個(gè)基于Apache Synapse ESB 的智慧校園綜合業(yè)務(wù)平臺(tái)架構(gòu),構(gòu)建了一個(gè)高效的、易擴(kuò)展的、趨于完善的平臺(tái),使其可以支持智慧校園領(lǐng)域的更多應(yīng)用,并對(duì)架構(gòu)中的各層功能、平臺(tái)硬件和軟件的部署情況進(jìn)行了闡述,為智慧校園綜合業(yè)務(wù)平臺(tái)的構(gòu)建與研究奠定了一定的基礎(chǔ)。目前,該平臺(tái)還處于分析與研究階段,仍有一些功能未能完善,如平臺(tái)如何處理文件傳輸和實(shí)現(xiàn)存儲(chǔ)功能,以及如何使用Apache Synapse 實(shí)現(xiàn)本文所提及的ESB 架構(gòu),這些都是后期將要繼續(xù)研究的主要問題。