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