• Web 服务简介


    Web 服务简介

    本文档简要论述了 Web 服务的概念和 NetBeans IDE 支持的技术。主要用于帮助新人在使用教程之前了解 Web 服务。

    Web 服务是外部可用的分布式应用程序组件。您可以使用它们集成用不同语言编写以及运行在不同平台上的计算机应用程序。Web 服务与语言和平台无关,因为供应商已经接受了通用 Web 服务标准。

    Sun Microsystems 正在开发一个叫做 Metro 的 java.net 项目。Metro 是一个完整的 Web 服务栈,涵盖了开发人员从简单的“Hello, World!”示例演示到可靠、安全和事务型 Web 服务的所有需求。有关详细信息,请参阅 Metro 主页

    Metro 包含 Web 服务互操作性技术(Web 服务s Interoperability Technologies,WSIT)。WSIT 支持各种企业功能,比如安全性、可靠性和消息优化。WSIT 确保具有这些功能的 Metro 服务可以和 Microsoft .NET 服务进行互操作。在 Metro 内,Project Tango 开发并发展 WSIT 的代码基。要了解 WSIT 的工作方式,请使用高级 Web 服务互操作性教程。

    一些编程模型已经可供 Web 服务开发人员使用了。这些模型分为两类,IDE 都提供支持:

    • 基于 REST 的模型。 REpresentational State Transfer 是一种创建 Web 服务和与 Web 服务通信的新方式。在 REST 中,资源拥有 URL,通过 HTTP 头操作来控制。有关详细信息,请参阅 REST 风格的 Web 服务
    • 基于 SOAP/WSDL 的模式。 在传统 Web 服务模式中,Web 服务接口是通过 WSDL 文档(一种 XML)来公开的,它们拥有 URL。后续消息交换是在 SOAP 中进行,它是另一种 XML 文档。有关详细信息,请参阅 基于 SOAP 的 Web 服务

    REST 风格的 Web 服务

    基于 REST(“REST 风格”)的 Web 服务是由 URI 标识的 Web 资源的集合。每个文档和每个过程都被建模为具有唯一 URI 的 Web 资源。这些 Web 资源通过可以在 HTTP 头中指定的操作来控制。SOAP、WSDL 和 WS-* 标准均未使用。相反,可以使用任何格式(XML、JSON、HTML 等等)进行消息交换。在很多情况下,Web 浏览器可以用作客户机。

    REST 使用 HTTP 协议。只有四种方法可用:GET、PUT、POST 和 DELETE。可以将请求加入书签,并且可以缓存响应。网络管理员通过查看 HTTP 头,就可以轻松跟踪 REST 风格的 服务的情况。

    REST 技术适合那些要求的安全性不超过 HTTP 基础结构以及适合 HTTP 协议的应用程序。REST 服务也可以提供复杂的功能。Flickr、Google Maps 和 Amazon 均提供 REST 风格的 Web 服务。

    Project Jersey 是构建 REST 风格的 Web 服务的开源参考实现。Jersey API 可作为 NetBeans IDE 的“REST 风格的 Web 服务”插件使用。

    以下教程涉及创建和使用 REST 服务:

    基于 SOAP 的 Web 服务

    在基于 SOAP 的 Web 服务中,Java 实用程序基于 Web 服务中的 Java 代码创建一个 WSDL 文件。该 WSDL 被公布到网上。对使用 Web 服务感兴趣的各方基于该 WSDL 创建 Java 客户机。消息以 SOAP 格式进行交换。可传入 SOAP 中的操作范围比 REST 中要广泛得多,尤其是在安全性方面。

    基于 SOAP 的 Web 服务适合使用复杂操作的重量级应用程序,以及要求复杂的安全性、可靠性和其他支持 WS-* 标准功能的应用程序。必须使用非 HTTP 协议的传输协议时它们也适用。很多 Amazon 的 Web 服务(尤其是那些涉及商业事务的服务)以及银行和政府机构使用的 Web 服务都是基于 SOAP 的。

    Java API for XML Web 服务s (JAX-WS) 是当前 Metro 中基于 SOAP 的 Web 服务的模型。JAX-WS 是以较早的 JAX-RPC 模型为基础构建而成,但是使用特殊的 Java EE 5 功能(比如注释)来简化部署 Web 服务的任务。由于它使用 SOAP 传递消息,JAX-WS 与传输无关。它也支持很多模块化的 WS-* 规范,比如 WS-Security 和 WS-ReliableMessaging。

    注意: 尽管我们强烈建议使用 JAX-WS 模型创建 SOAP 服务,但是由于遗留原因,IDE 仍继续支持 JAX-RPC Web 服务。安装“JAX-RPC Web 服务”插件来发展它们。

    当您创建一个 Web 服务客户机时,您可以选择使用 JAX-WS 或 JAX-RPC 模型。这是因为有些旧的 JAX-RPC 服务使用 JAX-WS 不支持的绑定类型。这些服务只能通过 JAX-RPC 客户机来使用。

    Metro Web 服务可与 Apache Axis2 Web 服务进行互操作。Apache Axis2 是向 W3C 提交的一种 SOAP (Simple Object-Access Protocol) 开源实现。Axis2 不仅支持 SOAP 1.1 和 SOAP 1.2,它还集成了对 REST 风格的 Web 服务的支持。有关 NetBeans IDE 中的 Axis2 Web 服务的更多信息,请参阅 在 NetBeans IDE 上创建 Apache Axis2 Web 服务

    以下教程涉及创建和使用基于 SOAP 的 JAX-WS Web 服务:

  • 相关阅读:
    mongodb复制集配置
    replication set复制集
    CentOS 6.5下源码安装MySQL 5.6
    10个最常见的 HTML5 面试题及答案
    Javascript中document.execCommand()的用法
    javascript 准确的判断类型方法
    getUserMedia API
    javascript
    C++ 面试题
    C++
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469920.html
Copyright © 2020-2023  润新知