Web服務使用一個復雜的體系結構為客戶應用程序提供一個簡單機制來從服務器應用程序調用方法和獲取結果,而不用計較源代碼使用的語言和主機平台有什麼不同。
<!-- frame contents -->
<!-- /frame contents -->
Sun ONE Studio提供的工具讓開發者能夠使用包含在現有的Java類中的Web服務、方法--而不需要對這種體系結構有更深的了解。本文從一個基於servlet的Web模塊中創建一個Web服務,演示如何使用現有的服務邏輯來生成新的客戶應用程序。
介紹 回顧一下Web服務的核心技術--XML和簡單對象訪問協議( SOAP)--很明顯這些技術實現已經在產業環境中存在了許多年了。在這段時間內,構建、測試和部署Web服務的工具已經極大地成熟了。在前段時間,對於這些要害技術的熟悉深度--例如SOAP信封的結構--是一個先決條件。現在,使用象Sun ONE Studio這樣的高級開發工具,一個Web服務可以在幾分鐘之內從一個現有的J2EE Web容器應用程序中生成--不需要像SOAP這樣的Web服務技術背景。
本文將模擬一個通用的案例:使用一個基於J2EE Web容器應用程序的現有的服務,並且把它展示為防火牆後的點對點同步集成的Web服務。當使用的示例不是實際的應用程序的時候,它的簡單性提供一個集中創建、部署和測試一個Web服務的處理的機會--被大部分全面的J2EE應用程序共用處理。諸如安全和事務這樣的相關主題雖然很重要,但是超出了本教程的范圍。
初始化設置任務 為了成功地遵循本文中的過程,必須設置一個類似的開發環境。這個環境包括Sun ONE Studio 4企業版和Sun ONE應用服務器7平台版本。
產品和文件下載
下面的表格概括了本教程中所需要的產品和文件下載。
產品/文件
注解
Sun ONE Studio 5標准版
Sun ONE Studio 5標准版預配置了Sun ONE Application Server 7,這個應用服務器是本文所需要的。假如Sun ONE Application Server 7已經安裝在你的開發環境中,那麼Sun ONE Studio 5將自動整合到現有的安裝中。
hellowebmod.zip
在一個Web模塊中的HelloWorld源程序 本教程使用的兩個源文件:HelloWorld.java hello程序包中的入口類,用於基於servlet的Web容器應用程序。兩個類文件都在com.sun.demo.hello程序包中。 Salutation.java 這是一個簡單的類,包含一個用來作為Web服務的方法。
察看文件擴展 默認情況下,IDE在EXPlorer窗口中隱藏了擴展名,但是出於明確性的原因,本文包括了文件的擴展名。為了使文件擴展名可見,你可以選擇性地執行下面的任務:
1.從IDE主菜單,選擇Tools> Options打開Options窗口。
2.打開IDE的Configuration > System,選擇System Settings。
3.設置Show File Extensions屬性為True。
環境配置 在本示例中,一個Web模塊被創建,並且兩個源文件(包括上面的)被添加來創建Web應用程序。在文件web.xml中,url模式/servlet/HelloWorld被配置用於本示例。
下面的過程將結束本文中的設置任務,配置你的環境並且安裝和演示示例Web模塊。
圖1:設置默認服務器。
1. 為本示例選擇或者創建一個工作目錄。然後在這個工作目錄之內創建一個名為hellowebmod的子目錄。
2. 解壓縮示例文件hellowebmod.zip <http://developers.sun.com/tools/javatools/articles/buildingWS/hellowebmod.zip>到hellowebmod目錄裡。
3.啟動Sun ONE Studio 5標准版。
4.啟動Sun ONE應用服務器7。使用Explorer窗口中的Runtime選項卡:
i.打開Installed Servers> Sun ONE Application Server 7> localhost 4848。假如在localhost 4848下沒有server1 ( localhost : port_no)節點,那麼右擊localhost 4848並且從上下文的菜單選擇Start來啟動Admin Server。