国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
對話阿里架構師:走進SaaS應用開發(fā)
userphoto

2009.09.01

關注

【51CTO.com獨家特稿】2009年2月26日,51CTO開發(fā)頻道“SaaS時代的軟件開發(fā)”專題活動邀請了阿里軟件研究院資深經理王安全老師作客51CTO嘉賓聊天室,向大家講解SaaS應用開發(fā)對開發(fā)人員提出的新挑戰(zhàn),如SaaS和云計算、Open API、語言改進、等對開發(fā)人員現有技術結構、知識儲備的影響和開發(fā)理念的更新。

 王安全:2006年加入阿里巴巴(www.alibaba.com)集團研究院,任軟件架構師;2007年阿里集團分拆,進入阿里軟件(www.alisoft.com),從事架構和管理工作,目前司職阿里軟件研究院資深經理。

以下為聊天實錄,51CTO略有整理。

超越傳統(tǒng)軟件開發(fā)技術

51CTO:王老師,阿里軟件是國內較早進入SaaS領域的廠商,也是目前國內用戶數量最多的SaaS平臺之一。作為阿里軟件的核心開發(fā)人員,您對SaaS有怎樣的認識?您如何看待近年SaaS的發(fā)展的?

王安全:對于SaaS有兩種理解,一種是Software as a Service,另一種是Service as a Software;無論哪種理解都是兩個關鍵詞:Software和Service。

對于一個軟件開發(fā)者來說從SaaS里引出的關鍵詞有:互聯網、WEB、大規(guī)模、Service、定制、軟件、服務,連起來說就是我們在互聯網環(huán)境下為大規(guī)模用戶開發(fā)可定制的軟件和服務(定制是SaaS發(fā)展的高級階段)。這個大規(guī)模對我們來說其實有兩層含義:一是用戶量大,二是數據量大。

51CTO:SaaS、云計算、虛擬化……,我們處在一個新名詞,新概念,新技術層出不窮的時代,您覺得SaaS是一個商業(yè)詞匯?還是一個技術詞匯?開發(fā)人員該如何面對不斷出現的新概念和新技術?

王安全:SaaS既是一個商業(yè)詞匯,也是一個技術詞匯;說他是商業(yè)詞匯是因為SaaS是一種新的商業(yè)模式,在這種模式下軟件、數據都可以成為一種服務,可按時長或次數等多種計費模式進行消費;

說他是技術詞匯是因為SaaS模式下的軟件開發(fā)有很了許多新的技術,比如說Multi-Tenant架構、定制、OpenAPI、計費等,也增加了許多約束,如多用戶、大數據量、高并發(fā)等,都需要用超越傳統(tǒng)軟件開發(fā)的方法去解決這些問題。

51CTO:云計算也是當前比較熱門的技術;SaaS為云計算提供了良好的表現和實現形式。您如何看待云計算與SaaS的關系?商業(yè)云在阿里的整個SaaS體系中處于怎樣的位置?

王安全:首先要對云計算有一個清晰的定義才行,目前對于云計算并沒有教科書式的經典定義,市場上主要的供應商的定義和產品也各不相同,比如Amazon和微軟就各有重點,但是基本上描述的都是計算和存儲能力。

阿里軟件也有自己的云計算方案和產品,我們的云叫做商業(yè)云(Business Cloud),我們認為云和云端的出現不僅僅是SaaS的運行和表現容器,更是SaaS的升級模式;如果計算能力總是用最初級的CPU頻率和計算時間來表示,那就太過于底層了,對ISV和終端用戶來說麻煩和抽象,我們認為計算能力的更具象的表現是商業(yè)服務,比如處理一個流程,更高級的比如訂一張從北京到杭州的機票,這樣更接近現實生活,對用戶來說更簡單和形象。

我們認為SaaS中的S會構成一個巨大的云,這些S既有OS層的計算、存儲能力等底層服務,也有流程處理、搜索等獨立商業(yè)服務,更有訂機票、招聘等完整的商務流高級服務,這些服務在云里的表現形式或是App,或是API。

51CTO:阿里軟件通過開放API的方式吸引了大批開發(fā)者參與到阿里平臺的建設,同時,開發(fā)者也提供了更多優(yōu)秀的軟件供用戶使用?,F在,Open API受到了越來越多廠商和開發(fā)人員的關注。在SaaS時代的API與我們傳統(tǒng)API有哪些改變?

王安全:首先API的含義發(fā)生了改變。API其實是一種能力的抽象和暴露,在單機上(比如一臺Intel + Windows)API只是將硬件和Windows的能力抽象和暴露出來。

在SaaS模式下,API可以把整個互聯網的能力進行抽象和暴露,每個API后面的含義更加豐富了,不再是冰冷的純硬件或軟件,可能是一個有多人完成的復雜現實業(yè)務,比如說一個訂酒店的API就代表了一組呼叫中心的客服代表和酒店間的業(yè)務交互,這在單機環(huán)境下不可想象的。

API的表現形式也發(fā)生了很大的改變。最簡單的API是在單機上同一編程語言的API形式,即源碼形式;復雜一些的是內存空間相同,編程語言不同,像OLE、COM之類;更復雜的就是不同內存空間和編程語言也不相同,像COM+、CORBA、RMI、WEB Service等;

到了互聯網時代許多不同的平臺和技術需要聯通,這就需要更好的API的表現形式和載體,HTTP和URL的提出是一個巨大的進步,SaaS基于互聯網,很自然的采用了HTTP協(xié)議,所以SaaS中API開放大規(guī)模采用WEB Service方式,在WEB Service的多種方式里,阿里軟件更喜歡REST,REST輕量、易懂,語義化更強。

阿里軟件目前公開的API列表在這里:
http://wiki.isv.alisoft.com/index.php/%E6%9C%8D%E5%8A%A1%E9%9B%86%E6%88%90%E5%B9%B3%E5%8F%B0_API_%E5%88%97%E8%A1%A8

51CTO:與SOAP相比,REST更加輕量、高效和簡潔。但阿里平臺上的API有些會涉及到交易和用戶方面的業(yè)務,對于安全性要求較高的接口,REST是否合適?

王安全:就安全方面來說,REST和SOAP本身是一樣的,可以支持任何方式,包括證書認證,SOAP本身不存在安全規(guī)則,僅僅是在WS-Security附加在SOAP上才有了成熟的安全機制。

SaaS時代的編程語言

51CTO:SaaS對開發(fā)人員所使用的程序語言會產生什么影響?我們最近經??吹胶瘮嫡Z言和動態(tài)語言方面的報道,比如函數語言(Erlang、F#)對于云端高并發(fā)、低副作用的優(yōu)勢和動態(tài)語言(Ruyb、Python)在敏捷方面的優(yōu)勢等等。您如何看待程序語言的發(fā)展?

王安全:在SaaS初期來看單純就編程語言上來看并沒有太多的變化,采用Java、Python、PHP都可以,但是從發(fā)展的趨勢來看動態(tài)語言越來越流行,主要原因有下面兩個:

1、簡單、易學易用
2、Hosting環(huán)境多,成本低

在越來越多的開發(fā)者切換到SaaS開發(fā)上來了后,就會出現SaaS技術支撐平臺(即我們所謂的PaaS),為開發(fā)者提供計算、存儲、監(jiān)控、工作流、任務調度等基礎設施,使開發(fā)者快速開發(fā)出穩(wěn)定的、高性能的SaaS應用,此時開發(fā)語言就會跟提供計算能力的環(huán)境就有些關系,比如Google的AppEngine目前就限定使用了Python。

阿里軟件目前也在致力于計算能力的提供,相信在今年就會有具體的產品和大家見面。

51CTO:阿里平臺現在支持.NET、Java和PHP來開發(fā),您比較推薦那種語言?您理想中的SaaS開發(fā)語言應該具備怎樣的特性?

王安全:我們目前覆蓋了主流的開發(fā)語言,單純從言語的角度來說應該是沒有優(yōu)劣之分,從部署成本來說腳本語言有些優(yōu)勢,如果不做平臺的話我比較推薦輕量級的腳本語言,如PHP、Python都可以;

從長遠來看會依賴于SaaS開發(fā)平臺,比如Google的App Engine采用了Python,阿里軟件將來的開發(fā)平臺會以定義配置為主,小量的地方需要開發(fā)人員寫代碼邏輯,采用Java和JS。

說實在的,我沒有什么理想中的SaaS開發(fā)言語,只要他具備描述業(yè)務和調用WEB Service接口就應該可以了。

51CTO:目前阿里平臺只提供了B/S類型的接入,阿里何時會推出C/S的接入類型?Web無疑是實現SaaS最理想的載體和實現方式,您如何看待SaaS時代的C/S軟件的發(fā)展?

王安全:其實阿里軟件早就推出了C/S軟件的接入,我們不但做了接入的SDK,還在做將客戶的C/S軟件作為插件插入到我們的阿里旺旺上的桌面平臺,目前已經有很多C/S應用成為了阿里旺旺的插件。

C/S目前還是數量多、用戶粘度高,C/S軟件的SaaS化還是大有可為的:

1、SaaS化不單是技術和產品的需要,更是軟件公司商業(yè)的需要。軟件的付費模式、服務方式要SaaS花才有出路,網游就是最好的C/S形式的SaaS軟件。

2、原有的C/S軟件改造成B/S軟件成本高。

3、有些軟件必須運行在客戶端,比如有使用到一些硬件特性的軟件,如攝像頭,OS或者平臺是不會全部將工作做完的,需要我們進行必要的開發(fā)。

51CTO:SaaS的軟件架構與傳統(tǒng)的軟件架構方面有哪些不同?軟件在需求和研發(fā)方面有哪些不同?

王安全:建議你購買阿里軟件9位架構師合著的《互聯網時代的軟件革命-SaaS架構設計》,里面有你需要的詳細答案。

SaaS時代的程序員

51CTO:面對這種變化,程序員在SaaS時代命運如何?

王安全:說實在的,在SaaS時代,技術將退居二線。因為SaaS是以服務用戶為中心的,任何技術都必須圍繞商業(yè)需求轉。在SaaS平臺方面,運營才是王道;而在SaaS應用方面,快速滿足用戶需求才是制勝之道。

所以,程序員必須樹立以商業(yè)需求為中心的開發(fā)思想,程序員的命由用戶需求說了算。特別是SaaS應用的開發(fā),每個應用軟件的功能都差不多,價錢也便宜多點少點也無所為,誰能快速滿足市場需求,誰的軟件就買的好。

這時,在SaaS平臺上開發(fā)就會有很大優(yōu)勢,比如,阿里軟件正在打造的Xplatform就是一個快速開發(fā)平臺,她的最終目標就是實現大規(guī)模集成和大規(guī)模定制。

走進SaaS應用開發(fā)

51CTO:51CTO網友在看到我們的訪談后,也想進入SaaS開發(fā),他們應該做怎樣的準備?

王安全:SaaS將使程序員產生分化,即SaaS平臺開發(fā)人員和SaaS應用開發(fā)人員。與當年的系統(tǒng)開發(fā)和應用開發(fā)相似。這取決于你想加入SaaS平臺開發(fā)還是應用開發(fā)。但應用開發(fā)一定是占大多數的。

要成為SaaS平臺開發(fā)人員,最好加入Salesforce, Google,Microsoft, 或者咱們阿里軟件這樣的公司,平臺開發(fā)不是小公司能做的。如果想在SaaS應用方面大展拳腳,也建議大家在SaaS平臺上開發(fā),最起碼也要調用SaaS平臺提供的API。

平臺并不僅僅是一個開發(fā)平臺,更重要的是一個資源平臺。比如,阿里軟件互聯平臺就包含阿里巴巴1個億的客戶資源,還有大量及時的B2B, C2C信息資源,她既是資源平臺也是SaaS市場平臺,開發(fā)人員可以直接在這個平臺上開發(fā)和銷售的。

51CTO:SaaS平臺開發(fā)人員和SaaS應用開發(fā)人員的分化對他們的技術結構有哪些不同的要求?這兩類開發(fā)人員都需要具備哪些知識呢?

王安全:首先是要會一門編程語言。目前WEB是主流,所以確切的說是一門WEB開發(fā)語言,如Java。

第二是數據庫技術。熟悉基本的SQL和數據調優(yōu)技術。

第三是WEB前端開發(fā)技術。WEB成為主流,用戶體驗要求越來越高,目前JS仍然是WEB的重器,掌握一到兩個JS框架是不可少的,如jQuery;Flex、JavaFx等技術目前還沒有成為主流,可以關注一些。

第四點是WEB Service技術。在SaaS下的Open基本上都會采用WEB Service來進行,你必須知道WEB Service技術和相關的知識,如REST。

最后,第五點就是3G在中國已經發(fā)牌,未來3~5年手機上的應用一定會火起來,你的應用是否需要一個手版本這就很重要了,目前手機端的開發(fā)技術有WAP、OS Native、J2ME、Widget、中間件等模式。Apple和Google的AppStore和Android Market是不錯的模式,他們的開發(fā)都是基于自己的一套標準開發(fā),相信不久的將來就會在手機上出現更接近Native的中間件。

51CTO:SaaS開發(fā)的學習難度怎樣?我們需要留意那些技術?

王安全:世上無難事,只怕有些人。其實,學習SaaS開發(fā)與傳統(tǒng)開發(fā)并沒有多大不同,只是你得適應SaaS開發(fā)的模式,適應SaaS那些WEB API調用形式。剛開始接觸SaaS應用開發(fā)的程序員會覺得SaaS平臺那些API長得很奇怪,調用模式也不同,有同步的。有異步的,涉及一大堆確保調用安全的必備參數,甚至還要對每次簽名等等。其實,適應之后就好了。

SaaS目前還處在高速發(fā)展階段,技術上遠沒有成熟,需要不斷的吸收各個方面和領域的技術和知識,WEB2.0技術是討論很熱的區(qū)域,很多技術我們都需要用到:

◆ LAMP,性價比很高的SaaS環(huán)境搭建技術,無論是用來搭建單個SaaS應用,還是搭建一個SaaS技術平臺;目前阿里軟件就采用了MySQL來搭建分布式的結構化存儲集群,很多關鍵應用已經開始跑在上面。

◆搜索,比如說Lucene,搜索是一個很重要的技術,阿里巴巴有完整知識產權的高性能搜索引擎,我們也采用Lucene這類優(yōu)秀的開源產品。

◆前端技術,SaaS對前端技術有很高的要求,目前以JS為主,相信接下來Flex等RIA技術會大放異彩。

◆Hadoop,分布式計算設施,對于要搭建SaaS平臺的公司來說是一個高性價比、快速的方案。

◆SNS,SNS在SaaS運營中會起到巨大的作用,一般來說,很多SaaS產品都可以植入SNS,達到病毒式營銷的效果。SNS技術的重點有好友關系、好友搜索、好友動態(tài)。

◆OpenID, 可以稍微了解一下,目前支持的公司不是很多,但是OpenID的技術思想可以借鑒。

51CTO:現在有很多的SaaS平臺,開發(fā)人員應該如何面對?怎樣挑選適合自己的開發(fā)平臺?

王安全:平臺的差異比操作系統(tǒng)的差異更讓程序員頭痛,這的確是個大問題。

我想,在SaaS平臺還沒有完全進化為WEB OS之后,相關的WEB API規(guī)范都成熟之后,問題會好很多。不過,阿里軟件有一個SIP中心,也就是WEB API調用中心。這個SIP集中了淘寶、支付寶、以及眾多第三方的WEB API,這些WEB API在阿里軟件互聯平臺上有一個統(tǒng)一的調用規(guī)范。而且,SIP還在不斷地引入其他公司的WEB API。

因此,如果使用阿里軟件的SIP,開發(fā)人員只會面對一套WEB API,不會面對眾多的SaaS平臺。這也是阿里軟件互聯平臺與其他SaaS平臺不同的地方。

51CTO:網友看過我們的訪談后,想到阿里平臺上開發(fā)自己的應用,您又哪些經驗可以跟我們分享?需要注意什么問題?

王安全:首先,一定要認識到未來的開發(fā)一定是很大一部分基于互聯網的開發(fā),互聯網操作系統(tǒng)一定會出現,我們要把眼光放遠些。

其次,開發(fā)人員不再處于單打獨斗的年代,求伯君很難再現,協(xié)作、共享、平臺化是開發(fā)的新模式,重用能力比開發(fā)能力更重要,不要成天想著發(fā)明輪子,用現有的輪子搭個車更有價值。

最后,創(chuàng)新力是差異化的殺手锏,在互聯網時代,小小的創(chuàng)新可以被放大到非常驚人的經濟效益,我們要善于發(fā)現現實和網絡生活中的不便,思考出更簡單、高效的方法改造這些不便的地方。

3G已經來臨,我們應該試著開發(fā)幾個手機應用了!

51CTO:通過本次訪談,我們基本了解了SaaS時代的開發(fā)人員應該具有怎樣的技術結構和知識儲備,深入了解了如何在SaaS平臺上進行應用開發(fā),王老師向我們全面展示了SaaS應用開發(fā)的過程和相關的開發(fā)技術,與我們分享了阿里平臺應用開發(fā)的相關經驗。讓我們對SaaS時代的開發(fā)技術有了一個全面深刻的認識,感謝王老師細致耐心的講解。
 

網友精彩問答

網友子非:云計算描述的是計算和存儲能力嗎?

王安全:云計算原本是強大分布式計算和存儲能力的一個代名詞而已,本質上就是計算時間和存儲能力的提供。在云上開發(fā)出不同的軟件或服務只不過是將計算和存儲具體化,更接近客戶。

網友Jack:在阿里的SaaS平臺上開發(fā)應用是不是跟以前集成支付寶接口是一樣的嗎?

王安全:有些不一樣了,我們提供了一個叫做SIP(Service Integeration Platform)的基礎設施,通過RESTFul Style形式進行服務調用,保證接口技術是統(tǒng)一的,以后我們會逐步提供業(yè)務語義標準化的接口,如如何買一張機票的接口

網友lokke:一般,在阿里平臺開發(fā)一個應用軟件要多久?一般的,像流量統(tǒng)計什么的

王安全:目前開發(fā)一個應用要視什么樣的業(yè)務類型,如淘寶類型的,就會很快,因為我們已經接入了淘寶的API;我們還會逐步將許多不同行業(yè)的API接入,提供給我們的開發(fā)者,這是從業(yè)務層面說。從技術層面,我們會提供用一些非常有用的基礎設施,如搜索、流程、任務、性能監(jiān)控、用戶等,極大的減少開發(fā)時間,只需要調用我們的服務即可,像流量統(tǒng)計就不需要開發(fā)了,我們已經提供了基礎的服務;另外我們試圖提供一個在線的開發(fā)平臺,這個平臺集成了我上面列舉的基礎服務和業(yè)務組件,我們也提供了一系列的開發(fā)標準,如UI組件標準。

網友Jack:在阿里平臺上,是不是可以想開發(fā)什么就開發(fā)什么?阿里有沒有一些用戶需求方面的引導?

王安全:沒有限制,但是阿里軟件會將用戶需求提供給我們的開發(fā)者,一方面讓開發(fā)者可以一對一提供開發(fā)服務,另一方隨著開發(fā)者需求的積累完全可以把這個軟件開放給更多的人來使用,獲得更多的客戶,阿里軟件就是幫助開發(fā)者開發(fā)軟件,撮合用戶和開發(fā)者的軟件交易。

網友DSDC:王老師可不可以給我們介紹一下阿里軟件的電子商務云計算中心

王安全:首先,我們不可避免的會提供計算和存儲的服務,但是我們肯定和google、amazon會有非常大的差異,差異目前還是商業(yè)機密,不好意思,暫時不能暴露,相信大家在不久的將來就會看到我們的商業(yè)云產品了(business cloud)

51CTO網友:阿里現在開放的API能全部滿足軟件需求中的功能嗎?如果不能滿足怎么辦?要自己寫API?自己寫了API 能放到阿里的云上嗎?那些api應該都是webservices實現的吧?

王安全:阿里軟件提供的API肯定不能完全滿足開發(fā)的需求。如果不滿足可以自己寫,寫好后同過我們的SIP接入到阿里軟件的平臺上,提供給自己或別人用,可以按調用次數或包月等方式進行交易。另外我們也一直會不斷的引入各種各樣的API,你也可以成我們的服務提供商(ISP),我們希望這個平臺上有非常多的API,而且希望這些API背后不是一個簡單的機器計算,而更多的是一個商業(yè)服務。

目前是的,但是我們會逐步在技術上將很多東西轉化成一個API,比如一個網頁,以方便開發(fā)者將自己的東西變成服務。

網友kkdk:在校的計算機專業(yè)的學生能做SaaS開發(fā)嗎?您提倡一開始就做SaaS開發(fā)嗎?

王安全:能,非常好的嘗試。未來的開發(fā)者一定會是SaaS開發(fā)模式,因為我們開發(fā)出來的應用要給很多人用,希望有好的收入,希望能夠快速開發(fā)。。。做網站就是SaaS的初級階段,軟件互聯化一定是潮流。

51CTO網友:這種SaaS開發(fā)對技術有怎樣的要求?比如兩年經驗,三年經驗,開發(fā)過幾個項目,有類似的技能要求嗎?

跟你依賴的平臺有關,平臺越完整,開發(fā)者就越簡單和快速。但是我們來說對用戶的理解和用戶體驗的改進是需要時間的,這一點時間我們不能節(jié)約,但是我想阿里軟件SaaS平臺上的龐大用戶群和眾多的基礎設施、API會幫助到你。對于技術,必須要知道一門開發(fā)語言,知道XML、Web Service、Http等相關的知識,門檻還是不高的 

    本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報
    打開APP,閱讀全文并永久保存 查看更多類似文章
    猜你喜歡
    類似文章
    低代碼革命,阿里云釘釘修路蓋樓
    讓SaaS進入全面定制時代
    阿里巴巴推出AR開放平臺和內容平臺,提供識別追蹤等底層技術
    SaaS&云計算攪動未來軟件發(fā)展
    阿里云IoT云產品交流會:物聯網痛點多,阿里能做什么?
    互聯網巨頭的云戰(zhàn)略:云計算,還是云服務?
    更多類似文章 >>
    生活服務
    分享 收藏 導長圖 關注 下載文章
    綁定賬號成功
    后續(xù)可登錄賬號暢享VIP特權!
    如果VIP功能使用有故障,
    可點擊這里聯系客服!

    聯系客服