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