使用Business Events和Business Monitor對感測器資料進行智慧分析
簡介: 感測器技術在智慧的地球中起著非常重要的作用,藉助於各類感測器我們可以將日常生活中物體的位置、溫度、重量以及氣體濃度、水流速度等資訊實時輸送到後臺系統。IBM WebSphere Sensor Events(WSE)中介軟體可以幫助收集、過濾現實中各種型別的感測資料,再將統一格式的感測資料傳送給 IBM WebSphere Business Events(WBE)中介軟體,按照事先定義的複雜事件規則對感測資料進行分析,從而產生出更有意義的帶有商業邏輯的事件資料,最終我們可以藉助 IBM WebSphere Business Monitor(WBM)的儀表盤等功能形象、直觀的監控這些現實世界的事件,幫助我們更加科學有效地發現和解決問題。本文將著重向讀者介紹怎樣將 WSE、WBE、WBM 整合在一起,完成相互訊息傳輸、加工的方法,並提供一個完整的開發案例讓讀者直觀的感受到通過以上三個產品的整合使用給企業日常生產帶來的好處。
<!--
IBM WebSphere Sensor Events 簡介
IBM WebSphere Sensor Events(下面簡稱為 WSE)是一個針對感測器解決方案而設計開發的中介軟體產品平臺,它提供了一套靈活的硬體管理、資料傳輸及訊息適配方案,使使用者能夠輕而易舉的接收和處理各類感測器事件,並能夠快速整合、擴充套件現有的企業系統架構。而在 V6.2 版本中軟體本身又通過兩個全新的訊息轉換可重用元件及相關訊息輸入輸出通道,實現了與 IBM WebSphere Business Events(下面簡稱為 WBE),IBM WebSphere Business Monitor(下面簡稱為 WBM)的系統整合,今後使用者可以藉助 IBM 強大的企業資料管理軟體對感測資料進行智慧分析,以應對各類商業挑戰,幫助企業及時預估潛在風險,果斷且快速地作出決策處理。如圖 1 所示 WSE 和 WBE,以及 WBM 的系統整合架構圖。
圖 1. WebSphere Sensor Events 與 WebSphere Business Events,WebSphere Business Monitor 的系統整合架構圖
![圖 1. WebSphere Sensor Events 與 WebSphere Business Events,WebSphere Business Monitor 的系統整合架構圖](https://i.iter01.com/images/fdf516cade653db247ffdb27bc495cddb9e832772c9a00ee19759022b6ef0867.jpg)
使用者通過使用 WSE 的資料採集功能(Data Capture)將實時的感測器資料進行加工處理(過濾、聚合、標準化等),然後將基於 CBE 格式的感測器事件 XML(如 RFID 標籤讀取事件)通過事件閘道器釋出到指定的 SIBUS 上,再由 WSE 的可重用元件對訊息進行訂閱及進一步的加工(業務邏輯、格式轉換等),最後將符合 WBE 或 WBM 訊息格式要求的資訊通過多種 WSE 輸出通道傳送給 WBE 或 WBM 進行資料智慧分析。同時使用者也可以將 WBE 事件處理引擎的反饋資訊再次通過事件閘道器釋出到 SIBUS 上供 WSE 使用。
下面我們將要介紹 WSE 和 WBE,以及 WBM 整合過程中涉及到幾點關鍵技術。
IBM 感測器事件是基於 IBM 公共基礎事件模型,該感測器事件是 WSE 中介軟體產品內部使用的標準訊息格式。它主要由三部分組成:
- 事件頭部 - 包含訊息的來源資訊(何人,何地,何時等)
- 事件內容體後設資料 - 為使用者提供一些有關訊息的附加資訊
- 事件內容體 - 包含從感測裝置識別到的實際感測資料
一個標準的 WSE6.2 感測器事件(標籤讀取型別)如下:
|
感測器事件閘道器向外提供了一個資料輸入介面,使用者可以通過它將感測器事件釋出到一個名字叫做 ibmsensorevent 的 WebSphere application server service integration bus(SIBUS),然後 WSE 可以通過 MDB 訂閱並處理這些訊息。感測器事件閘道器同時提供了 Java 訊息服務(JMS),HTTP 和 Web 服務介面,使用者可以使用任意一種方式將事件訊息釋出到 SIBUS。
以上的這些感測器事件閘道器介面都會先行將感測器事件 XML 轉化為 IBMSensorEvent 物件後再傳送至 SIBUS,所以傳遞於 ibmsensorevent 匯流排上的訊息都是以 IBMSensorEvent 形式存在。
WSE 按照不同商業應用場景,抽象並剝離出了一些可以重複使用的功能模組(如資產註冊,標籤列印,第三方事件格式轉化等),並遵循標準的 J2EE 開發模式進行重新構建,這樣便形成了許多 WSE 中可重用的 J2EE 應用。如果使用者希望擴充套件自己的 WSE 功能,又不希望花費過多時間放在訊息處理及架構設計上,可以使用可重用元件開發框架製作出用來滿足其特殊業務需求的可重用元件,由此大大提高了系統的靈活度及可擴充套件性。
可重用元件框架要求將公共介面以以下三種方式公開出來,供其他開發者使用:
- Stateless session beans
- Web services interfaces
- Message-driven beans
在 WSE 中 每種事件輸出都有其事件型別標識,如果使用者希望只輸出一種或多種特定事件型別的訊息時就需要使用事件模板功能,使用者可以在自定義訊息型別的過濾條件後再選擇 將這些訊息通過何種輸出渠道進行輸出。輸出通道用來指定 WSE 的訊息輸出以何種方式,何種規格,向哪些外部目標輸送。
一共有以下七種輸出方式可供選擇:
- HTTP
- JMS
- JMS Topic
- MQ
- WS-Notification
- WS-Gateway
WSE 的 Event Template 和 Output Channel 功能為使用者提供了靈活的訊息篩選,路由及傳送機制。
本章將向讀者詳細介紹怎樣將 IBM WebSphere Sensor Events ,IBM WebSphere Business Events 和 IBM WebSphere Business Monitor 整合在一起,完成對一個 RFID 標籤讀取事件的訊息傳輸和加工的過程,以及提供驗證這些整合是否成功的方法。
WebSphere Sensor Events 與 WebSphere Business Events 的整合
WBE 提供了易於使用的圖形創作工具,您可以將其用於定義業務策略和邏輯,以便響應業務事件和模式,以及發起相應的業務操作。業務策略描述系統將如何對某些組合中或在某些時間發生或未發生的事件做出反應。
WSE 中的可重用元件 WBE RUC 可以幫助使用者將 sensor event 轉化為 WBE 標準格式。可以被 WBE 處理的事件(標籤讀取型別)格式如下:
|
WebSphere Business Events 端的配置(以標籤讀取事件為例)
- 定義接觸點,在 WBE 中為 WSE 建立一個接觸點。具體步驟如下:雙擊“Design Data”。
右擊接觸點區域,選擇插入一個新的接觸點,命名為 WebSphere Sensor Events Server。
- 定義中間物件,根據 WSE 傳送給 WBE 事件的格式,需要定義在 WBE runtime 中處理的 箇中間物件。具體步驟如下:雙擊“Design Data”,右擊中間物件區域,選擇插入一個新的空白的中間物件,物件名為 IBMSE_Header。
按照同樣的方法建立另外兩個中間物件 IBMSE_PassiveRFIDTagRead_Payload 和 IBMSE_PayloadMetaData,如圖 2 所示
圖 2. 定義中間物件
- 定義中間物件域,每個中間物件包含一個或多箇中間物件域,需要為上面所建的三個中間物件分別新增各自的域。右擊需要建立中間物件域的中間物件,選擇插入新的物件域。
按照同樣的方法為 IBMSE_Header 定義以下中間物件域
Name Data type eventId String sourceId String eventType String ibmseversion String priority Integer dateTime DateTime
按照同樣的方法為 IBMSE_PayloadMetaData 定義以下中間物件域
Name Data type epcprocess String
按照同樣的方法為 IBMSE_PassiveRFIDTagRead_Payload 定義以下中間物件域
Name Data type count Integer antenna Integer discovered DateTime reader String taguri String tagidrui String rawuri String tagid String
圖 3. 定義中間物件域
- 定義事件,右擊接觸點,選擇新建一個事件,命名為 WSE_PassiveRFIDTagRead
- 將步驟 2 定義好的三個中間物件加入到 WSE_PassiveRFIDTagRead 事件中
- 定義動作,右擊新建的接觸點 WebSphere Sensor Events Server,選擇插入行動,命名為 WSE_TagReadValidation
- 定義動作物件,右擊新建的動作 WSE_TagReadValidation,選擇插入一個動作物件,命名為 WSE_TagReadValidation_Object
- 配置動作物件域,右擊新建的動作物件,選擇插入動作物件域,命名為 eventType,資料型別為 String,定義型別為 Field,點選插入物件域 >IBMSE_Header>eventType。
按照同樣的方法定義以下動作物件域
Name Data type Type Expression eventId String Field IBMSE_Header.eventId Event_type String Field IBMSE_Header.eventType
- 編輯動作屬性,右擊動作 WSE_TagReadValidation,選擇動作屬性,在連線選項卡中選擇檔案方式,並定義輸出資料夾及檔名稱屬性(如 C:\WBE\*PassiveTagRead.xml),儲存專案檔案並退出
- 用 Design 工具開啟剛才的專案檔案
- 建立互動設定,點選互動設定,重新命名資料夾為 Sensor Events IS,重新命名互動設定為 WSE Tag Read IS,選擇 WSE_PassiveRFIDTagRead 為響應事件,選擇 WSE_TagReadValidation 為一貫跟隨動作,點選新建的互動設定 WSE Tag Read IS 並選擇定義上下文關係,然後選擇 IBMSE_Header.eventId,儲存專案檔案並退出,如圖 4 所示
圖 4. 建立互動設定
- 用 Design Data 工具上傳專案資產
- 儲存專案檔案並退出,在 WAS 中重啟 wberuntimeear 應用以便前面的改動生效。
WebSphere Sensor Events 端的配置
- 配置 WBEAgent,本文假設 WBE 和 WSE 安裝在同一臺機器上,具體步驟為 :
開啟 WSE 的管理介面(預設為 http://WSE_Server:9080/ibmrfidadmin),進入 Agent Configuration 介面,點選 WBEAgent,設定 wbe.location=local。
- 配置 EventTransformationAgent,EventTransformationAgent 負責事件格式的轉發,具體步驟為:
開啟 WSE 的管理介面(預設為 http://WSE_Server:9080/ibmrfidadmin),進入 Controller group Configuration 介面,點選 EventTransformationAgent,修改 topic.tranform.to.external 屬性,使得改屬性包含 %LOCATION_AND_APPLICATION_ID%/report/TagReport = com.ibm.sensorevent.model.payload.PassiveRFIDTagReadPayload。
- 修改 WAS 配置,讓 WBE 處理模組可以從 WSE 的訊息匯流排訂閱到 tagreport 訊息,具體步驟如下:
開啟 WAS 的管理介面(預設為 http://WAS_Server:9080/ibm/console),選擇資源 >JMS,點選啟用規範,找到 WBERUCAS,修改 Message selector 屬性為 ibmse='RfidInventory/TagReport' OR ibmse='RfidInventory/TagAggregationReport' OR ibmse LIKE '%/report/TagReport' OR ibmse LIKE '%/report/TagAggregationReport'。
- 重新啟動 WAS,確保上面所有修改生效。
WebSphere Sensor Events 和 WebSphere Business Events 的整合測試
做完以上的步驟後,下面我們要描述 WSE 和 WBE 的整合測試步驟和驗證方法
首先是介紹整合測試步驟,其實非常簡單,只需要一下 2 步就可以了。
- 啟動 WBE 聯結器。
- 使用 IBM WebSphere Sensor Events Server 掃描 RFID 標籤。
接著怎麼樣驗證我們的整合測試成功與否,同樣非常簡單,可以通過一下 3 個方面去驗證 WSE 和 WBE 的整合是否成功。
- 檢視 WBE 聯結器的控制檯介面,有被讀取的標籤 ID 顯示。
- 登陸 WBE report 控制檯,有被讀取的標籤 ID 顯示。
- 檢視 C:\WBE 目錄,確認有 *PassiveTagRead.xml 檔案生成。
如果以上驗證都沒問題,那麼 WSE 和 WBE 的整合就成功完成了。
WebSphere Sensor Events 與 WebSphere Business Monitor 的整合
WBM 是 IBM 為使用者提供的一個可以利用度量指標、可視顯示和報警提供實時業務監控的工具,它為業務活動監控提供了業務流程的實時檢測。
WSE 中的可重用元件 BAE RUC 可以幫助使用者將 sensor event 轉化為 WBM 標準格式。可以被 WBM 處理的事件(標籤讀取型別)格式如下:
|
WebSphere Business Monitor 端的配置
配置 WebSphere Business Monitor server 使其能夠通過 WebSphere MQ 接收訊息。
- 安裝 MQtoCEIMediation.ear。
登陸 WAS admin console,選擇 應用程式 > 安裝新的應用程式
點選 瀏覽並指定應用的完整路徑 was_root/scripts.wbm/CEIMQ/MQtoCEIMediation.ear
完成預設安裝。 - 修改 was_root/scripts.wbm/CEIMQ/configCEIForMQClients.props 檔案。
WAS_ADMIN_HOST=localhost WAS_ADMIN_PORT=8880 #WAS_ADMIN_USERID= #WAS_ADMIN_PASSWORD= #ME_NAME=myNode.server1-CommonEventInfrastructure_Bus QM_HOST=localhost QM_PORT=1414 QM_NAME=myQueueManager CONNECT_TO_MQ=true #QM_ADMIN_CHANNEL= #QM_USERID= #QM_PASSWORD= #SCRIPT_FILE_NAME=
- 執行配置指令碼。
Windows 平臺:was_root/scripts.wbm/CEIMQ/configCEIForMQClients.bat -props configCEIForMQClients.props
AIX, HPUX, Linux 平臺:was_root/scripts.wbm/CEIMQ/configCEIForMQClients.sh -props configCEIForMQClients.props指令碼在 WebSphere MQ 和 CommonEventInfrastructure_Bus 之間建立了一個 WebSphere MQ 鏈路,並且建立了一個遠端佇列 CEIQueue,後面我們會使用它接收來自 IBM Sensor Events server 的訊息。
完成所有以上配置後,需要重新啟動 WebSphere Business Monitor server。
使用 WebSphere Business Monitor Development Toolkit 匯入併發布 Sample BAM Model 工程
- 開啟 RAD(已安裝 WebSphere Business Monitor Development Toolkit),匯入 WSE root\premises\install\ruc\bae\WSEAssetEvents.zip,如圖 5 所示。
圖 5. 匯入工程
- 將 AssetEventModelApplication 釋出到 WebSphere Business Monitor Server。
在 BusinessSpace 中建立 Dashboard 用來顯示 Tag Read 訊息
- 訪問並登陸 BusinessSpace。
- 新增一個新的 Dashboard,並新增一個 Instances 元件,(只顯示 RFID Tag ID, Asset Description 和 Asset Count 欄位)。
至此,WSE 和 WBM 的整合,WBM 端的配置就完成了。
WebSphere Sensor Events 端的配置
配置 IBM Sensor Events server 使其能夠通過 WebSphere MQ 傳送訊息到 WBM
- 建立佇列連線工廠
選擇 資源 >JMS> 佇列連線工廠
選擇 作用域,點選 新建
在 選擇 JMS 資源提供程式頁面 選擇 WebSphere MQ messaging provider,點選確定
編輯佇列連線工廠具體資訊(注意: QM 主機埠資訊參照 WBM 所在主機填寫) - 建立佇列
選擇 資源 >JMS> 佇列
選擇 作用域,點選 新建
在 選擇 JMS 資源提供程式頁面 選擇 WebSphere MQ messaging provider,點選確定
編輯佇列具體資訊。 - 修改啟用規範 BAERUCAS 的訊息選擇器
選擇 資源 >JMS> 啟用規範 >BAERUCAS
將訊息選擇器格式修改為:ibmse='RfidInventory/TagReport' OR ibmse='RfidInventory/TagAggregationReport' OR ibmse LIKE '%/report/TagReport' OR ibmse LIKE '%/report/TagAggregationReport' - 建立 WSE 的 JMS Output Channel
選擇 Event Processing Configuration>Output Channels
建立一個新的 JMS Output Channel,如圖 6 所示。
圖 6. JMS Output Channel
- 建立 WSE 的 Event Template
選擇 Event Processing Configuration>Event Templates
建立一個新的 Event Template,如圖 7 所示。
圖 7. Event Template
完成所有以上配置後,需要重新啟動 WebSphere Sensor Events server 以讓上述改動生效。
WebSphere Sensor Events 和 WebSphere Business Monitor 的整合測試
使用 IBM WebSphere Sensor Events Server 掃描 RFID 標籤
測試驗證:
使用 IBM WebSphere Sensor Events Server 掃描一個 RFID 標籤,然後檢視剛才建立的 Dashboard,識別到的 RFID 標籤資訊會顯示在報表中,如圖 8 所示
圖 8. Dashboard
![圖 8. Dashboard](https://i.iter01.com/images/fe53569232969fdf6cd62b885390f533e376ff9da4775edc094b09fe855e3807.jpg)
以上內容以一個最基本的 RFID 標籤讀取事件為例描述了 IBM Webpshere Sensor Events 和 WebSphere Business Events 以及 WebSphere Business Mointor 整合的具體配置方法,以及驗證過程。根據具體的業務需求,使用者還可以依此對專案進行擴充套件,已達到更好的整合使用效果。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-673749/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用SAP WebIDE進行SAP Cloud Platform Business Application開發WebIDECloudPlatformAPP
- Business talking in English
- 商業智慧系統(Business Intelligence System,BI)Intel
- 爬蟲 - CNN Business爬蟲CNN
- An introduction to SAP Business Workflow
- 使用 SAP Business Application Studio 建立 Fiori Elements 應用顯示 OData 資料APP
- [譯] 使用 Pandas 對 Kaggle 資料集進行統計資料分析
- 使用pandas進行資料分析
- 使用 SAP Business Application Studio 開發 Vue 應用APPVue
- 使用 SAP UI5 繪製 Business Rule ControlUI
- SAP Business Application Studio和SAP雲平臺DestinationAPP
- SAP BTP 上 workflow 和 Business Service 的 project 管理Project
- DBA3803: Predictive Analytics in Business
- 什麼是 SAP Business FunctionFunction
- 如何對資料目標進行分析
- 使用Apache Flink和Apache Ignit進行資料流分析Apache
- logminer進行資料探勘分析測試
- 高效資料陣列分析工具FastCube.Net v2021.1的新功能:與Business Graphics整合陣列AST
- 如何對大資料進行分析和處理?_光點科技大資料
- SAP Integrated Business Planning 1805 New Features
- Business English 商務一點通
- 使用ABAP程式碼給SAP CRM Business object建立附件AttachmentObject
- 使用 SAP Business Application Studio 搭建 CAP Java 開發環境APPJava開發環境
- 使用cProfile針對回測進行效能分析,和結合說下提速思路
- 【資料分析】針對家庭用電資料進行時序分析(1)
- 使用Fiddler對iPhone蘋果手機進行資料抓包分析iPhone蘋果
- 使用 Dynatrace 對 Node.js 應用的效能資料進行分析Node.js
- 什麼是 Intelligence Enterprise 的 Business network?Intel
- SAP 中的 BOPF(Business Object Processing Framework)ObjectFramework
- Esports Business Summit :2020年電子競技行業報告MIT行業
- Cox Business:2024年AI對小型企業的影響調查AI
- SAP WebClient UI和business switch相關的邏輯介紹WebclientUI
- 使用 Python 進行資料分析:入門指南Python
- 振弦式感測器資料採集到水庫大壩監測雲平臺進行監控和報警
- 遙感大資料智慧分析與應用大資料
- Business Insider:調查顯示青少年放棄Facebook 轉而使用YouTube、Snapchat和InstagramIDE
- SAP Business Application Studio的許可權控制APP
- 業務領先模型(Business Leadership Model; BLM)模型
- 如何給在 SAP Business Application Studio 裡開發的 OData 服務準備測試資料試讀版APP