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