如何利用BaaS簡化企業級移動開發?
移動應用開發人員不必再孤軍奮斗了。早期的移動應用開發人員對于開發工具和開發框架的選擇范圍非常有限。今天,后端即服務(BaaS)平臺已經能夠簡化常用功能的開發工作,如用戶管理、存儲和安全等。
在很多方面,BaaS是針對移動設備的一個PaaS的特殊形式。
雖然DIY客戶應用開發存在著一定的優勢,但是BaaS產品不斷增加的功能和不斷擴大的供應商范圍正在讓后端即服務成為一種***吸引力的替代解決方案。
開發人員可以在不斷增多的后端即服務專家供應商中進行選擇——包括AnyPresence、Appcelerator、Appery、Parse、 Kinvey以及StackMob等——或者建立基礎設施即服務(IaaS)和平臺即服務(PaaS)供應商,如谷歌公司或微軟公司等。
后端即服務供應商因應用類型的不同而體現出服務的差異性;其中一些以企業應用開發人員為目標,而另一些則以消費應用為目標。一些BaaS供應商只提供后端服務,而另一些也提供接口工具。即使已經擁有了這些良好定義的差異性,BaaS供應商也還是分享了一組通用的服務。
針對企業開發人員的后端即服務
以企業開發人員為目標的BaaS供應商已擴展了包括在移動后端平臺內的功能和服務范圍。其中包括了對用戶接口測試、企業應用商店集成以及客戶服務器 端腳本程序的支持。Appery公司的開發工具包括一個可視化的拖拽工具,該工具可與jQuery Mobile和 HTML5一起用于開發接口。
對于企業移動應用而言,應用集成也是非常重要的。例如,Kinvey公司的BaaS就包括了數據鏈接,一個基于REST的wrapper數據庫應用編程接口可讓開發人員查詢和更新內部部署或基于云計算的數據存儲。
一些供應商正在精簡與PaaS服務的整合。例如,AnyPresence公司可讓開發人員從Heroku附件中選擇后端應用。而StackMob公司則提供了完全專用的集群,并在其企業級服務規劃中提供對公共云計算和私有云計算的支持。
一個用于移動設備的PaaS?
在很多方面,BaaS是針對移動設備的一個PaaS的特殊形式。一些對PaaS存在的常見關注問題也同樣適用于BaaS:例如,移動開發人員可以名正言順地關注受制于供應商的問題。一些BaaS供應商提出了解決方法,即為開發人員提供可在BaaS平臺、或IaaS云計算或甚至企業管理的基礎設施上運行的代碼。
這樣一來,如果供應商倒閉關門,雖然在你自己的服務器上運行由BaaS供應商提供的代碼所帶來的影響會有所減輕,但是這也要求由開發人員部署所有移動應用所 需的后端服務。它還要求開發人員思考后端服務的架構。開發人員可能會對部署企業應用的員工人數有一個很好的想法,但是預測消費者應用對服務器的負載將是更 為困難的,而且其中可能充滿了變數。如果你關注受制于供應商的問題,并將在你自己的服務器上部署BaaS供應商提供的代碼,那么你應思考可擴展性問題。
一個只支持兩個主操作系統平臺(即蘋果公司的iOS和谷歌公司的Android)的BaaS可能已足以滿足以消費者應用為目標的開發人員的需求了,但是它并不符合企業開發人員要求支持Windows或黑莓平臺的需求。
應用集成仍然至關重要
移動應用之間并不是互為孤島的關系。他們都存在于一個由開發人員開發和應用管理員維護的應用生態系統中。軟件開發人員已擁有的工具集中包括了集成開 發環境和版本控制系統。與這些相關工具的集成可以有助于進一步簡化移動應用的開發。Appcelerator的Titanium Studio就應用了這個原則,這是一個基于Eclipse的集成設備電路(IDE,認為這里原文有誤,應為集成開發環境)。
一旦部署了應用,那么你必須監控和收集與應用使用相關的統計數據。分析工具是BaaS供應商都會提供的標配。例如Parse的分析組件就包含了對度量應用使用率、分析推廣效果以及測量自定義指標的支持。
BaaS中的存儲與管理功能
存儲服務是BaaS中的重要組成部分,因為移動設備是依賴于訪問云計算中數據與文檔的能力的。在BaaS供應商中,具有較少方案的NoSQL數據存 儲是比較常見的,但是很多供應商還支持文件存儲服務。如果你的應用支持文件管理,可咨詢你的BaaS是否支持文本搜索服務。對象存儲服務應為被存儲對象的 元數據提供搜索服務。
用戶管理則是BaaS供應商所提供的另一個核心服務內容。一般而言,其功能包括對分析、個性化以及訪問控制等功能的支持。對于要求細粒度訪問控制、支持組權限、先進身份驗證功能的企業應用來說,后者是尤為重要的,如Active Directory集成。