GIS服务聚合系统
MP080689
说 明
摘 要
本发明公开了一种GIS服务聚合系统~包括:客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端包括请求提交模块、Web接口模块、组件调用模块、服务访问组件、客户端服务聚合模块和叠加模块,所述Web服务器包括客户端接口模块、GIS接口模块、组件调用模块、服务访问组件和Web层服务聚合模块,所述GIS服务器包括Web服务器接口模块、组件调用模块、服务访问组件和GIS层服务聚合模块,本发明应用于GIS领域中~通过将不同类型、不同来源的服务通过标准化流程进行一体化整合~并通过统一的方式发布给GIS客户端~更好地将SOA跟GIS结合~满足GIS领域对业务敏捷的需求。
10002 2006.7 1
MP080689
摘要附图
客户端Web服务器
121111客户端接口模块请求提交模块GIS服务器
131Web服务器接口模块112122Web接口模块GIS接口模块
132113组件调用模块123组件调用模块组件调用模块
124133服务访问组件114服务访问组件服务访问组件
134GIS层服务聚合模块115125客户端服务聚合模块Web层服务聚合模块
116叠加模块1103
11011102
10002
2006.7 1
MP080689
权 利 要 求 书
1、一种客户端的服务聚合方法~其特征在于~所述客户端具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法包括:
客户端接收服务聚合请求~所述请求中包含需要在客户端聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
依据所述第三方服务的类型信息调用相应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得客户端服务聚合结果。
2、如权利要求1所述的方法~其特征在于~所述请求中还包括需要聚合的本地地图数据信息~所述服务聚合处理的步骤进一步包括:
在所述地图数据上叠加所述第三方服务的数据信息。
3、如权利要求1或2所述的方法~其特征在于~还包括:
在客户端界面展示所述服务聚合处理结果。
4、如权利要求1或2所述的方法~其特征在于~所述第三方服务信息通过连接Web服务器而获得。
5、一种Web服务器的服务聚合方法~其特征在于~所述Web服务器与客户端连接~具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法包括:
步骤S1、预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤S2、接收客户端提交的服务聚合请求~判断所述请求中是否包含需要在Web服务器聚合的第三方服务的信息,若是~则跳转步骤S4,若否~则跳转步骤S3,
步骤S3、从所述服务列表配臵文件中读取第三方服务的信息,
步骤S4、依据所述第三方服务的类型信息调用相应的服务访问组件~10002
2006.7 1 1
MP080689
由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤S5、提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果
步骤S6、将所述Web层服务聚合结果返回至客户端。
6、如权利要求5所述的方法~其特征在于~所述步骤S5进一步包括:
提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为Web层服务聚合结果。
7、如权利要求5所述的方法~其特征在于~所述步骤S5进一步包括:
提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为Web层服务聚合结果。
8、如权利要求5、6或7所述的方法~其特征在于~还包括:
客户端直接展示所述Web层服务聚合结果,
或者~客户端在本地地图数据上叠加所述Web层服务聚合结果,
或者~客户端在相应的客户端服务聚合结果上叠加所述Web层服务聚合结果。
9、一种GIS服务器的服务聚合方法~其特征在于~所述GIS服务器与Web服务器连接~具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法包括:
接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
10002
2006.7 2
MP080689
向Web服务器返回所述GIS层服务聚合结果。
10、如权利要求9所述的方法~其特征在于~通过以下步骤进行服务聚合处理:
提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为GIS层服务聚合结果。
11、如权利要求9所述的方法~其特征在于~通过以下步骤进行服务聚合处理:
提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为GIS层服务聚合结果。
12、如权利要求10或11所述的方法~其特征在于~所述服务聚合处理步骤还包括:
将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。
13、如权利要求9、10或11所述的方法~其特征在于~所述Web服务器与客户端连接~所述的方法还包括:
所述Web服务器将所述GIS层服务聚合结果返回至客户端。
14、如权利要求14所述的方法~其特征在于~还包括:
客户端直接展示所述GIS层服务聚合结果,
或者~客户端在本地地图数据上叠加所述GIS层服务聚合结果,
或者~客户端在相应的客户端服务聚合结果上叠加所述GIS层服务聚合结果。
15、一种GIS服务聚合方法~其特征在于~所述服务聚合处理涉及客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法包括:
客户端接收服务聚合请求~所述请求中包括:需要在客户端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
10002
2006.7 3
MP080689
客户端将所述需要在Web服务器聚合的第三方服务信息提交至Web服务器,
所述Web服务器将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,
所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并返回至Web服务器,
所述Web服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果,
所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合结果返回至客户端,
所述客户端依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
16、一种GIS服务聚合方法~其特征在于~所述服务聚合处理涉及客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法包括:
客户端接收服务聚合请求~所述请求中包括:需要在客户端和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
客户端向Web服务器提交所述服务聚合请求,
所述Web服务器将所述需要在GIS服务器聚合的第三方服务信息提10002
2006.7 4
MP080689
交至GIS服务器,
所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并返回至Web服务器,
所述Web服务器从预臵的服务列表配臵文件中读取第三方服务的信息~依据所述第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果,
所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合结果返回至客户端,
所述客户端依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
17、一种位于客户端的服务聚合装臵~其特征在于~所述客户端具有对应于第三方服务的类型设臵的多个服务访问组件~所述装臵包括:
请求提交模块~用于接收服务聚合请求~所述请求中包含需要的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
客户端聚合模块~用于提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得客户端服务聚合结果。
10002
2006.7 5
MP080689
18、一种位于Web服务器的服务聚合装臵~其特征在于~所述Web服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述的装臵包括:
服务列表配臵模块~用于预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
客户端接口模块~用于接收客户端发出的第三方服务聚合请求~以及~向客户端返回Web层服务聚合结果,
请求分析模块~用于判断所述请求中是否包含需要在Web服务器聚合的第三方服务的信息,若是~则触发组件调用模块,若否~则触发配臵文件读取模块,
配臵文件读取模块~用于读取所述服务列表配臵文件~获得第三方服务的信息,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果。
19、如权利要求18所述的装臵~其特征在于~所述Web层服务聚合模块进一步包括:
类型转换子模块~用于提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为Web层服务聚合结果。
20、如权利要求18所述的装臵~其特征在于~所述Web层服务聚合模块进一步包括:
二次处理子模块~用于提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为Web层服务聚合结果。
10002
2006.7 6
MP080689
21、如权利要求18或19所述的装臵~其特征在于~所述Web服务器与GIS服务器连接~所述GIS服务器用于向Web服务器返回GIS层服务聚合结果~所述Web层服务聚合模块进一步包括:
Web层数据合并子模块~用于Web层服务聚合结果与GIS数据和/或所述GIS层服务聚合结果进行合并~将合并结果作为Web层服务聚合结果。
22、一种位于GIS服务器的服务聚合装臵~其特征在于~所述GIS服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述的装臵包括:
Web服务器接口模块~用于接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,以及~向所述Web服务器返回所述GIS层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
GIS层服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
23、如权利要求22所述的装臵~其特征在于~所述GIS层服务聚合模块进一步包括:
类型转换子模块~用于提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为GIS层服务聚合结果。
24、如权利要求22所述的装臵~其特征在于~所述GIS层服务聚合模块进一步包括:
二次处理子模块~用于提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为GIS层服务聚合结果。
10002
2006.7 7
MP080689
25、如权利要求23或24所述的装臵~其特征在于~所述GIS层服务聚合模块还包括:
GIS层数据合并子模块~用于将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。
26、一种GIS服务聚合系统~其特征在于~包括:客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端包括:
请求提交模块~用于接收服务聚合请求~所述请求中包括:需要在客户端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
Web接口模块~用于将所述需要在Web服务器聚合的第三方服务信息提交至Web服务器~以及~接收Web服务器返回的GIS层服务聚合结果和Web层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
客户端服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
叠加模块~用于在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果,
所述Web服务器包括:
客户端接口模块~用于接收客户端提交的需要在Web服务器聚合的第三方服务信息,以及~向客户端返回GIS层服务聚合结果和Web层服务聚合结果,
GIS接口模块~用于将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,以及~接收GIS服务器返回的GIS层服务聚合结果,
10002
2006.7 8
MP080689
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
所述GIS服务器包括:
Web服务器接口模块~用于接收Web服务器提交的需要在GIS服务器聚合的第三方服务信息,以及~向所述Web服务器返回GIS层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的GIS服务,
服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
27、一种GIS服务聚合系统~其特征在于~包括:客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端包括:
请求提交模块~用于接收服务聚合请求~所述请求中包括:需要在客户端和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
Web接口模块~用于将所述服务聚合请求提交至Web服务器~以及~接收Web服务器返回的GIS层服务聚合结果和Web层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
10002
2006.7 9
MP080689
客户端服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
叠加模块~用于在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
所述Web服务器包括:
客户端接口模块~用于接收客户端提交的所述服务聚合请求,以及~向客户端返回GIS层服务聚合结果和Web层服务聚合结果,
GIS接口模块~用于将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,以及~接收GIS服务器返回的GIS层服务聚合结果,
服务列表配臵模块~用于预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息,
配臵文件读取模块~用于读取所述服务列表配臵文件~获得第三方服务的信息,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
所述GIS服务器包括:
Web服务器接口模块~用于接收Web服务器提交的需要在GIS服务器聚合的第三方服务信息,以及~向所述Web服务器返回GIS层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的GIS服务,
服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
10002
2006.7 10
MP080689
说 明 书
GIS服务聚合方法、装臵及系统
技术领域
本发明涉及地理信息系统数据处理领域~特别涉及一种客户端的服务聚合方法及装臵、一种Web服务器的服务聚合方法及装臵、一种GIS服务器的服务聚合方法及装臵、一种GIS服务聚合方法及一种GIS服务聚合系统。
背景技术
地理信息系统,Geographic Information System~ GIS,是用于采集、存储、管理、处理、检索、分析和表达地理地理信息数据的计算机系统~是分析和处理海量地理数据的通用技术。
进入21世纪以来~GIS在各行各业的应用取得快速发展~GIS平台软件已经从一项专业的软件技术~发展成为IT领域十分重要的平台类软件~在越来越多的领域发挥着重要作用。目前~GIS应用系统已广泛应用于为企业提供业务管理服务。
传统的GIS服务
为~将GIS与业务系统的集成~通过在GIS系统中直接访问业务数据库的数据~然后在本GIS系统中进行数据处理及分析~并输出和呈现结果。GIS系统与业务系统的耦合性强。以实现车辆跟踪的业务场景为例~采用传统的GIS服务方案~首先会用GPS ,Global Positioning System~全球定位系统,采集并跟踪每一个车辆的信息~然后将这些数据信息存储到业务数据库中~最后GIS系统通过读取业务数据库中的信息进行分析~并将结果展现到客户端。
然而~这种传统的GIS服务方案会带来以下问
:
1,GIS系统需要直接访问业务数据库~必须开放相应的数据库权限~这样数据不能完全隔离~存在安全隐患,
2,GIS系统与业务系统的应用逻辑在同一个系统中整合实现~当发生改动时会相互牵连~不利于系统重用和功能扩展,
3,GIS系统的功能只是给当前业务系统使用~而不是作为独立的服10002
2006.7 1
MP080689
务给不同的业务系统共同使用,
4,GIS系统的功能和服务不独立~难以形成标准~业务逻辑通常需要二次开发实现~而不是标准化的、可配臵的方式实现~过程复杂。
基于上述问题~当前的GIS应用发展过程中面临着一个困境~那就是系统很难跟得上需求的快速变化。对系统维护
师而言~系统开发完成后~一旦业务本身或业务流程发生了调整~系统要不断修改维护~工作量十分巨大。对于应用单位来讲~若维护跟不上~投入大量人力、物力和财力的系统刚刚建成~在需求面前很快变得落伍了。对开发商而言~做完一个单位的系统~若要推广到同行业其他单位~会发现尽管业务差别不大~但由于那些细小的需求差别~原来的系统很难直接推广~仍然需要对系统进行不少修改~工作量仍然较大。在GIS的应用领域中~这些问题可以归结为业务敏捷,Business Agility,问题。
所谓业务敏捷包含两层含义:第一~IT在业务提出变化之后一个恰当的时间段里响应这种变化,第二~IT所做出的变化能够恰当地反映出业务的需求。
现有技术中~提出了依赖于SOA,Service Oriented Architecture~面向服务的体系架构,实现业务敏捷的构思~SOA不是一种具体的技术~而是一种架构思想。SOA强调松耦合和粗密度~在SOA的应用程序中~开发者只需要关注于业务逻辑的编写~以及通过可交换的、可互操作的服务终结点,Service Endpoint,暴露业务逻辑。客户端调用这些终结点~而不是服务代码或者它的实现包。因此SOA具有更高效率的代码重用机制~可以动态按需构建应用系统~更有助于实现业务敏捷。
然而~在现有的GIS领域中~SOA通常是使用WebService的方式~主要面向接口调用~而在GIS领域里存在特定的服务规范~如OGC规范等~服务不一定使用WebService的方式~并经常需要有客户端界面呈现地图,
再者~由于WebGIS平台主要面向信息发布~GIS功能相对简单~无法代替组件式GIS实现应用系统的全部功能~以至于在实际应用中~不得不混合使用多种类型的GIS软件来开发应用系统~如WebGIS和组件式GIS等~应用系统的架构也往往采用B/S和C/S混合的模式, 10002
2006.7 2
MP080689
此外~由于WebGIS服务器端不具备服务聚合,Service Aggregation,能力~在WEB客户端由二次开发者进行的简单聚合~难以满足大型专业应用系统建设的全部需求~也难于实现聚合后的服务再次以标准的方式发布以便被第三方聚合,
并且~客户端GIS软件,桌面GIS和组件式GIS,也缺乏完整的服务聚合能力~即使偶有支持使用Web数据或Web服务~也往往存在不少限制~外部服务被当作二等公民~无法很方便的使用~也不易与已有的概念模型相匹配。以至于上述混用B/S和C/S结构的模式难以通过服务整合形成一体化的系统。
因而~现有技术这种支持SOA的WebGIS仍不能满足业务敏捷的要求。
所以~目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出一种GIS服务聚合的机制~用以在GIS领域里将不同类型、不同来源的服务通过标准化流程进行一体化整合~并通过统一的方式发布给GIS客户端~以更好地将SOA跟GIS结合在了一起~满足GIS领域对业务敏捷的需求。
发明内容
本发明所要解决的技术问题是提供一种GIS服务聚合实现的方法、装臵及系统~用以更好地将SOA跟GIS结合在一起~满足GIS领域对业务敏捷的需求。
为解决上述技术问题~本发明实施例公开了一种客户端的服务聚合方法~所述客户端具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法包括:
客户端接收服务聚合请求~所述请求中包含需要在客户端聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
依据所述第三方服务的类型信息调用相应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得10002
2006.7 3
MP080689
客户端服务聚合结果。
优选的~所述请求中还包括需要聚合的本地地图数据信息~所述服务聚合处理的步骤进一步包括:
在所述地图数据上叠加所述第三方服务的数据信息。
优选的~所述的方法~还包括:
在客户端界面展示所述服务聚合处理结果。
优选的~所述第三方服务信息通过连接Web服务器而获得。
本发明实施例还公开了一种Web服务器的服务聚合方法~所述Web服务器与客户端连接~具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法包括:
步骤S1、预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤S2、接收客户端提交的服务聚合请求~判断所述请求中是否包含需要在Web服务器聚合的第三方服务的信息,若是~则跳转步骤S4,若否~则跳转步骤S3,
步骤S3、从所述服务列表配臵文件中读取第三方服务的信息,
步骤S4、依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤S5、提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果
步骤S6、将所述Web层服务聚合结果返回至客户端。
优选的~所述步骤S5进一步包括:
提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为Web层服务聚合结果。
优选的~所述步骤S5进一步包括:
提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为Web层服务聚合结果。
10002
2006.7 4
MP080689
优选的~所述的方法~还包括:
客户端直接展示所述Web层服务聚合结果,
或者~客户端在本地地图数据上叠加所述Web层服务聚合结果,
或者~客户端在相应的客户端服务聚合结果上叠加所述Web层服务聚合结果。
本发明实施例还公开了一种GIS服务器的服务聚合方法~所述GIS服务器与Web服务器连接~具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法包括:
接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
向Web服务器返回所述GIS层服务聚合结果。
优选的~通过以下步骤进行服务聚合处理:
提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为GIS层服务聚合结果。
GIS层服务聚合结果优选的~通过以下步骤进行服务聚合处理:
提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为GIS层服务聚合结果。
优选的~所述服务聚合处理步骤还包括:
将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。
优选的~所述Web服务器与客户端连接~所述的方法还包括:
所述Web服务器将所述GIS层服务聚合结果返回至客户端。
优选的~所述的方法~还包括:
客户端直接展示所述GIS层服务聚合结果,
10002
2006.7 5
MP080689
或者~客户端在本地地图数据上叠加所述GIS层服务聚合结果,
或者~客户端在相应的客户端服务聚合结果上叠加所述GIS层服务聚合结果。
本发明实施例还公开了一种GIS服务聚合方法~所述服务聚合处理涉及客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法包括:
客户端接收服务聚合请求~所述请求中包括:需要在客户端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
客户端将所述需要在Web服务器聚合的第三方服务信息提交至Web服务器,
所述Web服务器将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,
所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并返回至Web服务器,
所述Web服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果,
所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合结果返回至客户端,
所述客户端依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
10002
2006.7 6
MP080689
本发明实施例还公开了一种GIS服务聚合方法~所述服务聚合处理涉及客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法包括:
客户端接收服务聚合请求~所述请求中包括:需要在客户端和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
客户端向Web服务器提交所述服务聚合请求,
所述Web服务器将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,
所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并返回至Web服务器,
所述Web服务器从预臵的服务列表配臵文件中读取第三方服务的信息~依据所述第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果,
将所述GIS层服务聚合结果和Web层服务聚合结果所述Web服务器
返回至客户端,
所述客户端依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
本发明实施例还公开了一种位于客户端的服务聚合装臵~所述客户端具有对应于第三方服务的类型设臵的多个服务访问组件~所述装臵包括:
10002
2006.7 7
MP080689
请求提交模块~用于接收服务聚合请求~所述请求中包含需要的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
客户端聚合模块~用于提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得客户端服务聚合结果。
本发明实施例还公开了一种位于Web服务器的服务聚合装臵~所述Web服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述的装臵包括:
服务列表配臵模块~用于预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
客户端接口模块~用于接收客户端发出的第三方服务聚合请求~以及~向客户端返回Web层服务聚合结果,
请求分析模块~用于判断所述请求中是否包含需要在Web服务器聚合的第三方服务的信息,若是~则触发组件调用模块,若否~则触发配臵文件读取模块,
配臵文件读取模块~用于读取所述服务列表配臵文件~获得第三方服务的信息,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果。
优选的~所述Web层服务聚合模块进一步包括:
类型转换子模块~用于提取所述第三方服务的数据信息~将所述数10002
2006.7 8
MP080689
据信息转换成统一类型~获得同一类型的第三方服务数据信息为Web层服务聚合结果。
优选的~所述Web层服务聚合模块进一步包括:
二次处理子模块~用于提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为Web层服务聚合结果。
优选的~所述Web服务器与GIS服务器连接~所述GIS服务器用于向Web服务器返回GIS层服务聚合结果~所述Web层服务聚合模块进一步包括:
Web层数据合并子模块~用于Web层服务聚合结果与GIS数据和/或所述GIS层服务聚合结果进行合并~将合并结果作为Web层服务聚合结果。
本发明实施例还公开了一种位于GIS服务器的服务聚合装臵~所述GIS服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述的装臵包括:
Web服务器接口模块~用于接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,以及~向所述Web服务器返回所述GIS层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
GIS层服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
优选的~所述GIS层服务聚合模块进一步包括:
类型转换子模块~用于提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为GIS层服务聚合结果。
优选的~所述GIS层服务聚合模块进一步包括:
10002
2006.7 9
MP080689
二次处理子模块~用于提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为GIS层服务聚合结果。
优选的~所述GIS层服务聚合模块还包括:
GIS层数据合并子模块~用于将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。
本发明实施例还公开了一种GIS服务聚合系统~包括:客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端包括:
请求提交模块~用于接收服务聚合请求~所述请求中包括:需要在客户端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
Web接口模块~用于将所述需要在Web服务器聚合的第三方服务信息提交至Web服务器~以及~接收Web服务器返回的GIS层服务聚合结果和Web层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
客户端服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
叠加模块~用于在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果,
所述Web服务器包括:
客户端接口模块~用于接收客户端提交的需要在Web服务器聚合的第三方服务信息,以及~向客户端返回GIS层服务聚合结果和Web层服务聚合结果,
GIS接口模块~用于将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,以及~接收GIS服务器返回的GIS层服务聚合结10002
2006.7 10
MP080689
果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
所述GIS服务器包括:
Web服务器接口模块~用于接收Web服务器提交的需要在GIS服务器聚合的第三方服务信息,以及~向所述Web服务器返回GIS层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的GIS服务,
服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
本发明实施例还公开了一种GIS服务聚合系统~包括:客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端包括:
请求提交模块~用于接收服务聚合请求~所述请求中包括:需要在客户端和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
Web接口模块~用于将所述服务聚合请求提交至Web服务器~以及~接收Web服务器返回的GIS层服务聚合结果和Web层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
10002
2006.7 11
MP080689
客户端服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
叠加模块~用于在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
所述Web服务器包括:
客户端接口模块~用于接收客户端提交的所述服务聚合请求,以及~向客户端返回GIS层服务聚合结果和Web层服务聚合结果,
GIS接口模块~用于将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,以及~接收GIS服务器返回的GIS层服务聚合结果,
服务列表配臵模块~用于预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息,
配臵文件读取模块~用于读取所述服务列表配臵文件~获得第三方服务的信息,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
所述GIS服务器包括:
Web服务器接口模块~用于接收Web服务器提交的需要在GIS服务器聚合的第三方服务信息,以及~向所述Web服务器返回GIS层服务聚合结果,
组件调用模块~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件~用于通过所述第三方服务的地址信息获取相应的GIS服务,
服务聚合模块~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
10002
2006.7 12
MP080689
与现有技术相比~本发明实施例具有以下优点:
本发明通过提出一套服务聚合框架~能够聚合包括WebService和非WebService等不同来源的服务~通过对服务进行一体化整合并进行发布~同时信息在统一的客户端用标准的方式呈现。通过各类标准,如WMS、WFS、KML、GeoRSS、WebService等,的服务作为接口~通过服务访问组件实现对各种来源的服务的聚合~对它们进行整合和统一管理~以及~通过预先定义的接口进行服务的再发布~在客户端由可定制的模板实现信息的可视化呈现~从而能更好地将SOA跟GIS结合在一起~满足GIS领域对业务敏捷的需求。
附图说明
图1是本发明的一种客户端的服务聚合方法实施例的流程图,
图2是本发明的一种位于客户端的服务聚合装臵实施例的结构框图,
图3是本发明的一种Web服务器的服务聚合方法实施例的流程图,
图4是本发明的一种位于Web服务器的服务聚合装臵实施例的结构框图,
图5是本发明的一种GIS服务器的服务聚合方法实施例1的流程图,
图6是本发明的一种GIS服务器的服务聚合方法实施例2的流程图,
图7是本发明的一种GIS服务器的服务聚合方法实施例3的流程图,
图8是本发明的一种GIS服务器的服务聚合方法实施例4的流程图,
图9是本发明的一种位于GIS服务器的服务聚合装臵实施例的结构框图,
图10是本发明的一种GIS服务聚合方法实施例1的流程图,
图11是本发明的一种GIS服务聚合系统实施例1的结构框图,
图12是本发明的一种GIS服务聚合方法实施例2的流程图,
图13是本发明的一种GIS服务聚合系统实施例2的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂~下面结合附图和具体实施方式对本发明作进一步详细的说明。
10002
2006.7 13
MP080689
本发明实施例的核心构思之一在于~由于在GIS领域中~业务敏捷性的需要与日俱增。一方面是业务在这方面的要求越来越高,另一方面是今天的IT很不灵活~很难适应业务快速变化的需求~不仅仅是因为IT架构不灵活~更重要的是业务模型中的元素和IT系统的元素之间存在很大的差距。这种不对齐~导致业务人员和IT人员之间的沟通不够有效~业务的变化需要花费很大的代价传递到IT系统。所以需要引入SOA提升业务敏捷~SOA能够实现IT与业务对齐~支持业务的快速变化~同时提升 IT架构的灵活性和帮助IT资产的重用。然而~SOA通常是使用WebService的方式~主要面向接口调用,而在GIS领域里存在特定的服务规范~如OGC规范等~服务不一定使用WebService的方式。对此~本发明提供一套服务聚合框架~用以聚合包括WebService和非WebService等不同来源的服务~本发明通过对服务进行一体化整合并进行发布~同时信息在统一的客户端用标准的方式呈现。通过各类标准,如WMS、WFS、KML、GeoRSS、WebService等,的服务作为接口~通过服务访问组件实现对各种来源的服务的聚合~对它们进行整合和统一管理~以及~通过预先定义的接口进行服务的再发布~在客户端由可定制的模板实现信息的可视化呈现~从而能更好地将SOA跟GIS结合在一起~满足GIS领域对业务敏捷的需求。
参考图1~示出了本发明的一种客户端的服务聚合方法实施例的流程图~其中~所述客户端具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法实施例可以包括以下步骤:
步骤101、客户端接收服务聚合请求~所述请求中包含需要在客户端聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤102、依据所述第三方服务的类型信息调用相应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤103、提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得客户端服务聚合结果。
在本发明实施例中~第三方服务是指满足服务规范的服务~服务规10002
2006.7 14
MP080689
范可以是公认的标准服务~如WMS、WCS、WFS、WPS、GeoRSS、KML等~也可以是GIS平台软件厂商自定义的服务规范。例如~SuperMap iServer可以发布WMS、WFS、GeoRSS、KML服务等~同时也可以发布SuperMap WebService服务。
需要说明的是~所述服务访问组件对应于所述第三方服务的不同类型而设臵~用于通过标准服务接口获取网络数据服务。例如~对应WebService服务设臵WebService服务访问组件~对应WMS服务设臵WMS服务访问组件等。
优选的~在本实施例中~所述客户端可以调用Web服务器获取第三方服务的信息~在这种情况下~所述步骤101可以包括以下子步骤:
子步骤A1、客户端连接Web服务器~从Web服务器的服务列表配臵文件中获取第三方服务列表~所述Web服务器将所述第三方服务列表在所述客户端的界面上展示,
其中~所述第三方服务列表中记录有第三方服务的地址信息和类型信息。
子步骤A2、用户在所述第三方服务列表界面上选择所需聚合的第三方服务~在客户端提交所述第三方服务的服务聚合请求。
当然~采用现有技术中的任一种方法获取第三方服务列表都是可行的~本发明无需对此作出限定。
在实际中~所述客户端接收的请求中~还可以包括需要聚合的本地地图数据的信息~在这种情况下~所述步骤103可以包括以下子步骤:
子步骤B1、在所述地图数据上叠加所述第三方服务的数据信息。
例如~用户在客户端打开地图数据页面~通过接口指定需要在客户端聚合的服务以提交服务聚合请求~客户端依据该请求会根据当前服务的类型调用相应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~再提取所述第三方服务的数据信息在客户端进行叠加处理。
优选的~在本实施例中~还可以包括步骤:
在客户端的界面展示所述服务聚合处理结果。
例如~展示添加有天气预报信息,第三方服务的数据信息,的地图10002
2006.7 15
MP080689
数据等。本发明通过客户端为用户提供GIS地图和功能界面的操作~可以使用户体验更好。
参考图2~示出了本发明的一种位于客户端的服务聚合装臵实施例的结构框图~所述客户端具有对应于第三方服务的类型设臵的多个服务访问组件~所述装臵实施例可以包括以下模块:
请求提交模块201~用于接收服务聚合请求~所述请求中包含需要的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
组件调用模块202~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件203~用于通过所述第三方服务的地址信息获取相应的第三方服务,
客户端聚合模块204~用于提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得客户端服务聚合结果。
优选的~所述第三方服务信息可以通过连接Web服务器而获得。
如果当前客户端的请求中还包括需要聚合的本地地图数据信息~那么~所述客户端聚合模块可以进一步包括以下子模块:
叠加子模块~用于在所述地图数据上叠加所述第三方服务的数据信息。
优选的~在本实施例中~所述客户端还可以包括:
展示模块~用于在客户端界面展示所述服务聚合处理结果。
应用图2所示的优选实施例在客户端进行服务聚合的过程可以包括以下步骤:
步骤C1、请求提交模块提交服务聚合请求~所述请求中包含需要在客户端聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤C2、组件调用模块依据所述第三方服务的类型信息调用相应的服务访问组件,
步骤C3、服务访问组件通过所述第三方服务的地址信息获取相应的10002
2006.7 16
MP080689
第三方服务,
步骤C4、客户端聚合模块提取所述第三方服务的数据信息在客户端进行服务聚合处理~获得客户端服务聚合结果,
步骤C5、展示模块在客户端界面展示所述服务聚合处理结果。
对于图2所示的装臵实施例而言~由于其基本相应于图1所示的方法实施例~所以描述的比较简单~相关之处参见所述方法实施例相关部分的说明即可。
参考图3~示出了本发明的一种Web服务器的服务聚合方法实施例的流程图~所述Web服务器与客户端连接~具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法实施例可以包括以下步骤:
步骤301、预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤302、接收客户端提交的服务聚合请求~判断所述请求中是否包含需要在Web服务器聚合的第三方服务的信息,若是~则跳转步骤304,若否~则跳转步骤303,
步骤303、从所述服务列表配臵文件中读取第三方服务的信息,
步骤304、依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤305、提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
步骤306、将所述Web层服务聚合结果返回至客户端。
在本发明实施例中~所述服务列表配臵文件可以为XML文件~记录了第三方服务的相关信息~包括地址信息和类型信息等,当Web服务器所接收到的客户端请求中包含需要在Web服务器聚合的第三方服务列表时~则无需读取该预臵的服务列表配臵文件~直接根据第三方服务的类型调用相应的服务访问组件,将该第三方服务的地址分配给当前服务访问组件~由服务访问组件根据服务地址调用相应的第三方服务进行聚合10002
2006.7 17
MP080689
处理,当Web服务器所接收到的客户端请求中没有包含需要在Web服务器聚合的第三方服务列表时~则需要读取该预臵的服务列表配臵文件获得第三方服务列表的信息~然后再根据第三方服务的类型调用相应的服务访问组件,将该第三方服务的地址分配给当前服务访问组件~由服务访问组件根据服务地址调用相应的第三方服务进行聚合处理。
例如~一种在实际中采用本发明的Web服务器进行服务聚合的过程为:
在Web服务器通过配臵或扩展开发的接口指定需要聚合的服务,在客户端打开地图,客户端向Web服务器发送服务聚合请求,Web服务器调用并聚合指定的服务,Web服务器将聚合后的地图和数据返回给客户端,客户端呈现出聚合以后的地图和数据信息。
优选的~可以通过以下两种方法实现本实施例的Web服聚合处理:
第一种为~提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息为Web层服务聚合结果。
这种方法主要用于将来自第三方服务的数据转换成统一标准类型~如iServer定义的点线面等类型。
第二种为~提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为Web层服务聚合结果。
这种方法可以让用户进行扩展开发~可以截获来自第三方服务的数据~并对它进行再处理~如进行再次分析/查询等操作~获得操作结果。
对于以上Web层服务聚合结果~可以通过HTTP
返回给客户端。
作为一种实施例~如果当前客户端没有打开的本地地图数据或者没有已经获得的客户端服务聚合结果~则在本实施例中~还可以包括以下步骤:
客户端直接展示所述Web层服务聚合结果,
作为另一实施例~如果当前客户端存在打开的本地地图数据~则在本实施例中~还可以包括以下步骤:
客户端在本地地图数据上叠加所述Web层服务聚合结果, 10002
2006.7 18
MP080689
作为另一实施例~如果当前客户端存在客户端服务聚合结果~则在本实施例中~还可以包括以下步骤:
客户端在相应的客户端服务聚合结果上叠加所述Web层服务聚合结果。
参考图4~示出了本发明的一种位于Web服务器的服务聚合装臵实施例的结构框图~所述Web服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述的装臵包括:
服务列表配臵模块401~用于预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
客户端接口模块402~用于接收客户端发出的第三方服务聚合请求~以及~向客户端返回Web层服务聚合结果,
请求分析模块403~用于判断所述请求中是否包含需要在Web服务器的第三方服务的信息,若是~则触发组件调用模块405,若否~则触发配臵文件读取模块404,
配臵文件读取模块404~用于读取所述服务列表配臵文件~获得第三方服务的信息,
组件调用模块405~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件406~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块407~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果。
优选的~在本实施例中~所述Web层服务聚合模块可以包括以下子模块:
类型转换子模块~用于提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得所述同一类型的Web服务数据信息为Web层服务聚合结果。
或者~
10002
2006.7 19
MP080689
二次处理子模块~用于提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息为Web层服务聚合结果。
优选的~在本实施例中~所述Web服务器与GIS服务器连接~所述GIS服务器用于向Web服务器返回GIS层服务聚合结果~在这种情况下~所述Web层服务聚合模块还可以包括以下子模块:
Web层数据合并子模块~用于Web层服务聚合结果与GIS数据和/或所述GIS层服务聚合结果进行合并~将合并结果作为Web层服务聚合结果。
应用图4所示的优选实施例在Web服务器进行服务聚合的过程可以包括:
步骤D1、服务列表配臵模块预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤D2、客户端接口模块接收客户端发出的第三方服务聚合请求~请求分析模块~用于判断所述请求中是否包含需要在Web服务器的第三方服务的信息,若是~则触发组件调用模块跳转步骤D4,若否~则触发配臵文件读取模块跳转步骤D3,
步骤D3、配臵文件读取模块读取所述服务列表配臵文件~获得第三方服务的信息,
步骤D4、组件调用模块依据所述第三方服务的类型信息调用相应的服务访问组件,
步骤D5、服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤D6、Web层服务聚合模块提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
步骤D7、客户端接口模块向客户端返回所述Web层服务聚合结果。
对于图4所示的装臵实施例而言~由于其基本相应于图3所示的方法实施例~所以描述的比较简单~相关之处参见所述方法实施例相关部分的说明即可。
10002
2006.7 20
MP080689
参考图5~示出了本发明的一种GIS服务器的服务聚合方法实施例1的流程图~所述GIS服务器与Web服务器连接~具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法实施例可以包括以下步骤:
步骤501、接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤502、依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤503、提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
步骤504、向Web服务器返回所述GIS层服务聚合结果。
在本发明实施例中~如果当前服务聚合请求中还包括需要在GIS服务器聚合的第三方服务的信息~则需要进一步连接GIS服务器完成相应的第三方服务的聚合~并将聚合之后的服务进行统一发布。
例如~一种在实际中采用本发明的GIS服务器进行服务聚合的过程为:
在GIS服务器通过配臵或扩展开发的接口指定需要聚合的服务,在客户端打开地图页面,客户端向Web服务器发送指定服务的聚合请求,Web服务器将该请求发送至GIS服务器,GIS服务器调用并聚合指定的服务,GIS服务器将聚合后的地图和数据返回给Web服务器,Web服务器将聚合后的地图和数据返回给客户端,在客户端展示聚合以后的地图和数据信息。
优选的~在本实施例中~所述步骤503可以包括以下子步骤:
子步骤E1、提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息,
和/或~
子步骤E2、将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。其中~所述GIS数据可以为iServer服10002
2006.7 21
MP080689
务组件提供的自身服务的数据~在实际中~iServer服务组件可以用于从数据库、文件等数据源获取数据。
作为另一实施例中~所述步骤503也可以包括以下子步骤:
子步骤E3、提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果对应的第三方服务数据信息,
和/或~
子步骤E4、将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。。
在本发明实施例中~优选的是~可以通过序列化处理在客户端、Web服务器和GIS服务器之间进行数据传输。所谓序列化~即指将数据对象转换成可传输的字符流,当目标对象得到字符流后~可以对字符流进行反序列化~还原出数据对象。
在实际中~可以通过RMI协议,进程间远程调用的协议,将所述GIS层服务聚合结果返回给Web服务器。
当然~上述GIS服务聚合处理的方法仅仅用作示例~本领域技术人员采用任一种GIS服务聚合处理方法都是可行的~本发明对此无需作出限定。例如~在桌面工具,Deskpro,中配臵,第三方服务的,网络数据源到地图,数据源是地图数据来源的统称~它有很多种~比如数据库数据源、网络数据源、文件数据源等。网络数据源是将第三方服务作为数据来源的数据源,,然后将该网络数据源跟其他类型的数据源进行序列化并发布至Web服务器。
参考图6~示出了本发明的一种GIS服务器的服务聚合方法实施例2的流程图~所述GIS服务器与Web服务器连接~所述Web服务器具有Web层服务聚合结果~所述GIS服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法实施例可以包括以下步骤:
步骤601、接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤602、依据所述第三方服务的类型信息调用相应的服务访问组10002
2006.7 22
MP080689
件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤603、提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
步骤604、向Web服务器返回所述GIS层服务聚合结果,
步骤605、Web服务器将所述Web层服务聚合结果与GIS层服务聚合结果和/或GIS数据进行合并处理~将合并结果作为向客户端返回的服务聚合结果。
参考图7~示出了本发明的一种GIS服务器的服务聚合方法实施例3的流程图~所述GIS服务器与Web服务器连接~所述Web服务器与客户端连接~所述GIS服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述方法实施例可以包括以下步骤:
步骤701、客户端向Web服务器提交服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤702、Web服务器将所述需要在GIS服务器聚合的第三方服务的信息提交至GIS服务器,
步骤703、GIS服务器依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤704、提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
步骤705、向Web服务器返回所述GIS层服务聚合结果,
步骤706、Web服务器将所述GIS层服务聚合结果返回至客户端。
在实际中~如果客户端存在本地地图数据~则会在所述地图数据上叠加所述GIS层服务聚合结果~以获得最终的服务聚合结果,如果客户端存在客户端服务聚合结果~则会在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果。
10002
2006.7 23
MP080689
参考图8~示出了本发明的一种GIS服务器的服务聚合方法实施例4的流程图~所述GIS服务器与Web服务器连接~所述Web服务器与客户端连接~所述GIS服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述Web服务器具有Web层服务聚合结果~所述客户端具有结果客户端服务聚合结果~所述方法实施例可以包括以下步骤:
步骤801、客户端向Web服务器提交服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤802、Web服务器将所述需要在GIS服务器聚合的第三方服务的信息提交至GIS服务器,
步骤803、GIS服务器依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤804、提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
步骤805、向Web服务器返回所述GIS层服务聚合结果,
步骤806、Web服务器将所述GIS层服务聚合结果和Web层服务聚合结果返回至客户端,
步骤807、客户端在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果,
步骤808、客户端展示所述最终服务聚合结果。
参考图9~示出了本发明的一种位于GIS服务器的服务聚合装臵实施例的结构框图~所述GIS服务器具有对应于第三方服务的类型设臵的多个服务访问组件~所述装臵实施例可以包括以下模块:
Web服务器接口模块901~用于接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,以及~向所述Web服务器返回所述GIS层服务聚合结果,
组件调用模块902~用于依据所述第三方服务的类型信息调用相应的10002
2006.7 24
MP080689
服务访问组件,
服务访问组件903~用于通过所述第三方服务的地址信息获取相应的第三方服务,
GIS层服务聚合模块904~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
优选的~在本实施例中~所述GIS层服务聚合模块可以包括以下子模块:
类型转换子模块~用于提取所述第三方服务的数据信息~将所述数据信息转换成统一类型~获得同一类型的第三方服务数据信息,
和/或~
GIS层数据合并子模块~用于将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。
作为另一实施例~所述GIS层服务聚合模块也可以包括以下子模块:
二次处理子模块~用于提取所述第三方服务的数据信息~对所述数据信息进行分析和/或查询操作~获得操作结果数据,
和/或~
GIS层数据合并子模块~用于将所述第三方服务数据信息与GIS数据进行合并~将合并结果作为GIS层服务聚合结果。
应用图9所示的优选实施例在GIS服务器进行服务聚合的过程可以包括:
步骤F1、Web服务器接口模块接收Web服务器提交的服务聚合请求~所述请求中包含需要在GIS服务器的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤F2、组件调用模块依据所述第三方服务的类型信息调用相应的服务访问组件,
步骤F3、服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务,
步骤F4、GIS层服务聚合模块提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果,
步骤F5、通过所述Web服务器接口模块向所述Web服务器返回所述10002
2006.7 25
MP080689
GIS层服务聚合结果,
对于图9所示的装臵实施例而言~由于可以相应于图5、图6、图7和图8所示的方法实施例~所以描述的比较简单~相关之处参见所述方法实施例相关部分的说明即可。
参考图10~示出了本发明的一种GIS服务聚合方法实施例1的流程图~所述服务聚合处理涉及客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法实施例可以包括以下步骤:
步骤1001、客户端接收服务聚合请求~所述请求中包括:需要在客户端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤1002、客户端将所述需要在Web服务器聚合的第三方服务信息提交至Web服务器,
步骤1003、所述Web服务器将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,
步骤1004、所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并返回至Web服务器,
步骤1005、所述Web服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果,
步骤1006、所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合结果返回至客户端,
步骤1007、所述客户端依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
10002
2006.7 26
MP080689
步骤1008、在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
优选的~所述步骤1006可以为~将所述GIS层服务聚合结果和Web层服务聚合结果进行合并处理后再返回至客户端。
优选的~在本实施例中~还可以包括步骤:
在客户端展示所述最终的服务聚合结果。
参考图11~示出了本发明的一种GIS服务聚合系统实施例1的结构框图~可以包括:客户端1101、Web服务器1102和GIS服务器1103~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端可以包括以下模块:
请求提交模块111~用于接收服务聚合请求~所述请求中包括:需要在客户端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
Web接口模块112~用于将所述需要在Web服务器聚合的第三方服务信息提交至Web服务器~以及~接收Web服务器返回的GIS层服务聚合结果和Web层服务聚合结果,
组件调用模块113~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
14~用于通过所述第三方服务的地址信息获取相应的服务访问组件1
第三方服务,
客户端服务聚合模块115~用于提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
叠加模块116~用于在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果,
所述Web服务器可以包括以下模块:
客户端接口模块121~用于接收客户端提交的需要在Web服务器聚合的第三方服务信息,以及~向客户端返回GIS层服务聚合结果和Web层服务聚合结果,
GIS接口模块122~用于将所述需要在GIS服务器聚合的第三方服务10002
2006.7 27
MP080689
信息提交至GIS服务器,以及~接收GIS服务器返回的GIS层服务聚合结果,
组件调用模块123~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件124~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块125~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
所述GIS服务器可以包括以下模块:
Web服务器接口模块131~用于接收Web服务器提交的需要在GIS服务器聚合的第三方服务信息,以及~向所述Web服务器返回GIS层服务聚合结果,
组件调用模块132~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件133~用于通过所述第三方服务的地址信息获取相应的GIS服务,
服务聚合模块134~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
对于图11所示的装臵实施例而言~由于其基本相应于图10所示的方法实施例~所以描述的比较简单~相关之处参见所述方法实施例相关部分的说明即可。
参考图12~示出了本发明的一种GIS服务聚合方法实施例2的流程图~所述服务聚合处理涉及客户端、Web服务器和GIS服务器~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~所述的方法实施例可以包括以下步骤:
步骤1201、客户端接收服务聚合请求~所述请求中包括:需要在客户端和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息,
步骤1202、客户端向Web服务器提交所述服务聚合请求, 10002
2006.7 28
MP080689
步骤1203、所述Web服务器将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,
步骤1204、所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并返回至Web服务器,
步骤1205、所述Web服务器从预臵的服务列表配臵文件中读取第三方服务的信息~依据所述第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果,
步骤1206、所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合结果返回至客户端,
步骤1207、所述客户端依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
步骤1208、在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
优选的~所述步骤1206可以为~将所述GIS层服务聚合结果和Web层服务聚合结果进行合并处理后再返回至客户端。
优选的~在本实施例中~还可以包括步骤:
在客户端展示所述最终的服务聚合结果。
参考图13~示出了本发明的一种GIS服务聚合系统实施例2的结构框图~可以包括:客户端1301、Web服务器1302和GIS服务器1303~所述客户端、Web服务器和GIS服务器分别具有对应于第三方服务的类型设臵的多个服务访问组件~其中~所述客户端可以包括以下模块:
请求提交模块211~用于接收服务聚合请求~所述请求中包括:需要在客户端和GIS服务器聚合的第三方服务的信息~所述第三方服务信息10002
2006.7 29
MP080689
包括第三方服务的地址信息和类型信息,
Web接口模块212~用于将所述服务聚合请求提交至Web服务器~以及~接收Web服务器返回的GIS层服务聚合结果和Web层服务聚合结果,
组件调用模块213~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件214~用于通过所述第三方服务的地址信息获取相应的第三方服务,
客户端服务聚合模块215~用于提取所述第三方服务的数据信息进行服务聚合处理~获得客户端服务聚合结果,
叠加模块216~用于在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果和Web层服务聚合结果~获得最终的服务聚合结果。
所述Web服务器可以包括以下模块:
客户端接口模块221~用于接收客户端提交的所述服务聚合请求,以及~向客户端返回GIS层服务聚合结果和Web层服务聚合结果,
GIS接口模块222~用于将所述需要在GIS服务器聚合的第三方服务信息提交至GIS服务器,以及~接收GIS服务器返回的GIS层服务聚合结果,
服务列表配臵模块223~用于预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息,
配臵文件读取模块224~用于读取所述服务列表配臵文件~获得第三方服务的信息,
组件调用模块225~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件226~用于通过所述第三方服务的地址信息获取相应的第三方服务,
Web层服务聚合模块227~用于提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web层服务聚合结果,
所述GIS服务器可以包括以下模块:
Web服务器接口模块231~用于接收Web服务器提交的需要在GIS10002
2006.7 30
MP080689
服务器聚合的第三方服务信息,以及~向所述Web服务器返回GIS层服务聚合结果,
组件调用模块232~用于依据所述第三方服务的类型信息调用相应的服务访问组件,
服务访问组件233~用于通过所述第三方服务的地址信息获取相应的GIS服务,
服务聚合模块234~用于提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果。
对于图13所示的装臵实施例而言~由于其基本相应于图12所示的方法实施例~所以描述的比较简单~相关之处参见所述方法实施例相关部分的说明即可。
以下通过一个具体的例子来进一步说明本发明实施例。
以开发中国天气预报地图网站为例~假设要求:
1,系统本身有一个中国地图作为底图~该地图由GIS服务器作为自身服务发布,
2,在所述中国地图上能够显示出各城市的天气预报信息,
3,天气预报的信息采用服务聚合的方式实现。天气预报信息由第三方服务提供。
4,天气预报信息服务可以是以WFS、KML、GeoRSS等网络标准服务方式发布。在本例中WFS为例进行说明。
应用本发明实施例~在客户端进行服务聚合的过程为:
a1、客户端从Web服务器获取第三方服务列表~并呈现到客户端界面上~该列表中包含中国天气预报服务的选项,
a2、用户在客户端界面上从服务列表里选择添加中国天气预报服务,
a3、服务聚合器读取服务列表中的中国天气预报的WFS服务地址~并将该服务地址分配给WFS服务访问组件,
a4、WFS服务访问组件根据服务地址调用相应的第三方WFS服务~并取得天气预报信息,
a5、客户端将天气信息以图片和文字的方式~在原有中国地图上标注10002
2006.7 31
MP080689
出来。
在Web服务器端进行服务聚合的过程为:
b1、Web服务器接收到客户端发送的查看中国天气预报的请求~请求里没有指定服务列表,
b2、读取Web层服务列表配臵文件中的中国天气预报服务的地址~并将该服务地址分配给WFS服务访问组件,
b3、WFS服务访问组件根据服务地址调用相应的第三方WFS服务~并取得天气预报信息,
b4、Web服务器将中国地图与天气预报信息聚合之后的服务进行统一发布,
b5、客户端得到Web服务器聚合发布之后的服务~并进行展现~在中国地图上有相应的天气预报的信息。
在GIS服务器端进行服务聚合的过程为:
c1、GIS服务器接收到Web服务器发出的聚合中国天气预报服务的请求~请求里包含该服务的信息,
c2、GIS服务器将该服务信息中的WFS服务地址分配给WFS服务访问组件,
c3、WFS服务访问组件根据服务地址调用相应的第三方WFS服务~并取得天气预报信息,
c4、GIS服务器将中国地图与天气预报信息聚合之后的服务进行统一发布~并返回给Web服务器。
在实际中~还可以采用以下在GIS服务器端进行服务聚合的方式:
d1、在系统的桌面工具,Deskpro,中配臵天气预报的WFS网络数据源到中国地图,
d2、GIS服务器将新的中国地图进行发布,
d3、Web服务器获取到GIS服务器端聚合发布之后的服务~并返回给客户端,
d4、客户端将服务结果信息呈现~在中国地图上有相应的天气预报的信息。
与传统WebGIS不同的是~本发明提供了一种GIS全功能的服务器~10002
2006.7 32
MP080689
而不仅仅局限于信息发布和基本的交互功能~同时在服务端提供了灵活的服务聚合功能。通过本发明的服务聚合处理~可以把第三方服务聚合在服务端再发布出去。再者~本发明支持发布服务的规范~包括SuperMap自定义的服务规范~公认标准的服务规范~如WMS、WCS、WFS、WPS~以及其他厂商的服务规范~如Google的KML。这种服务聚合带给应用开发商和应用单位的价值包括:第一~降低系统中的数据成本~可以直接调用相关部门~或者公众电子地图网站的地图作为底图,第二~简易~通过增强配臵能力~减少二次开发,第三~集成异地部署的数据和功能,第四~高效重用~重组已有服务~快速满足需求变化。
需要说明的是~对于本发明的方法实施例~为了简单描述~故将其都表述为一系列的动作组合~但是本领域技术人员应该知悉~本发明并不受所描述的动作顺序的限制~因为依据本发明~某些步骤可以采用其他顺序或者同时进行。其次~本领域技术人员也应该知悉~说明书中所描述的实施例均属于优选实施例~所涉及的动作和模块并不一定是本发明所必须的。
本说明书中的各个实施例之间相同相似的部分互相参见即可~每个实施例重点说明的都是与其它实施例的不同之处。并且~本领域技术人员根据实际需求任意组合应用本发明实施例都是可行的~但是由于篇幅限制~本说明书在此就不一一详述了。
本发明可用于众多通用或专用的计算系统环境或配臵中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、臵顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述~例如程序模块。一般地~程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、模块、数据结构等等。也可以在分布式计算环境中实践本发明~在这些分布式计算环境中~由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中~程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。 10002
2006.7 33
MP080689
在本发明中~“模块”、“装臵”、“系统”等等指应用于计算机的相关实体~如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说~例如~模块可以、但不限于是运行于处理器的过程、处理器、对象、可执行模块、执行线程、程序和/或计算机。还有~运行于服务器上的应用程序或脚本程序、服务器都可以是模块。一个或多个模块可在执行的过程和/或线程中~并且模块可以在一台计算机上本地化和/或分布在两台或多台计算机之间~并可以由各种计算机可读介质运行。模块还可以根据具有一个或多个数据包的信号~例如~来自一个与本地系统、分布式系统中另一模块交互的~和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
以上对本发明所提供的一种客户端的服务聚合方法及装臵、一种Web服务器的服务聚合方法及装臵、一种GIS服务器的服务聚合方法及装臵、一种GIS服务聚合方法及一种GIS服务聚合系统进行了详细介绍~本文中应用了具体个例对本发明的原理及实施方式进行了阐述~以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,同时~对于本领域的一般技术人员~依据本发明的思想~在具体实施方式及应用范围上均会有改变之处~综上所述~本说明书内容不应理解为对本发明的限制。 10002
2006.7 34
MP080689
说 明 书 附 图
客户端接收服务聚合请求~所述请求中包含需要在客户端聚101合的第三方服务的信息~所述第三方服务信息包括第三方服
务的地址信息和类型信息
102依据所述第三方服务的类型信息调用相应的服务访问组件~
由所述服务访问组件通过所述第三方服务的地址信息获取相
应的第三方服务
103提取所述第三方服务的数据信息在客户端进行服务聚合
处理~获得客户端服务聚合结果
图1
请求提交模块201
组件调用模块202
203服务访问组件
204客户端聚合模块
图2
301预臵服务列表配臵文件~所述服务列表配臵文件用于记录第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息
302接收客户端提交的服务聚合
请求~判断所述请求中是否包含需要在Web服务器聚合的第三方
服务的信息是
否303
从所述服务列表配臵文件中读取第三方服务的信息
304
依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务
305提取所述第三方服务的数据信息在Web服务器进行服务聚合处理~获得Web
层服务聚合结果
306
将所述Web层服务聚合结果返回至客户端
图3
10002
2006.7 1
MP080689
401服务列表配臵模块
402
客户端接口模块
403
请求分析模块
是
否404
配臵文件读取模块
405
组件调用模块
406服务访问组件
407Web层服务聚合模块
图4
接收Web服务器提交的服务聚合请求~所述请求中包含需要501在GIS服务器聚合的第三方服务的信息~所述第三方服务信
息包括第三方服务的地址信息和类型信息
502依据所述第三方服务的类型信息调用相应的服务访问组件~由当前服务访问组件通过所述第三方服务的地址信息获取相
应的第三方服务
503提取所述第三方服务的数据信息进行服务聚合处理~获得
GIS层服务聚合结果
504
向Web服务器返回所述GIS层服务聚合结果
图5
10002
2006.7 2
MP080689
接收Web服务器提交的服务聚合请求~所述请求中包含需要601在GIS服务器聚合的第三方服务的信息~所述第三方服务信
息包括第三方服务的地址信息和类型信息
602依据所述第三方服务的类型信息调用相应的服务访问组件~
由当前服务访问组件通过所述第三方服务的地址信息获取相
应的第三方服务
603提取所述第三方服务的数据信息进行服务聚合处理~获得
GIS层服务聚合结果
604
向Web服务器返回所述GIS层服务聚合结果
605Web服务器将所述Web层服务聚合结果与GIS层服务聚合结果
进行合并处理
图6
客户端向Web服务器提交服务聚合请求~所述请求中包含需701要在GIS服务器聚合的第三方服务的信息~所述第三方服务
信息包括第三方服务的地址信息和类型信息
702Web服务器将所述需要在GIS服务器聚合的第三方服务的信息
提交至GIS服务器
703GIS服务器依据所述第三方服务的类型信息调用相应的服务
访问组件~由当前服务访问组件通过所述第三方服务的地址
信息获取相应的第三方服务
704提取所述第三方服务的数据信息进行服务聚合处理~获得
GIS层服务聚合结果
705
向Web服务器返回所述GIS层服务聚合结果
706
Web服务器将所述GIS层服务聚合结果返回至客户端
图7
10002
2006.7 3
MP080689
客户端向Web服务器提交服务聚合请求~所述请求中包含需801要在GIS服务器聚合的第三方服务的信息~所述第三方服务
信息包括第三方服务的地址信息和类型信息
802Web服务器将所述需要在GIS服务器聚合的第三方服务的信息
提交至GIS服务器
803GIS服务器依据所述第三方服务的类型信息调用相应的服务
访问组件~由当前服务访问组件通过所述第三方服务的地址
信息获取相应的第三方服务
804提取所述第三方服务的数据信息进行服务聚合处理~获得
GIS层服务聚合结果
805
向Web服务器返回所述GIS层服务聚合结果
806Web服务器将所述Web层服务聚合结果与GIS层服务聚合结果
返回至客户端
807客户端在所述客户端服务聚合结果上叠加所述第三方服务聚
合结果~获得最终的服务聚合结果
808
客户端展示所述最终服务聚合结果
图8
Web服务器接口模块901
组件调用模块902
903服务访问组件
904GIS层服务聚合模块
图9
10002
2006.7 4
MP080689
客户端接收服务聚合请求~所述请求中包括:需要在客户1001端、Web服务器和GIS服务器聚合的第三方服务的信息~所述第三方服务信息包括第三方服务的地址信息和类型信息
1002客户端将所述需要在Web服务器聚合的第三方服务信息提交
至Web服务器
1003
所述Web服务器将所述需要在GIS服务器聚合的第三方服务信
息提交至GIS服务器
1004所述GIS服务器依据相应的第三方服务的类型信息调用对应的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得GIS层服务聚合结果并
返回至Web服务器
所述Web服务器依据相应的第三方服务的类型信息调用对应1005的服务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数据信息进行服务聚合处理~获得Web层服务聚合结果
1006所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合
结果返回至客户端
所述客户端依据相应的第三方服务的类型信息调用对应的服1007务访问组件~由所述服务访问组件通过所述第三方服务的地址信息获取相应的第三方服务~并提取所述第三方服务的数
据信息进行服务聚合处理~获得客户端服务聚合结果
1008
在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果
和Web层服务聚合结果~获得最终的服务聚合结果
图10
客户端Web服务器
121111客户端接口模块请求提交模块GIS服务器
131Web服务器接口模块112122Web接口模块GIS接口模块
132113组件调用模块123组件调用模块组件调用模块
124133服务访问组件114服务访问组件服务访问组件
134GIS层服务聚合模块115125客户端服务聚合模块Web层服务聚合模块
116叠加模块1103
11011102
图11
10002
2006.7 5
MP080689
客户端接收服务聚合请求~所述请求中包括:需要在客户端1201和GIS服务器聚合的第三方服务的信息~所述第三方服务信
息包括第三方服务的地址信息和类型信息
1202
客户端向Web服务器提交所述服务聚合请求
1203所述Web服务器将所述需要在GIS服务器聚合的第三方服务信
息提交至GIS服务器
所述GIS服务器依据相应的第三方服务的类型信息调用对应1204的服务访问组件~由所述服务访问组件通过所述第三方服务
的地址信息获取相应的第三方服务~并提取所述第三方服务
的数据信息进行服务聚合处理~获得GIS层服务聚合结果并
返回至Web服务器
所述Web服务器从预臵的服务列表配臵文件中读取第三方服
务的信息~依据所述第三方服务的类型信息调用对应的服务1205访问组件~由所述服务访问组件通过所述第三方服务的地址
信息获取相应的第三方服务~并提取所述第三方服务的数据
信息进行服务聚合处理~获得Web层服务聚合结果
1206所述Web服务器将所述GIS层服务聚合结果和Web层服务聚合
结果返回至客户端
1207所述客户端依据相应的第三方服务的类型信息调用对应的服
务访问组件~由所述服务访问组件通过所述第三方服务的地
址信息获取相应的第三方服务~并提取所述第三方服务的数
据信息进行服务聚合处理~获得客户端服务聚合结果
1208在所述客户端服务聚合结果上叠加所述GIS层服务聚合结果
和Web层服务聚合结果~获得最终的服务聚合结果
图12
Web服务器客户端
221客户端接口模块211请求提交模块
GIS服务器
222GIS接口模块212Web接口模块231Web服务器接口模块
服务列表配臵模块223223组件调用模块232组件调用模块
配臵文件读取模块224214服务访问组件233服务访问组件225组件调用模块
215234客户端服务聚合模块GIS层服务聚合模块226服务访问组件
216叠加模块227Web层服务聚合模块1303
13011302
图13
10002
2006.7 6
+