一种开放的gis开发中间件系统的制作方法

文档序号:6374170阅读:374来源:国知局
专利名称:一种开放的gis开发中间件系统的制作方法
技术领域
本发明涉及一种针对配电网GIS(地理信息系统)系统而开发的开放的GIS开发中间件系统,简称OGC(Open GIS Connectivity)体系架构。不仅适用于配电GIS系统的开发,而且还适用于其他GIS系统的开发。
背景技术
目前,配电网GIS系统市场存在以下特点市场上存在多种开发方式很不相同的主流GIS平台;不同的用户会要求采用不同的GIS平台来实现配电网GIS系统,用户需要通过GIS系统来集成多种配电业务。
针对上述情况,其他开发商的做法是为每个GIS平台建立一个开发小组,完成从平台到业务的实现,这样平台越多,需要的开发人员就越多,代码不能在各平台之间共享,对人员的要求很高,既要熟悉平台的开发,又要懂业务。这些都造成了开发商人力资源的极大浪费,造成了产品的开放性和集成性较差,限制了开发和实施效率的提高,从而限制了产品的推广与应用。

发明内容
本发明要解决的技术问题是提供一种开放的GIS开发中间件系统,该中间件系统用于连接不同的GIS平台,可实现GIS平台移植、扩展,且业务实现与GIS平台分离,从而达到促进资源共享、提高开发效率的目的。
本发明所采用的技术方案是开放的GIS开发中间件系统,其特征在于系统包括1)多个位于应用程序下一层的业务相关模块,以及;2)多个位于各GIS平台上一层的平台驱动模块,以及;3)在业务相关层与平台驱动层之间插入的使业务实现与GIS平台分离的开放的GIS开发中间件架构(OGC API),以及;
4)系统中实现业务相关模块之间功能协调的软总线。
所述业务相关模块为可动态装载的功能模块,它调用OGC API函数来实现电力业务,并以一定的格式输出自己的功能说明与接口给应用程序使用,业务相关模块被装载在软总线上。
所述平台驱动模块由300多个函数组成,该层与GIS平台直接相连。
所述开放的GIS开发中间件架构(OGC API)实现GIS系统所需的功能操作,构架由500多个函数组成,它除调用平台驱动层函数来实现功能外,还内建本机软总线用于协调整个系统的运行,本层建立在平台驱动层的基础上,与具体的GIS平台没有关系。
本发明的有益效果是1)优秀的跨平台移植性,在本系统中唯一与GIS平台相关的是平台驱动层,而业务相关层是基于OGC API层来实现的,它与GIS平台基本无关。当我们在不同平台间进行功能移植时,只需更换与平台相关的驱动层,而包含业务的业务相关层则无需修改。2)业务实现与GIS平台分离,本系统通过分层结构(Plugin、OGC API及Driver API)使得业务实现与GIS平台完全分离,这样使得开发更有效率一方面两项工作可以并行开展与升级维护;另一方面两组人员可以专注于自己特定的工作内容,而不用花精力去学习自己不熟悉的内容。3)系统扩展性强,在本系统中,所有的业务功能都是通过可动态装载/卸载的业务相关模块(Plugin插件)来实现的,业务相关模块全部由与GIS平台无关的OGC API层组装而成,而且这些插件间采用软总线的机制,插件之间耦合性很低,因此可以很容易地扩展系统功能,而且通过并行工作可以加快扩展速度。4)OGC架构本身包含良好的集成机制,不受GIS平台集成能力的限制。


图1是本发明的结构流程图。
具体实施例方式
如图1所示,本实施例分成五个层面,最上层是应用程序1、第二层是业务相关层,由3个业务相关模块2组成,第三层是开放的GIS开发中间件架构3,第四层是平台驱动层,由3个平台驱动模块4组成,最底层是3个GIS平台5。其中GIS平台5是指市场上存在的GIS平台,在本例中分别是Smallworld平台、Arc/Info平台和Intergraph的Geomedia平台。
由3个平台驱动模块4构成的平台驱动层(Driver API层)是OGC规范中的最底层,该层由300多个函数组成。它抽象描述了GIS平台的基本操作,如放大、缩小等;本层与GIS平台息息相关,对不同的GIS平台,需采用不同的开发方式来实现。如Smallworld驱动则采用OLE Automation的方式来实现Driver API的函数,而对Intergraph的Geomedia,则可以采用组件方式实现。
开放的GIS开发中间件架构3,即OGC API层是实现GIS系统所需的功能操作,由500多个函数组成。它包括版本管理、窗口管理、对象类管理、对象管理、显示管理、显示工具管理、Plugin管理、坐标管理、对象关系管理、输入输出管理、系统管理、消息管理、用户管理等类别的函数。它除调用Driver API层函数来实现功能外,还内建本机软总线用于协调整个系统的运行;本层建立在Driver API层的基础上,已经与具体的GIS平台没有关系。
由3个业务相关模块(Plugin)2构成了业务相关层,Plugin即可动态装载的功能模块,它调用OGC API函数来实现电力业务,并以一定的格式输出自己和功能说明与接口给应用程序使用。Plugin被装载在本机软总线,通过消息来协调功能。
Plugin实现为动态库,由PlgGetBaseinfo(返回基本信息),PlgGetMenuinfo(返回菜单项信息),PlgGetButtoninfo(返回按钮信息),Plginit(初始化函数,在装载时被调用),PlgDestory(退出函数,在卸载时被调用),PlgMsgproc(消息处理函数,被软总线调用),PlgGetMessageinfo(返回处理消息信息),PlgOutMsg(返回本Plugin定义的专用消息信息),PlgNewMsgParam(专用消息参数内存释放函数)等10个输出函数组成。
软总线是系统中实现Plugin之间功能协调的重要机制,功能协调主要是通过消息机制来进行的。OGC API层定义系统消息,Plugin也可以定义专用消息。当系统运行过程中,功能调用会产生各种消息并发送到软总线上软总线会分配消息给所有捕获该消息的Plugin;当Plugin接收到消息时,根据需要会触发相应代码实现相关功能,此时Plugin也可以生成并发送专用消息给软总线。因此,OGC通过软总线实现了Plugin之间的功能协调。
APP即应用程序,它是个程序容器,主要实现了plugin的装卸、卸载和调用等功能,而具体的业务则在Plugin中实现。当APP启动时,它装载Plugin,并根据Plugin的输出信息生成自己的菜单、工具按钮等界面元素,供用户操作使用。
权利要求
1.一种开放的GIS开发中间件系统,其特征在于系统包括1)多个位于应用程序(1)下一层的业务相关模块(2),以及;2)多个位于各GIS平台(5)上一层的平台驱动模块(4),以及;3)在业务相关层与平台驱动层之间插入的使业务实现与GIS平台分离的开放的GIS开发中间件架构(OGC API)(3),以及;4)系统中实现业务相关模块之间功能协调的软总线(6)。
2.根据权利要求l所述的开放的GIS开发中间件系统,其特征在于所述业务相关模块(2)为可动态装载的功能模块,它调用OGC API(3)函数来实现电力业务,并以一定的格式输出自己的功能说明与接口给应用程序(1)使用,业务相关模块(2)被装载在软总线(6)上。
3.根据权利要求1所述的开放的GIS开发中间件系统,其特征在于所述平台驱动模块(4)由300多个函数组成,该层与GIS平台(5)直接相连。
4.根据权利要求1所述的开放的GIS开发中间件系统,其特征在于所述开放的GIS开发中间件架构(OGC API)(3)实现GIS系统所需的功能操作,构架由500多个函数组成,它除调用平台驱动层(4)函数来实现功能外,还内建本机软总线用于协调整个系统的运行,本层建立在平台驱动层(4)的基础上,与具体的GIS平台(5)没有关系。
全文摘要
本发明涉及一种开放的GIS开发中间件系统。本发明所要解决的技术问题是提供一种开放的GIS开发中间件系统,该中间件系统用于连接不同的GIS平台,可实现GIS平台移植、扩展,且业务实现与GIS平台分离,从而达到促进资源共享、提高开发效率的目的。解决该问题的技术方案是系统包括多个位于应用程序下一层的业务相关模块;以及多个位于各GIS平台上一层的平台驱动模块;以及在业务相关层与平台驱动层之间插入的使业务实现与GIS平台分离的开放的GIS开发中间件架构(OGC API);以及系统中实现业务相关模块之间功能协调的软总线。本发明不仅适用于配电GIS系统的开发,而且还适用于其他GIS系统的开发。
文档编号G06F17/00GK1489084SQ03150459
公开日2004年4月14日 申请日期2003年8月21日 优先权日2003年8月21日
发明者杨国平, 倪立洲 申请人:杭州天丽科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1