地理信息系统ArcGIS Server上的Java服务扩展

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ArcGISServerJava服务扩展SOEs介绍什么是SOEs•同SOC生命周期•通过ArcObjects访问地图和数据•与存储过程类似自定义功能•SOAP(9.3.1+)•REST(10+)•DCOM(9-10)访问方式为什么创建SOEs•消除往复调用•数据紧密性•GUI紧密性性能•充分利用ArcObjects•ADF移植功能性•跨平台,跨服务•最小重写可重用性SOEs使用场合解决应用•作为程序一部分问题•解决性能或功能性问题•与Geoprocessing工具比较(ModelBuilder+Python)可降低开发难度项目及人•Java(.Net)及AO开发能力员特点•项目时间安排建立SOEs创建SOEs步骤开发SOE•IMapServerDataAccess设计SOE•需要的对象和方法•SOE&REST参数和返回值创建控制台•设计→实现程序•易于调试创建SOE•扩展SOAPRequestHandler•生成WSDL•生成客户端proxyclassesSOEforSOAP•实现IRestRequestHandler•定义JSONschema•绑定业务到handleRESTRequestSOEforREST创建SOE演示部署-调试-测试部署•JAR文件清单中依赖库路径•*.jar→/java/lib/ext•通过ArcGISServerManager或SOEManager注册•完整帮助调试•JavaConfigTool,启用Interoplogging•通过Server日志调试•建议只保留一个服务•完整帮助测试•REST:使用ServiceDirectory•SOAP:使用Proxies调用SOEs调用SOE•在Tasks基础上搭建模型•尽量重用API中现有对象•不要盲目暴露JSON对象客户端设计•基于HTTP类库实现请求•解析结果(JSON)•转换为API内部对象(要素集,图像或原始类型•将FeatureSet加入GraphicsLayer客户端实现调用SOE演示REST参数/返回值类型•是字符串•可表示数值,日期JSON•使用Base64编码•以字符串形式传输•使用Apachecommonscodec类解码二进制•返回字节数组•客户端必须可以解译信息任意类型调用时状态•SOC是无状态架构SOC无状态•多次调用间无输入信息——无状态•调用间有输入信息——有状态是否状态化•使用数据库•配置服务时提供参数给数据库•数据库中存储状态,只发送key方法一•状态序列化→字符串•往复传递状态方法二空的ServerContext•ADF程序可以处理与地图图层无关的AO业务•即使对于ADF程序也不适合空的ServerContext•SOE数据紧密•建议自定义GP工具SOE是否合适•建议用Geoprocessing工具空地图SOE对AO集成度•不推荐•SOE仅在自定义功能的程序下有价值大量封装AO•根据程序设计定义SOE•封装高网络开销的细粒度方法选择性封装AO常见问题•不支持是否支持流•不支持(没有中间件)是否支持推送•SOE不包含计划任务模块•可以通过客户端计划调用实现是否支持计划任务•不支持•可通过中间件获取信息并返回SOE是否支持http头信息

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功