基于Android系统调用IBM i服务器端的Web服务

本文的主要目标是,结合 IBM i 支持的 Web 服务组件,指
导读者如何编写基于 Android 的 Web 服务客户端程序,调用 IBM i 服务器
端的 Web 服务。

作为 Internet 异构环境下的互操作技术,Web 服务被广泛应用。由于 Web 服务具有跨语言、跨平台等特点,我们可以通过 Android 等智能设备,以 Web 服务的方式重用 IBM i 服务器端的 RPG、COBOL 等业务程序。本文的主要目标是,结合 IBM i 支持的 Web 服务组件,指导读者如何编写基于 Android 的 Web 服务客户端程序,调用 IBM i 服务器端的 Web 服务。

从结构上,本文主要分为 3 部分。第 1 部分主要介绍 IBM i 服务器端对于 Web 服务的支持。第 2 部分是主体,集中介绍如何在 Android 平台上编写 Web 服务客户端程序,调用基于 IBM i 的 Web 服务。最后一部分是总结。

ConvertTemp 为贯穿本文的 Web 服务样例,对应的是一个华氏向摄氏转换的温度转换器程序。RPGINT 是一个用户自定义的简单 Web 服务,对应的逻辑是回显输入的数字。

IBM i 服务器端针对 Web 服务的支持

作为支持 Web 服务的 IBM i 服务器端组件,IBM Integrated Web Service Server for i 简化了基于 IBM i 的 Web 服务开发流程。一方面,IBM Integrated Web Service Server for i 集成了 ">Apache Axis2 框架,可以轻松创建 Web 服务。另一方面,IBM Integrated Web Service Server for i 本身也是一个应用服务器,为 Web 服务提供运行环境。因此,不需要任何额外的编码,Integrated Web Service Server for i 就可以将已有的 RPG 等 IBM i 应用转换成 Web Service。

图 1 所示的是基于 Android 的客户端应用程序,调用 IBM Integrated Web Services Server for i 发布的 Web Service,从而成功复用了基于 IBM i 平台的 RPG/COBOL 程序。

图 1. Android 客户端调用基于 IBM i 的 Web Service 体系结构图

具体的 Web Service 调用请求步骤如下:

作为服务请求者(Service Requestor),基于 Android 平台的 Web Service 客户端程序,调用 Web Service 框架(ksoap-android),发送基于 SOAP 的 Web Service 调用请求; 作为服务
提供商(Service Provider),IBM Integrated Web Services Server 接收到 Web Service 调用请求,并调用相应的 Web Service; Web Service 通过 Web Service 框架(Axis2),利用 IBM Java Toolbox for i 提供的 PCB(Program Call Bean)相关接口,调用 RPG/COBOL 程序,完成业务逻辑; RPG/COBOL 程序将结果返回 Web Service,并最终发送给基于 Android 的 Web Service 客户端调用程序。

作为面向 IBM i 中间件的集成 Web 控制台,IBM Web Administration for i 支持以 Web 向导的方式,利用 IBM Integrated Web Service Server for i 服务器创建、部署、运行 Web 服务。

由于本文的重点是指导读者如何编写基于 Android 的 Web 服务客户端程序。为简单起见,我们这里仅仅创建一个 IBM Integrated Web Service Server for i 服务器实例。默认情况下,IBM Web Administration for i 的 Create Web Services Server 向导在创建服务器实例的同时,会同时创建并部署一个 Web 服务样例,运行在该服务器上。创建的过程如下:

点击 Create Web Services Server 链接,进入向导的第 1 步,指定服务器实例的名称与描述。
然后点击 Next 按钮,进入向导的第 2 步。 指定服务器实例对应的 IBM i 作业用户。这里有 3 种选择,使用默认 QWSERVICE 用户、选择已有的 IBM i 用户、创建并使用
新的 IBM i 用户。我们选择第 1 个选项,然后点击 Next 按钮,进入向导的第 3 步,也是最后一步—— Summary 页面。 点击 Summary 页面的 Services 选项卡,我们查看 Web 服务样例—— ConvertTemp,以及 ConvertTemp 对应的 Web Service 描述文件—— WSDL。

待 IBM Integrated Web Service Server for i 服务器创建完毕以后,我们可以通过 Manage Deployed Services 链接,查看 Web 服务样例 ConvertTemp 的详细信息以及运行状态,如图 2 所示:

图 2. 样例 Web 服务 ConvertTemp 的状态

通过点击 Properties 按钮 , 我们可以查看 ConvertTemp 对应的描述信息,如图 3 所示。可以看出,ConvertTemp 服务对应的是 IBM i 程序 QIWSSAMPLE.SRVPGM。

图 3. 样例 Web 服务 ConvertTemp 的属性信息

为保证样例 Web 服务 ConvertTemp 能正常工作,我们可以选择点击 Test Service 按钮,测试 ConvertTemp 是否能被正常调用。我们看到,ConvertTemp 是一个将华氏温度向摄氏温度转换的 Web 服务程序。当我们输入华氏温度为 40,向服务器发送 SOAP 请求,调用 ConvertTemp。通过查看服务器端返回的 SOAP 响应消息,我们可以看到,返回的摄氏温度值为 4.44,如图 4 所示。

图 4. 测试样例 Web 服务 ConvertTemp

至此,从 IBM i 服务器端的角度,我们利用 IBM Integrated Web Service Server for i 服务器以及 IBM Web Administration for i 中间件集成 Web 控制台,完整创建、部署、并发布了一个基于 IBM i 的 Web 服务。

接下来,我们从 Android 的角度,介绍如何编写 Web 服务客户端程序,调用基于 IBM i 的 Web 服务。

时间: 2024-09-19 09:50:04

基于Android系统调用IBM i服务器端的Web服务的相关文章

IBM Worklight适配器与Web服务业务逻辑的集成

在这一部分中,Bhargav Perepa 介绍了如何扩展并转换现有的服务器端业务逻辑资产,以便将它们用于http://www.aliyun.com/zixun/aggregation/10574.html">移动领域,而不重新进行工程设计.Bhargav Perepa 首先展示了如何使用 Rational Application Developer 工作台开发和测试一个 JAX-WS 应用程序.然后介绍了如何使用 Worklight Studio 开发和测试一个使用 Web 服务应用程序

使用IBM Security AppScan对Web服务应用程序进行自动安全漏洞测试

据 IBM® X-Force® 2011 年中趋势与风险报告称,2011 年可谓是 "安全隐患年",因为在 2001 的上半年就报告了大量的高端安全隐患,其数量可谓史无前例.全球范围内更为互联化.智能化和仪表化且不断扩展的网络世界导致各种风险和危险日益增加,同时管理企业和基础架构方面的网络安全攻击也变得更复杂,更困难. 该报告表明,在 2011 年的上半年,所有漏洞中有 37% 是 Web 应用程序漏洞.无法保护 Web 应用程序的安全可能导致损失惨重,包括财务方面和应用程序的性能方面

如何实现 Android 调用基于 IBM i 的 Web 服务

实现 Android 调用基于 IBM i 的 Web 服务 作为 Internet 异构环境下的互操作技术,Web 服务被广泛应用.由于 Web 服务具有跨语言.跨平台等特点,我们可以通过 Android 等智能设备,以 Web 服务的方式重用 IBM i 服务器端的 RPG.COBOL 等业务程序.本文的主要目标是,结合 IBM i 支持的 Web 服务组件,指导读者如何编写基于 Android 的 Web 服务客户端程序,调用 IBM i 服务器端的 Web 服务. 从结构上,本文主要分为

用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)

简介:远程过程调用(RPC)是基于 Simple Object Access Protocol(SOAP)或 Representational State Transfer(REST)的现代 Web 服务的前身.因为所有 Java 平台的 Web 服务 API 都构建 在从 RPC 引入的概念之上,所以要想用 Java 语言编写有效且高效的 Web 服务,理解 Java API for XML-Based RPC(JAX-RPC)几乎是必需的.本教程讲解如何获取.安装和配置 JAX-RPC 并构

IBM System p系列服务器 高性能计算/Web服务

你的Web服务环境是否已经能够随需应变? 在今天的 Web 服务环境中,快速响应客户需求的同时降低总拥有成本,已成为保持企业的竞争优势的关键.一方面,Web应用越来越复杂,对性能和稳定性的要求越来越高:另一方面,新的技术不断涌现,更新换代越来越快.变化来得如此迅猛,为了在新商机来临之际能够立即行动,过时的性能不佳的 IT 设备必须快速转换成更为灵活.更加经济有效的系统,才能够打造随需应变的商业.为了使这种转型尽可能简单,客户不断寻求模块化的 IT 基础架构组件,要求这些组件能够以合理的价格满足目

用Java客户机调用Web服务: J2SE和J2EE环境中Web服务客户机简介

Web 服务的力量在于互操作性.由于业界在 Web 服务技术方面(SOAP.WSDL.UDDI)的协作,更具体地说,是由于 Web 服务互操作性组织(Web Services Interoperability organization,WS-I.org)的工作,Web 服务才可以与其他的 Web 服务进行交互,而不管 Web 服务开发和运行在哪一个平台上(比如是 Microsoft .NET 还是 IBM WebSphere).Web 服务客户机分为多种类型,比如另一个 Web 服务.用脚本语言

全局XML Web服务体系结构概述

web|web服务|xml|体系 全局XML Web服务体系结构(Global XML Web Services Architecture,下面简称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准.相当多的大公司正在GXA的幕后进行合作,包括微软和IBM. GXA的主要目标是定义指定Web服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相互适应性中.虽然在过去的几年中,已经做了大量的工作来创建用于Web服务的标准,但是仍然有很多工作要做.这些工作由增

全局XML Web服务体系结构新标准

全局XML Web服务体系结构(Global XML Web Services Architecture,下面简 称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准.相当多的 大公司正在GXA的幕后进行合作,包括微软和IBM.GXA的主要目标是定义指定Web 服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相 互适应性中.虽然在过去的几年中,已经做了大量的工作来创建用于Web服务的标 准,但是仍然有很多工作要做.这些工作由增强并专业化Web服务交互性

用WebSphere DataPower实现Hessian客户端访问标准Web服务

简介:与主流的基于 XML 消息和 SOAP 协议的 Web 服务相比,Hessian 是轻量级的二进制 RPC 协议 ,具有简单和高效的优势.本教程提出了利用 WebSphere DataPower 对协议和数据格式进行转换,实现 标准 Web 服务对 Hessian 客户端的支持,使得 Hessian 客户端在不改变代码条件下很容易的访问基于 标准 SOAP 协议的 Web 服务. 开始之前 关于本教程 本教程详细地介绍了如何安装.配置和使用 WebSphere DataPower 实现 H