最近網絡和媒體上有諸多唱衰企業移動中間件的見解和論調。有中間件末路論者,認為移動應用開發技術難度已經很低,中間件已經沒有價值;有危險論者,認為中間件作為網頁適配的工具,是一種危險的、高成本的企業移動應用開發方式;有BaaS替代論者,認為移動中間件將被BaaS取代。
筆者認為,這些都是對移動中間件的理念和精髓沒有充分理解而產生的一種傲慢與偏見。筆者作為關注移動中間件領域發展多年的老兵,迫切感覺需要為移動中間件正名,還移動中間件一個“清白”。
移動中間件經過國內外各廠家的努力和投入,經過多年的發展,早已超越了當初的“網頁適配平臺”的范疇,一個完整的、真正意義上的企業移動中間件產品,筆者認為至少包含以下核心要素:
跨平臺快速開發能力
跨平臺快速開發能力是移動中間件的最基本特征,目前各類移動中間件產品采用的跨平臺開發解決方案主要有以下幾種:
一種是以IBM、SAP為典型代表的代碼自動生成機制,由開發工具為目標移動平臺生成核心的業務代碼,再由開發者實現界面及邏輯,這種模式的確是一種快速開發的方案,但不是嚴格意義上的跨平臺方案,無法實現一套代碼到處運行;
一種是以PhoneGap等為代表的基于HTML5的hybrid解決方案,展示層通過HTML5技術實現,設備能力與應用交互則通過javascript的橋接器完成,IBM、SAP的中間件產品也內置了這種模式。這種模式的特點是充分利用了HTML5的跨平臺特性,又具有較強的設備功能調用能力,但因其展示層完全基于HTML5,HTML5目前存在的效率低下、不兼容等問題同樣也很明顯。
一種是通過手機瀏覽器控件webview加殼方式的跨平臺方案,也就是純HTML5解決方案。這種方案完全依賴手機瀏覽器內核,多為國內能力較弱的廠家采用的一種簡單的跨平臺實現模式。與Hybrid相比,因為缺少設備橋接層,因此對硬件的控制能力非常有限,同時HTML5的缺點一樣不落。國內有廠商提出的所謂基于Widget技術的移動中間件即是這種方案的典型代表。
最后一種是基于自有引擎的hybrid解決方案,這種方案的典型特征是廠家實現了自有的引擎內核,具有自有的一套語法體系。相比基于HTML5的hybrid解決方案,這種模式具有執行效率高,平臺一致性好,設備調用能力極強的特點。這種模式下,有些廠家采取了完全封閉的語法體系,自創了一套全新的標簽和腳本語法,初學者的學習成本和難度會比較大,可供學習和參考的資源較少。也有一些能力較強的廠家基本兼容了標準的HTML、JS、CSS語法體系,對開發者來說是一種福音,能夠充分利用既有的知識積累。
烽火星空的ExMobi4中間件平臺巧妙的采用了自有hybrid引擎+HTML5引擎的雙引擎內核機制。ExMobi4的hybird引擎兼容標準的HTML、CSS、JS語法體系,既可以充分發揮自有引擎在效率、性能、設備擴展等方面的優勢,又具有學習難度低的特點;同時ExMobi4內置的HTML5引擎又可充分利用HTML5的特性,并且hybrid引擎與HTML5引擎之間能夠實現交叉調用,靈活的實現邏輯和數據的交互,并且可以方便的集成第三方UI庫,比如jquery mobile等。
如果說有廠家把使用HTML5定義為移動中間件2.0時代,那么烽火星空ExMobi4可謂已經提前進入了“雙核”時代。
后端整合能力
說到后端整合,移動中間件最廣為人知的能力可能就是所謂B/S適配或者叫網頁抓取技術了,也因此有很多人認為移動中間件就是B/S適配,這其實是盲人摸象、以偏概全的觀點。對于移動中間而言,企業后端系統可以都視作為數據源,無論是B/S適配還是接口對接,亦或數據庫直連,都是移動中間件獲取數據的不同手段。每一種數據獲取手段都有特定的應用場景和價值,并不存在絕對的優劣,更無須危言聳聽B/S適配會給企業帶去多大的災難和高昂的成本。
即使B/S適配技術,也早已經不是移動中間件初期的簡單網頁抓取功能,更是一種方便高效的Mashup手段。IBM是Mashup概念的提出者和倡導者,其推出的Mashup Center平臺即是通過各種數據整合手段為企業打造統一的數據門戶,其中表示層抓取(B/S適配)是其中重要的手段之一,移動中間件可謂與之有異曲同工之妙。
以烽火星空ExMobi4中間件為例,除了支持B/S適配模式外,更內置了強大的接口集成能力,能夠快速高效的集成包括webservice、json、REST、Database、FTP、文件系統等各種企業數據源,方便的與ESB等企業基礎架構對接。即使在B/S適配模式下,ExMobi4采用了獨有的數據“揀取”模型,能夠方便從多個不同的企業后端業務系統抽取數據并加以處理和整合,幫助企業實現后端系統的移動Mashup。
BaaS能力
BaaS(Backend as a Service)是最近提出的一個新的概念,有言論稱BaaS可能將取代移動中間件。所謂BaaS其實只是將后端的能力加以整合和封裝,以SDK、API等相對簡單的形式提供開發者調用,其并不具備移動中間件的其他能力,因此BaaS只可能成為移動中間件的一部分,并不具備顛覆和替代移動中間件的實力。而其實移動中間件已經內置了常用的一些BaaS服務,比如烽火星空ExMobi4中間件平臺,內置了統一推送服務、文檔解析服務、文檔涂鴉式簽批服務、應用數據跟蹤分析服務等等,可謂為開發者解決了諸多的難題。
運維及管理
對于企業移動信息化建設而言,擁有一個移動應用并不是難題,更多的困難來自于運維及管理方面的要求,比如接入的認證、應用的分發及管理機制、安全的管控能力、統計分析及運維支撐功能,這些都是最新的EMM(企業移動管理)概念范疇的內容,企業也越來越意識到EMM對于企業的實際價值。但對于那些預算不夠充裕,但又需要使用EMM能力的企業而言,購買內置了部分必備EMM功能的移動中間件不失為一種性價比較高的經濟型解決方案。
企業移動中間件,已經超越了最初的跨平臺開發工具或頁面抓取工具的概念范疇,隨著各廠家的不斷投入和發展,移動中間件也必將為企業移動信息化建設帶來更多的便利,也越發顯現出其重要而獨特的價值。企業移動中間件在一些沒有理解其精髓和理念的人看來已經進入了疲軟期,所以也就出現了一些無用論者、淘汰論者、危險論者,而筆者認為,這正是黎明前的黑暗,移動中間件的價值最終必將被企業接受和認可。