Web Service的概念及其实现
2008-02-23 09:43:55来源:互联网 阅读 ()
本文介绍了Web Service的一些重要概念以及一个Web Service的实现-Apache组织推出的Axis。
Web Service的定义
Web Service是描述一组操作的接口,这些操作可以通过标准的XML消息在网络上进行访问。
可以这样理解上面的定义:
Web Service可看作是一些模块化的应用程序,这些应用程序能在Web上描述、发布、定位和调用。
Web Service的体系结构
Web Service的体系结构是面向服务的体系结构(SOA)。
附件:1112083671836-1.jpg(29K)
附件是面向服务的体系结构(SOA)
从图1可以看出,SOA结构中共有三种角色:
① Service provider(服务提供者):对外提供服务,并且通过注册来发布服务信息
② Service broker(服务代理):提供服务的发布和定位功能
③ Service requester(服务请求者):通过服务代理查询所需服务,并通过服务提供者绑定服务
Web Service使用的协议和规范
Web Service通过哪些协议和规范来描述、发布、定位和调用服务呢?我们可以通过下面的Web Service互操作协议栈结构图表得知:
Web Service互操作协议栈 服务发现 (UDDI)
服务描述(WSDL)
服务调用(SOAP)
消息编码 (XML)
传输网络层(HTTP, TCP/IP)
上图:Web Service互操作协议栈结构
服务发现:通过UDDI规范提供用于描述某项服务的商业结构,包括业务、服务和技术规范三个部分。
服务描述:描述服务提供的功能和调用方法信息,通过WSDL规范提供。
服务调用:使用SOAP协议在服务提供者和服务请求者之间传递SOAP消息来调用Web服务,SOAP定义了请求和响应消息的格式,SOAP建立在XML之上,定义了一种跨系统平台的信息交换的简单包装方法。绑定于HTTP之上的SOAP协议,可以跨语言、跨操作系统进行远程过程调用(RPC),实现了编程语言和系统平台的无关性。
消息编码:SOAP用XML将消息编码,XML提供了跨平台的数据库编码和组织方法。
传输网络层:采用了Web上广泛使用的HTTP协议传输消息,适应Internet环境,能顺利通过代理和防火墙(理论上可以采用其它协议,如SMTP、FTP)。
SOAP简介
SOAP是一个应用程序间的基于XML的通信工具和规范。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程过程调用(RPC)的约定。
Axis的概念
Axis总体上是一个SOAP引擎,它提供了创建SOAP客户机、服务器端、网关SOAP的基本框架。Axis是SOAP的后续版本(该项目的前身是IBM的“SOAP4J”),我介绍的Axis版本是Axis 1.1 for Java版,这个版本是java的Web Service实现。
Axis除了提供SOAP引擎之外,它还是一个可插入到Servlet引擎中的独立的服务器,并且还提供了以下工具:将WSDL转化为java类的工具和一个TCP/IP数据包监视工具。
Axis 1.1 for Java版本相比它的以前版本有了重大的改进,这些改进让Axis灵活性更好、管理更方便、同时支持SOAP和W3C中XML的新规范,Axis 1.1 for Java提供了以下重要特性:
1 速度提高
Axis 1.1 for Java版本使用了SAX(事件驱动)来解析XML文档。
2 灵活
Axis 1.1 for Java版允许用户灵活地定制扩展Axis的功能,用户可以加入他们想要增加的任何特性:个性化的信息头处理、扩展的系统管理和其他特性。
3 稳定性提高
Axis中定义了一套稳定的发布接口(publicshed interface),他们不会随着axis的更新而更新,除非相关的标准发生了改变,这样减少了axis新发布版本中发生重构时对用户的影响。比如axis中处理JAVA-RPC的接口就是一套稳定的发布接口,它支持Java-RPC1.1规范,除非Java-RPC规范发生改变,否则这些接口都不会发生变化。
4 提供面向组件的部署
用户可以轻松地建立可重用的网络环境来实现处理工作的一些模式,或者将这些发布给自己的合作伙伴。
5 提供一个简洁的传输抽象框架
Axis1.1版本中的网络传输设计中使用彻底的、简化的抽象,SOAP消息的发送方和接收方可以使用多种传输协议比如SMTP、FTP或者消息中间件等,Axis1.1版本的核心引擎完全是独立于传输协议的,从而使用户可以更加灵活地选择用何种协议来传输。
6 支持WSDL1.1
Axis1.1版本支持WSDL1.1版本,用户通过使用这个特性可以非常简单地创建访问远程的web服务需要用到的类文件,也可以使用该特性从你的java类中自动生成正确的WSDL文档。
Axis 1.1 for Java的安装配置
下载Axis
首先,我们必须下载axis的最新版本,目前的最新版本是1.1,可以到http://ws.apache.org/axis/download.cgi下载,他提供了tar.gz和.zip版本可供下载,请根据您的操作系统平台的选择不同的下载文件,我们这里选择下载支持Windows平台的二进制版本axis-1_1.zip。
安装Axis
应用Axis开发Web Services,你需要有一个支持Servlet的服务器引擎,比如广为人知的Tomcat。因为后面的文章中我将介绍如何将EJB作为Web Service部署在Axis上,所以我这里以Web 应用服务器weblogic8.1为例说明如何安装Axis。
首先将下载的Axis软件包axis-1_1.zip解压缩,可以看到如下图所示的目录结构:
附件:1112084151751-1.jpg(44K)
然后启动weblogic8.1服务(即运行对应的domain上的startWeblogic.cmd),打开ie浏览器进入weblogic的控制台,然后点击Deployments->Web Application Modules,选择“Deploy a new Web Application Module”,选择上面的目录结构中“webapps”目录下的“axis”目录进行发布即可。
配置Axis
运行Axis时需要如下组件包:
axis.jar
jaxrpc.jar
saaj.jar
commons-logging.jar
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash