作者還給出了他曾參與創建的一個實際的面向雲的 MEAP(即 Convertigo Mobilizer)作為示例
企業的移動性專案越來越多,那些有價值的專案需要創建更多的專案;但這一需求是一個主要瓶頸。 現在已經不再是將一個資料來源連接到某種行動裝置,IT 基礎架構面對的是多個設備平臺、複雜的安全性問題、不同的企業應用程式和資料來源,許多設備沒有 API。
這種 「多設備對多平臺」 的移動應用程式集成場景會帶來一些移動集成挑戰。
移動集成挑戰
公司面臨的將移動應用程式整合到其雲環境中的集成挑戰包括:
現有應用程式的移動支援。 複雜的移動開發語言。 自帶設備 (bring-your-own-device, BYOD) 的趨勢。 如何創建和定位業務邏輯。 如何才能不會將移動的面向 Web 的架構錯認為 SOA。
讓我們對它們做進一步的研究;稍後,我會更加詳細地介紹我的團隊如何在開發我們的產品過程中處理這些問題。
現有的應用程式不支援移動
支援移動意味著允許訪問這些應用程式的資料和業務邏輯,但不幸的是,這些應用程式很少能夠提供構建新的移動使用者介面所需的 API 或服務。 要減少改變現有應用程式的工作負載,一個解決方案是通過連接器在未發生改變的現有應用程式上支援移動功能。
開發人員可能沒有使用複雜移動開發語言的經驗
開發移動應用程式通常需要使用一些複雜的 Objective C 和 JAVA™ 資源,而初級的 Web 開發人員對這些資源往往並不十分瞭解。 不過,在結構上,移動應用程式的確會使用要求提供 HTML5 和 JavaScript 技能的使用者介面,而這些技能是 Web 開發人員所具備的。 應對這一挑戰的一個解決方案是提供一個轉換橋(Bridge),讓 Web 開發人員可以通過該轉換橋使用自己知道的技術編寫移動應用程式代碼。
企業必須支援多個特定平臺以及自帶設備的趨勢
跨平臺挑戰要求移動開發一次完成即可在多個平臺(iOS、Android、Blackberry、Windows Phone 等)以及具有不同記憶體和顯示器大小參數的多個設備(智慧手機、平板電腦等)上運行。 正如上一節中提到的那樣,一個常見的、更便於使用的轉換橋可能是解決這個挑戰的關鍵。
何處是使用應用程式業務邏輯的最佳位置?
應用程式業務邏輯不應編碼到行動裝置中:設備內編碼應用程式業務邏輯會導致跨多個移動應用程式的相同業務過程的難以管理和重複編碼處理。 如果業務邏輯集中在伺服器端,則會帶來更為有效和更易管理的架構,能夠在多個移動應用程式中重用。 在伺服器上創建業務邏輯層,以便能夠組合、編排和計算自多個企業源的資料,這是一種明智之舉。
不要混淆 SOA 與 WOA
大多數企業都知曉(或者專長於)面向服務的體系架構的概念和結構。 它們可能有一個基於 SOAP Web 服務的資訊系統,由企業業務匯流排編排。 但移動世界並不是以 SOA 為基礎的。 大多數行動裝置環境都依賴于 WOA,即面向 Web 的架構,該結構基於 REST 或 JSON 服務,並通過 OAuth 協定進行驗證。 這些協定針對低頻寬的 3G 網路進行了優化。 在 WOA 世界中,應該有一種利用組織的 SOA 屬性的方法;一種解決方案是在非常結構化的、嚴格的 SOA 與靈活而又敏捷的 WOA 之間建立一個介面層。 例如,該介面層應該通過幾次按一下就能夠讓現有的 SOAP Web 服務轉變成 REST/JSON 服務。
現在,讓我們來快速看看移動企業應用程式平臺(或 MEAP)如何適應我之前描述的移動應用程式集成場景。
MEAP 內幕
移動企業應用程式平臺是一個產品和服務的綜合套件,通過處理過程的某些細節來支援應用程式的開發和部署。 在應用程式部署階段和整個生命週期中,MEAP 通過添加一個管理層來處理設備、網路和使用者組的範圍,從而説明開發人員解決開發移動軟體的各種難題。
MEAP 的一些常見屬性包括:
跨平臺,「只需編寫一次,即可到處部署」 的能力。 讓您不再糾結于基礎業務邏輯的介面。 適用于: 公司想要在單個基礎架構上部署的多個應用程式。 可擴展到公司目前移動使用者群規模的應用程式。 在聯線和離線模式均可使用的應用程式。 易於開發的範本,讓程式師無需精通就可以利用較為複雜的語言。
常用的 MEAP 結構
MEAP 通常由三個元件組成:
移動中介軟體伺服器:處理所有的系統集成、安全性、通信、可伸縮性、跨平臺支援等。 資料沒有存儲在伺服器上;該伺服器管理後端系統與設備之間的資料。 移動客戶應用程式:連接到中介軟體伺服器,並驅動設備上的使用者介面和業務邏輯。 它們有 「胖」 版本(安裝在此設備上的本地應用程式上)和 「瘦」 版本(以類似 HTML5 這樣的形式呈現在設備瀏覽器中)。 移動配置/開發工具箱:創建並調整移動元件。
我何時應該考慮使用 MEAP?
IT 分析公司 Gartner 建議,如果想讓移動功能支援三個或更多的移動應用程式或移動作業系統,或是想要與至少三個後端資料來源集成在一起,那麼就可以考慮使用 MEAP。 (Gartner RAS Core Research Note G00211688, 20 April 2011;需要註冊。 )