摘要
地理信息系统(GIS)是一个和计算机技术有着紧密联系的学科。随着构件技术在软件开发中的广泛使用,地理信息系统也走上了构件化的发展道路,分布式对象技术的成熟更使得构件技术成为开发WebGIS的得力工具。构件技术解决了传统GIS在开发GIS应用系统时所面临的专业技术要求高、开发周期长、系统集成困难等问题,它不仅简化了GIS应用系统的开发过程,也为WebGIS提供了高效、灵活、功能强大的开发模式。
目前,WebGIS是GIS领域重要的发展方向,GIS厂商也为此推出了大量WebGIS开发工具。ESRI公司的ArcIMS是这些产品中使用较为广泛的一个。不过,由于ArcIMS各部件之间需要依靠ArcXML语言进行通信,所以Java环境下ArcIMS应用系统的开发需要建立在对ArcXML语法知识深入了解的基础上。这使开发者使用Java开发GIS功能时依然面临着与传统GIS开发同样的问题,GIS应用系统开发过程趋于复杂。
为了简化ArcIMS应用系统的开发过程,缩短系统开发周期,论文深入讨论了ArcXML为二次开发人员开发GIS功能带来的复杂度,指出利用构件技术屏蔽ArcXML复杂性、封装地图通用功能是简化ArcIMS地图功能开发的有效手段,提出了开发ArcIMS高级通用构件的方案。
本文的主要工作如下:
(1)分析GIS现状,从GIS开发模式的演变入手,指出利用GIS构件开发GIS应用是构件技术在GIS领域应用的必然结果,讨论了WebGIS的构件化趋势。
(2)深入讨论了ArcXML为应用开发者开发GIS功能带来的困难,提出利用构件技术屏蔽ArcXML、封装地图通用功能、降低系统开发复杂度的解决方案。通过对ArcXML的详细分析,论文给出了ArcIMS高级通用构件的具体设计。
(3)利用EJB构件技术开发了具有地图显示和图层操作功能的原型系统。
Geographic Information System is a science that connects tightly with computer technology. With the development of component-based software, components begin to be used in GIS domain. Now, the maturity of distributed object technology lets component become an important tool in WegGIS construction. Component technology solves the problems that traditional GIS faced in the past, such as long-period development and difficulties in system integration. It not only simplifies the development of GIS application system, but also provides the efficient and powerful developing method for WebGIS.
At present, GIS software providers supply many tools for the construction of WebGIS application systems. ESRI's ArcIMS is one that used widely in them. However, when people use Java to realize their ArcIMS application systems, they should make their systems built up directly on ArcXML, a communicating language used in ArcIMS, which complicates the process of GIS system's implementation and forces developers to face the same problems traditional GIS faced.
In this thesis, the author at first analyses the Component GIS and the tide of realizing WebGIS as a component system, then discusses the difficulties those programmers meet when using ArcXML directly. After clarifying the advantages of shielding ArcXML and packing GIS general functions, the thesis makes the decision of developing ArcIMS general components to attain the aim of simplifying the developing process of ArcIMS application system and shortening developing period.
The primary work of thesis is listed in the following:
(1) Analyze the actuality of GIS. From the opinion of GIS developing pattern, the thesis points out that realizing WebGIS as a component system is the certain result of GIS development and discusses it particularly.
(2) Discuss the problems that will meet in period of using ArcXML directly in GIS functions' development and bring out the solution of using ArcIMS general components shield ArcXML. After the detailed study of ArcXML, the thesis presents the exact component design.
(3) Use EJB component to implement an archetype system, which can provide the function of displaying maps and operating map layers.
引文
[1] 宋关福、钟耳顺,组件式地理信息系统研究与开发,中国图象图形学报,1998.4,Vol.3,No.4,313-317
[2] 王千祥,刘畅,赵鲁印,分布式对象技术与软件复用,计算机科学,1999,Vol.26,No.5
[3] Desmond D Souza, Alan Wills, Catalysis, 1998
[4] 6th International Workshop On Component-Oriented Programming, http://ecoop2001.inf.elte.hu/workshop/wcop-ws.html, 2001
[5] Shuxin Yuan, Development of a Distributed Geoprocessing Service Model, Department of Geomatics Engineering, University Calgary, December 2000
[6] 吴升,博士论文,分布式GIS组件平台的研究与实践,2001.4
[7] 张犁,互连网时代的地理信息系统[J],测绘学报,1998,27(1),9-15
[8] 罗英伟,WebGIS的结构设计[J],中国图象图形学报,1999,4(1),79-84
[9] 刘光,地理信息系统二次开发教程组件篇,清华大学出版社,2003
[10] 陈述彭,鲁学军,周成虎,地理信息系统导论[M],科学出版社,北京,1999
[11] 承继成,李琦,易善桢,国家空间信息基础设施与数字地球[M],清华大学出版社,1998.10
[12] Anne Thomas, Enterprise JavaBeans Technology Server Component Model for the Java Platform, Sun Microsystems Inc, 1998
[13] EJB 2.0 Specification, Sun Microsystem, 1998.6
[14] 沈建南著,Enterprise Java Bean设计务实,中国青年出版社,北京,2002
[15] Vlada Matena,Beth Stems著,瞿裕忠,陆海涛,彭晓辉等译,J2EE平台上的EJB构件开发,机械工业出版社,2001.8
[16] EJB-Java服务器端构件模型,http://www.ChinaJavaWorld.com,2001
[17] 邓芳,李新城,朱伟兴,一种新的基于ArclMS3.1的WebGIS方案,计算机工程,2002. Vol28.No10.20R-209
[18] ArclMS 3.1 Architecture and Functionality, An ESRI White Paper, http://www.esri.com,2001.6
[19] Nianwei Liu, Integrating XML and Java to Build Server Side ArcIMS Applications, http://gis.esri.com/library/userconf/proc01/professional/papers/pap124/p124.htm
[20] 陈云浩,郭达志,万维网GIS中的构件技术,测绘通报,1999.3,14-19
[21] 王尔琪,钟耳顺,开放式Internet地图服务体系结构设计与应用,《2001中国GIS年会论文集》,2001
[22] 袁相儒,陈莉丽,龚健雅,Internet GIS的部件化结构,测绘学报,1998.11,Vol.27,No.4,363-369
[23] 钟耳顺、宋关福、王尔琪、吴秋华,GIS组件化与组件式GIS研究,《中国地理信息系统协会、中国海外地理信息系统协会1998年年会论文集》,1998
[24] 张绍平,史杏荣,王培康,三层结构的组件式WebGIS的设计与实现,计算机工程与应用,2002.6,113-122
[25] 罗英伟,汪小林,许卓群,分布式WebGIS构件化研究,计算机辅助设计与图形学学报,2002.8,Vol.14.No.8,790-795
[26] ESRI and Oracle——Solutions for GIS and Spatial Data Management, An ESRI White Paper, http://www.esri.com, 2000.8
[27] Sumathi Chutkay, Spatial world chants the EAI mantra, Map India Conference 2003, http://www.gis development.net, 2003
[28] Russell East, Roop Goyal, Art Haddad, Alexander Konovalov, Andrea Rosso, Mike Tait, and Jay Theodore, The Architecture of ArcIMS, a Distributed Interact Map Server, C.S. Jensen et al, 387-403, 2001
[29] Frank Weiss P.E., Connecting ESRI to Anything: EAI Solutions, ESRI User's Conference 2002, http://www.esri.com/events/egug2002/presentations/eai solutions.pdf, 2002
[30] ArelMS 3: Mapping and GIS for the Interact, An ESRI White Paper, http://www.esri.com,2001.5
[31] Introducing ArcIMS3.0, http://www.esri.com, 2000.2
[32] AreXML Programmer's Reference Guide, http://www.esri.com, 2002
[33] Extending ArcIMS Using ArcXML——Rendering, http://www.esri.com/news/areuser, 2001
[34] ESRI's JavaTM Strategy, An ESRI White Paper, http://www.esri.com, 2001.5
[35] Nengcheng Chen, Dongchen E, GIS of Antarctica based on Network, Chinese Antarctic Center of Surveying and Mapping, Wuhan University, China
[36] UsingArclMS 3, An ESRI White Paper, http://www.esri.com, 2001
[37] Customizing ArclMS——ArcIMS AppServerLink, http://www.esri.com, 2001
[38] Extending ArcIMS Using ArcXML——Acetate Layer Objects and the SPATIALQUERY Element, http://www.esri.com/news/arcuser, 2001
[39] Extending ArcIMS Using AreXML——Labeling, http://www.esri.com/news/arcuser, 2001
[40] Bryan Dickerson, Bart Killpack, Advanced ArcXML, http://www.esri.com, 2003
[41] ArcIMS Architecture Overview, http://gis.opkansas.org/website/jsp_tutor/lessonl arch.htm,2000