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