使用 IBM Database Add-Ins for Visual Studio 创建 IBM Data Web Services

了解 IBM® Database Add-Ins for Microsoft® Visual Studio® 工具集如何支持 IBM 数据服务器 Web 服务开发。了解如何创建数据 Web 服务,并了解如何部署该服务以通过 Web 应用程序轻松地访问 IBM DB2® 或 IBM Informix® 数据库。

Farzad Farahbod, 高级软件工程师, WSO2 Inc

Farzad FarahbodFarzad Farahbod 是 IBM 硅谷实验室的一名高级软件工程师,负责提供用于与 IBM 服务器无缝集成的工具。他还是 Visual Studio .NET XML 工具开发的主管。



Ajay Aggrwal, 顾问软件工程师, IBM

Ajay AggrwalAjay Aggrwal 是 IBM Database Add-ins for Visual Studio 2005 团队的顾问软件工程师。



2009 年 3 月 26 日

使用自下而上的开发方法,您需要创建一个或多个数据库对象并且公开为 Web 服务操作。使用表、视图或程序,您可以直接通过 Microsoft Visual Studio 环境中的 Server Explorer 将这些对象公开为 Web 服务操作。这是一种易于使用的功能,因为生成和公开 IBM Data Web Services 只需要单击鼠标。

先决条件

要创建 IBM 数据服务器 Web 服务应用程序,您需要安装以下软件:

  • Microsoft Visual Studio 2005/ Visual Studio 2008 Professional Edition
  • IBM 数据库客户端 V9.5 或更高版本
  • IBM Database Add-Ins for Visual Studio, Version 9.5 或更高版本
  • 使用任意的 IBM DB2 或 Informix 数据库
  • 以下任意一个应用服务器:
    • Apache Tomcat V5.5
    • IBM WebSphere® Application Server Community Edition 1.1
    • IBM WebSphere Application 6.x

另外还假定您大体熟悉 IBM Database Add-ins for Visual Studio。要进一步熟悉 IBM Database Add-Ins for Visual Studio 的常用功能,请阅读 “DB2 for Visual Studio 2005 developers, Part 1: Overview of IBM Database Add-ins for Visual Studio 2005”(developerWorks,2005 年 12 月)及 Develop proof-of-concept .NET applications 系列教程(developerWorks)。

通过学习这部有用的教程 “开发您的第一个 IBM Data Studio Data Web Service”(developerWorks,2007 年 11 月),IBM Data Web Services 和 .NET 框架的新用户可以了解这项新技术。


创建 IBM Data Web Service

本文将介绍在支持 IBM Data Server Web Services 的 IBM Data Server 连接下的不同节点上允许执行的操作及运行这些操作所需的步骤。本文还将介绍样例场景的创建,在其中可以使用多个操作创建和部署 Web 服务。

  1. 首先,启动 Visual Studio 2005 或 Visual Studio 2008,然后创建与数据库的连接。
  2. 在弹出式菜单中,选择 Server Explorer 中的 Add Connection,这将启动 “Add connection” 对话框,如图 1 所示:
    图 1. 添加连接
    添加连接
  3. 在 “Data source” 字段中,选择 IBM DB2, IDS and U2 Servers (IBM DB2, IDS, and U2 Data Provider for .NET Framework),然后提供服务器名称、用户 ID 和密码。
  4. 单击 Test Connection 按钮以检验是否已成功建立连接,然后单击 OK 按钮。
    图 2. 添加连接
    添加连接
    Web Services 节点将显示在连接下。如果存在任何现有 Web 服务,这些服务将列于 Web Services 节点下。
    图 3. Server Explorer
    Server Explorer
  5. 您可以右键单击 Server Explorer 中的表、视图或过程,然后从上下文菜单中选择 Create and Deploy IBM Data Web Service 以创建 IBM Data Web Service 操作。这样做将启动 IBM Data Web Service Designer,允许您创建一项新数据 Web 服务。
    图 4. 创建 IBM Data Web Service
    创建 IBM Data Web Service
    您还可以通过 Server Explorer 中的 Web Services 节点启动同一个设计程序(IBM Data Web Service Designer):
    图 5. 创建 IBM Data Web Service
    创建 IBM Data Web Service
  6. 您可以编辑现有的 Web 服务以重命名、添加、删除或修改 Web 服务操作。为此,请在 Server Explorer 中选择 Web 服务,右键单击该 Web 服务,然后选择 Open Definition,这将启动 IBM Data Web Service Designer:
    图 6. 修改 Web 服务
    修改 Web 服务
    在该设计程序内,您可以编辑该 Web 服务的各种属性:
    图 7. 编辑 Web 服务
    编辑 Web 服务
  7. 要运行 Web 服务,请从上下文菜单中选择 Run。这样做将启动 Web Service Method Invocation 对话框,您可以在其中选择任意一个操作,输入相关参数值以及查看 WSDL(Web 服务描述语言,Web Services Description Language)和返回的 XML 数据。
    图 8. 运行 Web 服务
    运行 Web 服务
  8. 要从服务器中删除 Web 服务及其相关部件,请从上下文菜单中选择 Delete

IBM Data Web Service Designer

使用此设计程序可以通过一个单一步骤创建 Web 服务。您还可以使用这个设计程序修改或编辑 Web 服务。该设计程序包含两个视图:

  • Web 服务信息视图(默认视图)
  • 显示生成的 WSDL — 在此视图中,您可以修改服务器参数设置或指向其他服务器。对于此对话框的任何操作都是长期保存的,因此您无需再次记住它。当您第一次启动此对话框时,将为您设置服务器类型的默认参数,但是您可以随时更改该参数。
图 9. IBM Data Web Service Designer
IBM Data Web Service Designer

样例场景

让我们用以下表定义创建 Employees 表的样例 Web 服务以存储员工记录:

清单 1. 表定义
sqltype               sqlname.data
--------------------  ------------
CHARACTER             EMPNO
VARCHAR               FIRSTNME
CHARACTER             MIDINIT
VARCHAR               LASTNAME
CHARACTER             WORKDEPT
CHARACTER             PHONENO
DATE                  HIREDATE
CHARACTER             JOB
SMALLINT              EDLEVEL
CHARACTER             SEX
DATE                  BIRTHDATE
DECIMAL               SALARY
DECIMAL               BONUS
DECIMAL               COMM
VARCHAR FOR BIT DATA  PKEY
XML                   PROJECTS

让我们再将名为 Bonus_Increase 的存储过程与以下参数(这些对象可以在样例数据库中获得)结合使用。

清单 2. 生成的代码
IN p_bonusFactor DECIMAL (3,2)             
IN p_bonusMaxSumForDept DECIMAL (9,2),                              
OUT p_deptsWithoutNewBonuses VARCHAR(255),                              
OUT p_countDeptsViewed INTEGER,                              
OUT p_countDeptsBonusChanged INTEGER,                              
OUT p_errorMsg VARCHAR(255)

右键单击过程 Bonus_Increase,然后选择 Create and Deploy IBM Data Server Web Service。这将启动 IBM Data Server Web Service Designer。

默认名称(Webservice1)将被分配给 Web 服务并且显示在设计程序的名称字段中。

工具将自动生成 Call 操作,操作文本为 CALL Bonus_Increase

到目前为止,只创建了一个带有单个操作的 Web 服务。要为这项简单的服务添加更多操作,单击操作窗格前面的加号(+)按钮并指定操作的名称。例如,此样例将 getEmployee 用于正在添加的新操作。您可以分配操作列中的操作,也可以单击省略号以打开 Operation 编辑对话框,您可以在其中输入拥有者名称。该编辑器还将列出使用智能感应(intellisense)的所有可能的对象。选择表名(对于本样例为 Employees 表),然后单击 OK。由于这是一项表操作,因此工具将自动生成 insertupdatedelete 操作。该工具将把 employee insert 操作称为 insertEmployee,把 update 操作称为 updateEmployee,依此类推。对于本样例服务,您不需要 deleteupdate 操作,因此请单击 deleteupdate 的操作窗格中的行,然后单击窗格前面的减号(-)按钮以删除这些操作。

清单 3 显示了工具所生成的 Employee 表的 getEmployee 操作的 SELECT 语句:

清单 3. SELECT 语句
SELECT * FROM EMPLOYEE WHERE EMPNO = ?

清单 4 显示了生成的 insert 语句:

清单 4. INSERT 语句
INSERT INTO EMPLOYEE values (?, ?, ?, ?, 
                             ?, ?, ?,? , 
                             ?,? ,?,?, 
                             ?,?, ?, ?)

由于这是第一次启动 IBM Data Web Service Designer,因此将显示 Advanced Option 对话框,这样您可以输入应用服务器部署和配置信息。由于该工具将长期保存对于此 Advanced Options 对话框的所有更改以供稍后使用,因此您只需输入一次这些信息。

图 10. 高级选项
高级选项

设置应用服务器

本文的样例场景将使用 IBM WebSphere Application Server Community Edition 1.1。

  1. 启动 WebSphere Application Server Community Edition 1.1 服务器并启动其管理控制台:
    图 11. 管理控制台
    管理控制台
  2. 单击 Console Navigation 面板中的 Database Pools 链接(这将启动 Database Pools 页面):
    图 12. 管理控制台
    管理控制台
  3. 单击 Using the Geronimo database pool wizard 链接:
    图 13. 数据库池
    数据库池
  4. Name of Database Pool 字段中输入 Sample,然后单击 Next
    图 14. 数据库池
    数据库池
  5. 选择适用于 DB2 服务器的相应数据库驱动程序并填写其余字段,然后在数据库字段中输入 sample 并单击 Next
    图 15. 数据库池
    数据库池
  6. 在 Database Pools 向导的最后一个页面中,单击 Test Connection 以确保连接信息是正确的并且可以建立与 DB2 Sample 数据库的连接:
    图 16. 数据库池
    数据库池
  7. 在测试连接成功后,单击 Deploy 以创建数据库池:
    图 17. 数据库池
    数据库池
  8. 在创建数据库池之后,关闭 Administrator Console 页面并关闭 WebSphere Application Server Community Edition 服务器。
  9. 返回到 Visual Studio 中的 IBM Web Service Designer,然后单击 Advanced Options
    图 18. 高级选项
    高级选项
  10. 在 Advanced Option 对话框中,选择 New,这将启动 New Server 对话框:
    图 19. 新建服务器
    新建服务器
  11. 从 Vendor 下拉列表中选择 IBM,然后单击 Browse 以指定 Web 服务器安装目录。
  12. 指向 WebSphere Application Server Community Edition1.1 安装目录,然后单击 OK 以完成新服务器设置:
    图 20. 高级选项
    高级选项
  13. 将 artifact.dataSourceGroupId 文件的名称更改为您在 Advanced Options 控制台页面中的上一步中创建的数据库池名称 “sample”。
  14. 选中 Set As DefaultOpen Invoke Web Service Method dialog 复选框。第一个复选框允许工具重用相同的信息以供将来 Web 服务部署,第二个复选框将在部署成功后启动 Web Service 测试对话框。
  15. 单击此对话框中的 OK 以长期保存这些信息:
    图 21. IBM Data Web Service Designer
    IBM Data Web Service Designer
  16. 在完成新服务器设置后,单击 Visual Studio IDE 中的 Save 工具栏按钮以部署 Web 服务。

第一次执行该部署过程将花费一些时间,但是所有后续部署将非常快。IBM Web Service Designer 将把每个部署步骤输出到 Visual Studio Output 窗口中:

图 22. 部署输出消息
部署输出消息

在成功部署之后,将启动 Web Service Method Invocation 对话框,允许您测试刚刚部署的 Web 服务:

图 23. Web Service Method Invocation
Web Service Method Invocation

您还可以单击 Show Script 以查看为该 Web 服务生成的 WSDL。


结束语

IBM Database Add-ins for Visual Studio 将提供对 IBM Data Web Services 的支持,它是 IBM 数据库服务器的下一代 Web 服务提供程序。该工具将提供一种简单的方法来创建和公开所选数据库对象的 Web 服务操作。它支持 IBM 系列的数据库服务器和许多常见 Web 服务器,例如 Apache Tomcat V5.5、IBM WebSphere Application Server V6.1 和 Community Edition V1.1。这些插件将提供一个辅助用户创建 Web 服务以满足业务需求的框架。如本文所述,您可以在不编写大量代码的情况下创建、查看、修改和删除 Web 服务,并且可以轻松地部署这些 Web 服务。

参考资料

学习

获得产品和技术

  • 使用 IBM 试用软件 构建下一个开发项目,这些软件可以从 developerWorks 直接下载。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, SOA and web services
ArticleID=378525
ArticleTitle=使用 IBM Database Add-Ins for Visual Studio 创建 IBM Data Web Services
publish-date=03262009