1.中間件定義
是獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助中間件在不同的技術(shù)之間實現(xiàn)資源共享。
應(yīng)用于客戶機(jī)、服務(wù)器的操作系統(tǒng),管理計算機(jī)資源和網(wǎng)絡(luò)通信。
主要功能是連接兩個獨立應(yīng)用程序或獨立系統(tǒng)的軟件,使相連接的系統(tǒng)即使具有不同的接口,利用中間件仍然能相互交換信息。
執(zhí)行中間件的關(guān)鍵途徑是信息傳遞。
2.中間件示意圖
3.中間件發(fā)展史
最早具有中間件技術(shù)思想及功能的軟件是ibm的cics(customer information control system),而cics不是分布式環(huán)境的產(chǎn)物,因此人們一般把tuxedo作為第一個嚴(yán)格意義上的中間件產(chǎn)品。
tuxedo是1984年在當(dāng)時屬于at&t的貝爾實驗室開發(fā)完成的,由于分布式處理當(dāng)時并沒有在商業(yè)應(yīng)用上獲得像今天一樣的成功,tuxedo在很長一段時期里只是實驗室產(chǎn)品,后來被novell收購,在經(jīng)過novell并不成功的商業(yè)推廣之后,1995年被現(xiàn)在的bea公司收購。
bea公司1995年收購tuxedo才成為一個真正的中間件廠商。ibm的中間件mqseries也是20世紀(jì)90年代的產(chǎn)品,其他許多中間件產(chǎn)品也都是最近幾年才成熟起來。
4.中間件主要特點
滿足大量應(yīng)用的需要;
運行于多種硬件和os平臺;
支持分布計算,提供跨網(wǎng)絡(luò)、硬件和os平臺的透明的應(yīng)用或服務(wù)的交互;
支持標(biāo)準(zhǔn)的協(xié)議;
支持標(biāo)準(zhǔn)的接口;
對于應(yīng)用軟件開發(fā),中間件遠(yuǎn)比操作系統(tǒng)和網(wǎng)絡(luò)服務(wù)更為重要;中間件提供的程序接口定義了一個相對穩(wěn)定的高層應(yīng)用環(huán)境,不管底層的計算機(jī)硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持對外接口定義不變,應(yīng)用軟件幾乎不需要任何修改,從而保護(hù)企業(yè)在應(yīng)用軟件開發(fā)和維護(hù)中的重大投資。
5.什么是物聯(lián)網(wǎng)中間件
在物聯(lián)網(wǎng)中采用中間件技術(shù),以實現(xiàn)多個系統(tǒng)和多種技術(shù)之間的資源共享,最終組成一個資源豐富、功能強(qiáng)大的服務(wù)系統(tǒng)。
6.物聯(lián)網(wǎng)中間件的分類
基于目的和實現(xiàn)機(jī)制的不同,業(yè)內(nèi)將中間件分為以下幾類:
遠(yuǎn)程過程調(diào)用中間件(remote procedure call)
面向消息的中間件(message-oriented middleware)
對象請求代理中間件(object request brokers)
幾類中間件可向上提供不同形式的通信服務(wù),在這些基本的通信平臺之上,可構(gòu)筑各種框架,為應(yīng)用程序提供不同領(lǐng)域內(nèi)的服務(wù),如事務(wù)處理監(jiān)控器、分布數(shù)據(jù)訪問、對象事務(wù)管理器等。
平臺為上層應(yīng)用屏蔽了異構(gòu)平臺的差異,而其上的框架又定義了相應(yīng)領(lǐng)域內(nèi)應(yīng)用的系統(tǒng)結(jié)構(gòu)、標(biāo)準(zhǔn)的服務(wù)組件等,用戶只需告訴框架所關(guān)心的事件,然后提供處理這些事件的代碼。當(dāng)事件發(fā)生時,框架會調(diào)用用戶的代碼。
用戶代碼不用調(diào)用框架,用戶程序也不必關(guān)心框架結(jié)構(gòu)、執(zhí)行流程、對系統(tǒng)級api的調(diào)用等,所有這些由框架負(fù)責(zé)完成。因此,基于中間件開發(fā)的應(yīng)用具有良好的可擴(kuò)充性、易管理性、高可用性和可移植性。
7.物聯(lián)網(wǎng)中間件發(fā)展的三個階段
應(yīng)用程序中間件階段(application middleware)
架構(gòu)中間件階段(infrastructure middleware)
解決方案中間件階段(solution middleware)。
物聯(lián)網(wǎng)中間件最主要的代表是rfid中間件,其他的還有嵌入式中間件、數(shù)字電視中間件、通用中間件、m2m物聯(lián)網(wǎng)中間件等。
rfid中間件扮演rfid標(biāo)簽和應(yīng)用程序之間的中介角色,從應(yīng)用程序端使用中間件所提供一組通用的應(yīng)用程序接口(api),即能連到rfid讀寫器,讀取rfid標(biāo)簽數(shù)據(jù)。
使用中間件后即使存儲rfid標(biāo)簽數(shù)據(jù)的數(shù)據(jù)庫軟件或后端應(yīng)用程序增加或改由其他軟件取代,或者讀寫rfid讀寫器種類增加等情況發(fā)生時,應(yīng)用端不需修改也能處理,省去多對多連接的維護(hù)復(fù)雜性問題。
8.rfid中間件的三大類發(fā)展階段
(1)應(yīng)用程序中間件發(fā)展階段aa多以整合、串接rfid讀寫器為目的,rfid廠商提供簡單api,以供用戶將后端與rfid讀寫器串接。用戶需要花費許多成本處理前后端系統(tǒng)連接問題。
(2)基礎(chǔ)架構(gòu)中間件發(fā)展階段aa是關(guān)鍵階段,不但已經(jīng)具備基本數(shù)據(jù)搜索、過濾等功能,同時也滿足企業(yè)多對多的連接需求,并具備平臺的管理與維護(hù)功能。
(3)解決方案中間件發(fā)展階段aa未來在rfid標(biāo)簽、讀寫器與中間件發(fā)展成熟過程中,各廠商針對不同領(lǐng)域提出各項創(chuàng)新應(yīng)用解決方案,如manhattan associates提出的rfid in a box,企業(yè)不需為前端rfid硬件和后端應(yīng)用系統(tǒng)的連接而煩惱,該公司與alien thchnology corp在rfid硬件端合作,發(fā)展中間件,針對該公司的900多家已有的供應(yīng)鏈客戶群發(fā)展供應(yīng)鏈執(zhí)行方案。