技术开发 频道

对话阿里架构师:走进SaaS应用开发

【IT168 分析评论】

    王安全:2006年加入阿里巴巴集团研究院,任软件架构师;2007年阿里集团分拆,进入阿里软件,从事架构和管理工作,目前司职阿里软件研究院资深经理。

    以下为聊天实录。

    超越传统软件开发技术

    51CTO:王老师,阿里软件是国内较早进入SaaS领域的厂商,也是目前国内用户数量最多的SaaS平台之一。作为阿里软件的核心开发人员,您对SaaS有怎样的认识?您如何看待近年SaaS的发展的?

    王安全:对于SaaS有两种理解,一种是Software as a Service,另一种是Service as a Software;无论哪种理解都是两个关键词:Software和Service。

    对于一个软件开发者来说从SaaS里引出的关键词有:互联网、WEB、大规模、Service、定制、软件、服务,连起来说就是我们在互联网环境下为大规模用户开发可定制的软件和服务(定制是SaaS发展的高级阶段)。这个大规模对我们来说其实有两层含义:一是用户量大,二是数据量大。

    51CTO:SaaS、云计算、虚拟化……,我们处在一个新名词,新概念,新技术层出不穷的时代,您觉得SaaS是一个商业词汇?还是一个技术词汇?开发人员该如何面对不断出现的新概念和新技术?

    王安全:SaaS既是一个商业词汇,也是一个技术词汇;说他是商业词汇是因为SaaS是一种新的商业模式,在这种模式下软件、数据都可以成为一种服务,可按时长或次数等多种计费模式进行消费;

    说他是技术词汇是因为SaaS模式下的软件开发有很了许多新的技术,比如说Multi-Tenant架构、定制、OpenAPI、计费等,也增加了许多约束,如多用户、大数据量、高并发等,都需要用超越传统软件开发的方法去解决这些问题。

    51CTO:云计算也是当前比较热门的技术;SaaS为云计算提供了良好的表现和实现形式。您如何看待云计算与SaaS的关系?商业云在阿里的整个SaaS体系中处于怎样的位置?

    王安全:首先要对云计算有一个清晰的定义才行,目前对于云计算并没有教科书式的经典定义,市场上主要的供应商的定义和产品也各不相同,比如Amazon和微软就各有重点,但是基本上描述的都是计算和存储能力。

    阿里软件也有自己的云计算方案和产品,我们的云叫做商业云(Business Cloud),我们认为云和云端的出现不仅仅是SaaS的运行和表现容器,更是SaaS的升级模式;如果计算能力总是用最初级的CPU频率和计算时间来表示,那就太过于底层了,对ISV和终端用户来说麻烦和抽象,我们认为计算能力的更具象的表现是商业服务,比如处理一个流程,更高级的比如订一张从北京到杭州的机票,这样更接近现实生活,对用户来说更简单和形象。

    我们认为SaaS中的S会构成一个巨大的云,这些S既有OS层的计算、存储能力等底层服务,也有流程处理、搜索等独立商业服务,更有订机票、招聘等完整的商务流高级服务,这些服务在云里的表现形式或是App,或是API。

    51CTO:阿里软件通过开放API的方式吸引了大批开发者参与到阿里平台的建设,同时,开发者也提供了更多优秀的软件供用户使用。现在,Open API受到了越来越多厂商和开发人员的关注。在SaaS时代的API与我们传统API有哪些改变?

    王安全:首先API的含义发生了改变。API其实是一种能力的抽象和暴露,在单机上(比如一台Intel + Windows)API只是将硬件和Windows的能力抽象和暴露出来。

    在SaaS模式下,API可以把整个互联网的能力进行抽象和暴露,每个API后面的含义更加丰富了,不再是冰冷的纯硬件或软件,可能是一个有多人完成的复杂现实业务,比如说一个订酒店的API就代表了一组呼叫中心的客服代表和酒店间的业务交互,这在单机环境下不可想象的。

    API的表现形式也发生了很大的改变。最简单的API是在单机上同一编程语言的API形式,即源码形式;复杂一些的是内存空间相同,编程语言不同,像OLE、COM之类;更复杂的就是不同内存空间和编程语言也不相同,像COM+、CORBA、RMI、WEB Service等;

    到了互联网时代许多不同的平台和技术需要联通,这就需要更好的API的表现形式和载体,HTTP和URL的提出是一个巨大的进步,SaaS基于互联网,很自然的采用了HTTP协议,所以SaaS中API开放大规模采用WEB Service方式,在WEB Service的多种方式里,阿里软件更喜欢REST,REST轻量、易懂,语义化更强。

    51CTO:与SOAP相比,REST更加轻量、高效和简洁。但阿里平台上的API有些会涉及到交易和用户方面的业务,对于安全性要求较高的接口,REST是否合适?

    王安全:就安全方面来说,REST和SOAP本身是一样的,可以支持任何方式,包括证书认证,SOAP本身不存在安全规则,仅仅是在WS-Security附加在SOAP上才有了成熟的安全机制。

0
相关文章