移動(dòng)中間件選型指南
一、概要
隨著3G網(wǎng)絡(luò)和移動(dòng)終端的發(fā)展,傳統(tǒng)企業(yè)信息化也開(kāi)始產(chǎn)生了移動(dòng)化的需求。傳統(tǒng)企業(yè)的信息化比較雜,除了常見(jiàn)的財(cái)務(wù)、辦公、倉(cāng)庫(kù)、ERP一類外,還存在大量行業(yè)特殊需求的個(gè)性應(yīng)用系統(tǒng)。這類系統(tǒng)都需要延生到手機(jī)終端上實(shí)現(xiàn)移動(dòng)辦公、移動(dòng)信息化,移動(dòng)中間件應(yīng)此而生,其起著固網(wǎng)信息系統(tǒng)和手機(jī)的中間銜接作用。
有開(kāi)發(fā)能力的傳統(tǒng)企業(yè)和傳統(tǒng)系統(tǒng)集成商都會(huì)選擇移動(dòng)中間件來(lái)實(shí)現(xiàn)這一類型的信息化到手機(jī)終端的開(kāi)發(fā)。移動(dòng)中間件市場(chǎng)比較雜亂,大多用戶只是通過(guò)演示系統(tǒng)來(lái)看運(yùn)行效果來(lái)進(jìn)行判斷選擇??吹狡恋慕缑婢驼J(rèn)為中間件不錯(cuò),這是不科學(xué)的。
本文由資深移動(dòng)開(kāi)發(fā)專家撰寫,從深層次分析移動(dòng)中間件,可作為如何選擇合適的移動(dòng)中間件為參考依據(jù),本文對(duì)移動(dòng)中間進(jìn)行細(xì)節(jié)分析并提供可操作性的選型標(biāo)準(zhǔn)。
二、環(huán)境需求
首先,了解一款移動(dòng)中間件必須要先看其依賴環(huán)境,移動(dòng)中間件是否需要第三方系統(tǒng)的支持,如數(shù)據(jù)庫(kù)、WEB SERVER等,如果需要第三方系統(tǒng)支持則帶來(lái)采購(gòu)成本的額外增加和維護(hù)工作。
對(duì)于需要第三方系統(tǒng)支持的中間件,則稱為半中間件,其屬于在第三方系統(tǒng)上二次開(kāi)發(fā)成果,并沒(méi)有做到完全獨(dú)立的模式。應(yīng)當(dāng)盡量選擇無(wú)依靠的獨(dú)立中間件系統(tǒng)。
三、安裝體驗(yàn)
移動(dòng)中間件不是一個(gè)直接使用的產(chǎn)品,其必須經(jīng)過(guò)二次開(kāi)發(fā)才能實(shí)現(xiàn)應(yīng)用,所以一個(gè)好的中間件應(yīng)該提供開(kāi)發(fā)環(huán)境的安裝體系。在沒(méi)有接受培訓(xùn)的情況由開(kāi)發(fā)人員來(lái)進(jìn)行安裝體驗(yàn),一般系統(tǒng)都應(yīng)該提供樣本或者DEMO,開(kāi)發(fā)人員獨(dú)立進(jìn)行部署安裝。
通過(guò)安裝過(guò)程所需要時(shí)間、所需要接受的幫助,以及安裝的順利程度都可以在一定程度上判斷中間件的優(yōu)劣。
四、新知識(shí)學(xué)習(xí)
移動(dòng)中間件是一個(gè)二次開(kāi)發(fā)工具,使用其進(jìn)行開(kāi)發(fā)所需學(xué)習(xí)的新知識(shí)需求是一個(gè)重要的指標(biāo),這決定了開(kāi)發(fā)人員是否能夠快速掌握并方便進(jìn)行開(kāi)發(fā)。
那么該如何進(jìn)行判斷哩?閱讀培訓(xùn)教材是一個(gè)判斷方法,在沒(méi)有接受培訓(xùn)的情況下閱讀培訓(xùn)教材,查看有多少代碼涉及的是中間件所特有提供的。
一般中間件都是提供了現(xiàn)存的組件或設(shè)置屬性,可以通過(guò)歸類的方法來(lái)統(tǒng)計(jì)所有需要學(xué)習(xí)的組件和屬性有多少,一個(gè)存在大量自定義組件和屬性的中間件是需要大量時(shí)間進(jìn)行新的學(xué)習(xí)的。
程序代碼就是一種語(yǔ)言,很多時(shí)候有人寫代碼不寫注釋,那是因?yàn)樗麄冎来a本身就說(shuō)明了一切。中間件的新知識(shí)學(xué)習(xí)顯的特別重要,考察一款移動(dòng)中間件產(chǎn)品,可以讓技術(shù)人員嘗試閱讀DEMO的代碼,在沒(méi)有培訓(xùn)的情況通過(guò)自然閱讀法來(lái)理解開(kāi)發(fā)過(guò)程。如果閱讀是輕松易于理解的,則說(shuō)明了體系的優(yōu)秀。如果閱讀發(fā)現(xiàn)是大量自定義的類XML屬性則說(shuō)明是非語(yǔ)言體系的架構(gòu),非語(yǔ)言體系的架構(gòu)需要查閱大量XML自定義屬性來(lái)理解意義,這對(duì)于開(kāi)發(fā)人員是痛苦的。
五、流程引擎
移動(dòng)中間件流程的驅(qū)動(dòng)能力是實(shí)現(xiàn)移動(dòng)OA的重要指標(biāo),例如在傳統(tǒng)的OA上選擇一個(gè)環(huán)節(jié)、選擇一個(gè)人員,填寫一意見(jiàn),發(fā)送到下一個(gè)環(huán)節(jié),這個(gè)步驟的實(shí)現(xiàn)在各種中間件上是不一樣的。
那么如何判斷中間的流程驅(qū)動(dòng)能力哩?最直接的方法是看代碼,看一個(gè)流程提交需要多少行代碼來(lái)實(shí)現(xiàn),成熟的流程引擎應(yīng)該是很少代碼就能夠直接實(shí)現(xiàn)。
六、交付產(chǎn)品
中間件作為一個(gè)獨(dú)立產(chǎn)品的交付,其應(yīng)該是一個(gè)交鑰匙工程,也就是交付一套產(chǎn)品應(yīng)該可以獨(dú)立掌握和進(jìn)行應(yīng)用。這里有一個(gè)判斷方法,也就是在獨(dú)立的內(nèi)部網(wǎng)絡(luò)環(huán)境下,比如一個(gè)廠區(qū)的WIFI環(huán)境下。在這樣的環(huán)境是否可以獨(dú)立使用中間件?如果不能則說(shuō)明對(duì)外有依賴,這個(gè)依賴必將影響后續(xù)長(zhǎng)期的運(yùn)行。
對(duì)于有依賴的授權(quán)模式,則需要謹(jǐn)慎選擇,因?yàn)檫@個(gè)產(chǎn)品隨時(shí)都在接收外部的控制或者說(shuō)某些功能在需要的時(shí)候由于依賴方出現(xiàn)問(wèn)題而導(dǎo)致無(wú)法使用。
七、數(shù)據(jù)安全
移動(dòng)中間件的數(shù)據(jù)安全是個(gè)重要的問(wèn)題,盡管每個(gè)產(chǎn)品廠家都說(shuō)數(shù)據(jù)有加密處理。但是我們必須要親自確認(rèn)才行,確認(rèn)方法很簡(jiǎn)單。
在內(nèi)網(wǎng)中用手機(jī)通過(guò)WIFI訪問(wèn)中間件服務(wù)器,在服務(wù)器上安裝ETHREAL抓包工具則可以一目了然的看到進(jìn)出的所有數(shù)據(jù)。
有一種中間件是數(shù)據(jù)沒(méi)有加密,但是提供HTTPS的模式進(jìn)行傳輸,相對(duì)于數(shù)據(jù)加密模式傳輸屬于弱模式。因?yàn)閔ttps僅僅實(shí)現(xiàn)了傳輸過(guò)程中不被窺探,就好比通過(guò)https訪問(wèn)某些網(wǎng)站,這個(gè)模式不能防止模擬者同樣以https模式來(lái)登陸訪問(wèn)。因?yàn)閔ttps是共同協(xié)議、沒(méi)有私鈅,每個(gè)訪問(wèn)者都可以以https模式進(jìn)行訪問(wèn)。
另外使用https需要簽名證書,簽名證書是需要額外費(fèi)用的,并且是年費(fèi)的形式,這是要考慮的使用成本。
八、壓力測(cè)試
如果系統(tǒng)運(yùn)行用戶比較多,需要有200人以上并發(fā)運(yùn)行的需求,則需要中間提供可靠的測(cè)試工具。最科學(xué)的方式提供LoadRunner測(cè)試方案,由用戶搭建服務(wù)器進(jìn)行現(xiàn)場(chǎng)并發(fā)測(cè)試。據(jù)說(shuō)國(guó)內(nèi)著名品牌MAStudio移動(dòng)中間件在同等硬件下并發(fā)超過(guò)了95%用戶固網(wǎng)OA的最大并發(fā)量。
九、運(yùn)營(yíng)維護(hù)
中間件部署上線運(yùn)行后還有2個(gè)問(wèn)題需要考慮。
1、 在日常的運(yùn)行中是否需要備份維護(hù)?
2、 服務(wù)器損壞后如何進(jìn)行新裝服務(wù)器恢復(fù)?
十、代碼授權(quán)
移動(dòng)中間件的客戶端是否開(kāi)放代碼,這對(duì)于企業(yè)是否能夠長(zhǎng)久的使用中間件起著重要的作用,由于現(xiàn)在市場(chǎng)終端發(fā)展太快,android分支太多,如果廠家不及時(shí)更新,那么用戶如何能自主應(yīng)對(duì)新機(jī)器的特殊問(wèn)題哩?這就需要掌握有代碼才行。
對(duì)于系統(tǒng)集成商而言同樣重要的是,如果中間件沒(méi)有提供的原生功能,如接藍(lán)牙外設(shè),在廠家沒(méi)有支持的情況下,如何能夠自主完成哩?這就需要掌握有代碼才行。
另外對(duì)于iPhone的應(yīng)用,企業(yè)級(jí)一般都是打包后直接進(jìn)行安裝,由于iphone應(yīng)用打包需要蘋果的企業(yè)級(jí)授權(quán),并且是打包的應(yīng)用只能用一年。如果每年依賴廠家打包也是不現(xiàn)實(shí)的,如果企業(yè)要自己獲得蘋果授權(quán)、然后自行打包,則必須要取得代碼才行。
十一、總結(jié)
最后,選擇移動(dòng)中間件最好的深入學(xué)習(xí)后再做選擇,真金不怕火煉。一個(gè)好的移動(dòng)中間件應(yīng)該上手比較快,優(yōu)秀的移動(dòng)中間件需要學(xué)習(xí)的新知識(shí)應(yīng)該足夠少、應(yīng)該能夠在3天內(nèi)掌握。傳聞國(guó)內(nèi)著名品牌MAStudio移動(dòng)中間件突破了1天掌握開(kāi)發(fā)的極限。
附表是一個(gè)打分的機(jī)制,能夠初步判斷一個(gè)移動(dòng)中間件的基本情況,根據(jù)本表得分高的選擇,您必將選擇出最優(yōu)秀的產(chǎn)品: