在涉及查找在线应用程序时,你具有大量的选项。提供商可能具有一大批供你可以使用的预制的应用程序。后面将探讨其中一些应用程序,但是如果提供商没有提供你想要的应用程序,则该如何?别人可能已经创建了应用程序,这就成了使用他们创建的应用程序的简单事情。例如,我们在本章前面探讨了Force.com允许你和其他人创建自己的应用程序,然后使它们可供别人使用。如果你没有找到你想要的应用程序,你可以询问你的服务提供商——他们可能把它脱机存放在某个位置,或者他们可以指引你找到它。
5.2.1Web API
你在构建自己的应用程序时很可能使用API。有许多不同的API,你使用哪些API将依据你的需求以及使用哪家公司提供的云服务。不同的云提供商使用不同的API。
应用程序编程接口(Application Programming Interface,API)是用于访问基于Web的程序的一组编程指导和标准。软件公司给公众发布他们的API,使得其他软件开发人员可以设计由其服务提供动力的产品。例如,Amazon发布了它自己的API,使得Web站点开发人员可以更容易地访问在Amazon Web站点上维护的信息。通过使用Amazon的API,第三方Web站点可以直接链接到Amazon站点上的产品。
API允许一个程序与另一个程序通信。它们不是用户界面。使用API,程序可以彼此通信,而无须用户参与。例如,当你在Amazon购物并输入你的信用卡信息时,Amazon将使用一个API把你的信用卡信息发送给一个远程应用程序,来验证你的信息是否正确。作为用户,你只会看到输入信用卡信息的位置,但是在幕后,API正在做所有的工作。
API类似于软件即服务(Software as a Service,SaaS),因为软件开发人员在编写程序时不必每次都从头开始。无须构建一个可以做所有事情(电子邮件、计费跟踪等)的程序,应用程序可以把这些职责承包给其他可以做得更好的应用程序。
API的工作原理。API是一个接口,它定义了两方通信的方式。利用API,往返的呼叫由Web服务管理。Web服务是一个标准集合,其中包括XML,它是一种允许应用程序通过Internet通信的程序设计语言。XML是一种通用的标记语言,它以人类和计算机都可以读和写的方式描述结构化数据。程序员可以通过以下方式使用API:编写新的应用程序或现有的应用程序,生成适当的XML消息,以便利用远程应用程序。例如,如果你希望在云上存档电子邮件,就可以使用API自动把电子邮件从你的邮箱发送给云存档。发布其API的公司在这样做时,通常将其作为更大的软件开发工具包(Software Development Kit,SDK)的一部分,其中包括API、程序设计工具和文档。在你的用户访问云时,API和Web服务对于他们是不可见的。他们的全部目的是在后台不引人注意地运行,并完成他们分内的工作。
XML并不是使API工作的唯一标准。其他标准包括:
(1)SOAP(Simple Object Access Protocol,简单对象访问协议)。SOAP编码XML消息,使得任何操作系统都可以通过任何类型的网络协议接收和理解它们。
(2)通用描述、发现和集成(Universal Description,Discovery,and Integration,UDDI)。UDDI是一种基于XML的目录,允许企业列出他们自己、相互查找,以及使用Web服务开展合作。
(3)WSDL(Web Services Description Language.Web服务描述语言)。WSDL是UDDI的SOAP。WSDL是基于XML的语言,企业可以使用它在UDDI中描述它们的服务。
API的建立。你可以使用许多不同的API把你的组织与云应用程序连接起来。我们首先了解GoGrid。GoGrid的API是一种Web服务,允许开发人员控制其与GoGrid的云托管基础设施的交互。GoGrid API供了双向通信,用于控制GoGrid的控制面板功能。
该API的典型应用包括:
(1)自动伸缩网络服务器。
(2)列出分配的公共和私有IP地址。
(3)删除服务器。
(4)列出计费详细信息。GoGrid类似于REST的API Query界面设计用于那些希望以编程方式通过Internet控制他们的云托管基础设施的用户。GoGrid API要求你是GoGrid顾客,并且具有技术知识和编程技能。GoGrid API支持这些语言:Java、PHP、Python、Ruby。再了解Apex。Apex Web Services API是世界上最广泛使用的企业级Web服务之一,在Salesforce.com的37亿件服务事务中,它处理的事务占了一半以上。Apex Web Services API使得有可能在单个请求中访问和管理复杂的数据关系——如一组关于账户的信息、他们购买的所有产品以及他们的所有联系人。这种能力类似于数据库的JOIN(连接)功能,不仅加快了集成的速度,同时也简化了操作,并且只有它才能提供Apex API。
开发平台。Apex是在Salesforce.com的CRM(Customer Relationship Management,客户关系管理)上构建SaaS(Software as a Service,软件即服务)应用程序的开发平台。通过使用Apex,开发人员可以访问sales的后端数据库以及客户——服务器接口,创建SaaS应用程序。这个API允许开发人员使用公共的SaaS组件,如Web构件或多租户数据库,而无须开发传统上在SaaS程序背后关联的大量基础设施。
Apex平台包含3种工具:
(1)Apex Builder。一种随需应变的组件,可利用轻松的拖放操作自定义一组有限的特性。
(2)Apex API。一种用于从Salesforce.com的服务器中检索原始数据的方法。该API由位于Salesforce.com外部的程序使用,如需要访问关于客户的Salesforce.com账户信息的Java程序。
(3)Apex Code。一种在Salesforce.com服务器上执行的程序设计语言。Apex Code通过使用Apex API在开发中提供了灵活性,同时减少了客户与服务器之间的调用次数。
5.2.2Web浏览器
为了连接云,你和你的用户最有可能利用Web浏览器。应该使用哪种Web浏览器呢?这实际上取决于你自己。各种浏览器基本相同,但是具有一些细微的功能差别。可能有些时候你只能使用Microsoft的Internet Explorer,但是一般你应该能够使用想要的任何浏览器。 Internet Explorer享有浏览器使用的最高市场份额达69.77%(依据Web指标公司Net Applications发布的2008年12月份的调查报告)。你可以把这种市场主导地位归因于Internet Explorer包括在世界上占主导地位的操作系统即Windows的这一事实。在本节中,我们将讨论市场上最流行的几种浏览器:Internet Explorer、Firefox和Safari。
5.2.2.1Internet Explorer浏览器
用于Windows Vista.XP和Windows7的Windows Internet Explorer 8是这种流行的Web浏览器的最新版本。
IE 8的特性。Internet Explorer8提供了新的外观和增强的能力,使得人们可以简单、快速地完成日常任务,如搜索、浏览多个站点和打印。IE 8中最重大的改变是呈现模式。Web的逐渐演化使得像Internet Explorer这样的浏览器有必要包括多种内容呈现模式——既要支持某些Web标准的严格解释,也要支持设计用于维持与现有Web站点相兼容的行为。Web站点设计者一般能够指定他们是在为哪种模式进行设计。如果没有来自Web站点的特定指导,默认将把浏览器预先设置成使用其中一种模式。Internet Explorer8被设计成包括3种呈现模式:第一种模式反映了当前Web标准的Microsoft实现;第二种模式反映了在2006年发布Internet Explorer7时的Web标准的Microsoft实现;第三种模式基于回溯至早期的Web时的呈现方法。
最新的呈现模式具有前瞻性并且是Web设计者首选的模式,而其他呈现模式则被提供用于支持与跨Web的无数站点的兼容性,他们目前为Internet Explorer的以前版本进行了优化。尽管Internet Explorer8包括重要的最终用户体验的改进,在设计它时也考虑到了开发人员和1T经理的需要。Microsoft通过遵守一些用于Web站点开发的最重要的标准,使Internet Explorer8与现有Web站点兼容。Internet Explorer 8还通过Active Directory Group Policy(活动目录组策略)的增强支持,为企业提供了改进的易管理性能,它允许IT经理轻松部署和集中管理他们的网络中的每个桌面浏览器。
5.2.2.2Firefox浏览器
Firefox 3是来自全世界的数千位开发人员、安全专家、本地化和支持团体以及测试员3年努力工作的结晶。Firefox 3支持大约50种语言,它比前一个版本快2~3倍,并且提供了15 000多种改进,包括创新的智能地址栏、恶意软件防护以及改进了浏览器的速度和性能。
(1)用户体验。Firefox 3的增强包括新增的Firefox 3智能地址栏,通常富有感情地称之为“令人敬畏的栏”。它能够在人们使用它时学习适应用户的嗜好,并随着时间的推移提供更好的适配性。Firefox 3 Library把浏览历史记录、书签和标签进行存档,在其中可以轻松地搜索和组织它们。一次单击式书签和标签使得很容易记住、搜索和组织Web站点。新增的完全页面空间可以在几秒钟内显示Web页面的任何部分,使它们尽可能上移和可读。
(2)Firefox的性能。Firefox 3构建在Gecko1.9平台上,是更安全、更容易使用、更个性化的产品。Firefox 3在运行时使用比以前版本更少的内存,并且重新设计过的页面呈现和布局引擎意味着用户可以比使用Firefox 2时快2~3倍地查看Web页面。
(3)安全性。Firefox 3提升了安全性的门槛。新的恶意软件和网络钓鱼(放Fishing)防护有助于防御病毒、蠕虫和间谍软件,使人们在Web上保持安全。Firefox 3的一次单击式站点ID信息允许用户验证站点就是它所声称的那样。Mozilla的开源过程利用了全世界数千位安全专家的经验。
(4)自定义。Firefox 3可以让用户利用5 000多种附件自定义他们的浏览器。Firefox附件允许用户管理一些任务,如参与在线拍卖、上传数字图片、查看天气预报以及听音乐,浏览器给他们都提供了方便。新增的Add-ons Manager(附件管理器)可以帮助用户直接从浏览器查找和安装附件。
Mozilla Firefox 3现在可用于Windows、Linux和Mac OS X操作系统,可以从http://www.getfirefox.com上免费下载。
5.2.2.3Safar浏览器
Apple声称Safari 3.1是世界上用于Mac和Windows PC上最快的Web浏览器,它加载Web页面的速度比Internet Explorer 7快1.9倍,并且比Firefox 2快1.7倍。Safari运行JavaScript的速度也比其他浏览器快6倍之多,并且是第一款支持最新的创新式Web标准的浏览器,这些标准是提供下一代高度交互式Web 2.0体验所需要的。可以在上免费下载用于Mac OS X和Windows的Safari 3.1。
(1)Safari的性能。Safari利用拖放式书签、易于组织的选项卡、用于显示页面中匹配编号的集成的“查找”能力以及用于快速扫描最近新闻和信息的内置RSS阅读器,提供了直观的浏览体验。Safari 3.1是第一款支持HTML 5中的新型音频和视频的浏览器,并且是第一款支持CSS动画的浏览器。Safari还支持CSS Web字体,为设计者创建令人印象深刻的新型Web站点提供了无限的字体选择。
(2)系统需求。Safari 3.1 for Mac OS X需要Mac OS X Leopard或Mac OS X Tiger版本10.4.11以及最少256MB的内存,并且设计成在任何基于Intel的Mac或者具有PowerPC G5.G4或G3处理器以及内置固件(FireWire)的Mac上运行。Safari 3.1for Windows需要Windows XP或Windows Vista,最少256 MB的内存,以及至少具有500 MHz Intel Pentium处理器的系统。