看Salesforce的“云计算”平台

Source: http://www.newmaker.com/art_34699.html

静观云卷云舒——Force.com云计算解析 

云计算和SaaS是2008年的两大技术热点。它们是彼此独立的商业模式,还是站在不同的商业立场上的概念营销,一时间业内充满了争论。透过对当前此模式先行者的分析,我们可以得出结论:SaaS可视为云计算的一部分,因为SaaS面向应用和服务,而云计算则还要同时负责管理托管环境中的主要计算和存储资源。让我们通过Salesforce公司的PaaS(平台即服务)——Force.com平台,来揭开云计算神秘的面纱。

Salesforce.com是一家爱尔兰公司,是软件即服务厂商的先驱,并成为第一个年销售额超过10亿美元的SaaS/云计算公司,相比之下,微软的RedDogCloudServices和IBM的BlueCloud(蓝云)计划才刚刚刚起步。2008年1月,Salesforce.com推出了随需应变平台DevForce,Force.com平台是世界上第一个平台即服务的应用——PaaS。Salesforce抛开了让客户觉得太过科学性描述的云计算,而推出了“商业云”(BusinessCloud)的概念。除了CRM,Force.com平台要构建更多更好的应用。开发人员可以用这个平台建立核心的商业应用,如ERP(EnterpriseResourcePlanning)、HRM(HumanResourceManagement)、SCM(SupplyChainManagement)。它的理念是重创新而不重架构,而客户的生意就在这片云里完成。

Force.com平台的理念是追求按需创造的应用(CreatingOn-DemandApplications),能够给ISV(独立软件提供商)和开发者带来的好处是:

1、快速开发。

2、坚若磐石的IDC和系统安全性。

3、应用接口和数据表非常容易定制,即使在开发后也保持了良好的扩展性。

现在日本的邮政局网络(http://www.jp-network.japanpost.jp/en/)已经在Force.com平台上建立了应用,为40000客户提供查询服务,而此功能的设计开发仅仅2个月,这可谓是云计算首个初具规模的成功案例。

下面让我们通过一张Force.com云计算平台架构图来做以详解。

看Salesforce的“云计算”平台

从架构图中我们可以看出,Force.com云计算平台包含三个部分,基础架构与物理资源层(A)、PaaS中间平台层(B)和商业应用层(C)。A、B两层是Force.com的基础平台,不需要ISV或Developer过多考虑,而C层是开放的应用层,是我们要关注的焦点,我们将由简入深来展开分析。 

首先,C层的绿色区域是应用界面,是面向客户的。此区域大部分功能都是可利用云计算平台的组件支持的,划分为三个区块:

1、Tabs区域:包含各种菜单和标签按钮。

2、HyperLinks区域:因为Force.com平台是基于WEB浏览器的,这些链接提供对实体数据的导航。

3、Form区域:主体的功能区,内容交互与展示在此区域进行。

其次,C层的黄色区域是应用分类,商业云是通过数据集中化应用和协作模式应用来呈现的,这是Force.com平台最大的魅力。

1、数据集中化应用:

一个数据集中化的应用是建立在一个结构化、一致性的信息上的应用程序,这些信息可能存储在数据库或XML文件中。此种应用是使我们容易去控制、存取和管理数据。Force.com的数据集中化的特性使平台容易建立和托管企业的商业应用。

2、协作模式应用:

一个协作模式应用是指一个应用的数据和服务可以同时被不同地区的众多用户访问和使用。不像传统软件只是安装在单机上,无法与远程分享,协作应用程序是基于浏览器的应用,直接与互联网相连,这就使企业非常容易协同工作,如销售产品、管理项目、招聘员工等。除此之外,我们可以将Force.com平台的内嵌协作特性的优势总结如下:

(1)平台的安全性和共享模式让我们容易控制用户存取不同的数据。

(2)工作流规则让我们可以自动化的分配工作、更新数据、以及在出现关键数据变更时的邮件报警。

(3)审批流程让我们可以设置多个步骤来做记录的审批,配置简单易用。

以上这些特性让Force.com平台可以提供一个框架,让企业可以跨组织、跨地区的分享应用,来实现整个公司的关键业务与数据的管理和控制。

第三,C层的蓝色区域是Force.com平台的四大核心技术:多点租用架构、元数据驱动的开发模型、WebServicesAPI、AppExchange目录。下面我们通过一个表格来进行对比展示。

Force.com平台背后的核心技术

技术要点描述
多点租用架构这种应用模型允许所有的用户和应用可以共享任何一个独立的、公共的架构和代码基类。除了Force.com,eBay、My Yahoo!和Google Mail也是此类架构。
元数据驱动的开发模型此开发模型允许应用程序被定义为可声明的“Blueprint”而无须编写代码。数据模型、对象、表单、工作流都是通过元数据定义的。如将标签、表单、连接等存储到数据库中而非固定写到某个程序里。当用户通过Force.com 平台访问应用时,再映射这些元数据到用户界面,以保证最大限度的扩展性和灵活性。
Force.com Web Services API这种类型的API定义了Web Services,使之能够通过不同语言和平台访问所有存储在Force.com 平台中的数据。这种情况通常出现在开发者需要让应用程序做的事情不是平台内嵌支持的,他们只能跨越元数据层,使用传统的开发模式来创造新行为,这样就优的方式就是使用Force.com Web Services API。这些API提供了一种直接的、强大的、开放的方式来访问此平台上所有的应用和数据,而且与开发语言相独立的。
AppExchange 目录

此Web目录下包含成百上千的AppExchange应用,可供Salesforce客户去查阅、Demo演示、评价或安装。此平台的开发者也上传自己的应用到此目录,与社区分享。AppExchange应用可以通过www.salesforce.com/appexchange/访问。

这让我们想起了前几年的,是由微软和IBM曾力推的UDDI服务。Salesforce能否将AppExchange形成标准开放给其他平台,让我们拭目以待。

在了解了Force.com平台的架构之后,作为开发者如何参与云计算的应用开发呢?很简单,门槛并不高,但要了解应用设计开发的步骤和流程。

第一,用户可以在developer.force.com(DFC),注册可以获得一个免费的开发人员版的帐号:[email protected],我们将会收到一封电子邮件,通过它激活developer.force.com会员,包括一个Force.comDeveloperEdition(DE)帐户。这样我们就拥有了构建Force.com应用程序和探索Force.com平台的一个个人开发环境。我们的DE帐户还能够访问其他developer.force.com成员资源。

第二,在登录后成功后提示:“欢迎来到开发者版(DeveloperEdition)---云计算开发环境。”此环境可供开发者研究、开发和测试,提供给开发者直接访问Force.com核心

技术的机会,像Apex语言、Visualforce、WebServicesAPI和AppFramework等。一旦安装了新应用,我们还可以将我们的应用与Salesforce的销售、CallCenter等应用协同工作。

第三,通过下面的Force.com设计开发示意图了解开发规则。

看Salesforce的“云计算”平台

我们看到,建立云计算应用时,Force.com提供了两种模式的组件支持:Native组件和Composite组件。Native组件基本上是不必开发的,通过是通过配置进行,如:安全及共享规则、用户接口界面、WorkFlow及审批、数据定制对象等。这些组件其实是Force.com平台中开发好的、成熟的组件,可以直接引用。此模式的优点在于简单,执行速度快,效率高,也避免了重复开发。虽然Native组件能满足多数应用需求,但更复杂的商业需求,则要使用Composite组件来实现。比如复杂的接口实现、Web Services操纵数据,这些业务逻辑则可能要通过Java或C#等进行代码编写来实现。好在Force.com提供了比较完整的SDK文档支持。此模式的优点在于可控性、灵活性强。一般一个完整实用的云计算应用是同时包含两种组件的,这要靠开发者的经验和智慧了。 

综上,当云计算以玄妙的概念把人们弄得云里雾里的时候,Salesforce的Force.com商业云平台却实实在在的敞开了空中楼阁的一扇门。尽管门那边的风景和现实存在一定的距离,但毕竟已经有企业享受到云端服务了。人们永远对新鲜的风景充满期待,那就让我们参与进来,站在平台之上,静观云卷云舒。

相关推荐