ArcGIS Server服务扩展——Java篇_秦桐

时间:2025-04-30

arcgis学习

ArcGIS Server服务扩展——Java篇Esri中国(北京)有限公司秦桐

arcgis学习

SOEs介绍

arcgis学习

什么是SOEs

自定义功能访问方式

同SOC生命周期 通过ArcObjects访问地图和数据 与存储过程类似

SOAP(9.3.1+) REST(10+) DCOM(9-10)

arcgis学习

为什么创建SOEs 消除往复调用 数据紧密性 GUI紧密性

性能

功能性可重用性

充分利用ArcObjects ADF移植

跨平台,跨服务 最小重写

arcgis学习

SOEs使用场合

解决应用问题可降低开发难度项目及人员特点

作为程序一部分 解决性能或功能性问题 与Geoprocessing工具比较 (Model Builder+ Python)

Java(.Net)及AO开发能力 项目时间安排

arcgis学习

建立SOEs

arcgis学习

创建SOEs步骤

开发SOE设计SOE创建控制台程序

IMapServerDataAccess访问地图,图层数据

需要的对象和方法 SOE&REST参数和返回值

设计→实现 易于调试

arcgis学习

创建SOE

SOE for SOAP

扩展SOAPRequestHandler 生成WSDL 生成客户端proxy classes

SOE for REST

实现IRestRequestHandler 定义JSON schema 绑定业务到handleRESTRequest

arcgis学习

创建SOE演示

arcgis学习

部署-调试-测试 JAR文件清单中依赖库路径 *.jar→/java/lib/ext通过ArcGIS Server Manager或SOEManager注册完整帮助http://www.77cn.com.cn/aKLWfC

部署

调试

JavaConfigTool,启用Interop logging通过Server日志调试建议只保留一个服务完整帮助

测试

REST:使用Service Directory SOAP:使用Proxies

arcgis学习

调用SOEs

arcgis学习

调用SOE

客户端设计客户端实现

在Tasks基础上搭建模型 尽量重用API中现有对象 不要盲目暴露JSON对象

基于HTTP类库实现请求 解析结果(JSON) 转换为API内部对象(要素集,图像或原始类型 将FeatureSet加入GraphicsLayer

arcgis学习

调用SOE演示

arcgis学习

REST参数/返回值类型

JSON二进制任意类型

是字符串 可表示数值,日期

使用Base64编码 以字符串形式传输 使用Apache commons codec类解码

返回字节数组 客户端必须可以解译信息

arcgis学习

调用时状态

SOC无状态是否状态化方法一方法二

SOC是无状态架构

多次调用间无输入信息——无状态 调用间有输入信息——有状态

使用数据库 配置服务时提供参数给数据库 数据库中存储状态,只发送key

状态序列化→字符串 往复传递状态

arcgis学习

空的Server Context

空的Server Context SOE是否合适空地图

ADF程序可以处理与地图图层无关的AO业务 即使对于ADF程序也不适合

SOE数据紧密 建议自定义GP工具

建议用Geoprocessing工具

ArcGIS Server服务扩展——Java篇_秦桐.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219