zoukankan      html  css  js  c++  java
  • 学习 WebService 第一步:体系结构、三元素SOAP/WSDL/UDDI

    原文地址:爱军的博客——WebService简介

    一、为什么需要Web Service

    笔记:

    WebService 可以实现 跨(硬件、服务器、开发工具、平台、应用程序、程序语言……)共享数据和应用,多么强大!

    当你困扰于以下难题,WebService可以完美解决!

    • 有没有一种办法可以实现跨应用程序跨平台进行通信呢?
    • 换句话说,就是有什么办法可以实现应用程序 A 可以和应用程序 B 进行通信呢?
    • 换句话说,如何实现用不同的程序语言不同厂商的软件开发工具开发的软件,那些已开发和部署的软件,能够实现分布式计算的目的?
    • 或者说是,用 Java 写的应用程序用 . Net 开发的应用程序之间进行通信呢?
    • 或者说是Windows Server 2008 服务器如何和UNIX 或者是 Linux 服务器进行连接呢?

    WebServices 特点优势?

    • 可以通过 Web 服务来公开一些接口给其他人(程序)使用。
    • 可以将多个 WebServices 组合成为更为强大的 WebServices使用

    二、Web Service 体系结构

    在 Web 服务的体系结构中,涉及到三个角色,一个是 Web 服务提供者,一个是 Web 服务中介者,还有一个就是 Web 服务请求者,同时还涉及到三类动作,即发布,查找,绑定

    • Web 服务提供者:可以发布 Web 服务,并且对使用自身服务的请求进行响应,Web 服务的拥有者,它会等待其他的服务或者是应用程序访问自己。
    • Web 服务请求者:也就是 Web 服务功能的使用者,它通过服务注册中心也就是 Web 服务中介者查找到所需要的服务,再利用 SOAP 消息向 Web 服务提供者发送请求以获得服务。
    • Web 服务中介者:也称为服务代理,用来注册已经发布的 Web 服务提供者,并对其进行分类,同时提供搜索服务,简单来说的话,Web 服务中介者的作用就是把一个 Web 服务请求者和合适的 Web 服务提供者联系在一起, 充当一个管理者的角色,一般是通过 UDDI 来实现
    • 发布:通过发布操作,可以使 Web 服务提供者向 Web 服务中介者注册自己的功能以及访问的接口。
    • 发现(查找):使得 Web 服务请求者可以通过 Web 服务中介者来查找到特点的种类的 Web 服务。
    • 绑定:这里就是实现让服务请求者能够使用服务提供者提供的服务了。

    图片1

    WebServices 三种基本元素之 SOAPWSDLUDDI

    笔记:

    SOAP

    SOAP 其指导理念是“唯一一个没有发明任何新技术的技术”,通过 XML 来实现消息描述,然后再通过 HTTP 实现消息传输。

    WSDL

    Web服务描述语言,描述了 Web 服务的三个基本属性:

    (1)服务所提供的操作

    (2)如何访问服务

    (3)服务位于何处(通过 URL 来确定就 OK 了)        

    UDDI

    是一种目录服务,企业可以通过 UDDI 来注册和搜索 Web 服务。存放的是关于 Web 服务的信息。

    UDDI 通过 SOAP 进行通讯。

    三、开发 Web Service

    (1)开发阶段:

            实现一个 Web 服务,使这个 Web 服务能响应和接收 SOAP 消息,

           (这个呢,其实可以通过 Visual Studio 来帮助实现),

            定义好逻辑模块(这个 Web 服务总要干点事情吧),

            然后再撰写 WSDL 文件(这个呢,开发工具会自动生成的,不需要人工撰写了)

    (2)部署阶段:

            指定 Web 服务的传输协议,将 Web 服务注册到相应服务描述部署文件(这些也是可以由工具来自动完成的)

    (3)发布阶段:

            将 Web 服务的接口和调用的地址公开给客户端调用,

            常用的发布方式为基于 Web 提供的 WSDL 的链接,当然 UDDI 也是一个选择。        

  • 相关阅读:
    XMPP即时通讯资料记录
    iOS 图片裁剪与修改
    iOS开发xcode报错:"xxxxxx"has been modified since the precompiled header was built
    模糊数学课件(清晰易懂)
    几个可用于数据挖掘和统计分析的java库
    java中list集合的内容,如何使用像数据库中group by形式那样排序
    spark java 代码example
    spark 编程向导
    一个深度学习博客
    Selenium2(WebDriver)_如何判断WebElement元素对象是否存在
  • 原文地址:https://www.cnblogs.com/dlsunf/p/8592099.html
Copyright © 2011-2022 走看看