使用Lotus Notes数据库集成Amazon Web Service

Amazon.com 的老用户可能会记得“Eyes”服务,这个服务可以让您设置自己感兴趣的产品的关键字列表。在出现与您所设置的关键字列表匹配的新产品时,就会向您发送一个电子邮件通知,其中包含这些新产品的链接,以及一些您可以在自己的 Web 站点上使用的服务的介绍,如果您是 Amazon 的会员,这会非常有用。随着使用这项服务的人数不断增加,Amazon.com 决定停止这项服务,因为它对处理器的需求非常高,并且难以维护。

之后,Amazon.com 提供了一项称为 Amazon Web Service 或 AWS 的 Web 服务,您可以使用它在自己的 Web 站点上查询 Amazon 的搜索引擎。这个 Web 服务允许我们创建一个与 Eyes 服务类似的应用程序。您可以将 Amazon Web Service 集成到一个 Notes 应用程序中,从而创建一个比 Eyes 更好的服务;集成方案提供了一种方法,通过这种方法,您可以使用自己的标准对书籍进行分类、标记不相关的书籍,以及在某本书籍停止出版时进行跟踪记录。这种技术目前被用来更新 Notes FAQ Web 站点 上的书籍清单。当然,也可以对 Amazon 上其他类型的产品清单使用这种技术。

本文共有两部分,在第 1 部分中,我们将简要介绍如何在一个 Notes 应用程序中集成 Amazon Web Service(AWS),从而可以使用 Notes Java API 查询 Amazon.com 的搜索引擎。我们还将介绍如何创建一个代理来删除对过期书籍的引用。在本文的第 2 部分中,我们将介绍如何使用 RDBMS 和 J2EE 技术重新创建这个应用程序。本文假设您具有开发 Notes 应用程序的经验,并且具有 Java 编程技巧。您可以从 Amazon.com 的 Web 站点上直接下载 Amazon 的 Web Services SDK。

SOAP 和 Web 服务

通过 Web 服务进行通信有很多方法,但是通常都使用以下两种方法:XML/HTTP 或者 SOAP(Simple Object Access Protocol)。XML/HTTP 方法使用了一种针对请求的专门格式化了的 URL。由于 XML/HTTP 访问方法使用一些编码后的参数来发起请求,因此它限制了 URL 的最大长度,这个长度大概是 1,024 个字符(有些服务器可以支持的长度更长,但是 1,024 个字符是一个比较安全的设置)。您所接收到的结果是使用 XML/SOAP 进行编码过的。您可以使用 XSLT 对 XML 进行转换,或者使用 XML 解析器从 XML 读取所需的值。然而,编写 XML 解析器的工作是非常繁琐的。

用来访问 Web 服务的 SOAP 技术利用了 Web 服务提供者所提供的 WSDL(Web Services Description Language)的定义。如果您要发布一个 Web 服务,就需要 WSDL 定义;通常可以通过一个 URL 来使用 Web 服务,这一点在本文后面部分将会看到。在这里,Amazon Web Service 提供了 WSDL 的定义。WSDL 定义描述了如何对请求进行格式化,以及如何读取响应信息,还将告诉您可以使用哪些请求。WSDL 是位于 Web 服务之上的另外一个复杂的层次,但是它真正提供的是生成“封装程序”来访问 Web 服务所需的桥梁,就仿佛这些服务在您自己的机器上一样。

可以使用以友好方式支持 Web 服务的任何语言生成调用 Web 服务的封装程序,这些语言包括 Java、C、VB、PHP、Perl、TCL,等等。另外,在“SOAP 请求”中发送的信息在大小方面存在限制,因为这些信息是在一个 Web 请求体中发送的,而不是在 URL 中发送的;这可以让您发出针对 Web 服务的复杂请求,因为在 Web 请求体中没有大小的限制。

Amazon Web Service

在 Amazon.com Web Service 页面 中,您可以看到更多有关 Amazon Web 服务的信息。您可以看到 SDK 中提供的 Java、Perl、PHP 和 VB 的示例代码。这个工具中还包括使用 SDK 的文档。这里还有一个开发人员论坛,Amazon 会对其进行监视。在可以调用 Amazon Web 服务的 API 之前,首先需要注册一个开发人员帐号。在 Amazon 的客户使用 Amazon Associate Web 站点来添加 Amazon 的订单记录时,可以使用这个开发人员帐号来提供 Amazon Associate 的推荐记录。如果您使用 Amazon 的 XSLT 服务将 XML 结果转换成 HTML 格式,那么该帐号将自动嵌入所返回的 URL 中,这样您就可以获得推荐费了。

Amazon 在自己的 Web 服务实现中提供了很多功能,这是可以使用 Web 服务来实现哪些功能的一个很好例证。它们不但提供了对搜索引擎的调用功能,而且还提供了管理 Amazon 用户的购物车、购买意向和邮购信息等级的功能。实际上,Web 服务的意图在于允许 Amazon Associate(他们支付推荐费)使用一种更加灵活的方法来构建 Web 店面(Web storefront),从而帮助销售更多的 Amazon 产品。这就是为什么它是一个很好的 Web 服务的例子:它可以帮助 Web 服务的提供者增加收益。

对于本文来说,我们感兴趣的内容是 Amazon 搜索引擎的 Web Services API。在开始之前,我们需要准备以下内容:

安装 Amazon Web Service。有关的更多信息,请参阅 Amazon Web 服务的 SDK 中的文档。

为了进行测试,我们创建一个 Notes 应用程序来使用 AWS。

要使用 Amazon 搜索引擎,您必须在 Notes 应用程序中指定的第一项内容是称为模式的东西;这等同于您在 Amazon.com 主页上可以看到的高级附签:书籍、音乐、工具,等等。然后您就可以根据以下内容进行搜索:关键字、浏览节点(产品目录,例如如果将模式设置为书籍,就可以查找科幻小说)、ASIN、ISBM、UPC、作者、音乐家、演员、导演、发行商、ListMania! 和类似产品(顾客可能购买的其他产品)。对于我们正在构建的 BetterEyes 服务来说,我们将使用关键字进行搜索。

时间: 2024-10-29 17:42:04

使用Lotus Notes数据库集成Amazon Web Service的相关文章

使用 JSP 集成 Amazon Web Service

在本系列文章的 第 1 部分 中,我们介绍了如何使用 Notes/Domino 6 来集成 Amazon Web Service.我 们确信很多读者很想了解如何使用 J2EE 来创建类似的应用程序,因为 IBM 已经从技术方面做出了很多努力 .因此,在本文中,我们将介绍如何使用 J2EE 来重新创建在第一篇文章中构建的 Notes 应用程序,同时还 将介绍这种技术与 Domino 的不同.本文的目的是为 Domino 开发人员简要介绍如何可以使用 J2EE 采用一种 不同的方法来开发一个类似的

用Amazon Web Service实现视频文件转换程序

过去InfoQ已经报道过,Amazon的基础服务平台在节省成本方面上了一级新台阶,也让某些类型的应用得以利用它的可伸缩的计算和存储平台.最近有一个示例程序向我们演示了如何利用Amazon的三个关键Web Services构建一个视频文件转换服务:即简单存储服务(Simple Storage Service,S3).简单队列服务(Simple Queue Service,SQS)和弹性计算云(Elastic Compute Cloud.EC2)这三个服务. S3用于存储要转换的文件: "Amazo

预计亚马逊将在明年分拆其云服务Amazon Web Services

12月17日消息,据外媒CRN报道,主导分拆业务的市场研究机构近日预计亚马逊将在明年分拆其云服务Amazon Web Services(AWS). 位于伦敦的市场研究机构The Edge,是一家擅长分拆业务的公司,曾预测过eBay和Symantec的分拆.The Edge表示AWS业务分拆将会给亚马逊带来巨大的利润,The Edge还预计,AWS的市值可以达到380亿美元.另一个将AWS分拆的理由在于其或许将成为Salesforce.VMware等企业的收购对象. AWS的竞争对手GoGrid的

用 Amazon Web Services 进行云计算,第 1 部分: 简介

学习基本的 Amazon SimpleDB (SDB) 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能.在这个 "用 Amazon Web Services 进行云计算" 系列中,学习如何使用 Amazon Web Services 进行云计算.了解这些服务如何为设计和构建可伸缩.可靠的应用程序提供一种可选方案.第一篇文章解释虚拟基础设施的构建块的特性.学习如何使用 Amazon Web Services 构建 Web 范围的系统. 什么是云

用 Amazon Web Services 进行云计算,第 2 部分: 用 Amazon Simple Storage Service (S3) 在云中存储数据

学习基本的 Amazon SimpleDB (SDB) 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能.在这个 "用 Amazon Web Services 进行云计算" 系列中,学习如何使用 Amazon Web Services 进行云计算.了解这些服务如何为设计和构建可伸缩.可靠的应用程序提供一种可选方案.本文讨论 Amazon Simple Storage Service (S3) 提供的可伸缩.高响应性的服务.了解用于与 S3 交互

用 Amazon Web Services 进行云计算,第 4 部分: 用 SQS 进行可靠的消息传递

学习基本的 Amazon SimpleDB (SDB) 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能.在这个 "用 Amazon Web Services 进行云计算" 系列中,学习如何使用 Amazon Web Services 进行云计算.了解这些服务如何为设计和构建可伸缩.可靠的应用程序提供一种可选方案.在本文中,学习一些基本概念和 boto 提供的一些功能. Amazon SimpleDB Amazon SDB 是一个快速的可伸缩实

使用Ajax操纵Lotus Notes文档

使用 Ajax,您可以轻而易举地即时向用户提供反馈,而不必再耗费大量时间重新载入用户所使用的页面.本文将带领您发现视图和代理如何帮助您构建 Ajax 驱动的应用程序,并教您如何定义一个 API,使客户机和 Domino 服务器协作. 每个人都曾经使用过某种类型的 To Do 列表系统.此类系统通常包含一些必须快速.易用的数据小段.To Do 列表也是演示 Asynchronous JavaScript and XML(Ajax)技术与 Lotus Domino 的完美范例,本文将为您介绍如何使用

Web Service学习总结

Web service到底是什么,在什么情况下你应该使用Web service:      研究一下当前的应用开发程序,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的客户端应用程序.这当然不是因为客户端能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本.发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户端和服务器之间通信的问题.      传统的Windows客户应用程序使用DCOM来与服务器进行通信和调用远程对象.配置好DCOM使其在一个大型

使用 Amazon Web 服务完成部署过程

Apache Geronimo是 Apache Software Foundation的最新项目之一.Java 专家 Kunal Mittal 将通过演示如何在 Geronimo 中编写和开发标准 J2EE Web 服务代码,向您介绍 Geronimo 的 Web 服务功能. 要确定某个应用服务器是否支持 Web 服务开发工作吗?Apache Geronimo 应用服务器完全可以满足这一要求,它是 Apache Software Foundation 的最新项目之一.Java 专家 Kunal