ArcIMS初级教程(10)转载
时间:2006-01-11 来源:shadow-lx
第十章 ArcIMS的安装和体系结构
章节概述
本章将向您详细地剖析ArcIMS的几个主要的组件,并向您介绍ArcIMS的安装过程。
首先,您将了解到ArcIMS体系中的主要的软件构成,如Web服务器、servlet engine、servlet connectors和Java。 其次,还将介绍一些与ArcIMS运行有关的NT服务,如Tasker和Monitor。此外,还将介绍ActiveX和ColdFusion,以及它们是如何被整合到ArcIMS中来的。最后,介绍了ArcIMS的几种配置方案以及安装过程。在练习中,我们将实战演习一番,让你亲自动手安装ArcIMS和Web服务器。
到目前为止,ArcIMS支持两种平台:UNIX for Solaris 2.6版和支持Service Pack 4的Windows NT 4.0。对于Windows NT的安装来说,Web服务器和ArcIMS服务器要求至少要有128MB内存(推荐使用256MB)和要安装ArcIMS组件及WEB服务器,至少要65MB硬盘空间,可能还需要一些临时文件空间及虚拟内存空间。
ArcIMS的多层结构体系
ArcIMS是由许多软硬件组合而成的复杂体系,可以把它划分成三个层:表现层(Client)、事务逻辑层、Middleware和数据存储层、Server。
打个比喻来说,演示层就好比是餐馆的顾客;中间件好比是服务员,在顾客与厨师间传递食物,而数据存储层则好比是厨师准备食物。
各层之间是通过ArcXML语言来交流通讯。
ArcIMS组件
ArcIMS是一个由许多软硬件组合而成的复杂体系。下面我们分别从客户端、中间件和服务器三个方面分别来介绍。
客户端是通过HTTP从服务器获取另一台计算机服务并接受服务器响应的一个计算机系统。例如,一个向ArcIMS服务器请求一幅地图的工作站就是空间服务器的一个客户端。Java或HTML浏览器也被看成是客户端的一部分。
中间件是协调应用程序和网络之间的软件。它起着管理不同计算平台上的程序之间的交互。在ArcIMS中,客户和服务器之间的通讯是通过Web浏览器、servlets、servlet engine、servlet connector,应用服务器和ArcIMS Monitor来实现的。
服务器是向客户端机器提供服务的程序或计算机。客户和服务器之间的连接一般是通过网络上的经过编码的请求和响应来传递信息的。ArcIMS空间服务器是接收处理客户请求并向客户返回地图的程序。服务器一般始终运行着,等着客户向其发出请求。服务器端包括ArcIMS空间服务器,数据服务器和ArcIMS Tasker三个部分。
Web服务器
Web服务器接收客户端请求,并创建网页在客户端发布。尽管Web服务器包括了许多硬件,发布网页的WEB服务器软件也是必不可少的。完全支持ArcIMS的Web服务器软件有:Apache,Microsoft Internet Information Server和Netscape Enterprise Server。
本课使用的是Apache Web服务器软件,它能够从www.apache.org上免费下载。但是,其它两个软件可能更适合你采用。例如,IIS支持ActiveX和ASP技术,而Netscape则自带Servlet,两者也各有长处。
Servlets
ArcIMS体系要求有Servlets的支持。Servlet是作为网络服务的一部分运行,并能响应客户请求的一个Java程序。它最常见的功能就是能够扩展Web服务器的功能使之动态的调整网页的内容。此外,它还可以用来接收客户请求,获取并处理客户所需要的数据,以及将结果返回客户端。Servlets与applets很相似,只不过servlets能够在服务器端运行。Web服务器正是通过servlets与ArcIMS进行通讯的,所以需要安装支持servlet 通讯的组件,包括servlet engine和servlet connector。
Servlet engine允许Java servlets与Web服务器之间的通讯。由于ArcIMS的Web服务器组件是以Java servlet的形式来组建的,所以要使ArcIMS能够运行,就必须安装servlet engine。
有些Web服务器软件,如Netscape Enterprise Server,本身就支持servlet ,所以不需要第三方的servlet engine。而一些WEB服务器(IIS与apache)必须使用第三方的servlet engine。
ArcIMS支持的servlet engine有:ServletExec,JRUN和Apache Jsev。
Servlet Connector
Servlet Connector是用来连接Web浏览器和ArcIMS应用服务器的,servlet connector有三种:Servlet Connector、ColdFusion Connector和ActiveX Connector。其中Servlet connector是ArcIMS标准connector,而ColdFusion Connector和ActiveX Connector则支持通过它们的开发环境对ArcIMS进行定制。
使用ArcIMS ActiveX和ColdFusion Connector,网站程序员可以建立ASP或ColdFusion网站,并通过在服务器端处理的ASP或ColdFusion网页中嵌入ArcIMS请求,与ArcIMS的影像地图服务集成。具有地图或表格数据的ArcIMS响应嵌入在由服务器生成的网页中,并由客户端进行提取。
ActiveX和CoddFusion
除使用标准客户端浏览器之外,熟悉Web浏览器扩展功能并使用影像地图服务的网站程序员,可以使用ActiveX和CoddFusion技术定制自己喜爱的网站。ArcIMS中包含了一个示例,用来帮助您从结构和格式来开始设计。但是,如果要完全定制一个网站的话,就有必要熟悉ColdFusion或ActiveX 技术了。
ActiveX和CoddFusion给网站程序员带来了几个好处。首先,使用Web服务器扩展能够有效地给客户端程序“减肥”——它减少了对在客户端解析JavaScript和XML的依赖,这一点,ActiveX和CoddFusion网站的在线用户有时就能明显地感受到的效率明显地提高了,速度很明显地快了!其次,这些技术提供了更好的数据库集成。最后,由于程序代码是在客户端的外部,更易于维护且更安全。
ActiveX是一种使用Microsoft Internet Information Server (IIS)和Windows NT Server作的技术/API,Coldfusion则是一个跨平台的解决方案。ActiveX本身并不是一门编程语言,而只是使得象VB这样的编程语言能够支持多层客户服务器结构。Allaire公司的 ColdFusion Studio则本身就是一个支持JavaScript中同类概念的编程环境。例如,在ColdFusion中也一样存在变量声名、条件分支语句和和循环语句等。
ArcIMS应用服务器
ArcIMS应用服务器是处理输入请求负载平衡的程序,作为一种后台程序(NT service/UNIX daemon)来运行。此外,它还能提供跟踪地图服务及地图服务运行所在的ArcIMS空间服务器的目录。应用服务器正是在这些信息的基础上,合理分配空间服务器的。
多个Web服务器可以同时和应用服务器进行通讯。在分布环境下,应用服务器可以安装在与Web服务器不同的机器上。
附加的NT服务
除应用服务器外,另外两个中间件后台程序(NT service/UNIX daemon)用来支持空间服务器,那就是Monitor和Tasker。
Monitor是一个与空间服务器一起在后台运行的程序,其作用是启动新的地图服务和空间服务器,并在空间服务器或计算机故障时重新启动地图服务。
Tasker是整理服务器的内务手。它根据用户指定的每个Mapservice的间隔时间,就删除一次影像地图服务生成的一些临时文件夹。
ArcIMS空间服务器
空间服务器是ArcIMS的主要处理中心。空间数据在ArcIMS的空间服务器中进行处理,并将输出的地图与数据返回给WEB服务器。空间服务器提供五个功能,其基本功能为处理影像及要素,影像服务器生成地图影像文件,而要素服务器则液化地图要素,如shapefile, ArcIMS空间服务器还有三个功能,查询服务器允许进行数据库搜索;地理编码服务器进行地址匹配操作;提取服务器允许对数据进行裁剪提取子集。第六章中详尽地描述了这些功能。
Java运行环境
大多数的ArcIMS功能的实现都要求机器能够支持Java 2应用。Java是Sun Microsystems公司开发的独立于开发平台的面向对象编程语言,它支持以跨平台的Java applet方式的Internet编程。
ArcIMS要求在服务器端安装Java Runtime Environment (JRE)1.2版。JRE是Java Servlet Development Kit (JSDK)的一个子集,而JSDK是使用Java语言来开发和测试servlet的软件环境。JRE包含了Java 虚拟机, Java的核心类和其它一些支持Java 2插件的必要文件。这两个组件都是运行ArcIMS Manager,ArcIMS 应用程序(Author、Designer与Administrator)和Java客户端浏览器的关键组件。
如果你的机器安装的是Windows NT操作系统的话,还需要安装Microsoft Java Virtual Machine Biuld 3186。和Java 虚拟机一样,Microsoft 虚拟机是将ArcIMS Monitor作为NT服务运行所必需的。但是,Microsoft VM只适用于NT平台的机器。
对于使用Java客户端浏览器的用户来说,客户端的Web浏览器也必须支持Java 2。到目前为止,只有Microsoft IE4.0以上版本自带Java 2,Netscape Navigator的下一个版本应该也能开始支持Java 2 插件。
配置ArcIMS
ArcIMS网站有许多配置方案。有些网站把ArcIMS所有的组件都安装在一台计算机上,而有些则分别安装在好几台机器上。这些不同的配置方案视你所拥有的计算机资源以及希望提供的功能的不同而不同。
对ArcIMS空间服务器来说,数据的处理速度及负载处理能力是十分重要的。在配置网站时,要考虑到很多因素,如网站功能,Web服务器和硬件性能,终端用户的传输速率以及配置的灵活性等。
举个例子来说,如果要配置一个用户很少的网站(如局域网内的办公环境),就可以把所有的组件都安装在一台ArcIMS/Web服务器上。而对于一个高容量(如一个每天需处理十万多地图的国家地理网站)的网站来说,则需要分布式地配置在多台ArcIMS空间服务器和Web服务器计算机上。
基本配置
上面是一个典型的配置——Web服务器软件和ArcIMS应用程序都安装在同一台机器上。这种配制方案很适合于资源有限或服务器负载较轻的情况。这种情况下可以通过网络远程访问计算机上的Manager。每个ArcIMS网站只需要一个Manager。
要把所有的ArcIMS组件配置在一台计算机上,在安装时只须点击“Typical installation”。这样就会把Manager,应用服务器,Application Servlet Connector和ArcIMS空间服务器都安装在同一台计算机上。
高级配置
对于那些中等容量的网站来说,把ArcIMS空间服务器和Web服务器分开安装在两台不同的机器上效率要高得多。制图和数据将在空间服务器上处理,而其它管理上的事情则交给Web服务器,从而提高处理效率。
要把ArcIMS配置在多台机器上,记住安装组件时选择custom installation,并选择想要安装的组件。上面的例子中,ArcIMS空间服务器被单独安装在ArcIMS服务器上,而其它几个组件安装在WEB服务器上。
安装多个ArcIMS服务器
对于高容量的Internet网站,如National geographic mapmachine web站点(http://www.nationalgeographic.com/maps/index.html),要维持网站的稳定运行就需要多台计算机。
上面的例子中,好几台机器上安装了ArcIMS空间服务器,它们通过TCP/IP协议与Web服务器通讯。ArcIMS Manager、应用服务器和Application server connector被安装在Web服务器的计算机上。ArcIMS空间服务器有多个线程。ArcIMS应用服务器起的作用是平衡负载,提高系统运行速度和性能。
这种配置方案的主要好处是它具有极大的灵活性。当网站的容量超出设计限度时,只需要添加ArcIMS空间服务器或Web服务器就可以提高系统运行效率和性能。当然,还可以为ArcIMS空间服务器增加数据服务器,用来存储并发布数据。
安装ArcIMS的过程
在安装ArcIMS之前,先要检查一下Web服务器和Java组件是否都正确地安装好了。如果没有安装,一般要先安装Java Runtime Environment(JRE)。ArcIMS安装盘中带有JRE,如果没有安装JRE的话,将给出提示进行安装JRE。
接下来安装Web服务器和Servlet engine组件,以保证在安装ArcIMS 前Web服务器能够运行。
在安装ArcIMS时,可以选择典型安装(所有的ArcIMS组件都安装在一台计算机上)或自定义安装(不同的组件单独安装在不同的机器上)。
安装好ArcIMS后,要为ArcIMS建立三个虚拟文件夹——Manager、Output和Website。虚拟文件夹是映射到Web服务器上的一个物理路径。Output文件夹是用来存储临时的地图影像的,Website文件夹包含了使用Designer创建网站时的有关数据。
最后,要对配置文件做适中的修改,以保证ArcIMS和Web服务器组件之间的通讯正常。这些修改视你所使用的Web服务器和Servlet connector的不同而定。
安装技巧
安装ArcIMS的每个组件时都要十分仔细。我们习惯上安装软件时,一般都快速地接受安装向导上的缺省设置,但是在安装ArcIMS和Web服务器时却不能这样。例如,安装向导有时会要你输入机器上某个特定的文件,这时就要小心需要什么文件以及文件的位置。
分配虚拟文件夹也很重要。安装前就应该有计划地安排好网站和输出文件夹的位置。注意,有些Web服务器的虚拟文件夹的别名可能是区别字母大小写的。如果这样的话,使用不同的大小写组合(如例所示,确保引用正确的文件夹)。
如果安装失败的话,可能需要重新安装一次。这种情况下一定要记住,先删除前面安装过程中的所有记录,为重装准备一台“干净”的机器。具体做法是:先关闭和删除与ArcIMS有关的所有NT 服务和Web服务,然后使用卸载向导,卸载Web服务器和ArcIMS的主要组件。卸载后有些文件和文件夹可能仍保留在机器上,所以也要先将它们删除掉,包括回收站和临时文件夹也要清空或删除。此外,还要清除保存在Web浏览器缓存中的文件。