Service GIS(二): [转] SOA助力GIS业务敏捷

业务敏捷的实现有赖于SOA。尽管SOA已不是什么新概念,甚至已经被炒得有些过头,但还是有必要再次提一提,这是一种对GIS软件技术发展有巨大意义的架构思想。

SOA 是面向服务的体系架构(Service Oriented Architecture)的英文缩写。事实上,世界知名的咨询公司Gartner在1996年就提出了SOA的思想。2002年,Gartner又提出 了SOA是现代应用开发领域最重要的课题。2005年,一些IT组织成功建立并实施了SOA应用软件,IBM等厂商看到其价值,也纷纷提出自己的SOA解 决方案。据Gartner预测,到2008年,SOA将成为占有绝对优势的软件工程实践方法,它将很可能结束传统的整体软件体系架构长达40年的统治地 位,届时将有70%的企业在进行IT建设时会转向SOA。

2008年即将到来,不管这个比例是否真能达到,但不可否认,SOA确实得到业界足够的重视。若要真正发挥SOA的作用而不仅仅当作一种概念传播,我们有必要了解SOA真正的内涵是什么。是业务敏捷!提出SOA正是为了实现业务敏捷。

那么,SOA如何实现业务敏捷?让我们来回顾一下软件工程方法的进化过程:

上世纪70年代,结构化编程占据了计算机软件编程的统治地位,C和Pascal之类的语言大行其道。为了提高软件开发效率,很多公司开始思考代码重用。在C语言中,重用的单元就是函数。现在我们已经知道,函数的重用只是代码重用很初级的方式。

面 向对象(Objects Oriented, OO)的提出,把代码重用推向一个新的高度。OO是非常优秀的软件工程方法,其优点是比结构化程序设计提供了更好的代码复用机制。但OO也存在不足,其应 用系统依赖于某种具体的开发语言,一旦有细微的修改,必须重新部署大量的代码。

1994年提出的组件技术解决了面向对象的上述问题, 我们姑且称之为面向组件(Components Oriented)。从对象到组件,这是一个质的飞跃。面向组件解决了对具体开发语言的依赖,让我们在复用组件时不用考虑开发语言的差别,基于不同语言开 发的组件也可以在一起使用。

在1996年到2000年之间,组件技术带来了GIS领域十分重要的技术革命,众多国际国内的GIS平台 厂商纷纷把GIS移植到Windows操作系统,并基于COM技术研发了大型组件式GIS (Component GIS)平台。正是这一轮技术革命,推动着GIS平台从一个带着特殊行业烙印的专业软件演化为通用软件,并融入IT主流。

在今天看来,从传统GIS迈向组件式GIS是技术发展的必然选择,但在当时,不是所有的企业都能看得准,可以说从传统GIS转向组件式GIS是GIS技术发展史上的惊险一跳。



从传统GIS到组件式GIS,GIS软件技术的惊险一跳

那 些成功完成了这惊险一跳的国内外企业获得了快速发展;相反,因为忽略了这一跳或者没有很好完成这一跳,一些知名GIS品牌在此期间没落甚至消失。1997 年成立的超图公司也正是抓住了这一跳的机会,研发了全组件式GIS软件开发平台--SuperMap Objects 2000,才能在竞争激烈的GIS平台软件市场得到生存和发展的机会。总之,组件式GIS一经推出,很快成为GIS应用系统开发的主流技术,并主导了近十 年的GIS应用开发模式,直到今天还是C/S结构的GIS应用系统开发平台的首选。

从软件工程方法发展的规律来看,每一种新的方法和 技术都融合了前一代技术的优点,并致力于改善前一代技术的缺陷。然而,每一个新产生的技术又会面临新的挑战,面向组件同样也存在不足。细粒度的组件与紧耦 合的系统结构,导致局部需求更改后,仍有大量系统修改,也不满足业务敏捷的需要。此外,面向组件还在实现并发管理、事务处理、通讯协议、版本控制和安全方 面,存在困难或具有较高的复杂度。

尽管组件式GIS难以有效满足业务敏捷的需要,但业内一些有远见的GIS应用开发商采用了自己的解 决办法,基于组件式GIS构建了企业内部使用的GIS业务开发平台,采用插件架构来实现业务平台本身的可扩展性和可维护性。应用系统建成后,可通过扩展插 件来扩展新功能,以满足需求的变化。但前提是用户不能更换开发商,因为这种扩展能力是构建在开发商私有的架构基础之上,很难在不同开发商之间共享。

所幸的是,面向服务方法很快作为应对面向对象以及面向组件缺陷的解决方案呈现在人们眼前。面向服务是在面向组件思想基础上发展起来的,从多个角度看,从组件到服务都是一个本质上的飞跃,就像组件是对象的一个本质飞跃一样。SOA 强调松耦合和粗密度,在SOA的应用程序中,开发者只需要关注于业务逻辑的编写,以及通过可交换的、可互操作的服务终结点(Service Endpoint)暴露业务逻辑。客户端调用这些终结点,而不是服务代码或者它的实现包。因此SOA具有更高效率的代码重用机制,可以动态按需构建应用系 统,更有助于实现业务敏捷。

既然SOA是实现业务敏捷的有效思想,而且早已提出,那么为什么GIS平台厂商迟迟不见行动呢?
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值