Web服务使用一个复杂的体系结构为客户应用程序提供一个简单机制来从服务器应用程序调用方法和获取结果,而不用计较源代码使用的语言和主机平台有什么不同。
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。