首页 励志故事 公司的软件

公司的软件

时间:2022-01-19 励志故事 版权反馈
【摘要】:在移动终端和MapXtend服务器之间存在着大量的大小不一的消息,一幅地图大约在5K左右、路径信息平均在2K左右。在Web应用服务器中的服务配置部件定义了服务的信息和设置。MapXtend服务器是基于XML可动态配置的,因此能够通过网络远程定制。
公司的软件_网络地理信息系统

8.4.1 MapInfo公司的MapXtend软件

1.体系结构

典型信息设备客户端具有内存小、存储少、屏幕小、性能低、带宽窄、功能有限和输入不方便等局限性。MapXtend在设计时充分考虑“电池”、“内存”、“处理能力”和“窄带”四个影响因素,采用“胖服务器、瘦客户”的体系结构。业务逻辑层驻留在服务器端。由于大部分移动设备只有很小的内存和存储空间,仅把用户交互等模块放在移动终端。即使是PDA型的信息设备,由于大部分内存用来存储用户数据库,因此通常也只剩下KB级的内存单元来运行应用程序,并且由于其屏幕大小有限。因此MapXtend的客户端设计成轻量型,并且充分利用了服务器端的处理能力。在移动终端和MapXtend服务器之间存在着大量的大小不一的消息,一幅地图大约在5K左右、路径信息平均在2K左右。在无线应用环境中,地图请求通常比较少,而其他请求,例如位置、邻近点、路径、方向和地理编码的请求却非常多。

MapInfo提供基于J2ME和J2EE技术的Java API函数允许用户二次开发,来创建客户端或服务器端的移动应用,客户端支持具有丰富用户界面和本地永久数据存储的智能应用程序。它提供了一种方便又安全的框架来创建可以运行在蜂窝手机和PDA无线设备的应用程序如图8-5所示,MapXtend API函数遵循3层体系(客户机、服务器和服务)的分布式架构,在每层中都有相应的二次开发包。

MapXtend采用基于XML和HTTP协议的请求-响应模式。它包含编码预处理引擎(Xalan for Apache),允许XML编码的信息转化为其他标志语言(例如HDML、WML或HTML)编码的信息。请求和响应的XML文档都是由相应的DTD来控制其语法和语义。

客户端以HTTP的Get或Post方法提交请求给已知特定URL的MapXtend服务器,MapXtend服务器把请求指派给相应的已经注册的服务,这些服务再把请求发送给一个空间处理服务器或第三方的服务器,来共同完成任务。

Web应用服务器初始化MapXtend servlet,这个servlet接收和解析客户端的http/XML请求和发送响应信息。在Web应用服务器中的服务配置部件定义了服务的信息和设置。服务配置是MapXtend XML配置文件的一个部分,它由服务管理器生成。

img172

图8-5 MapXtend软件体系架构(引自MapInfo)

服务部件是服务器配置最为重要的部分,它定义了系统中可用的服务。每个服务都必须至少有一个名字和一个特定的类。当这个实现了特定服务的Java类存储在网络节点上(jar文件或类目录时),只要提供网络节点的URI地址,就能实现类的远程装载。

数据源配置部件是整个服务器的核心,包含了MapXtend服务能够访问的数据库链接信息、数据描述和外部服务器属性。

代理部件是一些专题的集合体。代理部件允许用户指定需要缓冲的数据集,一个专题是一系列层的集合,代表了逻辑数据结构,便于对数据进行分类。

MapXtend目录是一系列类的集合,允许MapXtend直接通过Java客户端与其他服务器之间通信。MapXtend服务器提供访问MapInfo服务器,例如MapXtreme Java、MapMarker、Routing J server、Topology Manager Enterprise和Data Manager的接口。MapXtend服务器是基于XML可动态配置的,因此能够通过网络远程定制。在MapXtend目录包中,上述每种服务均有相应的客户扩展类的实现,并且对于多种无线设备提供特定格式数据传递的适配器。由于依赖于这些产品的客户端实现,MapXtend目录必须包含引用的jar文件。

2.MapXtend服务器

MapXtend服务器通过分布式服务控制和处理HTTP/S请求。服务器要求Web服务器必须具有Servlet容器的功能。服务器充当服务管理的角色,负责把请求指派给相应的服务。每个输入的请求均有指派的服务实例。请求必须带有特定的“service”参数,例如http://localhost/servlet/MapXtend?service= HelloWorld。MapXtend服务器是完全可配置的。服务配置文件是以XML文档格式进行保存的,包含4个主要组成部分:服务器、代理、数据源和服务。这个文件可以放置在网络的任意位置。其主要特点和功能如下:

①通过HTTP/S的请求/响应通道支持客户端和其他服务器之间的双向通信。

②分布式体系,允许定制服务动态注册为应用程序业务逻辑的一部分或所提供服务的扩展。

③动态重装载和通过编程改变服务器资源。

④便于访问代理服务器,便于数据处理和资源分发。

⑤支持以XML、SOAP和字节流编码方式的请求和响应。

⑥独特的直接非对称记录集(DAR),服务器端和客户端统一的数据载体

⑦通过使用MapXtreme Java程序,动态制图和生成栅格地图包。

⑧通过DataProvider或JDBC直接访问海量空间数据

⑨使用GML v2.0进行几何数据编码。

⑩使用MapMarker服务器支持地址编码。

img173使用MapInfo Routing J Server支持路径服务。

img174数据管理器完成对非空间数据的访问和查询。

img175特定于不同设备的栅格和空间数据自适应技术(例如浏览器、Palm、WML、iDEN等设备)。

img176支持SOAP 1.0格式的请求和响应。

img177支持多段请求和重定向。客户请求以XML流的方式包含了DAR数据。

img178支持GML数据的表现和编辑。

img179支持通过XSLT进行样式转换。

img180能够配置成WAR,部署在Servlet容器中。

3.MapXtend客户端

MapXtend提供了基于J2ME技术的客户端实现。客户端API函数是一系列包的集合,提供了以下功能:与MapXtend服务器双向通信功能;远程服务协议-客户端服务通信接口;多部分http请求;上载XML流数据到服务器;实现了可管理的非对称记录集合-DAR;从服务器动态下载栅格、位置、GML几何对象和文本数据;图层管理器-本地数据源管理;栅格数据操作界面-彩色/单色转化;缩放和漫游工具;位置数据操作界面-兴趣点工具;GML数据支持-显示、选择、查询、编辑;文本数据操作界面-标注工具;自定义绘制和符号化。

特定信息设备(例如Palm)实现的客户端接口被分门别类放置在不同的目录中(例如client/db/palm目录)。客户端接口的功能根据设备类型无关的准则进行设计,客户端应用程序设计必须充分考虑有限的内存和较低的处理能力,采用基于设备的特定J2ME API(MIDP或PersonalJava)来进行编写。MapXtend客户端API由以下6个主要部分组成:

通信包(com.mapinfo.mapxtend.client.io);

DAR模型包(com.mapinfo.mapxtend.client.layer);

GML包(com.mapinfo.mapxtend.client.gml和com.mapinfo.mapxtend.gml);

跟踪包(com.mapinfo.mapxtend.client.tools);

GPS包(com.mapinfo.mapxtend.client.gps);

声音包(com.mapinfo.mapxtend.audio.p)。

4.无线应用构建器(WAB)

无线应用构建器(WAB)是允许用户部署MapXtend 2.1和集成各种MapInfo和第三方的服务器或服务的工具。WAB应用包含两个核心部件:WAB服务(服务实现)和WAB客户(GUI的客户端)。

WAB提供给MapXtend用户以下功能:在同一个servlet容器中部署和运行多个MapXtend服务实例的能力;MapXtend与其他不同版本的服务器绑定的能力(例如MapXtreme Java 3.1或4.0);使用不同版本和结构的MapXtend服务生成Web应用程序的能力。

应用程序能够使用不同版本在同一个Web服务器中部署和运行,具有配置和构建Web档案包(WAR)文件的能力。

5.MapXtend管理器

MapXtend管理器协助应用程序开发者或系统管理员配置、部署和定制服务。管理器提供了基于Web的用户界面控制服务的XML配置、状态追踪和运行参数显示。管理器基于后端的servlet引擎、前端的HTML/DHTML和JavaScript进行实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈