編輯:Android開發教程
作為 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 服務,對應的邏輯是回顯輸入的數字。
作為支持 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 程序。
具體的 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 所示:
 
想要理解ContentProvider的最佳方式就是自己動手去嘗試一下。下面介紹如何使用一個內置的Contacts ContentProvider。1. 創建一個工程,P
AutoCompleteTextView和EditText很相似,事實上,AutoCompleteTextView就是EditText的子類。使用 AutoComplet
Android 提供了多種存儲數據的方法,其中最簡單的是使用Shared Preferences. Shared Preferences 可以存儲 Key/value 對
QQ國際版 for Android 的最新版本(ver. 4.6.11)已經正式上線了。作為全球最流行的即時通信工具之一,QQ國際版的用戶已經覆蓋全球180多個國家和地區