ArcGIS 10.1 for Server 新特性简要介绍(构建云GIS平台的基石) ----ArcGIS Server 10.1 新特性简要介绍(构建云GIS平台的基石)
ArcGIS 10.1 for Server是 ESRI 公司Server产品的重要版本,较10.0 版本有了较大变化,本文试简单介绍下ArcGIS 10.1 for Server的新特性,以便于广大GISer更好的享用新技术带来的优势。行文仓促,若有不妥处,请见谅。博文目录见下图
文章发表后简单在百度搜了下,搜索“ArcGIS 10.1 for Server 新特性简要介绍”是在最前面的,但是我发现根据用户的习惯是最多搜索还是“ArcGIS Server 10.1新特性简要介绍” ,ESRI白皮书对于名称有过说明 正确的应该是“ArcGIS 10.1 for Server” 这里由于是推广博客,就不再咬文嚼字了,仅告知GISer一下。
随着64位操作系统的广泛运用,ESRI公司对ArcGIS for Server产品进行重新设计。如今ArcGIS 10.1 for Server是一个原生的64位应用程序。什么是原生的64位应用程序:即应用程序所有的操作方式都是按照64bit的工作模式操作的,这将显著提升速度,功能以及ArcGIS Server部署的可伸缩性。ArcGIS Server要求安装在64位的操作系统上,下表列出了ESRI推荐的支持ArcGIS for Server的操作系统。
Windows操作系统(推荐) |
Linux操作系统(推荐) |
Windows Server 2012 Standard, and Datacenter (64-bit (EM64T))** |
Red Hat Enterprise Linux Server 6 (64-bit) |
Windows Server 2008 R2 Standard, Enterprise, and Datacenter (64-bit [EM64T]) |
Red Hat Enterprise Linux Server 5 (64-bit) |
Windows Server 2008 Standard, Enterprise, and Datacenter (64-bit [EM64T]) |
SUSE Linux Enterprise Server 11 (64-bit) |
Windows Server 2003 Standard, Enterprise, and Datacenter (64-bit [EM64T]) |
|
Windows 8 Basic, Professional, and Enterprise (64-bit(EM64T))** |
|
Windows 7 Ultimate, Enterprise, Professional, Home Premium (64-bit [EM64T]) |
|
Windows Vista Ultimate, Enterprise, Business, Home Premium (64-bit [EM64T]) |
|
Windows XP Professional Edition, Home Edition (64-bit [EM64T]) |
|
表1 支持ArcGIS 10.1 for Server的操作系统列表
在ArcGIS for Server 10.1中采用了新的模型结构:Site - GIS Servers。这里将它称为nGIS Servers,即多节点GIS Servers。新的模型架构取代了10.0以前的基于SOM – SOCs结构。
在ArcGIS for Server 10.0及9.x版本中,GIS服务器由两个不同的部分组成:服务器对象容器(SOCs)和服务器对象管理器(SOM)。SOC承载GIS服务,而SOM管理这些服务并提供给客户端使用。而新型的nGIS Servers模型采用点对点(p2p)的方式,即每一个GIS Server节点都是平等的。
再讲解这种模型的优势之前,我先来给大家强调下节点和站点的概念,节点可以理解为一个安装了ArcGIS Server的机器(即GIS服务器),而站点Site由一个或多个节点组成。ArcGIS Server站点自动将访问地图、地址、地理处理的Web服务请求分配给站点内可用的GIS服务器。该服务器则进行具体的GIS操作,如绘制地图,查找地址,运行地理处理工具等,并且将结果返回给客户端。这样新模型即使是某一个GIS Server节点意外的宕掉,也不会导致整个地图服务的停止运行;同样,当需要增加一个GIS Server节点时,以plug-in方式插入一个节点为服务提高负载能力。而这种松散的、热插拔的架构是构建云GIS应用的基石。
简单归纳一下:ArcGIS 10.1 for Server新架构模型的逻辑关系为:站点Site为架构单位;节点(GIS Server)为实际处理单位;集群Cluster为GIS 服务的逻辑单位;实例GIS Instance为GIS功能的处理容器。
ArcGIS 10.1 for Server内置了 Web 服务器,微软的.NET Framework不再作为安装的前置条件,这样,发布服务就有了两种选择,既可以内置Web服务器通过其快速发布可供REST和SOAP访问的服务。也可以使用Web Adapter将ArcGIS Server集成到所处组织内已有的Web服务器中。ArcGIS ServerWeb Adapter是一个可选项,如果您需要ArcGIS Server和您自己的Web服务器一起工作(若不安装需通过端口访问)或为站点配置一个单独的URL,或在Web服务器层面进行负载均衡,那就应该安装Web Adapter。
首先从安装包上来说,之前除了区分操作系统外,还有.NET框架和Java平台的分别。而在10.1中,安装包仅按操作系统区分,目前的两种安装包分别为ArcGIS Server for Windows和ArcGIS Serverfor Linux。
其次安装体验上有了很大简化,由于架构的变化,不需要post-installation,也不需要配置SOM,SOC和ArcGISWeb Services账户。只需提供一个账户,它将用于访问您的GIS资源,数据以及运行ArcGIS Server服务。这个账户称为ArcGIS Server账户。此外,如果您想让其他的GIS服务器加入您的站点,只需在另一台机器上再次运行安装程序。
再次关于账户配置工具,ArcGIS Server10.1安装程序中包含一个账户配置小工具,用于改变ArcGIS Server账户设置。如果您遇到需要修改账户的情况,请从ArcGIS Server安装位置运行该工具。
在ArcGIS 10.1 for Server中,对Desktop提供了统一标准的发布体验,具备严格的分析过程,以确保服务可以被正确地发布。可以通过 Desktop 主菜单“File->Share As->Service”直接将服务发布到本地乃至云端的 Server 中。另外在ArcCatalog或者Catalog窗口中,可以通过右键点击某些特定的GIS资源(如Geodatabase)并选择“Share As Service”。“Share As Service”向导将帮助您配置、分析您的GIS资源,并将其发布为 Server 服务。而在ArcGIS 10.0中,可以使用ArcGIS Desktop或Manager将GIS资源发布到ArcGIS Server,但发布方法受很多因素影响,如你的权限等级,经验和个人习惯。
在发布服务时,ArcGIS Desktop 10.1允许直接将GIS资源和数据拷贝到本地或云端的ArcGISServer中。这种方式有利有弊,但当您只能远程操作,或无法登录到云端服务器时,这种方式十分有用。
服务定义文件可以获取GIS资源和数据的快照,以便随后发布为ArcGIS Server服务。这在云环境,安全环境或者当GIS服务器暂时不可用时是有一定意义的。
例如,假设你有一个处于工作状态的Geodatabase,不断地被几十个编辑者修改着。每个月,数据通过一个质量检查过程以确保它符合组织的数据完整性标准。完成质量检查后,可以使用服务定义文件捕获已通过检验的Geodatabase的快照,然后在任何你方便的时候将其发布为ArcGIS Server服务。
在ArcGIS 10.1 for Server中,发布工具在后台工作以支持远程发布(云端),当您通过Manager发布服务定义文件时,ArcGIS 10.1 for Server使用一个叫 Publishing Tools 的GP服务来上传并解压文件,然后将其部署为一个服务。该GP服务在您创建ArcGIS Server站点时已经预先配置好了。
在ArcGIS 10.1 for Server中,基于MXD和MSD的地图服务已经没有区别了,因为10.1中所有的地图服务都使用老版本中与MSD相关的快速绘制引擎。因此在ArcGIS Server 10.1中,基于MXD和MSD的地图服务之间没有区别。在10.1中,使用ArcGIS Desktop能够很简单地将地图文档发布为服务。
ArcGIS 10.1 for Server允许您为服务设置详细的元数据。您可以使用ArcGIS for Desktop中习惯的元数据编辑接口来实现这一目标。多数情况下,您为地图或其他资源设置的元数据会在发布资源时自动应用。然后您可以按需编辑元数据。Web开发者可以通过REST接口访问到您为服务设置的元数据信息。
现在通过在“结果”窗口中右击一个结果并选择“Share As>Geoprocessing Service”创建GP服务。这将打开“Share As Service”向导及“Service Editor”对话框。与在10.0 中发布GP服务相比,最主要的不同有:
不再需要地图文档中工具图层。事实上,10.1不再支持创建工具图层(但你可以继续使用工具图层)
通过右击一个工具箱发布到ArcGIS Server的选项已经被移除—现在只能发布结果
现在使用“Service Editor”对话框配置服务,而不再需要对模型进行编辑。“Service Editor”对话框为您提供了对服务输入输出参数定义的完整控制。
ArcGIS Server 10.1带来了一个预先配置好的,可部署的几何服务,可用于执行几何计算,如缓冲区、简化、面积长度计算,以及投影等。此外,如果您通过ArcGIS Viewer for Flex、 ArcGIS Viewer for Microsoft Silverlight或ArcGIS Web APIs构建Web应用,您也可以通过REST引用该几何服务,以提供几何计算功能。
此外,ArcGIS Server 10.1中几何服务提供了几个新的选项,用于计算缓冲区、面积和长度。当使用缓冲区方法时,可以选择大地测量(Geodesic)缓冲区。这样将在计算缓冲区时考虑地球的实际形状。在计算矢量要素的面积和长度时,将地图的坐标系统纳入考虑是非常重要的。因此,length和areas And Length方法引入了新的计算类型:
平面(Planar)—平面量算使用二维笛卡尔数学方法计算面积和长度。多数情况下,使用大地测量或保持形状方式将更为精确。
大地测量(Geodesic)—在大地测量计算中,多边形(或多义线)的每对节点之间的线段被当做是地球表面最短的路径。如果没有为面积或长度定义单位,则结果将以米作为单位。如果您想知道某个几何图形的大地测量长度或面积,则可以使用本类型。如果您想计算绘制在地图上的几何图形长度或面积,请使用PreserveShape。
保持形状(PreserveShape)—在保持形状的计算中,多边形(或多义线)的面积和长度将在地球椭球体的表面进行计算。几何体的图形在其坐标系下保持不变。这意味着将忽略地图的坐标系(地理或投影),绘制在地图上的几何体的形状在计算长度和面积时始终保持不变。例如,如果你在平面的世界地图上绘制一条长线,大地测量方法将给出两个端点之间沿地球表面的最短路径的长度,而PreserveShape方法将给出沿着你实际绘制的线的距离(即使可能不是两端点间的最短距离)。
ArcGIS for Server带来了一个预先配置的Search服务,可用于在局域网中为您机构里的GIS数据创建一个可搜索的索引。搜索服务对于大型的企业级环境尤其有益,这里的数据被分布式存储在多个空间数据库和共享文件中。搜索服务在Linux版的ArcGIS for Server中不被支持。
PrintingTools(beta 1中原名为Export Web Map)工具是一个预先配置好的,可部署的GP服务,用于打印Web地图。在您开发Web应用时(例如,使用ArcGIS Web APIs)可以调用Export Web Map服务,然后从地图服务返回一张高质量的、满足制图要求的可打印的图片。
当您创建服务器目录(用于output,jobs,cache等)时,它将通过虚拟路径或URL自动暴露。您再也不必手动创建虚拟目录并将其与服务器目录关联。这一切皆因为ArcGIS10.1有了内置的Web服务器而变得可能。参考主题“About serverdirectories”获取更多相关信息。
在ArcGIS Server 10.1的地理编码服务中,通过REST查找地址和地理反编码的性能得到极大的提升。
ArcGIS Server现在支持OGC的WPS (Web Processing Service)和WMTS (Web Map Tile Service)规范。WPS定义了如何在Web上提供地理空间处理服务的规范,可以和ArcGIS Server地理处理服务结合在一起工作。WMTS定义了使用缓存图片提供数字地图服务的规范,通过ArcGIS Server缓存地图服务自动提供。
ArcGIS Server的客户端(如ArcGIS Web APIs)可以动态改变图层的外观和行为。例如显示哪些图层,图层符号设置,图层顺序和位置,标注等行为,可以通过动态图层访问。这种方式可以增强用户与地图的交互性。
服务器对象扩展(SOE)使得您可以通过ArcObjects代码访问GIS数据和地图,从而扩展ArcGIS Server的基本功能。在10.1中SOE的部署比之前简单很多。您可以在开发环境中(如Eclipse或Visual Studio)创建一个.SOE文件,该文件包含SOE的各个必要部分。然后您可以在ArcGIS Server Manager中一步完成SOE的部署。SOE的帮助文档对整个过程进行了详细描述。
在ArcGIS Server 10.1,Network Analyst扩展模块增加了实时交通能力,因此您可以将当前的交通状况用于可视化展现或网络分析中。此外,新增了一些地理处理工具用于更好地创建和使用服务区域分析、车辆路径分析服务。
这些新的功能如下:
Ø 支持实时交通的GP工具;
Ø 生成服务区域的GP工具;
Ø 求解车辆路径问题的GP工具;
Ø 网络分析模块(Python);
Ø 在评价者中支持Python脚本;
Ø CopyTraversed Source Features的GP工具;
Ø 更好地支持动态移动车辆的实时路径;
ArcGIS Server的服务目录中的信息通常被缓存以便提升访问性能。在ArcGIS 10.1 for Server中,当你添加、删除或修改服务时,REST缓存将被自动清空。
ArcGIS Server Manager将是您管理ArcGIS Server站点的首选工具。尽管Manager有新的外观,其依旧包含了之前版本中的许多功能。Manager中新的功能包括部署SOE,以及更好用日志浏览界面等。
10.1的Manager只能发布服务定义文档,而不能发布其他类型的文件。Maneger将很少用于发布服务,大多数服务都能通过ArcGIS Desktop直接发布。如果你需要从Manager发布某些资源,可以先在ArcGIS Desktop中创建服务定义文档(.sd),然后将该文档传输到Manager所在的机器。
在ArcGIS Server10.1中,日志文件分布在组成ArcGIS Server 站点的所有的GIS服务器中。建议你通过ArcGIS Server Manager查看和查询10.1的日志,而不是尝试人工去查看日志文件。相比10.0,Manager包含了简化的日志等级,错误编码,以及日志设置,这些将有助于更高效的解决ArcGIS Server的问题。
高级用户可以通过ArcGIS Server 站点目录查看,查询以及配置日志文件。站点目录暴露了一套RESTful的管理API,可用于对站点中每个机器生成的日志文件进行细粒度的控制。通过站点目录,你可以构造高级查询,编程修改日志设置,以及精确定位ArcGIS Server的详细问题。
除了之前的用户和管理员连接,您现在还可以使通过发布者连接从ArcGIS Desktop10.1连接到ArcGIS Server 10.1。通过发布者连接,你可以发布GIS资源如地图文档,Globe文档以及数据库到你的本地或云端ArcGIS Server。此外,可以执行基本的服务管理操作如启动,停止,重启以及删除服务。添加这个连接主要为了支持ArcGIS Desktop的新角色:作为在10.1发布服务到ArcGIS Server的首选工具。
如果您是服务器的高级管理员,ArcGISServer 10.1暴露了一套REST-ful风格的API,可供您通过脚本调用以执行一些常见的管理操作,如向站点中添加服务器,发布服务,添加权限等。ArcGIS Server Site Directory提供了对该API的图形化访问。这将有助于您学习命令的体系,以及构建脚本中需要使用的HTTP请求。当您理解了这套API,您就可以通过任何可发送HTTP请求的工具来对ArcGIS Server进行完整的管理。
ArcGIS Server站点中的GIS服务器可以分组进行组织,即集群。一个集群可用于运行一些特定的服务。例如,您的ArcGIS Server站点中有5个GIS服务器,您可以创建一个包含两个GIS服务器的集群,用于运行所有的地图服务;另外3个GIS服务器(也许具有更高的处理能力)则构成另一个集群,用于运行所有的地理处理服务。
ArcGIS for Server带来了预安装的客户端访问策略文件,允许Web应用跨域访问服务数据。
ArcGIS SpatialData Server(空间数据服务器)是一个轻量级的服务器,可以向客户端(浏览器或自定义的客户端应用程序)提供对矢量数据(存储在数据库或地理数据库中)的几何图形、属性、符号以及模板信息的访问。空间数据服务器仅提供一种服务类型:要素服务。您可以编写或搭建应用程序,通过要素服务绘制空间要素。
当您需要将企业数据中的空间信息在地图上使用时,空间数据服务器是一个很合适的选择,因为您不必安装完整的ArcGIS Server。
空间数据服务器提供了两个独立安装包:.NET版和Java版。
My Hosted Maps允许您直接向ArcGIS Online(Esri的云)发布服务。当您使用My Hosted Maps时,您不必考虑安装、管理和维护自己的服务器。
您不必为了使用MyHosted Maps而安装任何特殊软件。实际上,您可以通过ArcGIS Desktop直接将服务发布到My Hosted Maps中。My Hosted Maps支持缓存地图服务和要素服务。
My Hosted Maps在ArcGIS Server 10.1的第一个beta版本中暂时不可用。
Amazon弹性计算云(EC2)允许你将软件部署到数据中心的虚拟机上。你可以通过Esri提供的Amazon机器镜像(AMI)在Amazon上快速部署ArcGIS Server。ArcGIS Server 10.1的体系架构已经得到改进(如本文各节所述),将为您在Amazon EC2环境中发布服务,创建缓存以及异步执行地理处理带来更好的体验。
在10.1之前,你只能使用AWS管理控制台或第三方的管理程序去管理Amazon EC2上的ArcGIS Server。在10.1中,Esri提供了一个GUI环境用于管理Amazon EC2中的ArcGIS Server站点。高级用户仍然可以选择使用AWS管理控制台。
就像为地图服务创建缓存一样,现在可以为影像服务创建服务器端缓存。二者使用相同的工具完成缓存创建工作。
在ArcMap中运行缓存工具时,您可以绘制一个多边形自定义需要创建缓存的区域。或者您可以像之前版本一样按要素类进行创建。
为了避免在缓存创建期间地图服务、Globe服务或影像服务被大量访问,创建缓存的工作已经转移给一个称为CachingTools的地理处理服务来执行。在你创建ArcGIS Server站点时这个服务就已经配置好了。您可以限定CachingTools服务在指定的集群中运行,从而释放站点中的其他服务器以快速响应服务请求。
在缓存工具创建每一级缓存时,都会有详细报告记录进度。ArcGIS Server中包含一个预配置的ReportingTools服务用于提供缓存进度报告。
在您发布服务之前即可创建缓存切片模式和其他参数。无论服务是否已经发布,在“Service Editor”对话框中均可访问所有的缓存属性。当您点击分析按钮时,将警告您切片模式中存在的潜在问题。
当服务定义了缓存时,您可以在Catalog树中右击服务并选择“Manage Cache”访问众多缓存工具。
ArcGIS Server10.1是最后一个提供Web ADF的版本。如果你已经基于ArcGIS Server之前版本开发了Web ADF应用程序,请考虑将你的应用程序移植到ArcGIS Web APIs或可配置Viewer(ArcGIS Viewer for Flex/ Microsoft Silverlight)。
作为淘汰ArcGIS WebADF的一个过渡,在10.1中,Web ADF Applications Manager已经被转移到一个独立的安装程序中。
在ArcGIS Server10.1中,你无法通过Web ADF应用程序建立本地连接或DCOM连接。10.0及之前,本地连接用于在线编辑和调用细粒度的ArcObjects。10.1中,可以通过SOE调用ArcObjects来扩展ArcGIS Server,而无需本地连接。如果你想搭建在线编辑应用,你可以使用要素服务,结合 ArcGIS Web APIs for JavaScript,Flex以及Microsoft Silverlight/WPF和ArcGIS Viewerfor Flex和Microsoft Silverlight来实现。
ArcGIS Server10.1不再支持使用非池化服务的Web ADF应用程序。之前非池化服务用于通过DCOM提供在线编辑,以及调用细粒度的ArcObjects。由于在线编辑可以通过要素服务(提供更好的用户体验)和池化服务完成,加上SOE也得到增强,在10.1中已经被移除了对非池化服务的支持。
由于微软Access数据库在64位系统中缺乏伸缩性,ArcGIS Server 10.1将不再支持基于Access数据库的Personal Geodatabase(.mdb)。ArcGIS Desktop 10.1将继续支持Personal Geodatabase。
如果您有数据存储在PersonalGeodatabase中,并且希望将其通过ArcGIS Server发布,那么需要首先将数据迁移到File Geodatabase或者 ArcSDEGeodatabase中。
在ArcGIS Server10.1中不再支持VBScript和Jscript,它们已经被Python 2.7取代。Python是广泛使用的脚步语言,并且成为ArcGIS产品和ArcGIS社区的标准编程语言。