一、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
WSDL
UDDI

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

 

1SOAP

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

眼下经常使用的有两个版本号,SOAP1.1和
SOAP 1.2。SOAP的优点在于——它能够执行在随意的其它协议上。比方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 System,NAICS)代码为
    339920 的公司。
  • “绿页”:电话簿中没有绿页,但这里的想法是,公司能够使用此搜索方法来查找实现了特定服务的贸易合作伙伴。比如,能够搜索实现了使用邮政编码的距离计算功能的公司。

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

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

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

 

 

 

Android笔记之 Web Service 基础的更多相关文章

  1. 使用Android应用调用Web Service

    Java本身提供了丰富的Web  Service支持,比如Sun公司指定的JAX-WS  2规范,还有Apache开源组织所提供的Axis1.Axis2.CXF等,这些技术不仅可以用于非常方便地对外提 ...

  2. Android笔记二十七.Service组件入门(一).什么是Service?

    转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.Service 1.Service简单介绍     Service为Android四大组件之中 ...

  3. Web Service基础——规范及三要素

    1. Java中的Web Service规范 Java 中共有三种WebService 规范,分别是JAX-WS(JAX-RPC).JAX-RS.JAXM&SAAJ(废弃). 1.1 JAX- ...

  4. Web Service基础——基础概念

    1. Web Service基本概念 Web Service(Web服务)是一种远程调用技术,他的作用就是从远程系统中获取业务数据.具体来说,Web Service可以让你的网站使用其他网站的资源,比 ...

  5. Web service基础

    Web service是Web应用程序 平台是XML+http XML是不同平台和不同编程语言之间的语言,用于编解码数据. http是因特网协议 XML是web service的基础 Web serv ...

  6. web service基础知识

    Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等. 当我们输入www.oldboyedu.com/时候,很快就能看到 ...

  7. Web Service基础——四种客户端调用方式

    通过访问公网服务地址 http://www.webxml.com.cn/zh_cn/index.aspx 来演示四种不同的客户端调用方式 1. 生成客户端调用方式 1.1 Wsimport命令介绍 首 ...

  8. Android开发之使用Web Service进行网络编程

    使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是 ...

  9. Rest风格WEB服务(Rest Style Web Service)的真相

    http://blog.csdn.net/jia20003/article/details/8365585 Rest风格WEB服务(Rest Style Web Service)的真相 分类: J2E ...

随机推荐

  1. JavaScript es6 class类的理解。

    本着互联网的分享精神,在本篇文章我将会把我对JavaScript  es6 class类的理解分享给大家. JavaScript 类主要是 JavaScript 现有的基于原型的继承的语法糖. 类语法 ...

  2. android RecyclerView简单的使用

    转自:https://blog.csdn.net/lmj623565791/article/details/45059587 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了, ...

  3. 【转载】2012年七个免费ASP空间分享-支持ASP、ASP.NET的空间

    文章目录 Azure空间 Appharbor 7host空间 Brinkster Jabry空间 总结后的话 这篇免费ASP空间的总结文章本来标题已经拟好了是:2012年十大免费ASP空间分享,但是当 ...

  4. 陆续放给大家一些拿钱买的收费的模板,今天先给一个在某销售网站上排行第一的管理端模板 Ace Responsive Admin Template

    下载地址: http://pan.baidu.com/s/1B2xjC 提取密码:le1p 原文地址:http://zhangrou.net/post/2014/06/23/陆续放给大家一些拿钱买的收 ...

  5. java二叉搜索树原理与实现

    计算机里面的数据结构 树 在计算机存储领域应用作用非常大,我之前也多次强调多磁盘的存取速度是目前计算机飞速发展的一大障碍,计算机革命性的的下一次飞跃就是看硬盘有没有质的飞跃,为什么这么说?因为磁盘是永 ...

  6. Python Django 路由分发

    mysite1 为一个django工程 cmdb为一个项目 dashboard为一个项目 在mysite1工程下的urls.py中定义如下: from django.conf.urls import ...

  7. Effective C++ .47 traits与模板特化

    #include <iostream> #include <cstdlib> #include <string> using namespace std; temp ...

  8. sql 模糊搜素拼接

    if($irb_order!=''){ $condition .= " AND d.irb_order like '%".$irb_order."%'"; } ...

  9. JavaWeb学习总结(六):HttpServletRespone对象(二)

    一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: package gacl.r ...

  10. 在Ubuntu 14.04.1 LTS 上安装gettext失败

    使用apt-get install -f,因为有额外的依赖.