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





