IBM Websphere Premises Server V6.1入门介绍和API实践
RFID技術介紹
RFID(Radio Frequency Identification)是一種非接觸的自動識別技術,其基本原理是利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性,實現對被識別物品的自動識別。
無線射頻識別技術是一項易于操控、簡單實用且特別適合用于自動化控制的技術,其所具備的獨特優越性是其它識別技術無法企及的。它既支持只讀工作模式也支持讀寫工作模式,且無需接觸或瞄準;可自由工作在各種惡劣環境下;可進行高度的數據集成。另外,由于該技術很難被仿冒、侵入,使RFID具備了極高的安全防護能力。
RFID標簽中載有關于目標物的各類相關信息,如:該目標物的名稱,目標物運輸起始終止地點、中轉地點及目標物經過某一地的具體時間等,還可以載入諸如溫度等指標。RFID可靈活附著于從車輛到載貨底盤的各類物品。
RFID系統一般由三個部分組成:
1. RFID標簽(Tag or Transponder):按照標簽獲取電能的方式不同可以分為主動式標簽和被動式標簽。
- 主動式標簽內部自帶電池進行供電,。主動式標簽的缺點主要是標簽的使用壽命受到電池供電限制,隨著電子標簽內電池電力的消耗,數據傳輸的距離會越來越小。
- 被動式標簽內部不帶電池,要靠外界提供能量才能正常工作。被動式標簽典型的產生電能的裝置是天線與線圈,當電子標簽進入系統的工作區域,天線接收到特定的電磁波,線圈就會產生感應電流,再經過整流電路給標簽供電。被動式標簽的缺點主要是數據傳輸的距離要比主動式標簽短。
2. 閱讀器(Reader):閱讀器一般包含一個產生射頻信號的射頻收發器(rf transceiver) 和一個在閱讀器及RFID標簽間傳輸射頻信號的天線。
3. 打印機(Printer):打印機的功能主要是向RFID標簽中寫入信息。
RFID技術的主要應用領域包括:
- 物流:物流過程中的貨物追蹤,信息自動采集,倉儲應用,港口應用,郵政,快遞
- 零售:商品的銷售數據實時統計,補貨,防盜
- 制造業:生產數據的實時監控,質量追蹤,自動化生產
- 服裝業:自動化生產,倉儲管理,品牌管理,單品管理,渠道管理
- 醫療:醫療器械管理,病人身份識別,嬰兒防盜
- 身份識別:電子護照,身份證,學生證等各種電子證件
- 防偽:貴重物品(煙,酒,藥品)的防偽,票證的防偽等
- 資產管理:各類資產(貴重的或數量大相似性高的或危險品等)
- 交通:高速不停車,出租車管理,公交車樞紐管理,鐵路機車識別等
- 食品:水果,蔬菜,生鮮,食品等保鮮度管理
- 動物識別:訓養動物,畜牧牲口,寵物等識別管理
- 圖書館:書店,圖書館,出版社等應用
- 汽車:制造,防盜,定位,車鑰匙
- 航空:制造,旅客機票,行李包裹追蹤
- 軍事:彈藥,槍支,物資,人員,卡車等識別與追蹤 IBM Premises Server V6.1的主要功能和應用場景 IBM Premises Server V6.1 簡介 - RFID技術是傳感器技術的一種,IBM? WebSphere? Premises Server為以RFID技術為核心的傳感器解決方案提供了中間件支持。Premises Server可以確保從RFID閱讀器到后臺業務邏輯的可靠傳輸,可以被應用于適合使用RFID技術的所有領域。
- 它主要包含以下幾方面的功能:擴展了IBM SOA的過程集成平臺,集成傳感器的數據和事件與企業業務流程和SOA商業應用使客戶能夠快速部署安全,可靠的解決方案。
- 提供了一個完善而智能的業務規則引擎來處理來自不同類型的傳感器的數據,可以加快部署速度,增加流程的靈活性和控制。
- 支持實時定位跟蹤服務,包括設備接口,主動式RFID設備,核心定位程序和一個用于實現可視化場景的繪圖程序。
- 增強的設備服務允許在單一平臺上支持多種傳感器類型,包括被動式RFID設備,主動式RFID設備和環境傳感器。
- 為傳感器的數據采集和事件傳輸提供了一個靈活的架構,支持集中和分布式的部署。
- 為傳感器數據和業務流程的集成提供了工作流工具,支持對業務流程的建立,定制和監控。
- 與WebSphere RFID Information Center相結合的解決方案,可以實現企業應用對RFID信息的管理和整合,通過基于EPCglobal標準的資料庫可以實現企業和業務伙伴的資源共享。
 應用場景介紹 下面我們將以示例應用程序Dock Door Receiving為例,介紹Premises Server是如何與傳感器以及RFID閱讀器協同工作的。 Dock Door Receiving可以被應用于零售業的商店或者配送中心,用于對倉庫中貨物的進出進行跟蹤和統計。在這個應用場景中,首先需要在商店或者配送中心的倉庫門口安裝一個檢測門(在Premises Server中稱為Portal),包含如下設備: - RFID閱讀器
- 天線
- 檢測門開關
- 傳感器(通常是一個運動傳感器(motion sensor),當有物體通過時,傳感器的輸出電壓會進行一次翻轉)
- 反饋設備(例如指示燈)
 其中,天線,開關,傳感器,反饋設備都連接到RFID閱讀器上。 如下圖 1 所示: 
 圖 1. Dock Door Receiving系統結構圖Premises server通過I/O Agent、Reader Agent和Portal Controller Agent控制以上物理設備,完成整個業務邏輯: 
- 管理員按開關,打開檢測門,開關通過RFID閱讀器把消息發送到I/O Agent。
- 當貼有RFID標簽的貨物通過檢測門時,觸發運動傳感器,該消息通過RFID閱讀器發送到I/O Agent。
- I/O Agent接收到傳感器觸發事件以后,將該事件發送到Portal Controller Agent。
- Portal Controller Agent根據事先定義的業務邏輯向Reader Agent發送開始讀取命令。
- Reader Agent向RFID閱讀器發送命令開始讀取RFID標簽,并接收RFID閱讀器讀到的RFID標簽信息。同時I/O Agent向RFID閱讀器發送打開黃色指示燈的命令,提示管理員RFID閱讀器開始工作。
- 經過一段很多的時間以后,運動傳感器復位,Portal Controller Agent接收到該消息以后,向Reader Agent發送停止讀取命令。
- Reader Agent向RFID閱讀器發送停止讀取命令,并把接收到的RFID標簽信息發送給Premises Server。同時I/O Agent向RFID閱讀器發送熄滅黃色指示燈的命令,提示管理員RFID閱讀器停止工作。
- Premises Server把RFID標簽信息發送給企業應用程序。
- 企業應用程序根據RFID標簽信息判斷是否是期望的貨物,并返回“接受”或“拒絕”消息。
- Premises Server將“接受”或“拒絕消息發送給Portal Controller Agent。如果是“接受”消息,Portal Controller Agent將通過I/O Agent向RFID閱讀器發送打開綠色指示燈的命令,否則發送打開紅色指示燈的命令。
- RFID閱讀器的詳細信息
- RFID閱讀器的狀態
- RFID閱讀器的類型(廠商,型號等)
- RFID標簽的類型
- 供應鏈屬性
- RFID標簽打印任務的詳細信息
- 場所(Location)信息(通常一個Location對應Dock Door Receiving場景中的一個檢測門)
- 控制器(Controller)信息
- 開始和停止RFID閱讀器命令
- 發出拒絕或者接受RFID標簽命令
- 提交打印RFID標簽命令
- 安裝IBM Java 1.5.0。Premises Server V6.1 API 目前只支持 Java 1.5。
- 下載最新版本的 Eclipse (http://www.eclipse.org/downloads/),然后解壓縮。
- 在Websphere Premises Server V6.1機器上,找到 \premises\API\lib,其中 為Premises server 的 Home 目錄,Windows 操作系統下缺省為 C:\Program Files\IBM\RFID
- 在這個目錄中,找到以下 JAR 文件:
- ibmrfid_premises_api_client.jar
- ibmrfid_premises_api_ejbClient.jar
- ibmrfid_premises_api_ws.jar
- ibmse_common_util.jar
- ibmrfid_premises_util.jar
- Rfid.jar
- xsdbeans.jar
- 將這些 JAR文件復制到工程目錄中,確保您的Premises Server API工程的classpath包含這個目錄。
- 在Websphere Premises Server V6.1 機器上,找到 /lib 和 /plugins 目錄,其中 為 IBM Webpshere Application Server 的 Home 目錄,缺省為 C:\Program Files\IBM\WebSphere\AppServer
- 將這兩個目錄下的所有 JAR 文件復制到 Premises Server API 工程中,確保您的 Premises Server API 工程的 classpath 包含這個目錄。 Dock Door Receiving代碼實現示例 本示例展示了如何使用Websphere Premises Server API來實現Dock Door Receiving應用場景。在下載本示例之后,我們需要使用 Eclipse 的導入功能將工程導入到Eclipse的workspace中。導入之后,就可以啟用這個示例程序。下面介紹示例中使用的主要功能: - 獲得并初始化PremisesAccess對象:
 static final String PremiseIP = new String("xxx.xxx.xxx.xxx"); static final String PremisePort = new String("9080"); PremisesAccess access; InvokePremisesAPI() { access = PremisesContext.getPremisesAccess(PremiseIP,PremisePort); } - 發送激活Location命令,調用這個命令后,閱讀器開始工作,
 public void SetStartLocation (String LocationID) { try{access.startLocation(LocationID);} catch (PremisesAccessException e){e.printStackTrace();} } - 發送停止Location命令,調用這個命令后,閱讀器停止工作:
 public void SetstopLocation (String LocationID) { try{access.stopLocation(LocationID); } catch (PremisesAccessException e){e.printStackTrace();} } - 讀發送“接受”消息給閱讀器
 public void SetSendAcceptToLightStack(String LocationID) {try{access.sendAcceptToLightStack(LocationID);}catch (PremisesAccessException e){e.printStackTrace();} } - 讀發送“拒絕”消息給閱讀器
 public void SetSendRejectToLightStack(String LocationID) { try{access.sendRejectToLightStack(LocationID);}catch (PremisesAccessException e){e.printStackTrace();} } 
Dock Door Receiving是Premises Server提供的一個簡單的示例應用程序,客戶還可以通過Premises Server API編寫自己的應用程序,達到實現復雜業務邏輯的目的。
IBM Premises Server V6.1 API概述
Premises API為讀取Premises Server信息和控制Premises Server提供了廣泛的接口,可以應用于各種各樣的用戶場景。比如,
通過Premises Server API可以查詢Premises Server的以下信息:
通過Premises Server API提供了以下基本的控制命令
用戶可以通過本地(和Premises Server安裝在一臺機器上)或者遠程(和Premises server安裝在不同的機器上)(通過Web Services)的接口方式來調用Premises Server API。為了讀者對API有個更清晰的了解,下面介紹一下Premises Server API中常用的核心類和其它類。
IBM Websphere Premises Server API 中常用的核心類
以下是IBM Websphere Premises Server API庫的核心類的列表:
1. PremisesAccess
用來對API庫進行初始化。這是我們使用這個 API 中的第一個類。
2. PremisesAccessLocal
從PremisesAccess繼承而來,表示API連接到一個本地的Premises server。
3. PremisesAccessRemote
從PremisesAccess繼承而來,表示API連接到一個遠程的Premises server。
4. Premises Context
這個類有個靜態函數GetPremisesAccess用來返回一個PremisesAccess對象。
5. Printer
Printer類用來處理打印機的信息。比如讀取打印機的IP地址,端口號,同時也可以通過該類的submit方法來打印RFID標簽。
6. PrinterType
用來描述在Premises server上的打印機的類型定義。
7. PrintTemplate
用來描述一個已經在Premises server上定義好的打印機模板(Printer template).PrintTemplate 對象不能創建,改變或者刪除已經在Premises server上定義好的打印機模板。PrintTemplate對象允許自己定制標簽(Labels)。PrintTemplate對象保留了一個指向ZIP包的URL字符串,這個被指向的ZIP包含了打印機模板的詳細信息。
8. Reader
讓我們可以處理Reader的信息。比如讀取RFID閱讀器的IP地址,端口號,同時也可以通過該類的start/stop方法來控制RFID閱讀器的開始和結束。
9. ReaderType
用來描述在Premises Server上的RFID閱讀器類型定義。
10. PremisesAccessException
缺省的異常類。
其它類
在使用IBM Webpshere Premises Server API庫時,您會發現還有其他一些類也非常有用
1. SupplyChainProfile
用來描述供應鏈的信息。
2. PackType
繼承于SupplyChainprofile,用來描述供應鏈的包裹類型(PackType)
3. Device
用來描述在Premises Server中已經配置了的Device對象。Device類提供了Device ID、Location ID、配置組名、設備狀態等信息可訪問。
4. Location
用來描述在Premises Server中已經配置了的Location對象。
5. Controller
用來描述在Premises Server中已經配置了的Controller對象。它提供了Controller ID,User Name以及相關聯的Location ID等信息可供訪問。
接下來,我們再介紹一下怎樣在Eclipse環境下安裝和配置Premises Server API。
在Eclipse 3.3下安裝和配置IBM Websphere Premises Server API
要將Webpshere Premises Server API設置為與WebSphere Premises Server一起工作,請執行以下步驟。
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/14789789/viewspace-589252/,如需轉載,請注明出處,否則將追究法律責任。
轉載于:http://blog.itpub.net/14789789/viewspace-589252/
總結
以上是生活随笔為你收集整理的IBM Websphere Premises Server V6.1入门介绍和API实践的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ECDSA算法JAVA实现加解密
- 下一篇: log4j2内容详解
