使用 JSP 集成 Amazon Web Service

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

首先,我们先来了解一下如何使用 Dreamweaver 和 JSP(JavaServer Page)来创建应用程序;这种技术 被用于最简单的 Web 应用程序,至于原因,我们会慢慢介绍。然后,我们将介绍如何使用 EJB(Entity JavaBeans)、JavaBeans 和 Struts 来创建应用程序,这种技术通常用于更加健壮、更复杂的 Web 应用程序 。

J2EE 技术和框架

在 J2EE 世界中有很多不同的技术和框架,例如 Cocoon(XML/XSLT)、Structs、ColdFusion MX、Java Server Faces,等等,它们都是在 J2EE 平台上运行的。当然,J2EE 平台允许您在运行 J2EE 的平台上使用 任何一种框架,这就为您提供了一个可以使用多种平台环境的承诺。

Domino 服务器也可以采用混合型的 J2EE/Domino 设计,使用 Domino 表单来显示用户界面,使用 Java servlet 来实现对表单的处理。这为表单处理提供了更多的灵活性,并且比纯粹的 Domino 应用程序具有更好 的性能,但是很多纯粹的 J2EE 开发人员可能会认为这种方式非常奇怪。

另外一种可以选择的 Domino/J2EE 混合架构将使用一台 J2EE 服务器(通常是 JSP,例如 Tomcat)来显 示用户界面,但使用 Domino 数据库来存储数据。这可以使用 Domino JSP 定制标签实现,在 LDD Today 概 述“Jeff Calow on new Web technologies in Domino 6” 中对此进行了讨论。另外,这种架构提供了比纯 粹的 Domino 应用程序更好的性能,但是大部分开发人员使用它是为了改善控制 Web 站点的图形化层次结构 的能力,因为 Domino 在自己的 Web 视图中并没有提供每个元素的位置。

与使用 Domino 创建的站点相比,这两种混合技术在性能方面的改善都不是很明显,但是它们都提供了一 种替代品,替代品需要的工作量比纯 J2EE 应用程序更少;而且对于 Domino 开发人员来说,通过这种可选技 术来体验 J2EE 技术也非常有帮助。我们将在本系列的第三篇文章中介绍使用 Lotus Domino Toolkit for WebSphere Studio 来组合使用 Domino/J2EE 技术的方法,以及如何使用此工具为 Notes 数据库中保存的 Amazon 书籍数据开发一个 Web UI。

什么是 J2EE?

J2EE 是一组标准的技术和 API 集,Sun Microsystems 将其定义为一台 J2EE 服务器成为兼容服务器之前 必须具备的一些需求。与 Web 开发前景有关的一些技术是 servlet、JSP、JavaBeans 和 EJB。

对于简单的 Web 应用程序来说,您可以使用 servlet 和 JSP。servlet 和 JSP 都受到 Apache Jakarta 项目的 Tomcat 引擎的支持。servlet 和 JSP 的效率比 Notes/Domino 代理高,因为它们只有在首次使用时 才需要加载;相比较而言,Java 代理在每次调用时都会重新进行加载,因此它们占用的 CPU 处理时间更多。 从 JSP 版本 1.1 开始,增加了 JSP 定制标签,您并不需要在其中编写 JSP 中的代码逻辑,因此您可以纯粹 将 JSP 作为一个表示层。

EJB 通常都是与 J2EE 应用程序相关的。它们提供了一种封装数据库访问和业务逻辑的方法,这样就可以 在多台服务器上实现分发了。在正确完成处理之后,数据库访问被隐藏到了业务逻辑对象之后,因此,那些使 用 JSP 的 Web 站点的开发人员并不知道如何组织数据库。

J2EE 强大功能的来源之一是它可以将一个层次划分为多个单独的服务器。虽然 Domino 可以运行数据库、 业务和 Web 服务器上的所有表示/UI 层,但 J2EE 可以将这三部分划分到不同的服务器上。另外,每个部分 都可以使用集群,这样就可以在层次级别上具有一些冗余。虽然您可以对 Domino 服务器采用集群,但是您并 不能非常精准或深入地进行这种聚集,因此一个精确定义的 J2EE 应用程序天生就比一个类似的 Domino 应用 程序范围更加广泛,因为您可以将其扩充到多台机器上。缺点是这种技术的开发成本更高并且更复杂。

使用 RDBMS 数据库

正如大部分 Domino 开发人员所知道的那样,将很多个字段放到一个表单中可以定义一个 Domino 数据库 。这种设计非常简单(也就是说,表单和视图的设计并不需要一个正式的设计过程),也可以使用一个正式的 过程进行设计;您可以任意添加字段,尤其是将某些字段从单值更改为多值。字段的大小并不需要提前指定, 不过您必须要知道字段大小的限定值。在创建表单之后,就可以用视图来简单地显示这些字段,其中包括那些 多值字段。

在 RDBMS(关系数据库管理系统)中,在最初的数据库设计上您需要更多的努力,因为修改表的结构是非 常痛苦的一件事情,主要是因为所有的外键链接和字段大小都必须提前声明。在某些情况中,您还需要删除表 以及表中的所有数据,修改数据库的设计,然后重新加载数据。

需要对多值字段进行更深入的讨论。您通常会将一个 Domino 文档映射为 RDBMS 表中的一行数据。Domino 文档中的每个字段可以映射成为该表中的一列。然而,一个表中的每一列(也就是每个字段)都只能存储一个 值。在一个 RDBMS 中,您需要单独创建一个具有两列的表。一列使用一个外键链接到表单上(表中的一行) 。另外一列链接到另外一个表上,其中列出了这个多值字段所有可能的值。

时间: 2024-10-28 10:15:29

使用 JSP 集成 Amazon Web Service的相关文章

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

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

用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 进行云计算,第 1 部分: 简介

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

Web Service“四长两短”

web Web Service"四长两短"(中国计算机报 陈友 2001年11月01日 17:42) 当前,Web Service是一个热门话题.但是,Web Service究竟是什么?什么情况下应该用Web Service?什么情况下不应该用Web Service?是需要我们正确认识的. 实际上,Web Service的主要目标是跨平台的可互操作性.为了达到这一目标,Web Service 完全基于XML(可扩展标记语言).XSD(XML Schema)等独立于平台.独立于软件供应商

什么时候应该使用Web Service【转,推荐】

web 现在我将列举三种情况,在这三种情况下,你将会发现使用Web service会带来极大的好处.此后,我还会举出不应该使用Web service的一些情况. 跨越防火墙的通信     如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题.那是因为客户端和服务器之间通常都会有防火墙或者代理服务器.在这种情况下,你想使用DCOM就不是那么简单了,而且,通常你也不愿意把你的客户端程序发布到如此庞大数量的每一个用户手中.于是,你最终选择了用浏览器

预计亚马逊将在明年分拆其云服务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 集成企业应用程序--使用 Amazon SQS 发送 XML 消息

探索如何利用 XML 和 Amazon Web Services 集成企业应用程序,以及使用Microsoft® .NET (C#) 和 Java 平台构建跨平台应用程序集成功能. 队列 是用于存储等待处理的消息的临时数据结构.Amazon Simple Queue Services (Amazon SQS) 是一个支持 Web 服务的高可用性可伸缩消息队列.Amazon SQS 的主要益处包括: 基于云的解决方案.由 Amazon 管理,不需使用私有基础设施,也不需要专业支持知识. 基于 In

用 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 服务完成部署过程

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