关于构建REST风格的SOE的策略

来源:互联网 发布:淘宝网65平开窗传动器 编辑:程序博客网 时间:2024/06/12 00:35

为了能够创建REST风格的SOE,你需要仔细的计划什么信息什么类型的信息会被发送到服务器以及你期望返回什么内容。要考虑到REST SOE包括资源和操作。如下所示:

资源就是你从服务器获取的一些信息,比如有可能是地图下的图层列表或者是切片地图中可用层级的信息。如果你有一定的编程经验的话,可以把资源看成一种只读属性。

操作就是让服务器对资源进行处理的方法。在执行完一项操作之后,你可能获取文字信息、图像或者是其他信息。操作就相当于编程中的方法。

在你开始编写REST SOE代码之前,你需要确定SOE需要暴露哪些资源与操作。如果有必要的话,你可以画一个图表,并注明每项的输入参数以及输出结果。REST SOE可以暴露多个资源与操作,如此一来有可能会导致你的SOE非常复杂。如果你刚刚开始学习SOE,你最好用只有一个操作的SOE作为练习。

为什么在你编码之前设计REST SOE的schema如此重要?因为你需要通过编程的方式来创建你的SOE的schema。通过相应的模板开始创建SOE,你需要将模板中的资源和操作替换成你自己的资源与操作。从根资源(你的SOE的根URL)开始,逐渐增加资源与操作,知道你的schema创建完成。

你需要创建schema的另一个原因是你需要对所有的请求以及反映结果进行序列化与反序列化。比如,输入了x、y坐标作为一个操作的参数,这些信息会以JSON的形式传递到服务器。在你的代码中,你需要实现读取这个JSON数据并从中获取x、y坐标将其转换为IPoint接口或者转成成其他GIS用来进行处理的对象。ESRI.ArcGIS.SOESupport库可以帮你完成这些,但是你最好还是你传入服务的类型以及服务的响应结果的类型,这样你就可以为反序列化与序列化做好准备。