MXTJ主要由 MapXtremeServlet、MapJ、Renderers、Data Providers四部分构成。
MapXtremeServlet是系统的地图服务供给者,它提供如下服务:1 提供栅格地图数据服务,2 提供矢量地图数据服务,3 提供图元文件数据服务(例:tab表里的属性信息);
MapJ位于Mapxtreme客户端应用程序开发包API的最顶端作用有二:1 管理地图集的各种状态(例:地图中心位置、地图视野、地图坐标系等),2通过向MapxtremeServlet服务实例转发客户请求获得Servlet响应的数据和图片;
Renderer用来生成返回客户端地图数据的组件,有四种:LocalRenderer、MapXtremeImageRenderer、.Intra-Servlet Container Renderer、Composite Renderer。使用MapXtremeImageRender可以在远程产生地图图像,包含MapJ的应用程序和远程一个MapXtremeServlet实例通讯,产生地图图像;LocalRender将地图输出为Java2D Graphics2D对象,所有的Render在客户端产生,也即所谓地图的矢量传输方式;使用IntraServletContainerRenderer不需socket connection,从而MapXtremeSevlet将地图直接传回给客户端;Composite Renderer将地图分为动态与静态图层,当需要更新地图时,可只更新动态图层,而静态图层仅生成一次。
Data Provider是Layer(图层)对象的内部对象,它不是直接由用户创建的,但是它的描述是对图层的定义。要描述Data Provider通过如下接口:TableDescHelper - 描述数据; DataProviderHelper - 定义数据的源;ataProviderRef - 描述获取数据的方式。
什么是MapXtremeJava ?
MapXtremeJava是一种图形开发工具,使用MapXtremeJava可以开发出适合自己的地图应用,实现更有效的资源和资产管理。MapXtremeJava是服务器端软件,对于提高系统的可扩展性、可维护性、稳定性、安全性,降低总体成本有很大帮助。
MapXtremeJava 100%地兼容Java2,可以支持Unix、Linux、Windows平台。MapXtreme包括MapXtremeServlet(地图引擎)、MapJ API、MapXtremeJavaBean、企业管理器和应用程序创建向导、JSP tags库、连接管理器、Java2 VM、示例程序、示例地图、相关文档等。各个层次的开发者(如精通Java的开发者)都可以使用MapJAPI定制自己的应用,一般的开发者也可以通过JavaBean开发应用,甚至不懂Java的人也可以通过创建应用程序向导,通过JST tags创建一个简单的JSP地图应用。
MapXtremeJava还拥有一个重要的组件MapXtremeServlet,用来处理地图请求并返回响应,MapXtremeJava只需关注地图的处理,其他事情如负载平衡、安全等问题可由ServletContainer处理。
为什么用MapXtremeJava
MapXtremeJava拥有丰富的地图功能、开放的数据接口、易于安装和配置、集成了ServletContainer Tomcat等特性使得MapXtremeJava可以带来诸多好处。
● 跨平台:可以将应用和数据发布在不同平台不同计算机上。
● 可扩展性好:MapXtreme基于组件的设计,其可靠性和多线程为不断扩展应用程序提供了保证。
● 发布方便:MapXtremeJava兼容J2EE Web Server和浏览器,不需要额外的插件。
● 面向对象:MapJ API是相对于地图引擎MapXtremeServlet的客户端API,每个地图请求都使用一个MapJ实例。MapXtreme是异步多线程而且不保留状态,可以提供最好的性能。
● Server端Java技术:MapXtreme无需使用插件或客户端工具包,它是一个服务器端的基于组件的技术,可以支持许多并发用户,支持集群、多CPU、跨平台,且有数据库连接池等。
● 智能多线程:使用ServletContainer或Application智能多线程技术,可支持多个并发用户,占用内存很小。测试证明,稳定状态的MapXtremeServlet引擎需要8MB内存,平均每个用户占用100K~200K内存。
● 组件化设计:组件化的设计使MapXtreme既可以用于ClientServer结构也可用于BrowserServer结构。
● 连接远程数据:可以将地图数据放在空间数据库里通过MapXtreme访问。
● 兼容Web环境:兼容支持ISAPI、NSAPI、CGI的Web环境。建议使用能够产生Java对象实例的ApplicationServer,如Apache+Tomcat等。
● 编程方便:提供创建应用向导和JSP tags,可以减少编码工作。
MapXtremeJava创建的应用
这样的应用可以为客户提供地图操作工具、选择图元、画出搜索区域、查询地图信息,创建专题图,控制地图上图元和标注的可视性等。可以将MapXtreme应用和现有的企业应用结合在一起,如:
● 实时接入公司和客户数据,更快更好地为客户服务;
● 为电信和交通行业提供网络监控、故障检测、客户服务等;
● 为供应链管理提供物流、商业分布等可视化应用;
● 在CallCenter使用MapXtremeJava。