1. 首頁
  2. 云計算

專家看Web API、云及移動的融合

  面向對象架構(SOA)及云平臺之爭已經火爆了好幾年。再摻上移動應用和Web API的話一定會讓架構師開口發表高論。在我們最新的播客里,Slalom
Consulting定制應用開發的首席實踐負責人Rob Daigneau從專家角度提出了他對Web
API、云及移動技術剖析。下午好。今天和我一起做節目的是Rob Daigneau,他準備跟大家談談對Web API、云及移動融合的一些看法。

  

gtml 專家看Web API、云及移動的融合 移動應用 云平臺 Web API soa應用平臺 SOA html5

  SOA出來已經有一段時間了,但是現在還是有很多人在爭論SOA是什么東西,在吵它有沒有用。有人認為不管你對SOA怎么想,服務才是我們應該關注的東西。你對這個觀點怎么看?

  Daigneau:SOA當然存在若干的定義。比方說,OASIS的定義是組織利用所有權分屬不同域的分布式能力的規范。我認為Eric
Newcomer的定義很棒:他的看法是SOA更多是在生命周期內管理應用的方法論。還有人說SOA跟集成和中間件的關系更大,等等。

  不管最后一致通過的定義怎樣,這個過程當中已經有了很多的宏大承諾。我們聽到有人說通過這種耦合和復用我們應該可以獲得更大的能力,因為這種復用能節省更多成本。當然,這一說法部分已經實現了,但從很多方面來看,這種實現是要打折扣的,因為我們無法找出,或者說無法就SOA是什么達成一致。也就是說,SOA很難實現,因此并沒有完全兌現所有的這些承諾。與此同時,Web服務已經在許多企業使用了很多年,且已經有了一些好的案例,在集成方面實現很好的價值。

  還有一個跟SOA有關的,對云平臺的爭議也很熱。許多人對它的看法跟SOA類似,即可以實現更好的敏捷性,更低的成本,可容錯等。你認為這些說法正確的嗎?云企業的未來如何?

  Daigneau:云當然帶來價值,但是這段時間圍繞著云的炒作有點過火了。幸運的是,我們似乎已經走出Gartner所謂的期望膨脹期。這是云能降低Opex和Capex的證據,通過更容易地提供和部署系統鏡像也可以實現敏捷。然而,在提供不受限的可伸縮性方面云似乎力不從心,高可用性仍然頗具挑戰。

  對于把自己的資產放到云端有多安全,企業也還沒有適應。他們意識到自己必須放棄對自己系統的部分控制。此外企業需要理解IaaS、PaaS以及SaaS之類的東西。很容易可以看出為什么許多公司遷移到云端的速度緩慢。然而,我的確認為許多企業未來會用上云,可以肯定現在就有很多。

  這里說的的確是指公有云,而不是內部虛擬機器,即許多供應商所謂的私有云;一個狡黠的營銷把戲。不管怎么說,我因此認為許多企業將繼續優先采用IaaS而非PaaS,因為前者更好理解,且不會讓你被特定的云供應商鎖定。IaaS在必要時能提供一定的可能性。

  我們還看到有企業采用混合方案,將部分服務推向云端,但同時保留部分在本地數據中心。比方說,我們可能會使用公有云作為先進計算平臺來處理業務功能及數據子集。這是一種相當漂亮且實用的分治策略,能促進企業整體的可用性,性能以及安全,因為企業現在可以獨立地管理這些服務,云端的服務和本地服務可以分開管理。總而言之,我認為云的前途是光明的。

  我認為要是不深入討論移動平臺的話我們就算是失職了。毫無疑問,這是顛覆創新的一個例子,顯然消費者市場已經擁抱這些技術,說實話它正在改變我們的生活方式。對于企業的移動化你是怎么看的?

  Daigneau:企業似乎相當迅速地跳到這股洪流當中。其一是,他們意識到自己的客戶正在使用移動平臺,也將其視為向外勤和本地員工提供能力的一種有效方式。業務主管也將移動視為提供商業智能、儀表盤等此類東西的一種很好的方式。

  在移動領域,企業面臨著若干挑戰。移動應用無法像傳統應用那樣進行設計,軟件開發者和架構師需要對安全問題更加熟悉。他們必須考慮無線網絡會如何影響到應用性能。他們還甚至必須設計這些應用在無法與某些后端Web服務連接的情況保持工作。

  對于企業來說,要想找出目標移動平臺是件非常可怕的事。該不該看看iOS、Android或者Windows?可有些人還在用著黑莓。其部分決定要由客戶喜好驅動,有的則取決于公司策略,或者在某些情況下要看員工的選額,尤其是采取BYOD(自帶設備)哲學的環境下。不管哪一種情況,很顯然,隨著未來進入我們的視野,企業都會越來越多地使用移動設備和平臺。

  如果可能的話,你能不能再深入探討一下移動應用以及Web API和服務如何協作的?

  Daigneau:當然。Web
API和Web服務是用來接收移動應用數據的,也用來發送信息給這些應用,如告警和通知。當然,這些數據也可能是多媒體。移動應用和Web服務的確是相當的互補。

  Web服務也往往要封裝業務功能。你當然也可以將這些業務功能的一部分分發出去,扔給移動應用本身,不過如果業務能力太復雜,難以分發的話,也許在執行上就會比較冗長,像這樣的話,將這類邏輯和功能合并進一個Web服務中就很有意義了。其他像圖形化功能、數據可視化之類的特性,當然下放到移動設備上就行了。

  Web服務往往還會自己來執行移動應用的更新。情況基本上是這樣,比方說,當你的智能手機告訴你有若干應用需要更新時。設備與Web服務溝通來找出是否存在更新,尤其是為企業來做到這一點。我認為,它們要靠Web服務。我們已經看到,相對于使用SOAP和WSDL的更為傳統的Web服務,Web
API是向移動應用提供這些能力最自然的方式。協作起來要容易得多,當然還有其他原因。不過可能我們沒有足夠的時間在本播客中深入探討那些細節了。

  云在其中的作用是什么,你能否告訴我們一點?

  Daigneau:我前面已經有所暗示。云平臺為Web服務托管提供了卓越的手段。某些企業會走出去,把所有東西都架設在云端,從而避免維護自己的數據中心。其他的則會試著采用我前面提到過的混合方案,將部分業務服務推向云端,然后保留一部分服務在自己的數據中心。

  我們會看到的一種應用場景是企業會利用公有云平臺處理整個業務計算需求的部分子集。在其他場景下,我們會看到Web服務、Web
API、移動應用以及云等東西融匯在一起,幫助企業創造出某些真正令人興奮的機會。

  說到融合,原生應用、HTML5、CSS、JavaScript怎么樣?這些決策因素會產生什么樣的影響?

  Daigneau:首先,我們必須記住,這樣的情況總是會存在的:即用原生移動技術開發應用會更有意義。這種辦法很可能總能夠提供最豐富最具響應性的UX(用戶體驗)。與此同時,似乎原生應用的開發者工具、調試工具以及分析等方面還是領先一點,可能還會保持領先一段時間。比方說,LinkedIn就放棄了最近在HTML5方面的努力,而轉向更豐富的原生平臺環境。

  但是,問題在于你得為多個移動平臺重建自己的應用,你得做大量的開發工作,真的,要做的工作要多得多。對于這種情況,某些企業選擇了移動SDK(軟件開發工具集),讓開發者可以一次編寫然后部署到多個移動平臺。這種做法似曾相識,對吧?比方說,像Java。問題是這些SDK往往選擇最小共性的做法,所以無法真正駕馭特定移動平臺的獨特能力。

  出于上述多種原因,我們當中的很多人都在利用HTML5、CSS3、JavaScript之類的技術,以及許多開源框架,以此來讓我們創建出利用行業標準和非專利技術的富功能移動應用。所有這些東西,在某種程度上定義了一個新的平臺類型,可謂集流行元素之大成。比方說Netflix已經決定要從專利技術(Silverlight)轉向HTML5,這很好。再者,這些技術跟Web
API的配合真的是非常非常的好,幾乎就像是天作之合。就是這樣。這就是我對Web API、云及移動融合的看法。

百度手机助手下载安卓