物聯網是新一代信息技術的重要組成部分。第一,物聯網的核心和基礎仍然是互聯網,是在互聯網基礎上的延伸和擴展的網絡;第二,其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信。因此,物聯網的定義是通過射頻識別(RFID)、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按約定的協議,把任何物品與互聯網相連接,進行信息交換和通信,以實現對物品的智能化識別、定位、跟蹤、監控和管理的一種網絡。
互聯網的快速發展為高校數字化校園的發展提供了極好的機遇。但高校在數字化校園建設過程中,由于諸多原因,應用系統數據的使用、集成和共享出現了瓶頸,隨著應用的增多,“信息孤島”也日漸突現,一定程度上制約著高校信息化建設的發展。因此,實現各應用系統之間的數據有機整合成為高校數字化校園建設急待解決的關鍵問題。
根據需求調研,采用共享數據中心模式來解決應用系統數據整合。共享數據中心存儲全局共享的數據, 通過數據交換工具,把業務系統需共享的數據抽取到共享數據中心進行保存,通過數據訂閱和抽取的方式實現數據共享。這種模式既體現了數據中心的“共享”地位,又實現了共享數據的存儲和轉發,能有效地實現數據的整合。
對于應用系統與共享數據中心的集成,根據數據標準,使用數據集成客戶端工具(ESB客戶端工具),生成相應的主題庫,應用系統在進行數據操作時,直接調用中間件服務,對共享數據中心主題數據庫進行操作。
本文以我院數字化校園數據集成和整合項目(下簡稱“本項目”)為例,闡述基于SOA下,如何基于共享數據中心應用ESB中間件實現數字化校園應用系統的數據整合。
1 SOA和ESB中間件技術
SOA(Service-Oriented Architecture)是面向服務的體系結構,是一個組件模型,它將應用程序的不同功能單元通過服務之間定義良好的接口和契約聯系起來。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟件代理交互的人為依賴性。
采用SOA架構,可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用,有利于項目的建設。在基于SOA架構的系統中,具體應用程序的功能是由一些松耦合并具有統一接口定義方式的組件(Web Service)組合構建起來。
組件被提交到ESB平臺中,通過服務的編排實現具體的業務,達到重復利用組件的效果,這些組件最終以Web Service的方式部署在ESB平臺中。
企業服務總線ESB(Enterprise Service Bus)是基于SOA思想的企業應用集成的基礎軟件架構。IDC將ESB定義為基于開放的標準消息總線,通過標準的適配器和接口提供各程序和組件之間的互操作功能。它支持相互獨立的異構環境中的服務、消息及基于事件的交互,并具有適當的服務級別和可管理性。
ESB 是傳統中間件技術與XML、Web服務等技術相互結合的產物,ESB的出現改變了傳統的軟件架構,可以提供比傳統中間件產品更為廉價的解決方案,同時它還可以消除不同應用之間的技術差異,讓不同的應用服務器協調運作,實現了不同服務之間的通信與整合。從功能上看,ESB提供了事件驅動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內容的路由和過濾,具備了復雜數據的傳輸能力,并可以提供一系列的標準接口。
作為SOA架構的信息傳輸龍骨,ESB為SOA提供了一種連通性的基礎架構,用以連接SOA中的服務。第三方的程序組件能夠以標準的方式“插入”到該平臺上運行,組件之間能夠以標準的消息通信方式進行交互。
在本項目中,所有的數據交換流程都是由多個SOA組件編排組成,SOA組件表現為設計器中的服務組件,例如“表輸入”、“字段映射”等。以“表輸入”組件為例,主要完成從應用系統數據庫抽取數據到ESB平臺中,并轉換成ESB內部傳輸格式的功能;而“字段映射”組件,則是完成兩個表之間不同字段之間的映射關系的功能等;這些服務組件在配置后提交到ESB平臺,注冊形成特定的服務,供流程引擎調用,最終串聯成一條完整的服務流程,完成特定業務功能。這些服務和流程本身都被提交到ESB平臺中進行管理,通過統一的接口注冊在平臺中,ESB管理這些組件和流程,實現流程調用和數據的傳輸[3]。
ESB平臺分為服務端和客戶端兩個部分,分別部署在數據中心服務器和各個應用系統數據庫服務器端,服務端與客戶端之間使用消息中間件實現數據的傳輸以保證數據傳輸的可靠性。服務端與客戶端只需要運行在相應的Java環境下,安裝部署非常方便。
2 應用系統整合思路
通過對學院各部門業務的充分調研,主要應用系統數據流向關系描述為:
(1)人事管理系統需要將共享數據上傳到共享數據中心,上傳的數據包括教職工的基本信息、所屬部門系統、工資信息、津貼信息等。
(2)教務管理系統需要將學生的基本信息、在校信息、通訊信息、家庭信息、院系信息、專業信息、課程信息、教學計劃信息、選課信息、教室使用信息、實驗室使用信息等上傳到共享數據中心,因此需要將老生的報到信息同步到共享數據中心,并將一卡通的學生報到數據、收費系統的收費數據、學工的貸款審批信息的狀況下載到教務系統中,根據這些信息,在教務系統中實現自動注冊。
(3)學工系統根據本身的需求,將學生的基本信息下載到系統中(包括從高考招生的學生基本信息[臨時學號]、學生基本信息(教務上傳的學生基本信息[正式學號])、院系統、班級、專業信息、財務借、貸發放情況、教學的學籍處分信息下載到本地;對于從臨時學號變為正式學號,系統需要將學號進行更新。同時,學工系統需要將獎學金、勤工助學、補助、貸款、宿舍分配信息提供給共享數據中心。
(4)招生辦提供的學生招生信息,通過手工導入方式導入到共享數據中心,共享數據中心根據學校提供的學號編碼規則編制臨時學號,再導入到高考招生基本信息集中。
(5)迎新管理系統根據目前招生導入的高考招生基本信息集,同步到迎新系統的學生基本信息中,一開始時使用學生的臨時學號。在迎新完成之后,在共享數據中心提供手工的方式,為新生產生正式學號;同時將正式學號的學生基本信息、院系信息、專業信息等上傳到共享數據中心。
(6)收費系統將共享數據中心導入的學生招生信息(臨時學號)下載到收費系統中,并根據學生所在的院系、專業、班級情況,制訂收費標準。迎新結束之后,學生的學號信息變為正式學號,由教務系統上傳后,再下載學生的正式學號,修改臨時學號為正式學號。
(7)圖書館管理系統將學生信息、教職工信息下載到讀者信息庫中。同時,將讀者借閱信息、罰款信息、逾期信息、圖書信息提供給共享數據中心,方便學校查詢。
(8)精品課程系統只處理教師的帳號信息以及教師制作的精品課程信息。只需要將教師的基本信息下載到用戶信息庫中。同時,將教師制作的精品課程基本信息同步到共享數據中心的精品課程庫中,為統計分析提供基礎數據。
(9)機房管理系統主要是對學生上機情況進行管理,需要共享數據中心提供院系、班級、學生、專業、課程、排課等信息。
(10)多媒體教室中控監控系統需要共享數據中心的教師基本信息、一卡通的卡號信息。
(11)網絡教學平臺為教師與學生的互動提供基礎平臺,因此需要共享數據中心提供院系、班級、學生、專業、課程、排課、教師等信息。
(12)人事管理系統為共享數據中心提供教師的基本信息、工資信息等。
(13)財務管理系統為共享數據中心提供科研經費信息,教職工的工資、津貼、補助等信息,學生的獎、貸、助、罰等信息。
(14)資產管理系統需要共享數據中心提供教師信息、學生信息等。同時,需要將房屋、土地、儀器、設備等相關資料提供給共享數據中心,作為決策分析的數據。
3 應用ESB實現數據整合
基于ETL(Extract-Transform-Load)的核心思想和SOA的開放架構,通過共享數據中心和ESB中間件形成異構的數據交換處理系統,可以使上述數字化校園諸多應用系統之間復雜的數據提取、處理、映射、裝載等過程變得簡單而高效。通過金蝶Apusic ESB(下簡稱“AESB”)基本可視化的配置工具完成各個應用系統之間的數據采集、交換、同步、共享工作,從而實現數字化校園諸多應用系統的整合。
ETL是數據倉庫中的非常重要的一環。它是承前啟后的必要的一步。相對于關系數據庫,數據倉庫技術沒有嚴格的數學理論基礎,它更面向實際工程應用。所以從工程應用的角度來考慮,按著物理數據模型的要求加載數據并對數據進行一些系列處理,處理過程與經驗直接相關,同時這部分的工作直接關系數據倉庫中數據的質量,從而影響到聯機分析處理和數據挖掘的結果的質量。
數據倉庫是一個獨立的數據環境,需要通過抽取過程將數據從聯機事務處理環境、外部數據源和脫機的數據存儲介質導入到數據倉庫中;在技術上,ETL主要涉及到關聯、轉換、增量、調度和監控等幾個方面;數據倉庫系統中數據不要求與聯機事務處理系統中數據實時同步,所以ETL可以定時進行。但多個ETL的操作時間、順序和成敗對數據倉庫中信息的有效性至關重要。
ETL的質量問題具體表現為正確性、完整性、一致性、完備性、有效性、時效性和可獲取性等幾個特性。而影響質量問題的原因有很多,由系統集成和歷史數據造成的原因主要包括:業務系統不同時期系統之間數據模型不一致;業務系統不同時期業務過程有變化;舊系統模塊在運營、人事、財務、辦公系統等相關信息的不一致;遺留系統和新業務、管理系統數據集成不完備帶來的不一致性。
本項目中應用的AESB主要分為數據源管理、表輸入、字段映射、值映射、分支節點、合并節點、表輸出等組成。根據這些組件,可以根據需要,定制不同的數據交換流程、數據處理方式,最終將處理后的數據輸出到目標數據庫中。
下面以教務系統的學生基本信息變化為例,說明它與學工系統進行整合所實現的數據同步流程,如圖1所示。
在本項目中,共享數據中心后臺管理人員使用設計器進行服務組件的編排,完成數據的抽取與推送。
3.1 數據抽取過程
數據抽取過程如下:
(1)教務系統根據學生基本信息的變化情況(如姓名、聯系電話、班級、學號變化等),由ESB客戶端監測到收費系統的學生基本信息變化情況,啟動數據交換流程。
(2)表輸入:ESB客戶端啟動交換流程之后,從表輸入中讀取變化后的學生基本信息,裝載到ESB客戶端的內存中暫存,應用ESB界面如圖2所示。
(3)字段映射:ESB客戶端根據共享數據中心的主題數據庫的字段情況、教務系統數據庫的字段情況,進行一對一映射,即從教務系統的字段傳遞到共享數據中心主題數據庫的相應主題對象、相應字段,如圖3所示。
(4)值映射:對于教務系統的學生性別,在共享數據中心主題庫中以男對應1、女對應0存放,在值映射中,定義性別字段的值從男變為1,女變為0,實現代碼集的映射。
(5)表輸出:在表輸出中,配置主題數據庫對應的主題庫及主題對象。數據交換流程根據字段映射、值映射、以及表輸出中定義的主題對象,生成數據輸出對象流。
(6)消息中間件:消息中間件根據ESB客戶端提交的數據輸出請求,將數據進行加密、分組,以包的方式進行數據傳輸。
(7)消息中間件在服務器中接收ESB客戶端傳遞的信息包,并進行合并解密后,再傳遞到ESB服務器中。
(8)ESB服務器:ESB服務器接收到消息中間件傳遞的數據包,根據數據包中包含的原始數據、輸出的主題對象,輸出到主題對象庫中。同時,記錄更新的時間、數據內容、客戶端名稱等信息,方便管理人員查看數據交換日志。
3.2 數據同步過程
數據同步過程與數據采集過程類似,只是在數據處理方向上,是從共享數據中心的主題對象中抽取變化的學生數據,再傳遞到收費系統的ESB客戶端中,由收費系統的ESB客戶端輸出到收費系統的學生基本信息中。
提交該流程到數據中心,就可以將這條流程以服務的形式注冊到ESB平臺中以供調用。將流程調度為自動周期性運行,就可以實現實時同步學生數據的功能。
以教務系統與收費系統數據同步為例:
在教務系統中執行【教務系統】→【學生管理】→【學生信息維護】新增三條學生信息,分別是“彭金”“張作海”“莫秋晨”,教務系統中原始學生數據如圖4所示。
應用ESB中間件實現抽取后,從教務系統抽取到共享數據中心的學生數據如圖5所示。
應用中間件實施數據同步。從共享數據中心的主題對象中抽取變化的學生數據,傳遞到收費系統的ESB客戶端中,由收費系統的ESB客戶端輸出到收費系統的學生基本信息中。
進入收費系統,選擇【收費系統】→【變動處理】→【學生信息變動】,可以看到新增學生信息已經同步到收費系統中。
在數字化校園建設進程中,要更大程度地推進數字化建設,必須在深入調研和了解高校業務的基礎上,應用先進的系統設計架構和中間件技術,將各業務系統進行更底層的數據關聯整合,實現數據的交換共享,才能消除信息孤島,保障數字化校園的數據資源真正貫通。高校數字校園綜合管理平臺的建設須堅持“先進性、實用性、開放性、標準化、可靠性、穩定性、可擴展性、易升級性、安全性、保密性、易維護性、可管理性”的設計原則。
-
互聯網
+關注
關注
54文章
11184瀏覽量
103674 -
物聯網
+關注
關注
2912文章
44912瀏覽量
375877 -
SOA
+關注
關注
1文章
293瀏覽量
27537
發布評論請先 登錄
相關推薦
評論