zoukankan      html  css  js  c++  java
  • Android笔记之 Web Service 基础

    一、Web Service是什么?

    就是网络服务。依据W3C的定义,WebServices(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一种自包括、自描写叙述和模块化的应用程序,它能够在网络中被描写叙述、公布和调用,能够将它看作是基于网络的、分布式的模块化组件。

     Web Services是建立在通用协议的基础之上的。包括HTTPSOAPUDDIWSDL等。当中Web Service三要素就是SOAPWSDLUDDI SOAP用来描写叙述传递信息的格式, WSDL用来描写叙述怎样訪问详细的接口。UDDI用来管理。分发,查询webService

    (以上粗体部分内容出自百度百科)

     WebServices的优势在于提供了不同应用程序平台之间的互操作,它使得基于组件的开发和Web相结合的效果达到最佳。它是基于HTTP协议的,调用请求和回应消息都能够穿过防火墙,不须要更改防火墙的设置。这样就避免了使用特殊port进行通信时无法穿越防火墙的问题。

     

    归纳总结——Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API

     

    事实上,说白了。就是某个server,你能够理解为站点。开放了(即对外公开)某个功能或者方法,我们通过 web service编程就能够获取到它公开的信息,从而为自己所用。

    比方说,某个天气站点,对外公开了其天气接口,那么我们就能够通过web service获取到每天的当地天气情况了。须要注意的是,上面说到,web service是基于通用协议的。这个跟JAVA一样,具备非常好的跨平台跨语言特性。可是说是这么说的,Web Service真的是这种么?我眼下由于实践少而不得而知。可是以下这篇博文却以历史传记的形式说明了

    一些事情。

    我们能够參详下——

    SOAPWebService的那些事

     

     

    二、SOAP WSDLUDDI

    上面说到, SOAPWSDLUDDI就是Web Service的三大组件,当中SOAPWSDL是必选的。然后UDDI是可选的。所以我们要先来了解这几个协议。

     

    1SOAP

    全称就是Simple Object Access Protocol简单对象訪问协议。是用于交换XML标准通用标记语言下的一个子集)编码信息的轻量级协议

    眼下经常使用的有两个版本号,SOAP1.1 SOAP 1.2SOAP的优点在于——它能够执行在随意的其它协议上。比方SMTP,HTTP等。

    2WSDL

    全称就是(Web Services DescriptionLanguage。即Web服务描写叙述语言)是一种用来描写叙述Web服务的XML语言,它描写叙述了Web服务的功能、接口、參数、返回值等,便于用户绑定和调用服务。

    它以一种和详细语言无关的方式定义了给定Web服务调用和应答的相关操作和消息。

        WSDL是我们能够实实在在看到的东西。它是一份xml文档,用于描写叙述某个WebSerivce的方方面面。

    假设阅读上述的文字后,你依旧无法理解WSDL,那么请阅读以下的内容:(来自某网友的。以下有出处)


    你会怎样向别人介绍你的Webservice有什么功能,以及每一个函数调用时的參数呢?你可能会自己写一套文档。你甚至可能会口头上告诉须要使用你的Webservice的人。

    这些非正式的方法至少都有一个严重的问题:当程序猿坐到电脑前,想要使用你的Web service的时候。他们的工具(如VisualStudio)无法给他们提供不论什么帮助。由于这些工具根本就不了解你的Web service。解决方法是:用机器能阅读的方式提供一个正式的描写叙述文档。Webservice描写叙述语言(WSDL)就是这样一个基于XML的语言。用于描写叙述Webservice及其函数、參数和返回值。由于是基于XML的。所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个非常大的优点。一些最新的开发工具既能依据你的Webservice生成WSDL文档,又能导入WSDL文档。生成调用对应Web service的代码。于是WSDL诞生。

     

    源文档 <http://sakyone.iteye.com/blog/353063>

     

     

    3UDDI

    全称是:Universal Description, Discovery andIntegration",中文翻译就是“通用描写叙述,发现和集成服务”,或者能够叫“统一描写叙述、发现和集成协议”。

    感觉非常抽象是吧,我也这么觉得,哈哈。

    没关系,接着看。

    以下的说明过于专业,不好理解,于是原文引用——

    了解 Web 服务规范: 第 3部分:统一描写叙述、发现和集成 (UDDI)

     

    当全部应用程序都位于本地时。要找到所需的功能会非常easy。

    只是,使用 Web服务之类的分布式系统时,您不能获得中央注冊中心的优点。分布式系统也easy发生更改。而这正是 UDDI的用武之地。它旨在用于两个目的。最初形成时。它被觉得是一种“通用业务注冊中心”。其想法是,企业能够使用以下三种方法之中的一个搜索合作伙伴:

    • “白页”:白页与电话簿中用于查找公司信息的白页相似。

      比如,假设您知道公司的名称,能够在当中查找公司的地址、怎样进行联系,甚至还能够确定与组织中的哪个人联系。

    • “黄页”:相同,黄页与电话簿中的黄页一样。能够在当中依据分类查找公司。UDDI指定了各种分类法,以供各个公司用于对自己进行分类。比如。假设您在查找体育用具,则能够查找其北美工业分类系统(North American Industry Classification SystemNAICS)代码为 339920 的公司。
    • “绿页”:电话簿中没有绿页,但这里的想法是,公司能够使用此搜索方法来查找实现了特定服务的贸易合作伙伴。比如,能够搜索实现了使用邮政编码的距离计算功能的公司。

    UDDI同一时候也被觉得是一种保持分布式应用程序长期执行的方法。其想法是这种,能够缓存有关訪问特定服务的信息,假设客户机崩溃。应用程序将自己主动回到注冊中心并进行检查,以确定信息是否已更改。

    假设已更改,则能够直接在应用程序内进行更改(在理想的情况下将自己主动进行更改)并重试您的请求。


    看完之后,大概懂了吧,UDDI事实上就是业务登记逻辑和注冊,使得使用者能够高速查找。

     

     

     

  • 相关阅读:
    Python字典为什么快?为什么是乱序?
    对Routers的理解
    对drf视图集的理解
    对drf视图的理解
    C++中的随机数函数 分类: C/C++ 2015-07-27 12:24 10人阅读 评论(0) 收藏
    windows bat脚本编写 2015-07-27 11:27 5人阅读 评论(0) 收藏
    windows下bat批处理文件语法 2015-07-27 11:25 8人阅读 评论(0) 收藏
    shell版俄罗斯方块二:界面绘制 分类: shell版俄罗斯方块 2015-07-27 09:14 116人阅读 评论(0) 收藏
    shell版俄罗斯方块一:方向键获取 分类: shell版俄罗斯方块 2015-07-27 09:00 114人阅读 评论(0) 收藏
    echo的高级用法-颜色输出与光标定位 分类: Ubuntu学习笔记 2015-07-26 22:54 17人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10681189.html
Copyright © 2011-2022 走看看