WebServices - 教程

  • 简述

    WebServices 是基于开放标准(XML、SOAP、HTTP 等)的 Web 应用程序,它们与其他 Web 应用程序交互以交换数据。WebServices 可以将您现有的应用程序转换为 Web 应用程序。在本教程中,您将了解 WebServices 到底是什么以及为什么以及如何使用它们。
    本教程将对所有倾向于学习 WebServices 基础知识并在实践中实现它们的读者很有用。
    这是介绍 WebServices 概念的基础教程。它不要求读者具备任何特定技术的先验知识,但是如果您对 XMLHTTP、TCP/IP 概念有基本的了解,你会觉得学起来很轻松。
  • WebServices 是什么

    不同的书籍和不同的组织对 WebServices 提供了不同的定义。其中一些列在这里。
    • WebServices 是可以在 Internet 上使用并使用标准化 XML 消息传递系统的任何软件。XML 用于对与 WebServices 的所有通信进行编码。例如,客户端通过发送 XML 消息调用 WebServices ,然后等待相应的 XML 响应。由于所有通信都是在 XML 中进行的,因此 WebServices 不依赖于任何一种操作系统或编程语言——Java 可以与 Perl 通信;Windows 应用程序可以与 Unix 应用程序通信。
    • WebServices 是自包含的、模块化的、分布式的、动态的应用程序,可以通过网络进行描述、发布、定位或调用以创建产品、流程和供应链。这些应用程序可以是本地的、分布式的或基于 Web 的。WebServices 建立在 TCP/IP、HTTP、Java、HTML 和 XML 等开放标准之上。
    • WebServices 是基于 XML 的信息交换系统,它使用 Internet 进行直接的应用程序到应用程序交互。这些系统可以包括程序、对象、消息或文档。
    • WebServices 是用于在应用程序或系统之间交换数据的开放协议和标准的集合。以各种编程语言编写并在各种平台上运行的软件应用程序可以使用 WebServices 通过计算机网络(如 Internet)以类似于单台计算机上的进程间通信的方式交换数据。这种互操作性(例如,Java 和 Python,或 Windows 和 Linux 应用程序之间)是由于使用了开放标准。
    总而言之,一个完整的网络服务是,因此,任何服务 -
    • 可通过 Internet 或专用(内联网)网络使用
    • 使用标准化的 XML 消息传递系统
    • 不依赖于任何一种操作系统或编程语言
    • 通过通用 XML 语法进行自我描述
    • 可通过简单的查找机制发现
  • WebServices 的组件

    基本的 WebServices 平台是 XML + HTTP。所有标准 WebServices 都使用以下组件工作 -
    • SOAP(简单对象访问协议)
    • UDDI(通用描述、发现和集成)
    • WSDL(网络服务描述语言)
    所有这些组件都已在WebServices 架构一章中讨论过。
  • WebServices 如何工作?

    WebServices 通过使用开放标准(如 HTML、XML、WSDL 和 SOAP)实现各种应用程序之间的通信。WebServices 需要以下帮助 -
    • 用于标记数据的 XML
    • SOAP 传输消息
    • WSDL 来描述服务的可用性。
    您可以在 Solaris 上构建基于 Java 的 WebServices ,该服务可从在 Windows 上运行的 Visual Basic 程序访问。
    您还可以使用 C# 在 Windows 上构建新的 WebServices ,这些服务可以从基于 JavaServer Pages (JSP) 并在 Linux 上运行的 Web 应用程序调用。
  • 例子

    考虑一个简单的帐户管理和订单处理系统。会计人员使用使用 Visual Basic 或 JSP 构建的客户端应用程序来创建新帐户并输入新的客户订单。
    该系统的处理逻辑是用 Java 编写的,驻留在 Solaris 机器上,它还与数据库交互以存储信息。
    执行此操作的步骤如下 -
    • 客户端程序将帐户注册信息捆绑到 SOAP 消息中。
    • 此 SOAP 消息作为 HTTP POST 请求的正文发送到 WebServices 。
    • WebServices 解包 SOAP 请求并将其转换为应用程序可以理解的命令。
    • 应用程序根据需要处理信息,并以该客户的新唯一帐号作为响应。
    • 接下来,WebServices 将响应打包到另一个 SOAP 消息中,该消息发送回客户端程序以响应其 HTTP 请求。
    • 客户端程序解包 SOAP 消息以获取帐户注册过程的结果。