ArcGIS Server对象扩展(SOE)开发注意事项
1.SOE介绍
在ArcGIS 10.1中ArcGIS Server不在支持DCOM方式的连接,这也就意味着我们不能通过本地方式的连接使用ArcObjects提供的更多功能,所以我们推荐一种新的方式来实现这些功能,这种方式就是SOE服务器对象扩展。SOE存在于整个服务对象的生存期内,可以利用服务对象的资源并对其进行扩展。一个SOE通常在服务对象创建是初始化,并且在整个服务对象的生存期内只会被创建一次。SOE支持SOAP和REST两种访问方式,其通过强大的AO来扩展服务对象,并可以运行在一个没有AO的客户端中。
SOE特别适用于那些使用ArcGIS APIs无法完成的复杂业务逻辑功能。SOE可以提供粗粒度的接口,一次完成复杂的工作,而不是向服务器端发送大量的请求。目前大多数Gis公司都有管网项目,而ArcGIS APIs并没有为我们提供几何网络的有关内容,工程师们大多数通过利用AE在后台完成分析操作,然后返回json格式数据。这样每个公司可能会有一套自己的函数库用来完成以上问题,SOE的出现刚好可以用来提供统一的方法来解决这个问题,且其执行速度很快。
SOE比较适合那些有多种平台工作经验的开发者,开发一个SOE通常会用到AO、.NET或Java、REST或SOAP Web服务通信技术。
必须选择.net framework 3.5,vs2010默认选择为4.0,故看不见两个模板。
2.REST SOE
当客户端使用REST方式发送SOE请求时,实际上是利用HTTP协议发送了一个请求字符串,ArcServer获得该字符串后会将其解析成一系列命令执行,并返回JSON数据。