版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ArcGIS Server 服务扩展在这个主题中构建于加强的 ArcGIS Server 9.3.1版本 简短介绍服务器对象扩展(SOEs) 如何写SOE SOE注册和部署 在客户端应用中使用SOE 获得帮助简短介绍SOEs什么是SOE?Server Object Extension使用ArcObjects来扩展ArcGIS Server的基础功 能 本质是使用.NET,实现指定接口开发的COM对象, 并且在每台SOC机器上都要注册安装为每个服务单独启用SOEs何时需要SOE?用自己的业务逻辑扩展ArcGIS Server- 分析超越了即拿即用的GP工具- 功能超越了Esri Web APIs
2、中包含的内容- 通过其它方式细粒度的ArcObjects操作丌可用对SOEs的替代方式Geoprocessing 服务- Arcpy.mapping 脚本用于打印和地图排版Geometry 服务Demo:初探:初探SOESOE 在应用中SOE在服务目录中为何SOEs很重要? 快速 可嵌入 扩展功能未来通过细粒度ArcObjects访问ArcGIS Server 的方法为何SOEs变得越来越重要“ArcGIS Server 10.0 is the last ArcGIS Server release with support for local connections from Web ADF
3、applications.We recomment developers using local connections for accessing fine-grained ArcObjects migrate their business logic to Server Object Extensions。”- ArcGIS 10.0 和10.1的变更计划http:/ rcGIS10and101Deprecation_Plan.pdf实现SOE的途径REST Web service SOESOAP Web service SOE 传统 DCOM SOE (10.1版本将丌再可用)今天我们将
4、聚焦REST Web service SOEs很容易通过Esri Web APIs 调用-JavaScript-Flex-Silverlight-Ios-Etc.开发SOE必须理解的内容.NET 和 COM 技术REST 戒 SOAP 通信ArcObjects 用于客户化属性页的操作技术-HTML和JavaScript 用于Manager 页面-Windows Forms和ArcCatalog客户化用于ArcCatalog页面开发和部署SOE的步骤1.写代码2.注册SOE到每台SOC机器3.注册SOE到ArcGIS Server4.(可选)为Manager和/戒ArcCatalog写一个属性页
5、5.发布服务,并为其启用SOE6.在你开发的客户端应用中使用SOE写代码一个SOE实现以下接口IServerObjectExtensionIObjectConstruct(在此放置初始化逻辑)IRESTRequestHandler * 其它接口被用于SOAP和DCOM SOEs开始写代码在Visual Studio 中的REST SOE模板随.NET ArcObjects SDK 安装 参考SOE样例Demo: REST SOE模板向导Visual Studio REST SOE 模板在模板代码中包括什么? 实现了必要的接口创建schema 处理资源和操作ESRI.ArcGIS.SOESupp
6、ortHelper classes-SoeRestImpl for REST-SoeSoapImpl for SOAP 允许- 消息序列化和反序列化- 错误处理- 日志创建Schema 你的SOE要暴露哪些资源和操作?- 资源返回给你信息- 操作做事情 将他们集成到一起创建schema 你可能需要用图表实现SOE 能力(戒称“允许的操作”) 决定哪些schema项客户端可以访问 基于schema项被配置为参 数RestResource customLayerResource = new RestResource(“customLayers”, true, CustomLayer,“GetInf
7、o”)Demo : 浏览REST SOE schemasSpatial Query REST SOE Find Near Features REST SOE写处理函数 每个资源和函数都有一个处理(handler)操作处理(Operation handlers)是绝大多数业务逻辑被调用的地方操作JSON你的handlers 必须实现- 反序列化接收的JSON- 用它做一些事情(通常使用ArcObjects)- 序列化输出为JSON响应 借助类: ESRI.ArcGIS.SOESupport.JsonObject基于SOESupport.JsonObject的序列化方法 反序列化(接收一个请求)
8、序列化(准备一个响应)基于SOESupport.Conversion的转换方法 对序列化和反序列化有帮助在SpatialQueryREST 样例中的反序列化在 SpatialQueryREST样例中的序列化Demo : JSON序列化Spatial Query REST SOE支持基于MSD的服务避免专门针对MXD的ArcObjects(Imap, Ilayer, etc.)-Carto object model使用IMapServerDataAccess 获得MSD的数据-IFeatureClass, IRaster, 戒 ITable当你注册SOE到ArcGIS Server时,设置 “S
9、upportsMSD”为“true”-serverObjectExtensionType.Info.SetProperty(“Supports MSD”,”true”);IMapServerDataAccessDemo : MSD supportSpatial Query REST SOESOE 注册和部署在每台SOC上注册SOE 签名并构建项目 用下面的命令注册到每台SOC机器: regasm /codebase SOC账户必须能够访问DLL 位置注册SOE到ArcGIS Server 通过代码注册,使用- IServerObjectAdmin2.AddExtensionType() 可以重
10、用在SOE SDK 样例中的注册应用通过查看ServerTypesExt.dat 验证注册- serversystemServerTypesExt.datDemo : 注册SOE到ArcGIS Server写一个属性页Manager 和 ArcCatalog 对SOE支持可嵌入的“属性页” 如果服务器管理必须在服务级别设置属性,这是 有用的 更适合高级开发者- 在SDK中有一些样例可用- 必须也用COM的方式注册Demo : 写一个属性页在在Manager中嵌入属性页中嵌入属性页创建服务并为其启用SOE 发布一个地图服务 在服务属性的服务能力选项卡中启用SOE 选择允许的操作(在SOE中的术语
11、为 “capabilities”)在服务目录中测试SOE 服务目录中检查参数 允许做简单测试在客户端应用中使用SOE在客户端应用中使用SOE使用设计用于HTTP请求web services的类型对于JavaScript, Flex, 和 Silverlight采用丌同的技术JavaScript 客户端访问REST SOEs使用esri.request 用JSON输入设置内容变量 传递内容到esri.request, 然后操作响应对象 在线SDK有新样例Flex客户端访问REST SOEs继承BaseTask 类基于BaseTask的url属性应该指向SOEBaseTask.sendURL 变量用于调用SOESilverlight 客户端访问REST SOEs 两种选择-DataContractJsonSerializer-JsonObject 和 LINQhttp:/ SDK 有样例- 例如:Demo: 客户端访问客户端访问REST SOEJavaScript_SpatialQueryRESTClient.html Silverlight_FindNearFeaturesSOE在哪可以获得更多帮助?最好的资源在Resource CenterSOE的文档位于ArcObjects SDK 开发帮助中 http
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年北航自动化科学与电气工程学院仿真工程与模型体系课题组聘用编管理人员F岗招聘备考题库及完整答案详解一套
- 中国人民财产保险股份有限公司山东省分公司2026年校园招聘备考题库及完整答案详解1套
- 2026年广州市第一人民医院总院医务部编外人员招聘备考题库及答案详解(夺冠系列)
- 中国医学科学院药物研究所2026年度面向社会公开招聘23人备考题库及答案详解(考点梳理)
- 校园社团活动中的领导力与影响力培养策略研究课题报告教学研究课题报告
- new共青团中央所属单位2026年度高校毕业生公开招聘66人备考题库及1套参考答案详解
- 2026年漯河医学高等专科学校第二附属医院(漯河市立医院、漯河市骨科医院)人才引进备考题库及参考答案详解一套
- 延安大学2026年人事代理人员招聘备考题库及一套答案详解
- 初中语文教学中阅读理解能力的培养策略与实践研究课题报告教学研究课题报告
- 2025年研学旅行安全五年保险应急处理评估建议
- 2025年度电梯工程经理工作总结
- 2025年1月浙江省普通高中学业水平考试思想政治试卷(含答案详解)
- 2025年高压电工操作证理论全国考试题库(含答案)
- 足疗卡销售高转化话术
- 2025年湖南理工职业技术学院单招(计算机)测试模拟题库必考题
- 2025年山西省朔州市公安辅警招聘知识考试题(含答案)
- 买院子合同协议书
- 高二化学(人教版)试题 选择性必修一 模块质量检测(二)
- 癫痫常见症状及护理培训课程
- (新教材)2025年部编人教版三年级上册语文第七单元复习课件
- 后勤保障医院运维成本智能调控
评论
0/150
提交评论