Simple Cloud API:编写可移植的、可互操作的云应用程序
2009-11-12 00:00:00 来源:WEB开发网在这两个样例中,应用程序并不考虑解析 XML 或检查 HTTP 返回代码或类似问题。工具包处理大部分的细节问题。另一方面,应用程序不是专注于业务对象。
特定于服务的工具包
在这个级别,您专注于业务对象。使用封装云服务的高级对象意味着您不用再考虑连接中的数据格式。使用这个级别的时候,您无法知道基础服务是 SOAP 或 REST,仅仅是调用服务。Nirvanix 和 Amazon S3 的 Zend Framework 类是特定于服务的工具包的两个示例。下面是列出 Nirvanix 目录中所有项目的方法。
清单 4. 列出 Nirvanix 目录中的所有项目$auth = array('username' => 'your-username',
'password' => 'your-password',
'appKey' => 'your-appkey');
$nirvanix = new Zend_Service_Nirvanix($auth);
$imfs = $nirvanix->getService('IMFS');
$args = array('folderPath' => '/dougtidwell',
'pageNumber' => 1,
'pageSize' => 5);
$stuff = $imfs->ListFolder($args);
Nirvanix 提供了几个服务。这里的示例使用 IMFS。调用 getService() 方法返回一个对象,可用来与一个特定的服务交互。传递参数到 ListFolder 的方法返回文件夹中的一组项目。
与 Nirvanix 的目录结构明显不同的是,Amazon 的 S3 使用了存储桶。由于存储桶不能包含其他的存储桶,因此并不支持 Nirvanix 文件系统的层次结构。较简单的 S3 数据模型体现在列出 S3 存储桶中所有项目的代码中。
更多精彩
赞助商链接