GIServer 介绍

GIServer起源于我在一个多月前,想重新捡起GeoServer做点东西。当时发现GeoServer的Style在使用上有点小问题;在通过bug tracker和GeoServer的开发人员沟通后,他们告诉我它本就是这样的——这让我不太能理解。同时,长久以来我都觉得GeoServer对OGC的那几个规范有着相当程度的痴迷。虽然我无意参与Web Service与REST的圣战,但是我也看到国内的一些GeoServer的使用者有时会问到这样一个问题:怎么使用ArcGIS Flex API调用GeoServer发布的服务?GeoServer只能告诉你,来用OpenLayers吧,我们才是黄金搭档。

因此,我开始实现一个类ArcGIS Server的GIS Server,并且首先针对REST接口进行实现,为的就是所有熟悉ArcGIS的JS/Flex/Silverlight API的人可以很容易上手来使用它。通过1个试验版本和3个alpha版本,目前map service和geometry service的功能都已经实现,你完全可以把它当成ArcGIS Server来使用;同时,针对GIServer特有的编辑功能,我同时也实现了一个Flex库——agslib4giserver,这个库定义了3个Task:InsertTask、DeleteTask、ModifyTask,你可以通过这3个Task去对数据进行增删改。

为什么要使用GIServer?在这里我们不讨论版权和盗版的问题,仅从技术角度,我想GIServer可能会有几个地方吸引你:

  1. GIServer比较轻量:它部署起来比ArcGIS Server要容易得多;特别是面对集群部署,使用GIServer需要做的就是在机器间复制一些文件。
  2. GIServer的高性能:后面的图表可以说明GIServer的性能可以是ArcGIS Server的几倍到几十倍。并且,这个测试是在windows上进行的,面向unix环境GIServer有相对更出色的表现。
  3. GIServer支持编辑:通过编辑功能可以让很多客户端产生的数据更新到服务器上。

下面是一个简单的测试图表,通过对相同功能的请求,相同的机器上,GIServer和ArcGIS Server的表现对比如下:(测试机是双核4G的笔记本,我给ArcGIS Server的服务开了6个实例)

2009-10-18 22-20-30

有兴趣的朋友可以试用一下alpha3版本的GIServer和1.2.0版本的agslib4giserver,欢迎任何意见建议:

http://sourceforge.net/projects/giserver

你可能感兴趣的:(server,api,service,Flex,REST,测试)