"ArcGIS Server 经典开发模式—for Java"
ArcGIS Server 是一款由 ESRI 公司提供的地理信息系统 (GIS) 服务器软件,它允许开发者构建和部署地理空间服务。在这个经典开发模式中,重点是使用 Java Web Application Development Framework (Web ADF) 进行开发。Web ADF 是 ESRI 为了简化 GIS Web 应用程序的创建而提供的一种框架,它基于 JavaServer Faces (JSF) 技术。
**Web ADF 的适用场合**
Web ADF 适用于需要构建无插件的 Web 应用场景,特别是那些需要全面 GIS 功能的应用。通过此框架,开发者能够快速构建交互式的地图应用,无需过多关注底层的 GIS 复杂性。
**Web ADF 的组成部分**
Web ADF 包括以下核心组件:
1. **服务器端功能库**:提供了处理 GIS 逻辑和服务的后端组件。
2. **客户端 JavaScript 脚本库**:用于在浏览器端实现交互和动态更新地图等功能。
3. **模板**:预定义的 UI 结构,帮助快速启动项目。
4. **示例**:供开发者学习和参考的实际应用实例。
5. **文档**:详尽的开发指南和API参考,支持开发者进行开发工作。
**Web ADF 的结构**
Web ADF 的架构包括浏览器中的 JavaScript 库以及部署在 Web 服务器上的 ADF 组件。这些组件与用户的交互主要通过 JSF 页面完成,其中,JSF 页面由各种 ADF 控件构成。
**ADF 控件与 MVC 结构**
- **Context 控件**:非可视化组件,负责管理其他控件。
- **地图控件**:如 Map 和 Overview,提供地图展示和缩略图视图。
- **地图相关控件**:包括 Toolbar、Toc 和 Task,分别用于地图操作、图层控制和任务执行。
Web ADF 采用 Model-View-Controller (MVC) 设计模式,其中:
- **Model**:GISResource(如 MapService、GeoprocessingService)代表数据和业务逻辑。
- **View**:WebMap、WebToc 等 JavaBean 对象在用户会话中表示为可视元素。
- **Controller**:WebContext 在用户会话中协调和管理这些对象,同时连接到不同的 GISResource。
**ADF 运作原理**
ADF 的运行依赖于 web.xml 配置文件中的设置,如 FacesServlet 映射 *.jsf 请求以及 ADFServletContextListener 监听器。当 Java Web 服务器启动时,监听器的 contextInitialized 方法会被调用,初始化 ADF 环境。
ArcGIS Server 的经典开发模式利用 Java Web ADF 提供了一套完整的工具集,使得开发者可以方便地构建功能丰富的 GIS Web 应用程序,同时保持代码的组织性和可维护性。这种模式结合了 GIS 服务的强大功能和 Java 开发的灵活性,是构建企业级 GIS 解决方案的有力工具。