IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  XML | Information Management  >

集成 XML Forms Generator 和 Data Studio,第 1 部分: 通过创建应用程序开始集成

使用 XML Forms Generator 和 Data Studio 快速创建数据库模式和 XHTML/XForms 应用程序

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

讨论

英文原文

英文原文


级别: 中级

Xiao Feng Zhao (zhaoxfbj@cn.ibm.com), 资深软件工程师, IBM
Qiang Wang (wangq@cn.ibm.com), 资深软件工程师, IBM
Susan Malaika, 高级技术人员, IBM
Keith Wells, 高级软件工程师, RoleModel Software, Inc.

2009 年 2 月 23 日

XML Forms Generator (XFG) 为表单开发提供一个好的开端。它能够快速自动地生成有效的表单,其中包含 XHTML 文档中内嵌的 XForms 标记。表单生成的输入可以是带有或不带有后端 XML Schema(或 WSDL 文档)的 XML 数据实例。基于 SQL 脚本和存储过程的 Data Web Services 是一个与数据库相关的传统 Web Services 应用程序。IBM® Data Studio 是通过直接连接到数据库可视地生成 Data Web Services 的客户端工具。XFG 和 Data Studio 的集成允许从由 Data Studio 生成的 Data Web Services 生成 XForms/XHTMLs。这种集成提供了一些优点,比如无缝地连接 UI 页面开发和数据访问,降低来自 Data Web Services 的 UI 开发工作负载,可视化 pureXML™ UI 开发并且提供了完整的验证支持等等。

XForms 和 XML Forms Generator

常用缩略词
  • HTML:超文本标记语言
  • HTTP:超文本传输协议
  • REST:具象状态传输
  • SOAP:简单对象访问协议
  • UI:用户界面
  • W3C:万维网联盟
  • WSDL:Web 服务描述语言
  • XHTML:可扩展超文本标记语言
  • XML:可扩展标记语言

W3C 已经为表单数据的表示和收集开发了 XForms 标准。如 W3C 推荐标准所述(参见 参考资料),XForms 的目标是成为 “下一代 Web 表单”。该建议还声称 “通过将传统的 XHTML 表单拆分为 3 部分(XForms 模型、实例数据和用户界面)把表示与内容分离开来,允许重用,实现了强类型,从而减少了往返服务器的次数,提供了设备独立性,并且减少了编程”。XForms 文档带有一个包含一个或多个 XML 实例文档的数据模型。表单将处理这类实例文档,并且将该 XML 的提交传递给后端系统。

XML Forms Generator 工具为表单开发提供一个好的开端。它能够快速自动地生成有效的表单,其中包含 XHTML 文档中内嵌的 XForms 标记(在本文中,我们将这个组合称为 “XHTML/XForm”)。表单生成的输入可以是带有或不带有后端 XML Schema(或 WSDL 文档)的 XML 数据实例。

XML Forms Generator 是开源的 Eclipse Workbench 的一个插件,于 2005 年 4 月首次在 alphaWorks 上发布。参见 参考资料 获得 Eclipse Workbench 下载站点和提供 XML Forms Generator 的 alphaWorks 页面的链接。这些站点帮助您了解、下载和安装工具。

Data Studio 和 Data Web Services

IBM Data Studio 是一个集成数据管理环境。它为构建数据库对象、查询、数据库逻辑和 pureQuery 应用程序提供一个完整的开发和测试环境。通过使用 Data Studio 工具,您可以借助 SQL 和 XQuery 集成查询编辑器更快地开发数据库应用程序,轻松地优化应用程序和查询,借助交互式例程调试器构建和测试存储过程(用 Java™ 代码和 SQL),并且可以在 Java 应用程序内部快速开发或定制 SQL。

IBM Data Studio 解决方案包含许多新特性,其中之一便是 Data Web Services 支持。Data Web Services 是 IBM 数据库服务器的下一代 Web 服务供应商。Data Web Services 提供一个完整的 Web 服务界面,该界面支持 REST 式服务(HTTP GET/POST 绑定)、SOAP over HTTP Web 服务,以及自动生成 WSDL。Data Web Services 支持 IBM DB2® 数据库家族、IBM Informix® Dynamic Server (IDS) 和许多流行的 Web 服务器,比如 Apache Tomcat v5.5、IBM WebSphere® Application Server V6.1 和 IBM WebSphere Application Server Community Edition V1.1。您可以从已发表的 developerWorks 文章(参见 参考资料)更多地了解如何使用 Data Studio 创建 Data Web Services。





回页首


为什么将 XFG 集成到 Data Studio

Data Studio 在数据库和中间件层上大大方便了 Data Web Services 开发,而 XFG 通过 WSDL 文件生成功能能够提高基于 XForms 的 UI 开发的效率。因此我们将 XFG 集成到 Data Studio,以跨数据库、Web 服务提供自动的快速开发流程,并且提供一个基于 XForms 的 UI,以创建一个使用 Data Studio 和 XFG 特性的完整解决方案。

集成 Data Studio 和 XFG 带来的好处包括:

  • XFG 是一个快速的原型化工具和 XML Message 可视化工具,用于 Data Studio 中的数据库项目。
  • XFG 与 Data Studio 是互补的,以帮助快速开发 UI。
  • XFG 可以将 DB2 pureXML 数据可视化为 XHTML/XForms。
  • XFG 从数据库元数据和 XML Schema 生成验证信息。
  • 这种集成能够降低开发工作负载,并且能够大大改善用户体验。

XFG 和 Data Studio 都是 Eclipse 插件,Eclipse 使两者的集成更加假单。要轻松集成 XFG 和 Data Studio,从更新站点下载 XFG 插件,并且将其安装到 Eclipse(参见 参考资料 获得 XML Forms Generator)。





回页首


如何结合使用 XFG 和 Data Studio?

这个小节介绍如何结合使用 XFG 和 Data Studio 来创建 web 应用程序。图 1 显示了 XFG 和 Data Studio 之间的架构和交互。


图 1. Data Studio 和 XFG 架构和交换图
XFG 和 Data Studio 之间的架构和交互

在交互流程中,Data Studio 从数据库元数据生成 Data Web Services。然后,XFG 利用 Data Web Services 和数据库元数据生成 XHTML/XForms。最后,生成的 XHTML/XForm 通过 REST/SOAP 与 Data Web Services 通信。

为了演示 Data Studio 和 XFG 如何协同工作的详细步骤,您需要根据下表的结构创建一个微型的患者信息管理应用程序。

列名列类型必需描述
IDINTEGERY表示针对插入到表中的每个记录的惟一 ID。
NAMEVARCHAR(10)Y患者的姓名。
BIRTHDAYDATEY患者的出生日期。
HEIGHTDECIMALY患者的身高。
WEIGHTDECIMALY患者的体重。
DESCRIPTIONVARCHAR(10)Y关于患者的简短描述。

要尝试这个示例,需要下载免费的 DB2 Express-C(参见 参考资料 获得下载站点)。使用 DB2 Control Center 创建一个数据库,然后创建一个与 图 2 中的描述匹配的表。在这个例子中,我们使用模式 “DB2ADMIN” 创建一个名为 “PATIENT” 的表。





回页首


创建 Data Web Services

在 DB2 中创建表之后,我们使用 Data Studio 创建 Data Web Services。为完成这个任务,Data Studio 使用创建的 SQL 定义 web 服务(单一的 SQL 语句或存储过程)。使用 SQL 语句时,所有参数将映射到 Data Web Services 的 WSDL 中的输入参数。Data Studio 和 XFG 支持两种参数样式:未命名参数和命名参数。

如果使用未命名参数,SQL 语句类似于:

INSERT INTO DB2ADMIN.PATIENT (NAME, BIRTHDAY, HEIGHT, WEIGHT, DESCRIPTION) VALUES (?,?,?,?,?)

注意,这些值由变量占位符 (?,?,?,?,?) 表示。

如果使用命名参数,SQL 语句将带有一系列包含插入值的命名变量,类似于:

INSERT INTO DB2ADMIN.PATIENT (NAME, BIRTHDAY, HEIGHT, WEIGHT, DESCRIPTION) VALUES (:NAME, :BIRTHDAY, :HEIGHT, :WEIGHT, :DESCRIPTION)

使用命名参数时,生成的 XHTML/XForm 中的每个标签都与对应的参数名相同;使用未命名参数时,将为每个标签分配名称,比如 p1,p2 等等。这里不描述整个过程。要查看如何从 SQL 文件创建 Data Web Services,请参考 参考资料。在我们的示例中,创建了一个名为 insertPatient.sql 的 SQL 文件,然后创建相应的服务和一个名为 insertPatient.wsdl 的 WSDL 文件。





回页首


生成 XHTML/XForms

从 Data Studio 创建和部署服务之后,您可以使用 XFG 生成与服务通信的 XHTML/XForm 和相应的 XML 文件。

  1. 使用 XFG 时,选择 insertPatient.wsdl 文件,右键单击 WSDL 文件,然后从 XForms Generator 菜单项选择 Generate XHTML/XForms 向导。图 2 显示了第一个向导步骤:

    图 2. 使用 XFG 向导的第一个步骤
    在 Configure Generator 面板中,输入用户 ID 和密码连接到数据库

    这个步骤需要用户名和密码,以连接到底层数据库。对于两个选项 “Generate validation information” 和 “Retrieve PureXML instance from Database”,它们在 DB2 中与 pureXML 支持一起使用,我们将在本系列的第二篇文章中讨论这个问题;现在,不要选择这两个复选框。

  2. 选择生成 XFG 的操作。选择 insertPatient 操作。

    图 3. 选择一个目标操作
    选择生成 XForm 的操作

  3. 为生成的 XHTML 文件指定一个位置。

    图 4. 为目标文件指定位置
    为生成的文件输入或选择文件夹位置

  4. 将在 图 5 中突出显示的提交目标更改为已部署的 Web 服务的端点。只有正确设置端点之后(虚线矩形内),生成的 XHTML/XForm 才能够与 Web 服务通信。

    图 5. 定制输出文档
    更新输出文档的提交目标

  5. 配置 XML 实例创建选项,如 图 6 所示。

    图 6. 为 XML 实例的创建选择选项
    指定 XML 实例创建选项的特征

  6. 为 XML 实例文件输入或选择位置。

    图 7. 指定 XML 文件的位置
    输入或选择 XML 实例文件的文件夹位置

  7. 提供 XML 模式文件位置。

    图 8. 指定模式文件的位置
    输入或选择 XML 模式文件的文件夹位置

  8. 最后,单击 Finish 生成 XHTML/XForm。生成的 XHTML 文件名为 insertPatient.xhtml。

    在 insertPatient.xhtml 中,XFG 生成一个 XForms 模型和相关的绑定属性,如 清单 1 所示(查看清单 1 的 更详细版本)。在 XForms 模型中,XFG 生成 XForms 绑定属性形式的数据约束,它与数据库元数据相对应,比如列类型、长度、是否是必需的,等等。



    清单 1. 生成的 XForms 模型和绑定属性
    XFG 生成的 XForms 模型和相关的绑定属性

在 Firefox 中查看 insertPatient.xhtml 时,将看到如图 9 所示的屏幕(参见图 9 的 更详细版本):


图 9. 在 Firefox 浏览器中查看 insertPatient XHTML/XForms
在 Firefox 中查看样例 insertPatient XHTML/XForms

从显示的 insertPatient.xhtml 视图中,我们可以看到:

  • 所有必填的字段后面都标有一个红色的星号。除了 DESCRIPTION 字段之外,其他字段都是必需的。
  • 如果输入不正确的值,标签将变成红色,警告用户验证错误。如图 9 所见,“HEIGHT” 是一个小数,但我们输入了字符串值。(如果采用彩色显示,可以看到标签是红色的)。
  • 表单中的每个字段都有提示消息。如您所见,刚才显示了 “HEIGHT is (decimal, REQUIRED)”。
  • 对于类型是 Date、Boolean 的字段,或者能够通过特殊部件可视化的其他字段,当编辑它们的值时,相应的部件将显示值的字段。例如,Date Picker 将显示为 Date 类型,而 CheckBox 将显示为 Boolean 类型。

使用 insertPatient.xhtml 时,您可以通过提交表单与 Web 服务通信。像前面一样,Web 服务将调用 SQL INSERT 语句,使用表单中的值将一行插入到表中。您可以转到后端数据库表查看内容;您将看到一个相应的记录已经成功添加到表中。





回页首


结束语

本文简单介绍了 XForms、XForms Generator、Data Studio 和 Data Web Services,然后说明集成 XFG 和 Data Studio 的理由。我们演示了 XFG 如何与 Data Studio 协调工作,从而为终端用户构建完整的数据服务解决方案提供一种无缝的方法。在本系列的第二篇文章中,我们将概述 XFG 中的 DB2 pureXML 支持。我们将讨论如何在与 pureXML 实例对应的注册 XML 模式的支持下,通过集成 XFG 和 Data Studio 将 pureXML 实例可视化为 XHTML/XForms。



参考资料

学习

获得产品和技术
  • Web Tools Platform (WTP) Project:获取 Eclipse Web Tools Platform (WTP) 项目,并使用开发 Web 和 Java EE 应用程序的工具扩展 Eclipse 平台。它包含针对各种语言、向导、内置应用程序的源代码和图形编辑器,从而简化了开发。此外,还提供支持部署、运行和测试应用程序的工具和 API。

  • DB2 Express-C:下载 DB2 Express 9 数据库服务器的免费试用版。

  • DB2 for Linux™, UNIX™, and Windows.:下载交互式数据服务器的免费试用版,它将 XML 的优点与 DB2 的高性能和易用性结合起来。

  • XML Forms Generator/Data Studio on alphaWorks:下载基于标准的、数据驱动的 Eclipse 插件。它使用嵌入在 XHTML 文档中的 XForms 标记从 XML 数据实例或 WSDL 文档生成有效表单。

  • IBM Data Studio:下载集成数据库开发环境的免费试用版。它通过提高数据访问效率和数据性能来加快应用程序的设计、开发和部署。

  • IBM 产品评估试用软件:使用可直接从 developerWorks 下载的 IBM 试用软件构建您的下一个项目,包括来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。


讨论


作者简介

Zhao Xiao Feng  的照片

Xiao Feng Zhao 是 China Emerging Technology Institute, China Software Development Laboratory 的资深软件工程师。他专注于 IBM Incubator 项目。他感兴趣的领域包括 Web 2.0、SOA、J2EE 和 Web 技术。目前,他从事于 Ajax 和 SOA 标准的 PoC 开发。


Wang Qiang 的照片

Qiang Wang 是 China Technology Institute, China Software Development Laboratory 的技术主管。他专注于 IBM Incubator 项目和与 SOA 相关的东西。他感兴趣的东西包括 J2EE、SOA、MDA/MDD、AOP、RUP 和项目管理。目前,他负责领导一些与 SOA 相关的行业解决方案。


Susan Malaika 的照片

Susan Malaika 是 IBM Information Management Group(属于 IBM Software Group)的一名高级技术人员。她的专长包括 XML、Web 和数据库。她曾在 Global Grid Forum 开发过支持网格环境数据的标准。她与人合作出版了关于 Web 的专著,发表了关于事务处理和 XML 的文章。她是 IBM Academy of Technology 的成员。


Keith Wells 照片

Keith Wells 是位于北卡罗来纳州 RTP 的 IBM Emerging Standards XForms 开发的技术和团队主管。目前,Wells 先生是 W3C Forms Working Group 的成员,他正在研究 XForms、新兴软件标准、行业标准和其他基于 XML 的技术。




对本文的评价










回页首


IBM、IBM 徽标、ibm.com、DB2、developerWorks、Lotus、Rational、Tivoli 和 WebSphere 是 International Business Machines 公司在美国和/或其他国家的商标或注册商标。这些和其他 IBM 商标词汇在内容中首次出现时用适当的符号(® 或 ™)加以标记,表示这些美国注册商标或普通法商标在发布本信息时归 IBM 所有。这些商标还可能是其他国家的注册商标或普通法商标。请查阅 IBM 商标 的最新列表。 Adobe、Adobe 徽标、PostScript 和 PostScript 徽标是 Adobe Systems 公司在美国和/或其他国家的商标或注册商标。 Java 和所有基于 Java 的商标是 Sun Microsystems 公司在美国和/或其他国家的商标。 Microsoft、Windows 和 Windows 徽标是 Microsoft 公司在美国和/或其他国家的商标。 Linux 是 Linus Torvalds 在美国和/或其他国家的商标。 UNIX 是 The Open Group 在美国和其他国家的注册商标。 其他公司、产品或服务名称可能是其他公司的商标或服务标志。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款