首页 百科知识 开放式地理信息系统实现技术

开放式地理信息系统实现技术

时间:2022-10-18 百科知识 版权反馈
【摘要】:开放式地理信息系统的实现,与计算机技术的发展密切相关。从面向对象技术、分布式计算技术、分布式对象技术,到现在的网络服务技术等,都在开放式地理信息系统的实现中提供了技术支撑,并衍生出基于不同技术的地理信息互操作实现规范和空间信息服务规范。研究分布式对象技术的核心是用统一的标准协议通信来解决跨平台的连接和交互问题,并应用于开发大型分布式系统。
开放式地理信息系统实现技术_网络地理信息系统

1.2.2 开放式地理信息系统实现技术

开放式地理信息系统的实现,与计算机技术的发展密切相关。从面向对象技术、分布式计算技术、分布式对象技术,到现在的网络服务技术等,都在开放式地理信息系统的实现中提供了技术支撑,并衍生出基于不同技术的地理信息互操作实现规范和空间信息服务规范。

1.2.2.1 面向对象技术

面向对象技术是计算机软件系统对现实世界进行模拟的一种技术。其基本思想是通过对问题领域的自然分割,用更接近人类通常思维方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出的软件能尽可能直接表现出问题的求解过程。

面向对象的技术具有继承性、多态性、封装性。

(1)继承是面向对象方法中独有的特性。子类拥有父类的所有属性和方法,也可以有不是从父类继承下来的特殊的属性和方法。继承是一种十分有效的抽象工具,减少了数据冗余,又保证了数据的完整性和一致性。

(2)多态是指同一个消息被不同的对象接收时,可解释为不同的含义。即相同的操作作用于多种类型的对象,并能获得不同的结果。

(3)封装是只将方法和数据放于一个对象中,以使对数据的操作只可通过该对象本身的方法来进行。即对象是一个封装的模块,一个对象不能直接作用于另一个对象的数据,对象间的通信只能通过消息来进行。

在开放式地理信息系统的实现中,从地理数据模型到地理服务模型,面向对象技术都是无所不在的。例如:把数据类型及其操作都封装在一起,将共同的接口提供给用户,用户不需要知道其具体的实现过程。数据是隐藏在对数据进行操作的接口中的,对具体功能实现的改变不会影响到其接口。为了定义更具体的对象,可以在基本对象特性的继承上,增加一些更加具体的方法(黄裕霞等,1998)。

1.2.2.2 分布式计算技术

分布式计算是指借助计算机网络将分布在不同地点的计算实体如进程、组件等,组织在一起进行信息处理的一种方式,实现分散对等的协同计算。分布式计算技术提供了分布式处理的服务和工具。

在过去的几十年中,出现了大量的分布式计算技术,如中间件技术、网格计算技术等。

1.中间件技术

在分布式网络环境下,由于资源的异构性,例如多种操作系统、多种网络协议、不同开发平台等,需要在应用软件与系统软件平台间建立一个中间软件层,屏蔽底层软件环境的复杂性,使应用开发者专注于业务逻辑的开发,中间件技术应运而生。中间件是一个基础性软件的一大类,属于可复用软件的范畴。任何能够使两种不同技术或软件平台之间相互协调、共同工作的软件,都称为中间件。如:在Client/Server体系结构中,Middleware就是帮助Client和Server进行交流与合作的一种中间件。远程程序调用(Remote Procedure Call,RPC)、面向消息的中间件(Message-Oriented Middleware,MOM)、发布与订阅(Publish-and-Subscribe,PUSH)、对象请求代理(Object Request Brokers,ORB)等都可以称为中间件。

2.网格计算技术

网格计算是分布式计算的一种,它利用网络将地域与组织分布的资源,例如CPU、存储资源、通信系统、数据与软件资源、科学仪器以及人力资源汇集在一起,构成一个整体,为用户提供一个高性能的分布式计算平台。通过合理调度,不同机构的计算环境被综合利用和共享,从而使计算能力高度提升,减少和避免了对自身设备升级和购买的投入,同时提高了系统的容错能力和可靠性。网格提供了一种能够跨越组织界限,对分布计算、数据、科学仪器与人力等资源进行管理与利用的机制;网格是一种基础安全架构,使得来自于不同组织的用户能够进行可控制的协作与交流;网格是一种无缝的分布式处理环境,具有很强的扩展性,能够对大规模的资源进行管理与共享。

1.2.2.3 分布式对象技术

分布式对象技术是基于对象的分布式计算技术,用户可以访问位于网络上的任何对象,而不必知道对象的具体位置,也不必理解对象实现的内部机制。其建立在组件(Component)的概念之上,组件可以跨平台、网络、应用程序运行。分布式对象技术的目标是无缝连接和即插即用,实现的关键在于解决软件重用和互操作。其组成包括:对象接口、对象实现和对象请求代理。研究分布式对象技术的核心是用统一的标准协议通信来解决跨平台的连接和交互问题,并应用于开发大型分布式系统。

目前实现的主流分布式对象中间件技术有OMG的CORBA技术、Microsoft的COM/ DCOM和.Net技术和Sun公司的EJB和J2EE技术(龚健雅等,2009)。

CORBA遵循标准的对象管理体系架构(Object Management Architecture,OMA),通过“对象请求代理”(Object Request Broker,ORB)使得用不同的语言开发的组件或代码在网络环境下通信。ORB是CORBA的核心,被称为CORBA “软总线”,负责Client和Server上组件对象之间请求和响应消息的通信和互操作。在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务。在CORBA体系架构中,对象请求采用二进制传输,请求方和服务方之间是紧密耦合的,这比较适应于企业环境中业务联系比较紧密、处理业务和应用程序之间紧密耦合的特点,所以CORBA非常适宜于企业内部的分布式计算环境。

DCOM技术是组件对象模型(Component Object Model,COM)的扩展,COM定义了程序组件和它们的客户之间互相作用的方式。而DCOM则将COM技术扩展,它以网络协议代替了本地进程间的通信方式,实现分布式环境的通信。.NET框架集成了组件技术、程序设计语言和通信协议(图1.5),为软件开发人员创建分布式组件提供了非常灵活的开发机制。

图1.5 Net框架

如同微软推出的COM技术一样,EJB是一种基于Java的组件技术规范。应用程序只需编写一次,就可以在支持EJB规范的任何服务器平台上运行。J2EE提供了多层分布式应用逻辑,这些应用逻辑按功能划分为不同的应用组件,各组件按其功能分布在不同机器上。J2EE规范所定义的应用组件有四种:应用客户端组件、EJB组件、Java Servlet和JSP组件以及Applet组件。利用J2EE可以实现基于浏览器/服务器模式体系结构的分布式系统。图1.6显示了J2EE典型的四层逻辑体系结构:

●运行在客户端机器上的客户层(Client Tier);

●运行在J2EE服务器上的Web层(Web Tier);

●运行在J2EE服务器上的业务逻辑层(Business Tier);

图1.6 J2EE典型的四层逻辑体系结构

●运行在数据库服务器上的企业信息系统(Enterprise Information System,EIS)层。

1.2.2.4 网络服务技术

根据国际万维网联盟W3C的定义,网络服务是一个软件系统,用以支持网络上不同机器之间互操作。它通过网络服务描述语言WSDL文件公开描述其自身的基本功能,通过XML消息(通常采用SOAP格式)与其他应用程序进行通信,使用标准的网络协议,如HTTP等。网络服务具有以下特性:

(1)良好的封装性:网络服务作为一种部署在Web上的对象,具备对象的良好封装性。使用者只需要了解对象提供的功能列表即可。

(2)互操作性和高度可集成性:任何网络服务都可以与其他网络服务进行交互。网络服务采取了简单易解的网络标准协议作为组件接口描述和协同描述标准,屏蔽了不同软件平台之间的差异,避免了协议之间的转化问题。而服务实现仍可以使用已有的分布式对象中间件技术,开发者无需更改其开发环境就可以包装和使用网络服务,实现了当前环境下最高程度的可集成性。

(3)自描述性:网络服务互操作性的目的在于提供从一个软件应用程序到另一个软件应用程序的无缝自动连接。SOAP、WSDL等协议定义了这样一种自描述方式,实现了发现和调用网络服务的无缝自动连接。

(4)松散耦合:由于网络服务采用标准的网络协议,对于服务调用者而言,只要网络服务的调用接口不变,网络服务实现的任何变化对它们而言都是透明的,同时服务调用具有完全的平台、语言的独立性,从而实现了服务间的松散耦合。

(5)使用标准协议规范:Web服务的所有公共协议都是通过开放的标准化协议进行描述、传输和交换的。这些标准化协议可以由任何组织来实现,一般而言,大部分规范将最终由W3C和国际结构化信息标准促进组织OASIS作为最终版本的发布方和维护方。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈