`
wanghaopk
  • 浏览: 47620 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Web Service 的基本概念

 
阅读更多
  •      WebSevice 让一个程序可以透明地调用互联网程序,不用管具体的实现细节。只要WebService公开了服务接口,远程客户端就可以调用服务。WebService是基于Http协议的组件服务,WebService是分散式应用程序的发展趋势。 WebService更多是一种标准,而不是一种具体的技术。不同的平台,不同的语言大都提供WebService的开发实现。在Java领域WebService常见的框架 Axis、XFire、CXF......。其中成熟实现的是AXIS。
  • webservice就是调用远程的java方法的技术。
    WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的
    通讯技术。它是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
    Web Service是建立可互操作的分布式应用程序的技术平台,开发者可以使用自己喜欢的编程语言,在各
    种不同的操作系统平台上编写Web Service应用。

    Web Service的特点
    Web Service的主要目标是跨平台的可互操作性。为了实现这一目标,Web Service 完全基于XML、XSD(
    XML Schema)等独立于平台,是创建可互操作的、分布式应用程序的新平台。

    例如java的RMI也能进行远程通信调用,但是RMI能在java程序机制通讯,调用。而webservice则可以在任何语言的程序上通讯。
    SOAP、WSDL和UUID是Web Service的“三剑客”。
    Web Services 框架的核心技术包括SOAP(Simple Object Access Protocol,简单对象访问协议) ,WSDL(Web Services Description Lanuage,Web服务描述语言) 和UDDI(Universal Description,Discovery and Integration,通用描述,发现,集成) ,它们都是以标准的XML 文档的形式表述的。

    目前:
    XFire迅速成为Web Service开发框架中的闪亮新星,相比于其他Web Service框架(如Axis、GLUE等)

    xfire 的升级版本 cxf 现在是2.1 官网上例子很多。

    到了java6时代,在jdk中已经包含了wsgen和wsimport等命令,很容易发布和访问 webservice,无需依赖任何框架或者库了。

    什么是web service
        Web service是通过HTTP协议交流的客户和服务器。根据W3C的描述,web service提供了运行在不同的平台和框架上的软件之间的互操作的标准的方式。Web service的特点包括高度的互操作性和可扩展性,以及使用XML带来的可机器处理的描述。Web service可以以松散耦合的方式组合起来完成复杂的操作。提供简单的服务的程序和和其他的程序互动来提供复杂的有附加值的服务。

    Web Service的类型
        在概念上,一个服务就是一个由可以通过网络访问的端点提供的软件组件。服务的消费者和提供者使用消息来交换调用请求和自包含格式文档响应信息而很少考虑接收方技术上的能力。
        在技术上,web service可以以不同的方式实现。在本教程中讨论的两种方式可以称为“大”web service和“RESTful”web service。
    “大” Web Service
        在Java EE 6中,JAX-WS提供了“大”web service的功能,这种类型的web service在第12章“使用JAX-WS构建web service”中介绍。这种web service使用遵循SOAP(Simple Object Access Protocol)标准的XML消息。这样的系统通常包含一个机器可读的service提供的操作的描述,这个描述以Web Service Description Language(WSDL)写成。WSDL是定义结合和语法的XML语言。
        SOAP消息格式和WSDL接口定义语言是被广泛接受的。许多开发工具,如NetBeans IDE,能够减少开发web service应用程序的复杂性。
        一个基于SOAP的设计必须包含以下元素:
    • 必须建立一个正式的约定来描述web service提供的接口。WSDL能够用来描述约定的细节,包括消息、操作、绑定和web service的定位。在JAX-WS的service中也可以不发布WSDL而处理SOAP消息。
    • 架构必须能够满足复杂的非功能性的需求。很多web service的规范明确了这样的需求并且创建了通用的词汇,例如事务、安全性、寻址、信任、协调等。
    • 架构需要处理异步处理和调用。这种情况下,可以直接使用由标准(如Web Service Reliable Messaging,WSRM)和API(如JAX-WS)提供的基础设施以及它们对客户端的异步调用的支持。
    RESTful Web Services
        在Java EE 6中,JAX-RS提供了RESTful web service的功能。REST很适合基本的、特别集成的情况。RESTful web service通常比基于SOAP的service和HTTP集成的更好。RESTful的web service不需要XML message或WSDL的服务API定义。工程Jersey是JAX-RS规范的参考实现。Jersey实现支持JAX-RS规范定义的组件,使得开发人员能够容易的使用Java和JVM构建RESTful web service。
        因为RESTful web service使用了已经存在的广为人知的W3C和IETF(Internet Engineering Task Force)标准(HTTP,XML,URI,MIME)并且有轻量的基础设施允许使用很少的工具来构建service,开发RESTful web service是很代价很低的,因此接受的门槛很低。可以使用开发工具如NetBeans IDE来进一步减少开发RESTful web service的复杂性。
    当符合以下条件的时候一个RESTful的设计才是合适的:
    web service是完全无状态的。一个好的测试是考虑这个互动能否在服务器重启的时候存活。
    • 能够使用缓存来提高性能。如果web service返回的数据布署动态生成的并且能够被缓存,就可以使用web服务器或其他的中间件提供的缓存功能来提高性能。但是,开发人员应该小心,因为在大多数服务器上这样的缓存只对HTTP GET有效。
    • 服务的提供者和服务的消费者对传递的上下文和内容有共同的理解。因为没有正式的方式来描述service的接口,所以两方都必须就描述交换的数据的schema和处理这些数据的方式达成一致。在现实世界中,很多提供RESTful实现的service的商业应用程序也发布增值工具包,其中用流行的编程语言向开发人员描述了service的接口。
    • 带宽是特别重要的并且需要限制的。REST对配置有限的设备很有用,如PDA和手机。对这些设备,XML有效载荷之外的SOAP元素的headers和附加层必须要被限制。
        使用RESTful类型可以很容易的提交或聚合web service到已经存在的web站点。开发人员可以使用如JAX-RS和AJAX等技术及DWR(Direct Web Remoting)工具来在web应用程序中使用service。不需要从头开始,service可以提供XML,HTML页面可以直接使用而不需要对已经存在的web站点的架构做大的重构。开发人员的生产率会提高,因为他们可以使用已经熟悉的技术来添加新的东西而不是使用新的技术从头开始。
        RESTful web service会在第13章“使用JAX-RS构建RESTful web service”中讨论。该章中包括使用NetBeans IDE和Maven项目管理工具来生成RESTful web service骨架的信息。

    决定要使用哪种类型的Web Service
        基本上,在基于web的集成的情况下会使用RESTful web service,在有更高的服务质量要求的企业应用程序集成的情况下会使用“大”web service。
        JAX-WS:适合于更高的服务质量要求的情况,通常发生在企业计算中。和JAX-RS相比,JAX-WS使得支持WS-*系列的协议更加容易,这些协议提供了安全性、可靠性以及和其他的WS-*兼容的客户和服务器互操作等的标准。
        JAX-RS:可以更容易的编写应用了部分或全部的REST风格的限制来引入希望的特性的web应用程序。这些特性包括松散耦合(可以很容易的进化服务端而不影响已经存在的客户端),可扩展性和架构简化(使用现成的组件,例如代理或HTTP路由器)。在web应用程序中应该选择JAX-RS,因为RESTful web service易于被多种类型的客户消费,同时使得服务器端能够进化和扩展。客户端可以选择使用部分或全部的service并将其和其他的基于web的service一起使用。
分享到:
评论

相关推荐

    Web Service基本概念

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

    WebService的基本概念详细介绍

    WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。

    C#调用WebService实例与开发教程(推荐)

    1.1、Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL...

    亮剑.NET深入体验与实战精要2

    7.1 Web Service基本概念 278 7.2 Web Service的应用场景 278 7.3 创建简单的Web Service项目应用 280 7.4 Web Service属性介绍 282 7.5 ASP.NET如何调用Web Service 286 7.6 JavaScript如何调用Web Service 288 ...

    亮剑.NET深入体验与实战精要3

    7.1 Web Service基本概念 278 7.2 Web Service的应用场景 278 7.3 创建简单的Web Service项目应用 280 7.4 Web Service属性介绍 282 7.5 ASP.NET如何调用Web Service 286 7.6 JavaScript如何调用Web Service 288 ...

    MyEclipse7.0创建基于Axis的Web service

    通过该实验将掌握配置MyEclipse7.0的axis Web Service的开发环境,通过Top-Down方式创建、发布基于axis Web Service的基本步骤,进一步加深学生对XML、WSDL、SOAP等Web Service概念的理解。

    php如何调用webservice应用介绍

    1.1、Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL...

    web技术与网站规划共387页

    本课程要求掌握Web技术的基本概念、Web站点规划、Web服务器配置、Web编程和Web安全管理等内容。 (一)Web的基本概念:12学时 了解Web的定义、发展简史、应用现状、研究热点,掌握HTTP协议、HTML语言,了解CSS、 ...

    Web Services技术综述

    Web Services基本概念介绍 Web Services体系结构 Web Services协议 Web Service开发 Web Services软件产品介绍

    C#邮件收发系统代码下载

    Web Service是一种基于分布式应用程序的平台。这种平台具有操作系统和编程语言的无关性,它通过一种叫XML的技术去规范数据的格式。使用XML这种标准化的语言使得各个操作系统之间的集成能力大大...9.1.1 Web服务基本概念

    软件构件与中间件技术

    主要内容: 概述:中间件与软件构件的动因... Web Service体系结构:Web Service体系结构简介、SOAP、WSDL、UDDI。 本书的关注点主要有两个: 如何开发与使用基于特定中间件的构件 如何使用中间件提供的各种支持

    ASP.NET Web API 2框架揭秘

    虽然编程模式可以速成,但本书还是希望你能对ASP.NET或ASP.NETMVC有基本概念。 互联网应用尤其是移动互联网应用的普及,让采用Web直接通信的轻量级Web Service成为主流,本书要讲的正是ASP.NET Web API。它是一个...

    C#调用WebService实例开发

    一、基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,...

    .NET程序设计全接触

    <br> 第三部分为提高篇,在读者掌握了Web Service的基本概念及实现方法的前提下求得提高,以适应现实环境下软件开发的需要。 • 第九章介绍如何在Web Service中引用.NET类库。在这里,读者将了.NET类库的组织...

    利用WSDL和UDDI为公共WebService建立统一接口

    介绍了WSDL和UDDI的基本概念,以及如何利用WSDL和UDDI来建立统一接口。

    ASP.NET+实用桉例教程

    最后详细地介绍了Web Service的概念和使用方法。因为学习一门语言的主要目的是从事项目开发,所以本书最后一章,从工程规划的角度说明如何开发基于ASP.NET的项目。 本书适合用为培训班教材及自学自册,也适合具有...

    xFire开发入门教程

    介绍了MyEclipse Web Services的基本概念 2. 创建一个MyEclipse Web Services工程 3. 创建一个简单的HelloWorld Web Service 4. 在Web容器中,如Tomcat 5中部署Web Service 5. 使用Web Services Explorer来...

    简述JAXM构建Web服务及应用

    JAXM的基本概念包括消息,连接,消息提供者以及JAXM客户端和JAXM服务消息,JAXM的消息使用SOAP消息标准,包括或不包括附件。  1 JAXM相关概念  完整的JAXM API存在于javax.xml.soap和javax.xml.messaging二个...

    spring加载restful(文档+程序源码)

    通常,一个RESTful Web Service将定义基本资源URI、它所支持的表示/响应MIME,以及它所支持的操作。  本文将介绍如何使用Spring创建Java实现的服务器端RESTful Web Services。这个例子将使用浏览器、curl和Fire...

    中美 IT 培训 C# Asp.net 笔记2

    (40课时) 系统地讲授多线程的基本概念、线程的设计、线程的优先级等以及线程的使用;讲授共享程序集(公有程序集)、私有程序集的组成、原理和使用;学习反射(Reflection)、属性(Attribute)的相关概念和使用。...

Global site tag (gtag.js) - Google Analytics