|
CORBA
、
EJB
),则业务逻辑组件可以继承所有应用服务器的特性,如:
•
事务处理
•
安全
•
状态管理
•
消息队列
•
数据库连接池
•
容错
•
多个应用服务器间的负载平衡
•
创建动态网页的
HTML
语言
一些高级的应用服务器支持
Web
服务接口如
CGI
、
NSAPI
、
ISAPI
,这些反过来支持用
Perl
、
Java
、
CORBA IDL
创建的组件。
相反,有些开发者喜欢直接使用
Java
或者
Sun
的
Java Servlet
环境,这需要编写很多的代码去模仿应用服务器的功能,
Servlet
开发者需要完全控制底层的
Web
环境。
MapXtreme Java
版本完全兼容
Servlet
容器。
有时开发商将起初设计为客户端运行的工具用于提供
Web
应用的解决方案,迫使它适用于服务器环境。而
MapXtreme Java
一开始就设计为服务器端运行的
Java
组件,特别支持:
•
多用户
•
每服务器多
CPU
•
跨平台,如支持
windows
平台或多种
Unix
平台
•
数据库连接池
智能多线程
MapXtreme
使用智能的
Java
线程支持多并发用户,每个用户只占用很少的内存,增加
CPU
可以负担用户数的扩展。测试表明,
MapXtreme
服务引擎需要
8Mb
的内存,而每个并发用户仅需
50k
到
100k.
智能的
Java
线程基于复杂的排队模型,最小化等待时间,最大化利用
CPU
、内存、磁盘、网络资源。例如,当一个线程正在处理一个用户的地图请求,其他三个线程可以处理先前三个用户请求的结果传输。
基于组件结构的灵活性
由于 MapXtreme 是基于组件的,所以在部署上有很大的灵活性。它包括两个高层的组件:地图渲染 (Render) 组件,用于显示地图;数据提供组件( DataProvider ),用于访问 MapInfo Tab 格式的文件和远程数据库的连接。在标准的配置中,这两个组件被部署在服务器端。但为了满足更为复杂的地图操作如地图制作和图形编辑, MapXtreme Java 提供了一个可选的配置,即将地图渲染部署在客户端 , 而将数据提供组件部署在服务器端,要注意的是这种部署更加适用于内部局域网 Intranet 而非互联网 Internet 网。 |