手持设备软件开发实训

Download Report

Transcript 手持设备软件开发实训

手持设备软件开发实训
手持设备软件开发实训
手持设备软件开发实训
第八讲 访问Web Services
一、Web Services简介
手持设备软件开发实训
Web的问世,进入了全球网络和信息时代,当网络只
是一个提供信息、交流信息、使用信息的平台,没有成为
一个计算平台。
作为嵌入式设备来说,其存储能力有限,在某些商业
应用场景中,服务器端的数据都是几十M、上百M级单位,
这么多的数据是不可能全部存储在嵌入式设备上的,所以
在实际应用系统中,往往需要利用嵌入式设备借助于Web
Services服务来获取服务器端数据。
1、Web服务定义
 Web Service就是一个应用程序,它向外界暴露出一
个能够通过Web进行调用的 API。
 能够用编程的方法通过Web来调用这个应用程序。
 把调用这个WebService的应用程序叫做客户端。
手持设备软件开发实训
2、Web Service优势
跨越防火墙的通信
Web Services 通过标准HTTP协议来传输数据,可
以很方便地跨越Intranet或者Internet网段,通过适当的配
置,对Web Services的访问可以很轻易地穿越防火墙。
同时,Web Services通常设计为面向服务的接口,只需
要向其发送命令来完成某一服务的请求,和服务器之间不
需要一个持久的连接,所以,通过Web Services可以很
方便地来访问远程服务器上提供的各种封装好的服务,来
获取数据或者向服务器提交数据。
手持设备软件开发实训
应用程序集成
在嵌入式环境下,平台多样性十分的突出,在一个应
用中可能会存在若干种不同的软硬件平台,有的有的硬件平
台运行的LINUX系统,有的是Windows CE系统,有了Web
Service 提供,就可以实现异构系统下的数据交互,主要是
依靠Web Service使用基于 XML的消息处理作为基本的数据
通信方式。
Web Service的核心特征之一就是服务的实现与使用之间
的高度抽象化。
手持设备软件开发实训
二、Web服务的构成
手持设备软件开发实训
三、代理类作用
通过代理类,可以引用远程的Web服务,在用户
应用程序中使用其功能,就像返回的数据是本地生产
一样。
用户
应用程序
代理
请求
响应
Web服务提供者
手持设备软件开发实训
四、如何使用Web服务
创建一个Web服务,定义Web服务的服务接口和
调用方法。
在Internet上发布Web服务。
查找Web服务以便使用它。
在客户端生成一个代理类。
调用Web服务。
五、访问MapPoint Web Service
MapPoint是微软提供的一个地图信息的Web Service,提
供全球各地的地理信息和商业网点信息(主要是北美和欧
洲地区)。MSN Search推出的地理搜索服务也是基于
MapPoint Web Service服务的。目前MapPoint还不包括中
国的地理信息。
手持设备软件开发实训
MapPoint暴露了四个Web服务:
1.查找服务--帮助我们定位地址、检索经纬度、地理
实体。
2.显示服务--这个服务允许我们显示指定地址的地图,
并设置被显示地图的大小和视图。
3.路线服务--这个服务允许我们生成路线、计算两个
地点之间的距离并提供驾车方向。
4.通用服务--它是一些工具,是上述的三个Web服务
公用部分。提供一些服务,例如国家信息和地图数据源信
息。
手持设备软件开发实训
类
说明
FindServiceSoap
提供地图查询服务的,根据指定
的地址检索位置信息,获取了地址的纬度和经度。
RenderServiceSoap
表现查询结果服务的,调用
RenderServiceSoap的GetMap方法来检索适当的图像,它是
作为流检索到的,并用位图显示出来。
FindAddressSpecification 用于指定地图的数据库,要查询
的地点。
RouteServiceSoap
提供路线服务
FindResults FindServiceSoap.FindAddress方法执查询,
返回查询操作的单个结果,FindResults类有属性"LatLong",
它会给出给定地址的纬度和经度。
MapOptions 包含RenderServiceSoap.GetMap方法的地图
显示选项
MapSpecification 包含地图显示的详细信息情况,它会保持
视图、图钉、图像格式等内容。
MapImage RenderServiceSoap.GetMap返回的地图
手持设备软件开发实训
六、项目中货物运输路线图Web服务
Web Services(http://staging.mappoint.net/standard30/mappoint.wsdl)
代理类
应用程序