Java Applet在WebGIS系统开发中的瓶颈问题研究
JavaCardApplet开发讲义

本手册的版权和解释权属于握奇数据系统有限公司
4
4
本手册的版权和解释权属于握奇数据系统有限公司
2
JavaCard Applet开发讲义
握奇数据
JavaCard VM的限制
JavaCard VM规范额外定义了一些程序属性的约束。 Java Card开发者 要注意这些约束。
程序包
一个程序包可以引用128个其他的程序包
在同一个执行上下文中的小应用程序默认情况下能够相
互访问,所以Applet A和Applet B不需要遵循这个程序 来共享对象。
Applet A
①
Applet B
JCRE
②
Applet C
Applet D applet firewall
本手册的版权和解释权属于握奇数据系统有限公司
12
12
本手册的版权和解释权属于握奇数据系统有限公司
Applet A Applet B
Applet C
Applet D applet firewall
JCRE
本手册的版权和解释权属于握奇数据系统有限公司
11
11
握奇数据
Applet的隔离与共享
Java Card平台支持跨防火墙的安全对象共用。典型的 流程如下:
– 请求通过调用系统的JCSystem.getAppletSharea bleInterfaceObject ()方法访问Appletc的共享接
Java Card事务以对beginTransaction()的调用开始,以对 commitTransaction()或者abortTransaction()的调用结束。在事务过 程中所有的写操作都将被保护。JCRE不支持嵌套事务。
地理信息系统在物流配送中的应用

地理信息系统在物流配送中的应用导语:现代物流实用词典说“物流配送”是共同化的服务模式,物流配送共同化,包括物流资源利用共同化、物流设施与设备利用共同化、物流管理共同化等等。
详细来说,物流配送是物流活动中一种非单一的业务形式,它与商流、物流、资金流紧密结合,并且主要包括了商流活动、物流活动和资金流活动,可以说它是包括了物流活动中大多数必要因素的一种业务形式。
1引言2现代物流与GIS融合1)地理信息系统的发展在GIS中,空间信息和属性信息是不可分割的整体,它们分别描述地理实体的两面,以地理实体为主线组织起来。
空间信息还包括了空间要素之间的几何关系,使GIS能够支持一般管理信息系统所不能支持的空间查询和空间分析,以便于制定规划和决策。
现在网络地理信息系统(WebGIS)的兴起更使其被越来越多的商业领域用来作为一种信息查询和信息分析工具[3],GIS技术本身也融入了这些商业领域的通用模型(如ARC/INFO的网络分析模块),因而GIS技术在各个商业领域的应用在深度上和广度上不断发展。
事实上,凡是涉及到地理分布的领域都可以应用GIS技术。
2)物流的发展随着经济全球化的发展,物流也向着现代化方向迅速发展。
物流现代化不仅指物流手段(物流设施、设备等)和物流技术达到或接近世界先进水平,而且指物流管理(包括物流组织、物流计划的编制、物流运输方案的选择、经济指标的确定,等等)的科学化[4]。
现代物流作为一种先进的组织方式和管理技术,已经被认为是企业在降低物资消耗、提高劳动生产率以外重要的"第三利润源"[5],它通过降低流通费用,缩短流通时间,可以整合企业价值链、延伸企业的控制能力,加快企业资金周转为企业创造新的利润。
尤其在电子商务环境下,供应商必须全面、准确、动态地掌握散布在全国各个中转仓库、经销商、零售商以及各种运输环节之中的产品流动状况,并以此制定生产和销售计划,及时调整市场策略。
因此电子商务的发展更加推动了现代物流业迅速兴起。
WebGIS考试复习题

– 并行数据库系统有三类主要的资源:
• 处理器 • 主存模块 • 二级存储(通常是磁盘)
– 并行数据库管理系统就是按照这些资源的互相作用方式进行 体系结构划分的。
– 三类主要的体系结构分别为:
• 共享内存(Shared-Memory, SM) • 共享磁盘(Shared-Disk, SD) • 无共享(Shared-Nothing,SN)
网络GIS相关技术?
• 1、海量空间数据存储与管理技术 • 2、计算机网络技术 • 3、无线通信与移动定位技术 • 4、高性能并行计算技术
GIS在数字城市建设中的主要作 用?
❖地理空间数据库建库和管理的有力手段 ❖辅助决策支持的重要技术 ❖虚拟现实的有效工具
ArcGIS的网络化GIS方案?
ArcGIS提供了三种服务器产品: ArcIMS、 ArcGIS Server、 ArcGIS Image Server。
• 优点是结构简单、所需线缆短、 成本低;扩充方便、增减节点容易; 可 使用光纤,传输率高。
• 缺点是可靠性差,一节点发生故障可导致全网瘫痪;故障检测困难;由于 采用令牌传递方式,即使在负载很轻的情况下,其等待时间也相对比 较长。
无线网络
• 根据网络覆盖距离可将无线网络分为:
– 无线广域网 – 无线局域网 – 无线个人区域网
• “八五”期间推出了GeoStar, MapGIS、 CityStar 等GIS软件。
• 1994年,中国GIS协会在北京成立,标志着国内 GIS行业已形成一定规模。
什么是网络化GIS?
• 网络化GIS(简称网络GIS)是以网络为平台 的GIS。
• 具体讲,网络GIS是指在网络环境下为各种 地理信息科学的应用提供GIS 的基本功能, (如分析工具、制图功能)、分布式计算和空 间数据管理的空间信息管理系统。
MapGIS K9产品体系

影像的层次化显示,可针对用户的不同视点自动切换到不同尺度的影像数据;与二维系统无 缝融合,支持二、三维联动显示以及地形分析和应用;可在三维球上实现影像发布,并提供 多种查询分析功能。
1、企业管理器:利用企业管理器,可以在同一个平台中管理来自外部异构数据源的 GIS 数据,并通过多种数据显示方式从而协助用户提高数据管理能力。
2、地图编辑器:利用地图编辑器,可以方便的将数据和地理信息的关系直观的展现; 提供多种方式加工和显示数据以便更好地理解地理数据记录背后的含义;并提供数据处理一 体化功能,从数据采集,到编辑处理,到排版出图的完整应用。
1. 通过数据仓库,提供多源异构数据的统一、层次化管理; 2. 通过功能仓库,提供多领域应用系统的集成及功能复用手段; 3. 通过工作空间,提供统一的框架,实现多个地理信息系统的协调工作; 4. 通过设计器,提供应用方案的集成搭建和配置可视化界面。 5. 通过搭建平台,提供适合于多种 GIS 应用领域的应用系统快速构建技术; 数据中心增强了 GIS 应用系统适应需求不断变化的能力,降低 GIS 应用系统的开发难度, 为开发地理信息应用系统提供基础支撑。
三维地理空间数据库模型图 2、三维渲染引擎 MapGIS K9 三维开发平台提供统一的三维空间绘制引擎接口,同时支持 OPENGL 1.3 和 DIRECT X 8.1 三维渲染引擎,提供多种显示接口及特效。极大简化应用系统开发的工作 量,减轻应用系统开发人员在不同三维渲染引擎上的花费,提高开发效率。支持三维并行化 渲染方案,读写数据由不同进程控制,能够充分的利用多核处理器,提升大规模三维场景的 渲染效率。统一的显示平台还提供对场景三维特效的支持,包括场景雾效果、粒子体生成及 动态纹理绘制等。
基于Agent的Grid GIS关键技术探讨

基于Agent的Grid GIS关键技术探讨马冰冰;田方【摘要】粮食安全是事关民生的首要问题,我国政府历来十分重视对粮食储备的管理.由于粮库信息的实时更新不易实现、对储粮信息的获取和应用有其特殊要求,传统的粮库管理方式已经不能适应现代粮食安全的需要.本论文旨在将Agent技术集成到Grid GIS结构框架中,研究地理信息服务的管理以及基于Agent的服务查找与组合策略等关键技术,使用基于Agent的Grid GIS门户来实现粮库信息网格服务的管理,使储粮系统更加专业化和自动化.%Food security is the most important issue related to people's livelihood, and the China's government has always attached great importance to the management of grain reserves. As the real-time updating of grain depot information is difficultto realize, and it has special requirements for the acquisition and application of grain storage information, the traditional grain storage management mode can no longer meet the needs of modern food security. This paper is to integrate Agent technology into the Grid GIS framework, study geographical information service management and the key technology of service discovery and combination strategy based on Agent, use Grid GIS gateway based on Agent to realize grain depot information grid service management, so as to make the storage system more professional and automation.【期刊名称】《价值工程》【年(卷),期】2017(036)024【总页数】3页(P7-9)【关键词】Agent技术;Grid GIS;粮库管理【作者】马冰冰;田方【作者单位】河南测绘职业学院,郑州450015;河南测绘职业学院,郑州450015【正文语种】中文【中图分类】TP311随着Agent技术和Grid技术的发展,GIS Agent和SIG已经成为GIS新的发展方向。
Java程序上机练习题库(含答案)

上机练习题(共包括四部分、16个练习、共96个练习题,请使用“视图”中的“文档结构图”查看)一、java语言基础和面向对象(教材内容的第1、2、3章)练习1(4)掌握:各种数据类型变量的定义和访问,各种数据类型常量的使用,数据类型转换。
1. 编写Applet,其功能为:取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数。
最后,求这两个数的和并将结果输出。
要求这些功能在主类的方法init( ) 中实现,并使输出结果仅保留小数点后4位(不需四捨五入)。
@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void init( ){Label out1=new Label(" ");Label out2=new Label(" ");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*1000;if(x<10&y<10) { x*=50; y*=50; }out1.setText(""+x+"+"+y+" 约等于");out2.setText(""+(int)((x+y)*10000)/10000.0);}}2. 请编写一个Applet,其功能为:取一个小于10000的正随机整数,并输出该数的平方根。
要求这些功能在主类的方法paint( ) 中实现,并使输出结果在四捨五入后保留小数点后4位。
@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=(int)(Math.random( )*1000);g.drawString(""+k+" 的平方根约等于"+(int)((Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);}}3. 编写一个Applet,其功能为:取一个50~200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。
java论文学习心得图形界面(精品)
java图形化用户界面及Applet学习总结一、javaAppletApplication和Applet是Java程序的两种基本形式。
Applet是特殊的Java程序,它不需要专门的解释器来执行它,相对于Java Appliction 的解释器,如JDK的java.exe,VJ++的jview.exe,Java Applet的解释器就是Internet的浏览器,确切地讲就是兼容Java的Internet浏览器。
Applet的工作原理:1,.class和HTML保存在服务器2,当浏览器向服务器请求下载嵌入了Applet的HTML文件时。
3,下载到客户端后,由浏览器解释HTML中的各种标记并显示在用户屏幕上,当浏览器遇到HTML文件中的一个特殊标记时,表明嵌有Applet程序,浏览器会根据Applet名字和位置把其字节码文件从WWW服务器上下载到本地。
4,利用浏览器本身拥有的Java解释器执行该字节码。
Applet类的使用:Java Applet程序必须有一个主类,其父类是系统的Applet类,正是通过这个类才能完成Applet程序与浏览器的配合存在于java.applet包中,从继承结构上说属于用户图形界面的java.awt包,是系统类java.awt.Panel的子类,由于Applet类的特殊,系统专门为它建立了一个java.applet 包Applet类是Panel的子类Panel类的作用:(1)包容和排列其他的界面元素,如按钮、对话框等;(2)响应它所包容范围之内的事件,或把事件向更高层次传递。
Applet类的作用:Applet在继承上述作用的基础上,还具有一些与浏览器和Applet 生命周期有关的专门方法Applet类的主要方法:1、完成初始化操作的init()方法Applet的字节码文件从WWW服务器下载后,浏览器将自动创建一个Applet 类的实例并调用它从Applet类那里继承来的init()方法。
基于WebGIS的水质监测应用综合服务系统解决方案
基于WebGIS的水质监测应用综合服务系统解决方案黄泽钧;张凡凯;李轩【摘要】Water quality monitoring is the basis of water resources protection and management In this paper,an integrated service system for water quality monitoring based on WebGIS was proposed. The information-based system construction of the water quality in the Hydrological Bureau of Guangdong Province was used as an example for developing the integrated service system, and thebackground,purpose,and principles of the system were analyzed. In light of the state and industry standards,an o-verall design of the system was developed and the center service platform of water quality data was proposed, which improved the development idea for the client-oriented water quality analysis and evaluation system, the mobile task system, and the early warning system. The development and application of the integrated service system is of great significance to improve the water quality monitoring, water quality analysis, water quality forecast,and data sharing,and to provide full service and technical support for the sustainable utilization of water resources.%以广东省水文局水质监测信息化系统建设为例,对系统建设的背景、目标与原则进行了分析.依据国家标准和行业标准,对系统进行了总体设计,提出了水质数据中心服务平台、完善和客户化水质分析评价系统、移动任务系统和预警系统的建设思路,开发了基于WebGIS的水质监测应用综合服务系统.系统的开发应用对推进水质监测、水质分析、水质预测和数据共享,为水资源可持续利用提供全面服务和技术支撑具有重要意义.【期刊名称】《南水北调与水利科技》【年(卷),期】2012(010)004【总页数】6页(P48-52,85)【关键词】水质监测;WebGIS;系统;设计;方案【作者】黄泽钧;张凡凯;李轩【作者单位】湖北水利水电职业技术学院,武汉430070;湖北省石首市水利局,湖北石首434400;武汉神州地理软件开发有限公司,武汉430070【正文语种】中文【中图分类】TV213.4;X8341 系统建设的背景水质监测是水资源保护与管理的基础,水质监测能力直接关系着水质监测成果的准确性、时效性、客观性和科学性,影响水行政主管部门水资源管理的能力[1]。
第一章WebGIS基础知识PPT课件
*
31
(4)网络空间信息系统阶段
该阶段是WebGIS的发展目标,也 是网络计算环境下空间信息服务的新形 式。该阶段的功能除包括前面各阶段所 具有的功能外,还具有以下功能: • 在线专业分析。许多专业分析模型是针对特定
数据库的,植被覆盖模型、水土流失模型等可以在网 上针对特定的数据库运行这些模型,利用网络环境下 多个站点的数据,进行分析并返回结果。
• 例如,用户可以在浏览全国地图时,通 过单击地图上的热链接进入相应的省地 图进行浏览。
*
25
四、系统功能
• WebGIS的功能,根据其发展的不同阶 段,会有不同的功能,通常可将 WebGIS的发展划分为四个阶段:
• 空间信息浏览与查询阶段 • 地图制作阶段 • 地理信息系统阶段 • 网络空间信息阶段。
• OGC提出的开放式地理数据互操作规范 (Open Geodata Interoperability Specification)为GIS互操作性提出了基本的 规则。
• 例如,数据格式的标准、数据交换和访问的 标准、GIS分析组件的标准规范等。
*
24
(7)图形化的超媒体信息系统
• 使用Web上超媒体系统技术,WebGIS 通过超媒体热链接可以链接不同的地图 页面。
e 利用交互网技术扩展和完善地理信息
b 系统的一项新技术,是地理信息系统
G I S
和交互网技术相结合的一种新的技术 方法 • 通过它人们可以方便地从WWW的任 意一个节点浏览或获取Web上的各种
概 分布式地理空间数据以及进行各种在
念 线的地理空间分析。
• 它的出现使GIS能够真正走向社会,为
更广泛的社会群体服务。
(2)客户端策略
Internet
WebGis考试复习
吴飞亚
同工作 10、基于服务器的应用系统:
基于服务器的 WebGIS 依赖服务器上的 GIS 系统完成 GIS 分析和产生输出 工作。Web 浏览器充当前端的对用户友好的接口。
用户在客户机端 Web 浏览器上初始化 URL 请求(一个 GIS 操作),此请求通 过互联网送给服务器。服务器接受此请求,处理请求,并将处理结果返回 客户端。
吴飞亚
9.什么是网络 GIS 体系结构,论述它的发展情况: 网络 GIS 体系结构是网络 GIS 工作的通信标准设计,是其客户端和服务器端工作 原理和分配的标准。 1.终端/工作站模式(集中式体系结构):
工作站上集中所有计算, 终端仅为用户操作计算机的界面工具 主要为客户端用户提供数据浏览功能,不提供分析和放大等操作功能,这种体系 结构是最简单也是最安全的, 因为数据管理和操作都是在服务端集中完成,简化 了用户的设置和操作 但是随着用户数量的增多和需求的提高, 服务器无法及时响应用户的请求, 这 种体系结构已经逐渐被淘汰。 终端/工作站模式的特点 以主机为中心计算环境,数据管理,事物处理高度集中; 起始成本高,系统维护升级只涉及主机,管理成本低,但用户端缺乏个人定置, 无任何处理功能; 适用于大规模集中式应用,具有较高的效率和安全性 2. C/S 模式 客户机/服务器模式基于简单的请求/应答协议,即客户端向服务器提出信息处理 的请求,服务器端接收到请求并将请求解译后,根据请求的要求执行相应操作,并 将操作结果传递回客户端 两层 C/ S 结构 数据管理工作由服务器完成, 应用计算工作则由客户机和服务器共同分担, 按 应用计算工作的分配策略又分为“胖服务器, 瘦客户端”和“瘦服务器, 胖客户 端”两种。 以 PC 为主,适合部门级应用 初级成本低,但随着应用规模扩展,网络上异种资源类型的增多,开发、管理、 维护的复杂程度加大,频繁的软硬件升级,后期成本骤升,缺乏关键事物处理的 安全性与并发处理能力 三级及多级 C/S 模式 三级 C/S 模式将数据管理从服务器上分离出来, 形成客户端、应用服务器、数据 服务器三部分组成的系统。 与两级结构相比,在三级结构中 Web 服务器既作为一个浏览服务器,同时又是应 用服务器,将整个应用逻辑和规则驻留其上,而只有表示层存在于客户机,使客 户变得很单纯,从而极大地减轻了客户机的负担。 它通常由三部分组成:客户端的浏览器,中间层的 Web 服务器和后台的数据库服 务器,所以该结构也被称为“浏览器/ Web 服务器/数据库”结构,简称为 B/W/D 结 构。 三级及多级 C/S 模式的特点 整个系统被分为不同的逻辑块,层次非常清晰,有利于软件的重用,提高开发效率; 能够使“胖客户机”变成为较“瘦”的客户机,将开发和管理的工作向服务器方 转移,使得数据分布处理成为可能; 管理和维护变得相对简单。 局限性: 不支持主动服务机制, 当服务器端服务或者数据更新时无法及时通知客户 不支持客户应用之间的直接群体感知, 因而难以展开客户应用之间高层次的协
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Java Applet的WebGIS的瓶颈问题研究杨斐(山东理工大学计算机学院,山东 255000)摘要:WebGIS 是将Internet 技术应用于GIS 开发的产物, 是GIS 发展的趋势之一。
首先, 比较了几种主要的WebGIS 技术, 并对基于Java 技术的WebGIS 系统开发方式作了总结。
然后, 结合具体系统实例,介绍了系统的框架,阐述了基于Java Applet 的实现机制。
最后着重探讨了瓶颈问题的解决措施。
关键词:WebGIS;Java Applet;数字签名;瓶颈Research on the bottleneck problem of WebGIS Based on Java AppletYANG Fei(College of Computer Science & Technology, Shandong University of Technology, Shandong 255000, China)ABSTRACT:It leads to the birth of WebGIS to combine Internet with GIS,which is one of the GIS development trends in the future. Firstly,it carries through the comparison among several primary WebGIS technologies and summarazes the WebGIS development manners based on the Java technology. Then, introduced the framework with specific system,and it expounds the mechanism of the WebGIS based on Java Applet.Finally, Focused on the measures to solve the bottleneck problem.Keyword: WebGIS;Java Applet;Digital signature;bottleneck 1.引言地理信息系统(Geographic Information Systems, 简称GIS) 是一种采集、存贮、管理、分析、显示与应用地理信息的计算机系统。
地理信息系统是地理、测绘等地学, 与计算机和信息科学等之间的交叉领域。
随着互联网( Internet) 技术的不断发展和人们对地理信息系统不断增长的需求, 将Internet 技术应用于GIS 开发形成了互联网地理信息系统(WebGIs) , 利用Internet 在Web 上发布和出版空间数据, 为用户提供空间数据浏览、查询和分析等功能。
基于Internet 的WebGIs 是目前和将来GIS 发展的主流。
[1]2. WebGIS 的主要实现技术目前,WebGIS 主要实现技术有: GGI、Server API、Plup- in 插件、ActiveX 控件以及Java App1e 技术[2]。
表1 Internet GIS 应用系统分类对比目前比较流行的技术就是ActiveX和Java Applet,它们可以嵌入到HTML 文件中。
这种胖客户瘦服务器的体系结构,服务器端只执行查询,从空间数据源中得到需要的空间数据,然后把数据发送到客户方。
由浏览器上的Java Applet、ActiveX完成进行后面的工作,并把处理结果显示给用户。
优点是:不需要安装客户软件,客户端操作速度快,服务器和网络传输的负担轻,容易实现两端的负载平衡。
不足之处是:使用已有的GIS操作分析资源的能力弱,处理较大的GIS 分析任务的能力有限,无法与CGI模式相比;GIS数据的保存、分析结果的存储和网络资源的使用能力受到限制。
采取不种的WebGIS系统体系结构,就意味着实现企业GIS应用查询分析能力的不同,也意味着开发成本的不同。
采用胖服务器瘦客户结构,意味着服务端模块要实现全部的GIS功能,一般来讲,必须购买昂贵的WebGIS产品,当然作为回报,它可能得到强大的系统功能。
但是,某些企业可能只要求实现比较简单的GIS系统,不需要特别复杂的空间分析,或者由于资金的原因,他们可能会采用瘦服务器胖客户结构,并且自主开发功能较强大的客户端模块和较薄弱的服务端模块,来实现企业的大部分业务需求。
这时,Java Applet不失为一种理想的实现方案,我们的项目正是在这种需求下开展的。
3系统结构及功能实现3.1系统框架本WebGIS系统是为山东省某卫生行政部门开发的,目前应用于企业内部网。
系统框架如图1所示。
图1 系统框架图表现层提供用户接口的功能,运行环境主要是Web浏览器,运行的程序是客户端的Applet程序。
业务逻辑层提供完成所有业务逻辑和数据库存取的功能,主要有两部分组成:一部分是Web服务器,它通过HTTP协议向客户层提供Applet 程序;另一部分是GIS应用服务器,它包含了完成业务逻辑所需要的各种服务,它一方面通过自定义协议或RMI/IIOP与运行在客户层的Applet程序通信,另一方面通过JDBC访问存储在数据库中的空间数据数据和属性数据。
数据库层还提供空间数据存储、查询、分析的功能,采用Oracle8.16数据库系统,以满足大量数据的存储要求。
3.2 系统主要功能主界面如图2所示。
图2 WebGIS系统主界面主要实现如下功能:(1)地图放大、缩小、漫游、复位及导航功能。
(2)图层开关控制,用户可以有选择地装载图层。
(3)信息查询,用户在地图上点击某实体时,将属性信息显示在属性窗口。
(4)查询定位,在单位查询面板可以通过关键字查询某单位,在查询结果窗口选择查询结果,可以快速定位到目标位置。
(5)高级查询,即GIS应用查询。
卫生系统有许多部门、专业,每个部门、专业对WebGIS应用的要求不同,如人口分布图、污染分布图等。
根据用户的请求,调入各种固定分布图,或动态生成分布图。
4瓶颈问题及解决技术如前分析,采用Java Applet开发WebGIS有个特点,客户端必须处理空间数据,空间数据要在拥挤的网络上传输。
本WebGIS系统使用的是山东省1:25万地图(Shapefile格式),空间数据包括行政区界,公路,河流,公共设施,各级标注,经过处理后数据量仍有10Mb以上。
因此,空间数据量大及其造成的网络传输慢成了系统最大的瓶颈,为了提高网络传输速度和用户操作处理响应速度,本系统主要采取了以下一些技术措施:4.1 Applet数字签名技术[3]Java Applet有很多安全性方面的限制,它不能在客户端进行任何读写操作,这固然可以保证Applet不会对网络和客户端进行破坏活动,但大大制约了Applet的功能。
软件系统开发时经常需要突破这些限制,特别是在企业内部网络上应用的系统。
数字签名技术就是为突破安全限制而提出的解决方案,通过对Applet进行数字签名,使得Applet在下载到客户端之前要进行身份认证,只有得到用户的信任,才可以下载,用户通过签名者的身份决定是否信任它。
本系统由于以下原因决定突破Applet的安全限制,而访问本地文件系统:1)空间数据量大;2)系统在企业内部网中使用;3)用户同意。
系统使用Sun公司的免费数字签名。
4.2 空间数据多级存储空间数据分别存放在客户端,Web服务器端,数据库端。
数据库系统采用Oracle8.16,将Shapefile格式的空间数据导入到Oracle中,采用Oracle的shp2sdo及SQL Loader工具来完成或用Oracle免费提供的Java类包编程实现[5]。
再将部分空间数据以自定义文件格式复制存放在Web服务器端。
当客户机访问该网站时,如果信任该网站就下载部分固定的空间数据。
由于存取本地数据比存取网络数据速度快多了,可以大大提高系统的运行速度。
当客户端读取数据时,先从本地读取,若本地没有,则向GIS应用服务器发出请求,GIS应用服务器程序先从Web服务器上读取数据,若Web服务器上没有该数据,则生成Sql语句向Oracle数据库发出请求,由Oracle处理请求并返回查询结果。
本系统的空间数据部分可以存放在客户端,因此,减少了必须通过网络传输的空间数据量。
4.3 网络数据流压缩在网络上传输空间数据或栅格图像时,发送端对这些数据进行Zip压缩,接收端解压。
显然,这些数据的传输速度关键取决于网络传输率,本机的压缩、解压缩时间相对于网络传输来说是很小的,因此,进行压缩处理是很有意义的。
实践表明,采用Java.util.zip类包[4],压缩率通常可达3倍以上。
4.4 数据动态调度策略系统初始化时,将主要图层(行政区界)及其相应标注图层调入内存,以后根据用户的选择装载图层或卸载图层。
当用户操作的区域范围较大时,尽量保持内存中数据量小,及时卸载无用图层。
当用户浏览到较小范围时,数据量较低,内存占用较少,这时对用户选择过的图层,不再卸载。
根据经验可知,用户的操作一般集中在某个较小地区范围,并对某些特定的图层进行操作处理,在内存中保存这些图层数据,可以使系统的响应速度得以提高。
属性数据通过对Oracle 数据库查询得到并调入内存的。
4.5 矢量数据和栅格图像有机结合当大量矢量数据要调入内存或传输时,可以用栅格图像来代替它。
系统初启动时,显示整幅福建地图,虽然只调入部分图层数据,一次性装载这些数据并计算画图,加上下载Applet程序,将花费很长时间,可能导致用户不耐烦。
如果预先生成一幅福建地图栅格图像,系统启动时,首先显示该栅格图像,并用一个后台进程读取矢量数据,达到“欺骗”用户的效果;另外,如果客户端从Web服务器或Oracle数据库查询较大的空间数据时,可以在应用服务器上先生成相应的栅格图像,然后传输栅格图像给客户端显示,客户的操作以命令参数形式传送到GIS应用服务器,由服务器程序处理这些请求并返回结果。
4.6比例控制图层显示当图层放大比例较小时,数据量大,客户显示区不可能详尽地表征所有的数据,而且有些区域可能涂成一团,造成显示区混乱。
采用由粗及细的策略,我们可以比较清晰地表达显示逻辑,也可提高系统速度。
比如,系统最初只装载主干公路、河流,随着放大比例的不断扩大,逐渐加入支路、支流,直到乡镇一级。
4.7数据组织方式GIS的特点就是数据量大,如何在内存中组织管理这些数据,快速绘制矢量数据,及时响应用户的操作,是编程人员最头痛的问题。
系统灵活运用Java语言面向对象和多线程的特点。
空间几何元素由点状、线状、面状、标注组成,以类的形式组织,点(Point)是最基本的空间几何元素类型,其它几何元素(如MultiPoint,LineString,Polygon,Text等)由多点构成,每一个几何实体都有id属性,与数据库中的属性对应,用户点击该几何实体后通过id号向Oracle 查询属性数据。