ArcIMS体系架构
- 格式:docx
- 大小:228.43 KB
- 文档页数:26
基于ArcIMS的网上发布系统数据库构建毛舒(浙江省地理信息中心杭州 310012)摘要:WebGIS技术现已成熟,但国内基于ArcIMS的应用系统范例却不多见。
最近浙江省测绘局正在利用ArcIMS+Oracle9i平台建设《浙江省基础测绘信息网上发布系统》。
本文简要介绍在该系统中有关数据库建库方面的技术。
关键词:WebGIS Oracle 测绘综合信息背景图元数据库1 前言随着信息化建设所需的各项技术的逐渐成熟,浙江省基础测绘信息网上发布系统去年开始研建。
建设该系统的目的就是要针对我省基础测绘工作中存在的问题以及测绘技术、测绘产品及其应用的转变出现的新情况,采用Intranet/Internet、WebGIS技术建立浙江省基础测绘信息的发布平台和应用系统,较好地解决我省测绘产品信息发布存在的种种问题,推进我省国民经济和社会信息化的进程,为我省经济和社会发展提供更加及时和优质的基础地理信息服务,带动我省测绘行业及时跟上我省信息化建设的步伐。
数据库建设,作为这个基于WebGIS的空间信息和非空间信息集成管理与发布的网站系统的核心,现已基本完成。
本文就这个基于ArcIMS的网上发布系统的数据库建设过程中有关问题作一些探讨。
2 系统数据的组织结构本系统数据库主要包括以下几类数据内容:档案资料库、背景图数据库、综合信息库、元数据库。
为保证网站发布信息的变更方便、规范,保证数据保密性,把与网站有关的信息全部组织到Oracle 9i中,本文就背景图数据库、测绘综合信息库、元数据库的构建等内容作一简要介绍。
3 系统数据库的软硬件运行环境根据系统设计,数据库服务器和Web服务器分别在Sun服务器和Dell服务器上运行,以保证网站系统运行的较高性能和安全。
WebGIS服务器端发布软件采用ArcIMS4.0和ArcMAP Server。
数据库数据存储采用ARCSDE和Oracle 9i,因此背景电子地图和测绘产品目录数据的结构和数据组织存储方案按ESRI的Geodatabase data model来设计。
IMS系统架构和基本原理1IMS系统架构和基本原理11.IMS核心网络:IMS核心网络是IMS系统的核心部分,用于实现用户的登录、身份鉴别、会话控制和多媒体传输等功能。
它由CSCF(Call Session Control Function)、HSS(Home Subscriber Server)、MGCF(Media Gateway Control Function)、BGCF(Breakout Gateway Control Function)和MGW(Media Gateway)等模块组成。
- CSCF:CSCF包括P-CSCF(Proxy-CSCF)、I-CSCF(Interrogating-CSCF)和S-CSCF(Serving-CSCF)三个功能实体。
P-CSCF作为用户终端和IMS核心网络之间的接入点,负责用户的登录和注册。
I-CSCF负责身份鉴别和会话请求的转发。
S-CSCF负责用户的策略和服务控制。
-HSS:HSS是一个重要的数据存储实体,用于存储用户的身份认证信息、配置文件和通信参数等。
它提供用户认证、鉴权和账号管理等功能。
-BGCF:BGCF是IMS系统架构中的一个可选组件,用于处理具有特定策略需求的呼叫。
它负责选择呼叫的最佳路径,以便保证呼叫的顺利转接。
-MGW:MGW是一个重要的传输节点,用于实现语音、视频和数据等多种多媒体内容的传输。
它实现了多媒体内容的编解码、传输和媒体流的控制等功能。
2.用户终端:3.IP网络:4.应用服务器:IMS系统的基本原理是通过IP网络实现多媒体和VoIP通信。
用户可以通过用户终端接入IMS核心网络,进行用户注册和登录。
IMS核心网络通过用户的身份鉴别和会话控制,实现用户之间的多媒体传输和通信。
IMS系统支持语音、视频、即时消息和文件传输等多种多媒体内容的传输,可以满足用户的不同通信需求。
总之,IMS系统架构和基本原理主要包括IMS核心网络、用户终端、IP网络和应用服务器等组成部分。
基于ArcXML的GIS平台的研究与实现徐欢河海大学计算机及信息工程学院,江苏南京(210098)E-mail:jqm_315@摘要:ArcIMS 是开发WebGIS的有力工具,而ArcXML则是ArcIMS中通信的标准语言,负责描述客户端请求与服务端响应。
但ArcIMS 对封装ArcXML语句显得能力不足,针对此,本文提出了基于WebService 的WebGIS开发平台,将基本的ArcXML请求响应语句封装起来,从而方便了ArcIMS的二次开发,并在.net 环境下给出了实现方案。
关键词:WebGIS,ArcIMS,ArcXML,Web Services,平台1引言随着地理信息互操作和Web服务技术的发展,WebGIS[1]技术已经从初始的在Web上简单地发布地理信息转换成为实现地理信息互操作和地理信息Web服务的关键技术.由于WebGIS技术的重要性,人们越来越关注WebGIS的研究,开发和应用,目前已推出了大量GIS 平台产品,如ESRI的 ArcIMS, MapInfo的MapXtreme, Autodesk的MapGuide, Intergraph的GeoMedia Web Map,我国GeoStar的GeoSurf, GeoBeans等产品.如何利用这些产品开发满足自己需要的WebGIS系统,已成为众多科研机构与企业共同关心的问题。
ArcIMS[2]是ESRI公司推出的基于Internet 的GIS系统开发软件,它凭其严谨的体系结构,丰富的定制方式,跨平台和分布式的特点,已成为目前最常用的WebGIS实现方式。
Microsoft .NET[3]是微软公司提出的一种分布式运算的框架,是为Web Services准备的开发和部署平台。
如何使.NET与ArcIMS结合开发是很值得研究的内容。
目前,对于web开发人员来说,要创建、测试和设置结构清晰、运行稳定的WebGIS,还没有合适的工具和模式可以使用和借鉴。
IMS网络架构范文IMS网络架构主要由以下几个组件组成:用户终端(UE)、终端接入网络(GAN)、访问网络(AN)、传输网络(TN)、手机交换中心(MSC)、IP多媒体子系统核心网(IMSCN)以及外部网络接入(ENA)等。
用户终端(UE)是用户所使用的设备,可以是智能手机、平板电脑、计算机等。
UE通过终端接入网络(GAN)接入移动通信网络。
GAN充当着用户终端和访问网络(AN)之间的转接器,它提供了终端设备接入移动通信网络的功能。
访问网络(AN)是用户数据从用户终端(UE)到传输网络(TN)的通道,支持多种接入技术,包括2G、3G、4G和Wi-Fi等。
AN还负责用户地址和认证管理。
传输网络(TN)是IMS网络架构的中间层,它承担着用户数据的传输功能。
传输网络可以使用传统的电路交换技术(如ATM、STM)或者采用IP数据包交换技术。
手机交换中心(MSC)是IMS网络架构的关键组件之一,它实现了与传统的2G/3G网络的互连。
MSC负责呼叫控制、用户身份鉴别和位置管理等功能。
IP多媒体子系统核心网(IMS CN)是IMS网络架构的核心,它负责多媒体服务的控制和管理。
IMS CN包括三个主要组件:媒体资源功能(Media Resource Function,MRF)、调解功能(Breakout Gateway Control Function,BGCF)和会话控制功能(Call Session Control Function,CSCF)。
MRF负责实时媒体处理和资源管理;BGCF负责不同网络之间的连接和租用管理;CSCF负责会话控制和协议转换。
IMS网络架构的优势在于它能够提供灵活、可扩展和互操作的多媒体服务。
由于IMS是基于IP的,它可以与其他IP网络(如互联网)进行无缝连接,从而实现各种网络之间的互动和交互。
IMS还支持多种接入技术,包括2G/3G/4G移动网络和Wi-Fi等。
总之,IMS网络架构是一种灵活、可扩展和互操作的多媒体通信架构,它能够提供多种多媒体服务,并能够与其他网络实现无缝链接。
第二章GIS服务器ArcIMSArcIMS是ArcGIS中的一种服务器端产品,在ArcGIS Server出现之前,它是ESRI唯一的GIS服务器,其架构是非常优秀的。
ArcIMS提供了一个用于在Web上发布GIS数据和服务的分层框架,通过ArcIMS提供的地理服务(Service),可以在网络上发布GIS地图、数据和元数据等信息。
ArcIMS不仅是一个网络地图发布解决方案,作为一种发布技术,它拥有支持多种ESRI 客户端环境的能力;而作为一种服务器产品,ArcIMS包括了多种ESRI的服务端组件,对数据之间潜在的互操作性提供了一个机遇。
无论是在局域网内浏览地理数据,还是在Internet 上供成千上万人进行地理信息查询和访问,ArcIMS都可以通过构造不同的软硬件配置来满足这些要求。
ArcIMS满足了目前WebGIS面临的一系列挑战,它们包括:l 开放、可伸缩的架构;l 不同层次的良好操作性;l 提供高度的可定制性;l 完备的管理工具集,既有本地服务管理器,也可以基于网络进行地图服务管理;l 高安全性,不会将矢量数据泄漏给非授权用户;虽然ArcIMS作为ESRI一种软件产品的前途已定,但这只是ESRI产品策略的结果,对于WebGIS学习者而言,了解ArcIMS的体系架构和基于ArcXML的交互通讯方式,足以领略WebGIS的基本原理和开发之道,能为我们学习诸如ArcGIS Server这类复杂的GIS服务器软件打下良好的理论和实践基础[1]。
在本章内容中,我们将介绍ArcIMS[2]的产品架构、组件、管理和开发方式等内容,以方便读者深入了解这一典型的GIS服务器。
但本书不会在ArcIMS提供的Web应用开发框架(Application Developer Framework,ADF)上停留过多的时间,我们的目标不是讨论一个已知的开发框架,ESRI已经提供了足够详细的开发帮助。
我们想做的,是开发一个完全属于自己的ArcIMS客户端原型,而本章则是在开发之前必须了解到GIS服务器知识,大家准备好了吗?--------------------------------------------------------------------------------[1] 需要强调的是,ArcIMS与ArcGIS Server的整个架构没有相通的地方,这种基础只是WebGIS的一种理论和实践过程[2] ArcIMS安装访问/index.cfm?fa=knowledgebase.techarticles.gateway&p=16&pf =2152.1 ArcIMS体系架构ArcIMS整个体系由多个组件(Component)聚合而成,包括Web服务器、ArcIMS应用服务器、连接器、Web应用开发框架(ADF)和ArcIMS空间服务器等。
ArcIMS体系架构ArcIMS整个体系由多个组件(Component)聚合而成,包括Web服务器、ArcIMS应用服务器、连接器、Web应用开发框架(ADF)和ArcIMS空间服务器等。
这些组件的协作,使得它们能够管理ArcIMS服务和处理来自客户端的请求并返回响应数据;同时,由于考虑到了负载平衡、冗余和满足不同尺度的访问要求,它们也能部署在一台或多台硬件服务器上。
ArcIMS是标准的B/S三层架构,由客户端、中间层和服务器层组成,其结构如图2-1所示:图2-1 ArcIMS的组成组件ArcIMS架构的第一层是客户端和浏览器层,它们分为胖客户端和瘦客户端两种,通过HTTP协议与Web服务器建立通讯联系。
胖客户端包括ArcMap、Java版的ArcExplorer和ArcPad等移动设备等,它们拥有较强的数据查看和编辑功能,但一般在开发和安装上都较为庞大和复杂;瘦客户端是指基于Web浏览器开发的地图浏览器,这些客户端可以通过JavaScript、ActiveX、Java Applet或JSF等技术进行开发。
架构第二层是中间层,包括Web服务器、ArcIMS连接器(Connector)和Web ADF三种组件。
Web服务器用于处理来自客户端的HTTP请求,将请求转发送到ArcIMS应用服务器并负责将响应返回到发出请求的客户端;ArcIMS连接器和Web ADF提供了一个在Web服务器、第三方应用服务器和ArcIMS应用服务器之间的通讯管道;架构第三层是ArcIMS的服务器,这是整个架构中最关键的部分,它包含ArcIMS应用服务器和ArcIMS空间服务器两部分。
ArcIMS应用服务器负责将来自Web服务器的请求分配到合适的ArcIMS空间服务器上;而ArcIMS空间服务器则处理请求,将地图和地理数据绑定以适当格式(ArcXML或二进制流)返回给客户端供后者解析。
因此,当一个ArcIMS请求从客户端发出的时候,首先会被Web服务器收到,然后通过Web ADF或某种连接器发送给ArcIMS应用服务器,后者则将请求再发送给某个ArcIMS空间服务器进行处理,而ArcIMS空间服务器生成响应的信息,按照反方向原路传回给客户端。
对于需要发布地图数据的用户而言,需要做的是使用ArcIMS提供的地图制作工具或其它工具设计一幅AXL或MXD格式的地图文件;对GIS服务器管理人员而言,最关心的是如何如何保持服务器的荷载平衡、建立服务和地图客户端应用程序的快速生成;对于本书的读者,即想要学习ArcIMS客户端自定义开发的群体而言,最重要的莫过于了解ArcIMS的通讯交互方式和语言。
2.2 ArcIMS服务器组件[1]ArcIMS服务器层组件是其架构最核心的部分,它包含了空间服务器、虚拟服务器和ArcIMS服务三种对象和概念。
其中,空间服务器是ArcIMS产生地图数据的最关键对象,而虚拟服务器则是管理前者的一个虚拟概念,它们的最终目标就是为了新建某种类型的ArcIMS服务。
2.2.1. 空间服务器Spatial ServersArcIMS的空间服务器是产生地图图像文件和与地图相关信息的核心对象,当它收到一个ArcXML请求时,会调用一个或多个函数来进行相应的处理。
每个这样的函数都可以被看作是空间服务器的一种组件,这样的组件种类很多,包括以下几种:Ø Image:根据ArcIMS Author产生的地图配置文件AXL生成地图影像文件;Ø ArcMap Image:根据用ArcMap产生的地图配置文件MXD生成地图影像文件;Ø Feature:产生地图要素流;Ø Query:根据搜索条件寻找匹配的要素;Ø Geocode:执行地址匹配运算;Ø Extract:将选择的地图要素转换为Shapefile文件;Ø Metadata:发布和搜索地图元数据;Ø Route:必须安装可选的RouteServer扩展才能使用,用于计算两点或多点之间的路径,但其数据是美国的,不适合国内使用;Ø SDCGeocode:基于RouteServer数据进行地址匹配操作;那么,一个空间服务器对象是由哪些组件组成的呢?这种组成方式分为两种,一是除了ArcMap Image组件之外的其它所有组件组成的空间服务器;另一种则是仅由ArcMap Image 组件组成的空间服务器。
其关系如图2-2所示:图2-2 空间服务器的组件ArcIMS空间服务器在本质上是一个运行于计算机上的程序进程aimsserver.exe。
在Windows平台中,我们可以在任务管理器的进程列表中找到它。
ArcIMS默认安装时,仅有一个非ArcMap Image式空间服务器进程存在,如果在Windows、Solaris和Linux平台上安装ArcIMS时选择了ArcMap Server扩展插件,则会有另外两个ArcMap Image式空间服务器进程存在,即计算机上将同时存在三个aimsserver.exe进程。
Aimsserver.exe进程也可以通过增加server,提高地图处理和显示能力。
尽管如此,空间服务器进程并不能被开发人员直接访问,我们对其的管理仅局限在添加和移除操作上,而对空间服务器的大部分交互工作都是通过虚拟服务器进行的。
2.2.2. 虚拟服务器Virtual Server假设我们有2台电脑(即ArcIMS中的Server),每台机器上有5个空间服务器进程,由于不能与空间服务器进程直接进行交互,我们需要找到一种更好的方式对这10个进程进行管理,这可以使用ArcIMS提出的虚拟服务器概念。
比起空间服务器这类实际存在的对象(进程),虚拟服务器是一个纯粹概念上的管理工具。
由于虚拟服务器的类型划分是根据空间服务器组件的功能作为依据,因此,每一个空间服务器都可以属于一个或多个虚拟服务器。
这其中唯一的例外是ArcMap Server上的空间服务器,它是在安装ArcIMS时就指定的。
在图2-3中,两个ArcIMS空间服务器都由一个名为ImageServer1的虚拟服务器进行管理。
图2-3 一个虚拟服务器管理两个空间服务器ArcIMS中有多少种类型的虚拟服务器呢?空间服务器有9类组件,因此也就有9种不同的虚拟服务器。
其中公共的有ImageServer1、ImageServerArcMap1、FeatureServer1、MetadataServer1四种;而私有的则是QueryServer1、GeocodeServer1、ExtractServer1、RouteServer1和SDCGeocodeServer1五种。
图2-4展示了nbjbt这台计算机上存在的7种虚拟服务器,缺失的两种是因为没有安装必要的ArcIMS扩展插件。
图2-4 ArcIMS的虚拟服务器虚拟服务器要么是公共的,要么是私有的。
当我们使用管理工具时,只有公共虚拟服务器可以暴露给用户。
我们可以选择产生或改变服务。
但私有虚拟服务器的工作隐藏于幕后,它们只是在影像或要素服务需要时才被调用的。
如图2-5所示,该对话框用于新建一个虚拟服务器:图2-5 新建一个虚拟服务器在新建虚拟服务器的过程中,Server Type有四种选择,除了ImageServer-ArcMap外,其它三种虚拟服务器的Instances属性都是2,即默认有两个实例,而ImageServer-ArcMap只有1,即单个实例。
同时,我们还可以在不同的Server上部署虚拟服务器,这个过程只需点击“New Server…”按钮选择一台Server即可,这样就可以根据荷载的情况在多台服务器硬件上部署虚拟服务器了。
增加虚拟服务器,可以间接提升ArcIMS部分功能的处理能力。
2.2.3. ArcIMS服务无论是空间服务器还是虚拟服务器,其最终目的就是为了生成和管理ArcIMS服务(Service),ArcIMS服务正是ArcIMS对外地图发布的关键所在,也是客户端与GIS服务器通讯的接口。
一台服务器上可以同时存在一个或多个不同类型的ArcIMS服务,如图2-6所示,存在一个Image类型ArcIMS服务San:图2-6 已经存在的ArcIMS服务San通过ArcIMS Administrator工具,我们可以新建四种类型的ArcIMS服务,即Image Service、ArcMap Image Service、Feature Service和Metadata Service,由于不同的服务满足不同的访问需求,具有不同的设置。
Ø Image Service是我们最常用的ArcIMS服务,它将地图内容通过JPEG、PNG或GIF图像的形式返回给客户端,每次新的请求都会产生在服务器端产生一张新的图像文件。
Ø ArcMap Image Service是一种特殊的Image Service服务,它的地图配置文件是由ArcMap或ArcReader产生的MXD或PMF数据。
Ø Feature Service是一种通过要素流方式发布地图内容的服务,要素流是一种只在客户端处于打开状态时才存在的临时压缩格式。
如果用户希望使用ArcIMS的Java客户端、WFS 连接器、ArcMap、ArcReader、EditNotes或使用本地数据时,就需要使用该类型服务。
Ø Metadata Service可以发布数据集的数据信息,即元数据。
地理数据的元数据描述了数据本身的内容、质量、类型、数据组成和空间位置等信息。
2.2.4. 空间服务器实例Instance每个空间服务器都包含了一个或多个实例(实例本质上是一种线程),它是ArcIMS空间服务器最基本的处理单位。
一般情况下,每个虚拟服务器都被被指派两个实例(一个进程包含两个线程),但唯一的例外仍是ArcMap Image服务器,每次只有一个实例存在。
我们可以想像得到,实例的数量等同于ArcIMS能够同时处理的请求数量。
例如,如果某个空间服务器有两个Image实例,那么它每次就只能处理两个Image服务的地图请求,如果有更多的请求,只能在应用服务器中排队等候空间服务器实例的处理。
2.3 ArcIMS的进程ArcIMS的空间服务器、虚拟服务器和ArcIMS服务都是一种在逻辑上划分的对象或概念,它们依赖在计算机上实际运行的ArcIMS进程的存在而存在,如图2-7所示:图2-7 ArcIMS的进程可以看到,ArcIMS的进程有6个,即Aims_AppServer.exe、Aims_Monitor.exe、Aims_Tasker.exe和3个aimsserver.exe,有三个aimsserver.exe的原因是我们安装了ArcMap Image扩展插件,它会产生另外两个空间服务器进程。