`
01jiangwei01
  • 浏览: 548620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
引用
文介绍了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
commons-discovery.jar
wsdl4j.jar
符合JAXP-1.1的XML处理器。
这些组件包在axis软件包中“lib”目录下。在运行axis前请将这些组件包加入到系统变量CLASSPATH中,或者配置一系列的系统变量,将这些组件包加入到这些系统变量中,需要配置的系统变量如下所示:
AXIS_HOME = Axis解压缩后所在的目录\webappls\axis
AXIS_LIB = %AXIS_HOME%\lib
AXISCLASSPATH=%AXIS_LIB%\axis.jar; %AXIS_LIB%\commons-discovery.jar; %AXIS_LIB%\commons-logging.jar; %AXIS_LIB%\jaxrpc.jar; %AXIS_LIB%\saaj.jar; %AXIS_LIB%\log4j-1.2.8.jar; %AXIS_LIB%\xml-apis.jar; %AXIS_LIB%\xercesImpl.jar;

需要注意的是,xercesImpl.jar只能设置一个,如果在你的系统中有多处地方都设置了这个文件,请删除之,只能保留一个。

验证Axis是否正确安装
安装配置完毕后,应测试一下Axis是否可以正确运行。
启动Weblogic8.1服务器,在浏览器中访问http://localhost:7001/axis,在显示的axis安装页面中点击validate进入校验axis安装是否成功的页面,如果页面显示有错误,则需要回头检查一下相关配置是否正确,如果浏览器页面能正确显示出系统组件、属性等参数配置信息,则表示安装成功,如下图所示:

附件:1112084300195-1.jpg(198K)

现在可以开始开发你的Web Services应用了。
分享到:
评论

相关推荐

    wcf,net remoting,web service 概念及区别

    ### WCF、.NET Remoting、Web Service:概念与区别 在探讨WCF(Windows Communication Foundation)、.NET Remoting和Web Service之间的概念及其差异之前,我们先简要回顾一下这三种技术的历史背景和发展脉络。 ##...

    Web Service基本概念

    Web Service 概念 WebService 基本概念 对学些 Web Service的朋友门还是有点点帮助的

    web service与sap_ecc系统服务发布与调用

    Web Service概念 Web Service是一种基于XML的、可跨平台的、松散耦合的软件系统集成技术。它允许不同的应用程序之间通过标准的协议和数据格式来交换数据,实现业务流程的自动化和集成。Web Service通常使用SOAP...

    SAP中RFC发布成Web Service小结

    #### 一、SAP RFC与Web Service概念介绍 **SAP RFC (Remote Function Call)** 是SAP系统中用于实现不同SAP系统之间远程调用的一种技术。通过RFC,可以实现在一个SAP系统上调用另一个SAP系统的功能模块。 **Web ...

    c# asp.net web service

    - **现代Web Service概念**:随着技术的进步,Web Service为用户提供了一个可编程的Web站点。这种站点能够更紧密地与其他应用程序和服务集成,提高了资源的重用性和智能化程度。 - **.NET平台的作用**:.NET平台提供...

    MAPGIS Web Service开发手册

    1. **第一部分**:介绍Web Service的基本概念和技术基础,包括WMS(Web Map Service)、WFS(Web Feature Service)、WCS(Web Coverage Service)、WCTS(Web Coverage Transformation Service)以及MapGIS服务等。...

    Web Service

    Web Service 概念与技术支持 Web Service 是一种新的 Web 应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为 Web)中被描述、发布、查找以及通过 Web 来调用。从表面上看,Web Service 就是一...

    基于J2EE的Web Service研究及构建

    2. **Web Service概念** Web Service是一种基于XML的开放式标准,它通过SOAP(Simple Object Access Protocol)协议进行通信,使用WSDL(Web Services Description Language)定义服务接口,UDDI(Universal ...

    Delphi提供的Web Service 机制

    #### 一、Web Service 概念与基础知识 **Web Service** 是一种在互联网上提供程序服务的方式,它能够以自动化的方式为远程应用程序提供服务,无需人工干预,利用标准化的通信协议完成任务。 **SOAP (Simple Object...

    java web service 教程

    #### 二、Java Web Service 概念 **1. Web Service 定义** Web服务是一种基于网络的应用程序,通过HTTP协议进行通信,能够跨平台、跨语言地提供服务。它通常使用XML作为数据格式,并支持SOAP(Simple Object ...

    xml web service 学习资料

    1. **Web Service概念**: 是一种网络服务,通过标准的网络协议提供功能,可以跨平台、跨语言地与其他应用程序交互。 2. **自描述性**: Web Service具有自描述特性,即通过WSDL(Web Service Description Language)...

    axis开发web service程序

    #### 一、Web Service 概念与应用场景 Web Service 是一种跨编程语言和操作系统平台的远程调用技术。它允许不同语言编写的程序通过网络进行通信和数据交换。Web Service 的主要优势在于它的开放性和互操作性,这...

    NET平台下Web Service与SQL Server2000的交互通信.pdf

    1. Web Service概念及特点 Web Service是一种基于网络的、分布式的模块化组件,其设计目标是跨平台操作和高度的开放性。Web Service的核心技术包括使用XML作为数据表示和交换的基础格式,和使用SOAP(Simple Object ...

    web service 精典入门教程

    本篇教程旨在为读者提供一个完整的 Web Service 入门指南,涵盖了 Web Service 的基本概念、架构、SOAP 协议、WSDL 文件、_WS-Security 等重要知识点。 Web Service 基本概念 Web Service 就是 WEB 服务,能够将...

    SAP Web Service

    #### 一、SAP Web Service 概念与重要性 SAP Web Service 是一种使 SAP 应用能够通过 Web 协议与其他系统进行交互的技术。它允许不同系统之间进行数据交换和服务调用,从而实现业务流程的集成和自动化。SAP Web ...

    Web-Service与SAP-ECC系统服务发布与调用

    ### Web Service 概念 Web Service 作为一种标准的接口机制,其主要目的是为了实现不同站点间的无缝信息交流和资源共享。这种服务遵循了互联网上的统一开放标准(如HTTP、XML、SOAP、WSDL等),因此可以在各种不同...

    D6 SOAP_WEB SERVICE程序设计.part1.rar

    第一章 SOAP和Web Service的概念 第二章 组件模型、Internet/Intranet和SOAP 第三章 开发Web Service 第四章 什么是SOAP 第五章 SOAP和数据封装 第六章 SOAP和远程调用 第七章 Web Service和UDDI 第八章 处理复杂...

    《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》(

    2. **基础概念**:介绍SOAP和Web Service的概念,以及它们如何在分布式系统中工作。 3. **SOAP编程**:讲解如何在Delphi6和Kylix2中创建、发送和接收SOAP消息,包括XML的使用和解析。 4. **Web Service开发**:...

    web service ppt

    数据绑定是Web Service中的一个重要概念,它涉及到将XML消息转换为编程语言中的对象,反之亦然。WS-Security提供了Web Service的安全框架,确保数据在传输过程中的安全性。WS-Notification用于服务间的事件通知,而...

Global site tag (gtag.js) - Google Analytics