级别: 高级 Nicolas Dangeville (dangeville.n@fr.ibm.com), 解决方案架构师, IBM
2006 年 11 月 23 日 本文介绍了支持 IBM® Rational® Application Developer,并由 VisualAge® Pacbase eBusiness 模块提供的 Web Application Models Folder Wizard。本文阐述了被用来为一个 VisualAge Pacbase eBusiness 文件夹生成一个完整的 Web 应用程序的规则。Web Application Models 和相关的 Folder Wizard 是可以使您非常快速地由文件夹创建 Web 应用程序的强大工具。您可以利用此功能的优点来进行测试、制定原型,及启动开发。
使用 VisualAge Pacbase eBusiness 模块开发 Web 应用程序的优点
VisualAge Pacbase eBusiness 模块能够使您描述一个包含各种节点的文件夹。每个节点都拥有其数据和操作的描述,并且节点由关系连接在一起,例如带有单个或多个基数的约束或引用。它们形成一个目录树,从根节点开始。由版本 3.5 V02 开始,VisualAge® Pacbase eBusiness 模块包含使用了 Web Application Models 技术来立即处理代理的所有节点的向导。这是一个支持 Rational Application Developer 并使您能够为代理的每个节点描述并生成一组 Web 页面(JSP™)及相关的控制器逻辑(Apache Struts 框架)的易用的工具。
电子商务模块生成 VisualAge Pacbase 服务器,这些服务器是由文件夹管理器服务器驱动的基本服务器。这些服务器处理逻辑及数据访问,也包括能使 Java 客户端与服务器通信的 Java™ 代理。
Java 代理是一组执行一些功能帮助进行客户端/服务器程序设计的 Java 类。例如,代理包含一个可以存储对各种节点做出的变更,并同时提交变更的缓存器。在不需要开发人员做任何操作的情况下,Java 代理通过自动地发送所需要的多条消息来去掉 32 Kb 的消息大小限制。
开发人员经常使用 VisualAge Pacbase eBusiness 模块和 Java 代理来创建 Web 应用程序。您可以使用 Web Application Models 技术来更快更容易地完成这个工作。此技术是 VisualAge Pacbase eBusiness 模块的一个特性,运行于 Rational Application
Developer 中。
 |
Web Application Models 中的模式 模式表示您正在为文件夹的节点建立的应用程序片段的默认结构。它描述展示(例如,选择标准表单、列表,多个页面中的详细表单的可能组合)、导航、应用程序逻辑(相对于数据执行的操作)和数据访问。Web Application Models 提供超过 80 个模式。 |
|
利用 Web Application Models,您需要创建与文件夹中节点相同数量的迭代来考虑 VisualAge Pacbase eBusiness 文件夹中的所有节点。即使生成了大多数代码,但在每个节点上使用新的迭代也不是无差错的过程,并且有许多您必须记住要做的事情(参见图 1):
-
选择一致的模式应用到每个节点上。您必须选择兼容的模式,这取决于两个节点之间的关系。
-
在适当的位置生成每个片段(在同一个 Web 项目中)。您需要确定一次生成不会覆盖另一次生成所创建的内容,记住默认名称可能是相似的。
-
连接已生成的页面来组装各种您所生成的片段。您需要找到要处理的页面,然后你需要在 JSP 中的以链接形式来创建正确的连接,这些 JSP 页面代表着适当的页面或者动作。
图 1. Web Application Models 过程
此解决方案没有利用代理所包含的所有信息,例如文件夹的节点之间的关系。Web Application Models Folder Wizard 利用了该信息。
Web Application Models Folder Wizard
让我们利用一个实例来进一步了解 Folder Wizard。
图 2显示了 Customer for Sharehold 文件夹的内容,就如同 VisualAge Pacbase eBusiness 工具所提供的 Service Test Facility 所显示的一样。它处理客户及交易管理。
图 2. Service Test Facility 中的代理
此文件夹包含一个名为 Customer 的根节点,该节点拥有一个或多个帐户并且有一个或多个地址。它还包含一个事务列表(transaction)和一个 portfolio 列表。portfolio 是对公司(company)的引用,尽管事务也引用公司。
让我们着重于本实例中的几个有趣的点上:
- 该公司被引用了两次,从 Customer Transaction 和 Customer Portfolio。
- 客户拥有许多对象列表。一些多重关系拥有 {0..n} 关系(事务、Portfolio),但一些拥有 {1..n} 关系(帐户、地址)。
- 由于 {1..n} 关系,一个客户需要拥有至少一个帐户和一个地址。
Web Application Models Folder Wizard 可以处理此文件夹,并且生成相对于其包含的节点的 Web 应用程序。您可以由工具栏或 File > New ... Web category 来启动此向导。
此向导实际上非常简单,并且只由两个页面组成。在向导的第一页中(图 3),您需要选择您想要处理的代理。
图 3. Folder Wizard:步骤 1
向导的第二页(图 4)是您在 Web Application Models 向导的末尾看到的同一页。
图 4. Folder Wizard:步骤 2
Web Application Models Folder Wizard 所生成的工件
假设是同一个页面,您可能会怀疑:向导生成了什么?比起检查所生成的工件本身,图 5中简化了的图显示出 Web 页面和应用程序功能的很好概述。
图 5. 所生成的 Web 页面
应用程序以您用来构建一个客户列表的选择标准为起点。在此列表中,您可以打开客户记录的详细内容,或者创建一个客户记录,这使之成为常规的列表及详细情况。
然而,让我们仔细地观察一下客户入口的创建。您看到了,创建客户记录包括为客户提供一些字段(名字等等)。但还包括创建一个帐户和地址。这就是链接到 Create Cust 的页面所涉及的内容。因此,您可以打开这些页面,在用于创建客户记录的页面上创建客户帐户和客户地址。
客户记录的详细情况页面提供了到所有相关对象的链接。因为在父客户记录和其所有的子节点之间存在着多样的关系,所有客户相关对象的所有页面都开始于一个列表。从每个列表,您再次遇到常规的列表及详情情况:在一个页面中,您可以看到该列表中一行的细节,并且在一个页面中,您可以创建新的元素。(在图中没有显示从 Cust Address 到 Create Address 和 CustAccount 的链接,通过该链接您可以创建一个帐户。)
到目前为止,您已经看到了处理父节点所拥有的子节点的页面。现在,您将看到伴随引用关系发生了什么。在示例文件夹中,Company 从 Customer Transaction 和 Customer Portfolio 引用而来。因此,如图 6所示,Company 详细信息页面可由 Customer Portfolio 详细信息页面及 Customer Transaction 详细信息页面得到。图中显示了被那些节点引用的当前公司。一个公司列表也可以从 Transaction 和 Portfolio 创建页面得到,这能够帮助您找到创建详细信息页面时使用的公司代码。
向导生成规则
在本实例中,您看到出现了一些与常规的 Web Application Models 的生成不同的事情。对于每个节点,已经选出已知的一个模式,并且根据文件夹节点形成的目录树已经生成了附加的导航链接。文件夹包含关于两个节点(组合、引用)之间关系的性质的信息,以及关于此关系的多样性(零对一、一对一、零对多、一对多)的信息。
由根节点开始,并依据每个节点到其他节点的关系,向导为每个节点选择适当的模式。每个模式都应用于代理的一个节点。对于构建应用程序来说这是不够的,因为由每个模式生成的片段仍旧是不连接的。向导还向页面中添加了导航操作,用来为相关的节点提供适当的导航。
该默认的应用程序类似于您用常规的 Web Application Models 通过n 次迭代(每个节点一次,选择适当的模式)生成的东西,随后修改所生成的代码来手工来组装页面。基本上,此过程最大程度地利用了来自于 VisualAge Pacbase 中的文件夹节点的信息,以推断出页面的特征,以及生成操作的导航路径,这省去了您相当多的时间和麻烦。
图 6. Web Application Models Folder Wizard 过程
Web Application Models Folder Wizard 根据这些规则处理文件夹(同样参见图 6):
-
对于根节点,向导应用以下的模式:
- 第一个页面:列表。
- 第二个页面:由列表的一项放大出详细信息。添加导航操作以连接为相关的或参考节点所生成页面的第一个页面。
- 第三个页面:创建详细信息页面(您可以由列表页面上的一个链接来打开它)。
-
对于一个与其亲节点具有 {0..n} 关系的依赖节点来说,它应用此模式:
- 第一个页面:列表。
- 第二个页面:由列表的一项放大出详细信息。添加导航操作以连接到为相关的或受引用的节点所生成页面的第一个页面。
- 第三个页面:创建详细信息页面(您可以由列表页面上的一个链接来打开它)。对于所需的子节点({1..1}、{1..n})或依赖节点,添加针对子节点创建页面的导航操作。
-
对于一个与其父节点具有 {0..1} 关系的依赖节点来说,向导使用以下模式:
- 第一个页面:根据由节点提供的可能操作,利用 Update 或 Create 操作创建的详细信息页面。
- 对于所需的子节点({1..1}、{1..n})或依赖节点,添加针对子节点创建页面的导航操作。
-
对于参考节点(不管多样性关系是什么),应用以下模式:
- 第一个页面:列表(从父亲节点是可达的,这样您就可以看到参考节点所有实例的列表)。
- 第二个页面:由列表的一项放大出详细信息。添加一个从父亲的详细页面到节点的详细页面的链接。
使用向导的好处
通过此向导,您可以十分快速地创建考虑到整个文件夹的默认 Web 应用程序。这使得测试所生成的 Java 代理变得很容易。您还可以将向导所生成的代码用作一种学习和了解代理的 Java 类的 API 的方法。代理使得通过节点导航,在层次的各个位置更新信息,以及立即提交所有的变更非常简单。
您还可以将向导所生成的代码用作实现完整应用程序的起始点:向导也生成模型,不只是代码。当您使用 Web Application Models 来创建应用程序时,之后您可以使用 Web Application Models 来修改该应用程序,因为其存储了应用程序的模型。这对由 Folder Wizard 所生成的应用程序也有效。
这里是您可以如何利用 Web Application Models 来细化 Folder Wizard 所生成的内容:
当您启动 Web Application Models 时,与其使用向导第一个页面上的默认选项,倒不如使用第二个页面(参见图 7)。
图 7. 为一个节点修改模型
对话框屏幕(图 8)帮助您选择与您的应用程序一起保存的模型文件。
图 8. 选择模型文件
向导识别出所使用的模式及相关联的数据(参见图 9)。
图 9. 查看所使用的模式
在此向导中,您可以调整 Web Application Models 的参数,并且为代理的每个节点创建与您想要开发的内容相近的页面。例如您可以修改页面的布局,如图 10 所示。
图 10. 修改页面
注意:与节点之间导航相关的链接仍旧出现在向导中。
总结
Folder Wizard 是 Web Application Models 技术的一个附加部分,它令您最大程度地利用 VisualAge Pacbase eBusiness 文件夹的内容,包括其节点的层次。Folder Wizard 和 Web Application Models 向导的组合(两者都支持 Rational Application Developer)为您提供了一个测试代理并开始 Web 应用程序开发的快速解决方案。
致谢
感谢 Hervé Le Bars 对本文的技术方面的评论。
参考资料 学习
获得产品和技术
讨论
关于作者  | |  | Nicolas Dangeville 是巴黎 IBM 实验室的解决方案架构师。他是 Web Application Models 技术的首席架构师,并且他现在是企业软件架构委员会的成员,并参与 VisualAge Pacbase 到软件开发平台的转换。 |
对本文的评价
|