Web服务简介

地图与网络

世界上最早的地图之一可能是公元前6200年在今天的土耳其东南部绘制的。

../../_images/first-map1.jpg

我们从洞穴中绘制地图,到用岩石、木材、纸张制作地图,最后是电子地图。如今,地图可以很容易地按需创建,大多数情况下都是使用移动电话。

../../_images/mobile-map1.jpg

万维网或万维网是指因特网上大量相互关联的信息。因特网是一个由相互连接的计算机组成的网络,使计算机能够使用诸如TCP/IP之类的协议相互通信。今天有几十亿台计算机和设备连接到因特网上。这些设备中的每一个都可以通过一个唯一的URL与其他设备区分开来。

URL

统一资源定位器(URL)或超链接是一个字符串,它提供对Web上资源的引用。Web资源可以是任何东西:页面、文件、图像,或者如httpget请求所述。示例如下:

第一个标识并提供对OGC网站的访问。第二个标识并提供对纯文本文档的访问,第三个标识并提供对电子邮件地址的访问。

编码

编码提供数据和消息的格式(数据元素的排列)和语法,或发送到服务器或由服务器发送的数据。

消息是文件或数据流。该格式标识并确定可用于读取文件或数据流或与之交互的计算机程序的类型。例如:

  • XML格式的文件需要一个可以读取XML的程序。

  • JPG中的图像需要一个可以读取JPG图像的程序。

  • JAVA中的临时二进制对象需要一个能够理解这种类型对象的JAVA程序。

Web服务通过接口和操作进行操作,这些接口和操作允许以特定编码交换信息。

HTTP

万维网联盟(W3C)定义了在Web上交换信息的协议。OGC依赖W3C协议为地理空间Web服务开发接口。最常见的两种情况如下:

HTTP获取

httpget(以下简称GET)方法用于通过URL请求指定资源的表示。请求的形式如下:

http://www.example.com/wfsserver?
        name1=value1&
        name2=value2&

上面的请求发送 name1=value1name2=value2 到位于的服务器http://www.example.com/wfsserver。允许的名称和值引用特定于服务器的设置。相当数量的数据可以通过GET请求传递,因为URL的长度没有官方限制。但是通过GET请求发送过多的数据可能会变得不方便,更不用说很难阅读了。GET请求的优点在于它非常紧凑,可以通过Web浏览器发送。

HTTP帖子

httppost是提交数据(通常来自HTML表单)以供服务器处理的请求。

POST请求包括定制客户机和将XML编码的数据发送到服务器。它比httpget更详细。这里的每个GET请求都有一个等效的POST请求,但是相反的情况不是这样的。

下面两个示例提供了一个等价的HTTP请求,表示为httpget和httppost。

HTTP获取:

HTTP发布:

<?xml version="1.0"?>
   <wfs:GetCapabilities
   service="WFS"
   version="1.0.0"

   xmlns:wfs="http://www.opengis.net/wfs"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net
      wfs/1.0.0/WFS-basic.xsd"
/>

服务、接口和操作

区分服务接口和操作是很重要的,因为许多OGC标准都基于这些概念。

服务

服务是由实体提供的一组接口。该服务提供了一种将实体与其他实体区分开来的功能 [ISO19119:2015]. 在这种情况下,实体是web上的服务器,在大多数情况下通过HTTP提供服务。

界面

接口指定对对象(即服务器)的一组调用,以执行一个进程(例如,转换或查询)。通常它定义操作的名称、参数列表和允许的值。

操作

在Web服务上下文中,操作是对服务器的请求。例如,httpget请求是一个特定的操作。操作由服务接口定义。

真空吸尘机器人类比

一个很好的类比就是吸尘机器人。它提供一个服务,有一组接口和一组操作。

../../_images/roomba-service1.jpg

可以描述如下:

服务

机器人通过一组接口提供了打扫房间的功能。

界面

机器人提供两个接口:1)选择房间;2)电气接口。

操作

界面房间选择提供了三种操作来设置机器人如何在房间内移动:

  1. S: 小房间

  2. M: 中型客房

  3. 五十: 大房间

服务、接口和操作

../../_images/romba1.jpg

在ogcweb服务中

WFS服务是提供检索地理空间要素的功能的服务。例如,如果我们对关注点的数据感兴趣,那么每个关注点都可以有一个位置、名称和其他属性。

我们可以描述如下:

服务

WFS 1.1版

界面
两种类型:
  • 基本的

  • 交易

操作
对于基本接口:
  • GetFeature

  • DescribeFeature