超图的宋关福博士很牛,整理他一篇日志,地信人可以看看

超图的宋关福博士很牛,整理他一篇日志,地信人可以看看

GIS自主创新十年路(一) 缘起ActiveMap

从 最初默默无闻的课题组,到今天在GIS自主创新中取得一点小小成就,北京超图公司自成立以来,历经十年岁月。在这期间,超图人付出了许多艰辛,在各界朋友 们的支持下,我们收获的不仅有SuperMap这一GIS软件品牌,更有整个十年的创业和创新体验。我就从自己的亲身经历的角度,跟大家一起回顾刚走过的 十年之路。
尽管在研究生院学过GIS课程,但我真正踏入GIS领域,要从1995年跟钟耳顺研究员(现任超 图公司董事长)做博士研究生开始算起。编制土地利用图是我参与的第一个GIS项目,当时,钟老师手把手教我学习Arc/Info的各种命令,技术上慢慢有 所进步,不过对于成天做地图编辑工作,心里还是有点小情绪,尽管嘴上没说,也没耽误制图工作,心里却在犯嘀咕。很久以后我才体会到,那段时间的基础工作, 让我对GIS的数据结构、功能和技术体系都有了深刻认识,为日后设计和开发SuperMap打下了坚实的基础。

随后我就参与 一些GIS应用系统开发项目。当时做应用开发很痛苦,每换一种GIS软件就要学一种新的二次开发语言,比如Arc/Info的AML、MapInfo的 MapBasic、MicroStation的MDL等,这些我们在项目中都用过,甚至后来还跟王尔琪(现任超图公司副总裁)一起翻译过一本《MDL开发 教程》。当时的GIS软件没有现在所见即所得(What you see, what you get)的界面设计能力,一个对话框的位置、大小,以及对话框上各种界面元素的位置和大小都只能在代码中用数字来标定,通过不断观察运行后的程序效果,不 断修改代码中的各种数字来调整界面,做好一个对话框就要花很多工夫。

尽管用过不少GIS二次开发语言,那时我仍对C++非常 痴迷,没有间断自学C++编程。学习一种开发语言最好的办法就是给自己定一个目标,做出一个软件来,于是我利用空余时间写了个叫MapStudio的软件 练手。从现在的角度看,它还不能叫软件,充其量只是程序而已。MapStudio有些GIS初步功能,可以转入其他GIS软件的数据格式,并配置各种专题 地图,还增加了一些在商业化的GIS软件中很难实现的特殊的动态标注符号,这个程序后来成为我们最初的组件式GIS软件的配图工具。

接 下来发生的另一件事,触发了我们开发组件式GIS软件的动机。1996年的一天,钟老师从美国出差回京,花一两百美元买了一套某国外GIS组件软件的 Beta测试版。这个GIS软件的新品种立刻引起了我浓厚的兴趣,当即装上并使用Visual Basic练习二次开发。不用学习新的GIS软件专用二次开发语言、所见即所得的界面设计、与多媒体等其他组件无缝集成等一系列新特性让我对这种特别方便 的二次开发方式感到兴奋不已,当天晚上就熬到深夜。第二天一早把刚开发的应用程序向钟老师和其他同事们展示,大家都对一个晚上就可以上手开发的这套GIS 软件表示惊讶。

尽管这个GIS组件软件带来了令人兴奋的二次开发方式,但直到现在我一直也没有机会使用它开发一个真正的应用 系统,因为在接下来的几个月里,我以MapStudio的功能为基础开发了一个类似的程序—ActiveMap。ActiveMap采用 COM/ActiveX技术封装了GIS的基本功能,这成为日后SuperMap研发的基础。关于ActiveMap名称的来历,很显然,源于它所使用的 ActiveX控件技术。

GIS自主创新十年路(二) 牛刀小试


推 荐ActiveMap并没有被立即派上用场。当时我们正在给解放军驻香港部队开发一个香港综合地理信息系统,计划于1997年7月1日用于进驻香港行动的 辅助指挥,系统采用MapInfo + MapBasic开发。1997年年初,第一个版本送到部队征求意见,参谋们对军标标绘效果不满意,提了更高的要求。 经过一段时间研究,我感觉在MapBasic中开发动态军标是一个难题,就举荐采用前些日子写的ActiveMap 加Visual Basic来重新开发香港综合地理信息系统,即使ActiveMap从未经过应用检验,钟老师认为应该尝试这种GIS应用系统开发的新方式,于是欣然同 意。钟老师一向非常有远见,一年前他说“我们应该为解放军驻香港部队开发一个香港地理信息系统,他们一定需要!”那是我们还不知道驻港部队在哪里,跟他们 没有任何接触,因此都以为他随便说说,也没在意。没想到过了段时间,这个项目竟然在科学院和科技部的支持下启动了。

当时课题 组里能编程的只有我和尔琪两人,他负责香港系统复杂的MIS部分,开发工作量很大,我就只好一边完善ActiveMap这个GIS组件,一边进行香港系统 的GIS部分应用开发。由于中途换平台,项目时间比预期的更紧张,必须拼命加班赶进度,钟老师也陪着我们一直加班到深夜,然后一起骑车离开917大院沿着 黑漆漆的大屯路回家。当时我住在地球物理所(现在地理资源所的位置)院内的研究生公寓,好几次回去时院门已关闭,我只好从铁门上爬进去,钟老师和尔琪则在 外面把自行车递给我。尔琪住在公寓北侧的遥感所集体宿舍,绕过去不远就可以到,但钟老师住在好几公里以外的健翔桥,比我们更晚才能到家休息。当然,因为加 班太晚,在办公室桌上凑合休息一下的情况也是有的。这样持续加了几个月班,系统终于在1997年5月20日提交给驻香港部队,时任中国科学院院长的周光召 院士亲自出席了系统交接仪式。

作为SuperMap的前身,ActiveMap的第一个应用案例终于顺利完成。这个项目创造 了两个记录:国内军事项目中第一次使用组件式GIS软件,国内第一次采用GSM无线数据通讯技术把移动终端上的GPS坐标信息传输到服务器。7月1日,香 港正式回归祖国怀抱,不久传来消息说,香港综合地理信息系统在7月1日凌晨的部队进驻行动中发挥了重要作用,课题组所有同事深感欣慰,随后收到了来自驻港 部队的感谢函。


GIS自主创新十年路(三) 超图成立

完 成香港综合地理信息系统后不久,科学院为推动地理信息技术产业化,成立了中国科学院地理信息产业发展中心,任命钟耳顺研究员为中心主任。差不多同时,在产 业中心推动下成立北京超图地理信息技术有限公司,钟耳顺研究员任总经理,工商注册日期为1997年6月18日。公司成立时,我们租了科学院北郊研究生公寓 五层南端的几间学生宿舍办公,总共有员工六七人。

南宁国土管理信息系统是ActiveMap的第二个应用案例。国土行业业务 复杂,GIS应用较早,并且很有代表性,这个项目给了ActiveMap更好的磨练机会。该项目启动比香港项目早,但由于驻港部队项目时间紧迫,课题组与 南宁国土局的领导商量暂停该项目计划,先保障驻港部队项目,得到国土局领导的认同和支持。

项目最初并没有选定 ActiveMap作为项目的GIS开发平台,时任南宁国土局信息中心主任的杨如军既是领导,也是技术专家,他看到了组件式GIS的发展潜力,加上有驻港 部队项目案例成功在先,毅然同意我们采用ActiveMap开发系统,并与我们进行了非常有价值的讨论,对ActiveMap的完善提出了很多好的建议。 ActiveMap在南宁国土项目期间的进步很快,其中ActiveMap直接访问MicroStation DGN的空间数据引擎全部在那里完成,这成为后来SuperMap的多源空间数据无缝集成打下了基础。1998年年初,南宁国土项目顺利完成,也创造了国 内第一个基于组件式GIS的完整国土管理信息系统案例。

香港系统采用Visual Basic 4.0作为开发环境,南宁国土项目则采用Visual Foxpro,这两个项目为无疑为ActiveMap的发展提供了机会,也为以后的研发SuperMap打下基础。多年以后我还在想,如果当初 MapInfo在开发军标方面没有障碍,也许香港系统不会采用ActiveMap,如果当初没有香港系统,可能南宁不会采用ActiveMap,那么 ActiveMap也许就象许许多多学生们自己开发的GIS原型软件一样,湮灭在时间洪流中,也许没有后来的SuperMap了。

 
GIS自主创新十年路(四) 平台战略

 
经 过两个项目的开发实战,我们深刻体会到组件式GIS强大的生命力,认为基于组件的开发(Components Based Development, CBD)必将成为GIS领域未来十年最有影响的应用开发方式之一。尽管成功应用于两个项目,但ActiveMap离一个真正的GIS开发平台还有距离。想 要成为一个真正的GIS开发平台,就必须进行完善的产品化,要让其他单位的开发团队也能进行令人激动的应用系统开发,而不仅仅局限于我们自己在项目中使 用,而且外部用户要远远多于内部,这样才有生命力。

过去多年以来,国内出现了不少GIS平台软件,一些软件最后销声匿迹不是因为技术不够先进,而是因为缺乏足够数量的外部用户。当一个GIS平台软件定位在主要由自己单位的项目团队使用时,这种GIS平台软件的命运已经注定了被淘汰或边缘化。

1998 年年初,钟总做了两个重要决定:第一, ActiveMap不能仅满足于公司自己的项目开发需要,必须作为真正的GIS二次开发平台发展下去;第二,超图以GIS软件平台为公司未来的核心业务, 公司会继续承接部分行业项目来直接获取平台软件的需求,但更多地项目要发展二次开发商承接。这是超图公司非常重要的战略定位,也决定了超图未来的发展道 路。

在没有外部投资支持的情况下,钟总毅然决定成立比项目部更大的研发部,专门从事GIS平台软件研发。作为一个刚起步的小 公司,研发部在好几年内是无法直接产生经济效益,钟总下这么大的决心投入基础软件研发是非常需要胆识的。当年我博士刚毕业,一心沉浸在技术钻研中,对财务 一窍不通,当时自然也无法体谅这样的决策要面临多大的财务压力和挑战。直到04年我转到管理岗位,直接接触企业财务后,才为当时的决策所面临的财务风险感 到后怕。“革命”的第一阶段靠胆识,第二阶段靠智慧,第三阶段靠规范。如果没有钟总当初的魄力和胆识,今天的超图很可能还是一个GIS项目公司,绝不会成 为一个平台软件企业。

以项目养研发成为当时的策略。公司成立了两个业务部门,即项目部和研发部。放弃了北海规划局信息中心主 任之职的梁军(现任超图公司副总裁)来公司负责项目部,而我则有幸被任命负责研发部。研发部的规模从开始的几个人发展起来,逐步壮大。当时由于公司名气不 大,不能很快招聘到新员工,研发团队的建设进度较慢。大家各自发挥私人关系,通过同学和老师推荐,找来几个来北京师范大学和北京信息工程学院的实习学生, 后来这些实习学生中大部分毕业后留下来,成为现在的研发骨干。

在后来相当长一段时间内,我们都通过这样的方式招人,由于我和 尔琪都是北师大本科毕业的,公司距离北师大也不算很远,因此从北师大找人就很方便,我们曾多次打电话让学校的老师给我们推荐人,像现在研发和客服等部门的 好几个技术管理骨干都是北师大王静爱老师推荐的。想想以当年超图的条件,老师们愿意把优秀的毕业生推荐过来,这些同事也愿意选择超图,那要冒多大的风险! 感谢所有给超图推荐人才的老师们,感谢选择了超图的同事们!王康弘也是在这样的背景下从北师大硕士毕业上了钟老师的博士研究生,并被安排在项目部参与工程 项目开发,当时谁也没有想到这位搞技术的博士会成为以后负责平台软件销售的副总裁。

但如此一来,早期招来的新员工中,北师大毕业生的比例较大,以至于后来有人夸大其辞地讲,超图公司都是北师大的,其实当时那是不得已。当然,随着企业规模不断扩大,知名度逐步提高,新员工的毕业学校也逐步多元化,避免了“近亲繁殖”带来的诸多弊端。

GIS自主创新十年路(五) 四年磨剑

ActiveMap 2.0是研发部成立后的第一个研发任务,目标是要打造一个专业的组件式GIS开发平台。很快,我们发现无论ActiveMap 1.0还是我最初接触的国外GIS组件软件在设计上都无法满足这个要求。这两个软件都属于轻量型开发平台,都只设计了一个控件,只能实现GIS软件全部功 能的一小部分。因此严格来讲,它们还算不上“组件式GIS”,只能算是“GIS组件”。二者的差别在于,“组件式GIS”由一系列“GIS组件”构成,每 个组件包含GIS的一部分(或一类)功能,这些组件之间可以协同工作,而且根据需要可以选择购买或不购买那些组件。基于组件的开发就是把几个需要的GIS 组件以及其他的软件组件如同搭积木一样组合起来,每个积木也许很小,但一堆积木就可以搭建更大的模型,而且这样的系统开发效率高、灵活自由。这是组件式 GIS为应用开发者带来的最令人激动的体验。很多年后,还有人瞧不起SuperMap这个小组件,认为不会有大出息,他们大概混淆了GIS组件与组件式 GIS之间的差别。

基于以上原因,ActiveMap 2.0必须完全重构,并被设计分为多个组件,包含更全面的GIS功能,以满足真正大型应用系统的开发。而且这些组件之间必须是高效但松散耦合的,也就是可 以把它们拆开来用,拆开来销售,这才能发挥组件式GIS可以被灵活裁减的高度伸缩性优势。到现在我一直很奇怪,为何国外一些著名GIS品牌在新一代GIS 产品中,把GIS组件与桌面GIS软件捆绑在一起,各个GIS组件之间更是铁板一块,缺乏伸缩性。直到2004年,他们才费了很大力气把组件与桌面相互纠 缠的代码理清,把组件与桌面分离开来,部分地解决了这个问题,但组件的可裁减粒度仍然太大。

在ActiveMap 2.0中,包括工作空间、地图、布局、三维、拓扑和辅助开发工具等几个可裁减的组件群,前两部分是整套软件的基础,是必须的,其余组件则可以自由选择搭 配,从而构建了一个大型全组件式GIS平台。所谓“全组件”,指得是组件式GIS不与桌面GIS捆绑,可以独立分发。

1999 年年初,研发部已经有十几个人的规模,在当时总人数只有二十几人的公司中,这可是不小的队伍。技术进展总体上很顺利,其间一些业内朋友见了阶段性成果的演 示,对这套软件很期待。为了加快进度,公司决定进行封闭开发。2月,研发部全体成员开赴北京南郊大兴区一个叫中科院榆垡治沙站的地方,住在一片树林里的一 个小院里,一条大狼狗看着院门,办公和住宿条件都很简陋。在这里,我们呆了整整3个月,每天除了吃饭睡觉就是讨论和写程序。封闭期间,ActiveMap 2.0开发进展很快,5月封闭结束时完成了Alpha测试版。随后在深圳举办的GIS年会上展出,这个在公开场合第一次露面的ActiveMap吸引了很 多同行的驻足观看。那时公司没有市场部和销售部,参会的都是研发部做技术的几个同事,没有参加展会的经验,也不知道去弄杯水喝,我们介绍软件直说得口干舌 燥,嗓子都哑了,但大家都很兴奋。

从Alpha版到正式版期间,ActiveMap 2.0发生了两项重要的变化。一是软件的数据存储技术的变化,二是软件名称的改变。

ActiveMap 2.0 Alpha的本地数据格式采用微软的Access数据库,即MDB文件,这种数据结构的优势很明显,属性数据和空间数据一体化存储,而且支持多用户并发编 辑。当我们用各种类型的数据进行与其它软件对比测试后发现,地图显示和分析的速度与其它软件有较大差距。如果把它作为唯一的本地数据格式,无疑是缺乏竞争 力的。权衡再三,我们决定重新设计本地数据格式,把属性数据采用MDB存贮,空间数据则存储在另外的文件,也就是后来的SDB本地文件格式,测试表 明,SDB的效率比MDB格式高出许多。

空间数据库是ActiveMap 2.0 Alpha以后的重要进步之一。尽管放弃了MDB这个小型数据库作为唯一的本地数据文件格式,但我们看到,基于大型商用数据库存储和管理海量空间数据是未 来发展的方向,因此ActiveMap 2.0必须增加对空间数据库的支持。研发部成立了专门团队研发空间数据库引擎,首先要支持的是SQL Server和Oracle。从那时开始,我们一直保留着专门的空间数据库研发队伍,几年来,超图的空间数据库技术取得很大进步。

正 当ActiveMap 2.0越来越成熟和完善之际,我们在网上查到一个来自法国的三维软件也叫ActiveMap,尽管那不是真正意义上的GIS软件,但毕竟与GIS有关。虽 然我们在较短的时间内不可能把软件推广到法国去,但从长远来讲,总有一天要进入法国市场,若到那时候被迫改名,代价就太大了。随后我们发现,www.activemap.com 的域名也被一美国公司注册。如果说法国有同名软件对我们的影响是局部的,没有.COM 国际域名则将给我们带来全球市场的限制。

如 果一定要更名,早改比晚改好,于是我们召开会议讨论软件更名问题。我们一边提出各种新名称,一边查询与之相应的国际域名是否可用,结果发现,好名称对应的 国际域名往往被占用,有可用国际域名的名称我们又不满意。最终采用了钟总的提议,直接把公司名—SuperMap作为产品名。SuperMap这个名称简 单、易于传播,并且在一年前,我们就注册了国际域名www.supermap.com www.supermap.net ,以及国内域名www.supermap.com.cn 。从那时起,公司名称与产品名称合二为一,ActiveMap 2.0就更名为SuperMap 2.0,在正式发布的名称中采用年号代替版本号,也就是SuperMap 2000。2000年10月底,我们在北京市国际会议中心举行了隆重的发布仪式,SuperMap 2000正式上市,引起业界广泛关注。
与现在 的SuperMap Objects 2008相比,SuperMap 2000无论在功能和性能上都有相当大的距离,但它对于当时的超图却有举足轻重的意义。这是超图第一个公开发行的GIS平台软件,在SuperMap产品 发展历程中,它的发布是一个重要的里程碑。更为重要的是,在其它GIS企业都按先桌面后开发平台的模式发展软件的情况下,超图反其道而行,剑走偏锋,抓住 基于组件开发的技术趋势,先推出GIS开发平台SuperMap 2000,直指大型全组件式GIS的蓝海市场。在国内外软件品牌众多的中国GIS市场,作为后来者的超图才因此获得生存和发展的机会。


2003 年11月20日,以MicroStation产品著称于世的Bentley公司全球副总裁Bhupinder Singh访问超图,在得知SuperMap Objects的收入在SuperMap全部软件收入中所占比例超过2/3时,颇感惊讶。当时服务器GIS产品还没有形成主流,多数GIS软件公司的软件 销售收入以桌面软件为主,Singh先生没想到超图的组件开发平台竟能占如此高的比例。


SuperMap 2000发布后,因其大型全组件式的独特定位,引起业界广泛关注,组件式GIS这一新的二次开发理念被业界广为接受,与此同时,超图公司也被打上深深的组 件烙印。一年以后,SuperMap的产品家族增加了WebGIS、桌面GIS和嵌入式GIS等新成员,但由于组件式GIS给业界的印象过于深刻,以至于 3.0产品系列发布后相当长一段时间内,很多人在提到超图时首先联想到的还是组件,SuperMap Objects甚至掩盖了SuperMap IS等其它类型产品的光芒,这种现象在多年以后才逐步得以改变。

这期间,超图还做了一件令人 意想不到的事,2000年6月,北京超图公司与旅日华人林秋博博士在东京成立合资公司日本超图株式会社,目标是研发SuperMap软件日文版并在日本市 场推广和应用,从那时开始,国际化就成了超图公司另一项重要的战略。此举有点让人看不懂,网上有人评论说“超图连中餐都没有吃好就要吃西 餐”,SuperMap在国内还没有公开发布就要做国际化,的确不符合一般的出牌顺序。但正是钟总这种一定要“吃西餐”勇气和胆略,造就了现在超图的国际 化市场拓展的基础。

2000年7月,杜庆娥加入超图公司,这位北大本科刚毕业两年的年轻女生半年后开始负责公司工程项目销售,5年多以后被任命为负责GIS行业应用销售的副总裁。

GIS自主创新十年路(六) 聚沙成塔

超 图萌发开发WebGIS产品的想法要追述到1999年年底。当时SuperMap 2000还没有正式发布,但已经有几个项目在使用这个产品,包括中国民航空中交通情报发布系统、中山市规划管理系统和成都自来水管理系统,与 ActiveMap的两个应用项目不同,这三个项目的开发工作都由独立的GIS应用开发商承担,超图的研发部一边完善产品,一边对开发单位提供技术支持。 一天,负责开发成都自来水管理系统的金科成公司向我们寻求技术支援。成都自来水管理系统是一个网络系统,用户单位分布在全市多个地方,与总部的网络连接为 低速连接,无法满足客户端直接访问服务器端数据的带宽要求。经双方多次讨论,决定采用一种瘦客户端架构,即组件式GIS平台安装在服务器端,根据客户端的 请求,把地图窗口中的内容输出为位图文件,通过网络传输到客户端显示并实现交互。为了配合开发商这一新的应用开发模式,由尔琪负责相关技术研究。

在 超图有小诸葛之称的王尔琪绝对是个技术天才,不仅协助金科成于2000年6月完成成都自来水项目,事后不久,还以该项目实施的技术路线为基础,开发出一个 WebGIS的原型。2001年年初,经讨论,这个产品被命名为SuperMap IS,其中IS为Internet Server的缩写。2001年3月,SuperMap IS 1.0在成都召开的中国GIS协会年会上正式发布。

当 然,天才的王尔琪主持开发的SuperMap IS绝不是先行者产品的翻版。SuperMap IS 1.0采用四层体系结构,即“客户端WebGIS服务器基于组件的GIS引擎数据库平台”。其中GIS引擎采用开放结构,既支持SuperMap 2000,也支持其他组件式GIS产品,甚至还提供了二次开发商开发自定义引擎的可能。当然,用户还可以对已有的GIS引擎进行扩展,因 此,SuperMap IS在提供服务器端扩展开发方面也领先国际国内同行多年。

尽管现在的SuperMap IS .NET和SuperMap IS Java是经全部重构后的产品,但SuperMap IS 1.0开创了超图新的产品种类,同样具有里程碑意义。

eSuperMap 的出现也在情理之中。SuperMap IS是服务器GIS开发平台,SuperMap 2000是面向工作站和PC的GIS开发平台,如果再有一个面向包括PDA在内的微型移动终端的GIS开发平台,则可形成多层次的开发平台框架。2001 年,我向公司提出基于嵌入式操作系统开发嵌入式GIS软件的构想,经论证,钟总同意了这一计划。

为 了提高效率,我们计划进行为期一月的封闭开发。从SuperMap 2000研发团队中挑了C++开发经验最丰富的滕寿威(现任超图公司导航事业部经理)、陈俊华(现任超图公司研发中心总经理)等三个同事,加我共四人组成 封闭开发团队,很快开赴位于北京小汤山的九华山庄。若按现在的研发流程规范来审视,当时这个项目的准备工作非常仓促,预研究也不充分。在我们开赴封闭现场 的头一天,才拿到新购买的全公司唯一一台PDA,我们当时甚至还不知怎么把数据和软件从PC传到PDA上,更不知如何用微软的eMbedded Visual C++开发和在PDA上调试软件,一切都是在封闭开发期间从头摸索。

开 发团队住在同一套房子,让服务员搬来一张桌子,放在房间里就开始工作了。大家很快进入状态,除了我回公司开过一次会议外,大家基本上足不出户,吃饭由服务 员送到房间。房间没有多余空间,大家把键盘往显示器上一搁,在同一张桌上解决用餐问题。由于平常不出门,外面的天气状况一概不了解,一次在与公司其他同事 通电话时,我们才知道外面下了一整天的雪。

滕寿威和陈俊 华都是编程高手,加上刚经历了SuperMap 2000的研发,经验非常丰富,大家又十分投入,开发进展顺利。在封闭开发期间,我们把产品命名为eSuperMap,其中e代表Embedded取意嵌 入式SuperMap。最终我们用了3周时间,便完成了eSuperMap原型,提前一周结束封闭开发。

回公司不久,我们就携eSuperMap原型软件奔赴成都参加中国GIS协会年会展出了。在那里,我们发布了SuperMap IS 1.0,并展示了eSuperMap原型,这两个软件均引起同行关注。

2001 年11月,eSuperMap 1.0正式发布。同时正式发布的还有SuperMap IS 2.0、SuperMap Objects 3.0和SuperMap Deskpro 3.0。为便于与SuperMap产品家族其它产品区别,从3.0开始,SuperMap的组件式GIS开发平台就更名为SuperMap Objects。至此,SuperMap GIS的产品线正式建立起来。

同 年,因不适应SuperMap这一全新GIS品牌的销售,刚组建半年左右的平台软件销售团队解散。钟总和我在讨论新的平台软件销售团队负责人时一致认为, 要找一个有技术功底的人担当这个角色才能成功。SuperMap是一个全新品牌,作为销售负责人必须能够把SuperMap的技术特点讲的清楚,客户才可 能选择它。最终做了一个大胆的决定,把当时工程项目部的技术骨干,刚刚博士毕业的王康弘调来重新组建平台软件销售部,康弘就成为中国GIS领域的第一个负 责销售的博士。

GIS自主创新十年路(七) Universal GIS

SuperMap 2000和SuperMap IS 1.0发布之后,eSuperMap 也在从原型到产品化的轨道上正常运行,再过几个月,SuperMap GIS的产品线即将建成。从产品研发的角度,似乎可以松口气了,接下来只需要把这一系列产品在应用的检验中逐步完善,就可以达成超图的平台软件发展战略目 标了。但在信息技术飞速发展的21世纪,唯一不变的就是变化本身,如果此时停下脚步,必将会被滚滚而来的IT车轮碾过,我们必须思考未来将有什么新的技术 变革!

4年前,超图抓住了GIS组件化的技术变革机遇,基于微软的COM/ActiveX技术开发 了SuperMap 2000,并以此作为国产GIS后来者进入GIS领域。但若不能抓住下一次技术变革的机遇,我们就会面临被新技术淘汰的危险!对于GIS厂商而言,要完成 一次大的技术变革,需要好几年的时间,并耗费大量人力和物力。GIS领域的国际老大哥ESRI从启动基于COM的ArcGIS 8到于1999年12月正式发布,花了将近4年时间;超图从ActiveMap到SuperMap 2000正式发布,也历经了差不多4年。而且产品从第一个版本正式发布到完善成熟,还需要几年。因此,如果不提前看到新的趋势并做好准备,当新技术已经成 为主流的时候在启动升级换代,为时已晚!

作为GIS研发人员,除了具备扎实的的地学知识以外,还应 有三只关注变化的眼睛:第一只眼关注用户需求变化,要随需而变,这是根本;第二只眼关注IT变化,不管GIS软件中蕴含多专业的地学知识,但它首先是软 件,IT的所有新的变化都可能给GIS软件带来不可低估的影响;第三只眼关注同业变化,此举不是为了要跟着先行者走,那是追星族,没有战略的表现,而是留 意同行举动背后蕴藏着什么样的用户需求变化,以便采取更有效途径去满足。前两只眼是预见性的,最为重要,第三只眼用于亡羊补牢,要尽量争取用前两只眼发现 问题和机会。那么,在GIS软件的应用方面有什么新的需求?在组件式GIS、WebGIS和嵌入式GIS之后,究竟还隐藏着什么新的技术变革?其实,就在 我们研发SuperMap 2000和SuperMap IS 1.0期间,一场巨大的技术变革风暴正在逼近我们!

1999 年12月,SUN公布了J2EE(即后来的Java EE)技术规范的第一个版本,这是一个瘦客户端的多层企业开发架构;2000年6月22日,微软公布了其.NET战略,.NET不仅要提供新的开发语言、 新的组建模型,更重要的也是要把Internet/Intranet建设成可以交换组件、共享服务的地方。这初看起来似乎没什么特别之 处,SuperMap IS之类的WebGIS不正式朝着这个方向发展吗?但实际上,其中蕴涵着几个对GIS有严重影响问题:

首 先,在这种面向服务的多层企业开发架构中,软件系统的计算重心从以PC/工作站为主的客户端,向服务器端偏移。但不巧的是,90年代中期以来,由于看到 PC和工作站的操作系统已经被Windows垄断的趋势,国内外的GIS厂商纷纷把源自Unix上的GIS 软件移植到Windows,并且都花了巨大代价,超图的产品内核也构建在Windows上。但当时服务器的操作系统仍是Unix和Linux的天 下,Windows就算以后在服务器上会有更大的进步,但也很难说几年后Windows也会垄断服务器端,如果GIS功能重心真的转移到服务器上,那么下 一代GIS必须解决跨操作系统的问题!

其次,即使在Windows操作系统上发展,.NET组件技术将逐步取代COM组件模型,那么超图和其他国内外同行刚刚在COM上构建的组件式内核岂不很快面临挑战?!

最后,J2EE和.NET,我们应该选择哪条路?

在 最后一个问题上,我们最初倾向于.NET。2001年年中,钟总找我商量中科院知识创新工程项目申报题目的事,我建议做《面向.NET框架的地理信息服务 关键技术预研究》,7月该项目获准得到支持。超图以该项目为基础提出了下一代SuperMap的研发计划,即SuperMap .NET计划。2002年年初,我们感到放弃J2EE就等于放弃Unix和Linux服务器市场,必须同时考虑支持J2EE和.NET!当时超图刚中标科 技部863招标课题《面向网络海量空间信息大型GIS》,该课题明确要求支持Unix。于是我们决定合并执行科技部和科学院的这两个项目,提出一套框架, 同时支持Unix、Linux和Windows操作系统、支持J2EE和.NET两套多层企业级服务架构、支持.NET组件和Java Beans组件对象模型。

为了达到上述目的,并能灵活应对未来新的技术变化,我们提出了 Universal GIS架构,即基于标准C++构建全新的跨平台GIS内核 ,我们称之为UGC(Universal GIS Classes),然后分别使用.NET技术和Java技术,基于UGC封装.NET组件和Java Beans组件,最后在此基础上开发Internet GIS和桌面GIS软件。整个体系就像一株鸳鸯树,UGC是共同的根基,主干分为Java和.NET两支,在每一支主干上分别生长着Internet GIS和桌面GIS等组成的树冠。参考了哲学中共相(Universal)和殊相(Particular)概念,Universal GIS后来被翻译为共相式GIS。关于共相式GIS的具体思考路径,以前写过专门文章介绍,此处不再详述。

Universal GIS是一个以不变应万变的技术架构,如果以后出现新的二次开发语言,或新的组件模型,甚至药支持新的操作系统,只需要进行相应的调试和封装,就可以快速 支持新技术,而内核可以保持相对稳定。实际上,各数据库厂商基本采用这种架构,数据库系统平台的内核基本上都采用C/C++编写,只不过需要在不同的操作 系统和硬件上编译调试,不管应用于.NET还是Java开发环境,提供相应的接口即可,内核不需重大改变。数据库一直在服务器端发展,所以这个体系一直延 续至今。而GIS则经历了从大型设备到PC的发展历程,而后又重回大型设备,GIS追着IT绕了个大圈。

这个技术架构看似简单,但要实现跨操作系统 ,GIS 软件比数据库的难度要高得多。数据库主要在服务器上提供数据管理功能,可视化功能要求不高(对CPU的计算压力较小),因此可视化部分完全可以用Java 之类的跨平台语言在内核的外围完成。而GIS则不同,不仅数据管理的计算负荷大,而且可视化的计算量也非常大,因此可视化不能采用Java在外围完成,必 须也在C++级实现。不同操作系统之间的可视化技术差别很大,因此一个完善的Universal GIS内核开发工作量,比在某种操作系统上重构一个GIS内核要大得多。加之GIS产品线长,产品种类多,因此整体开发工作量极其巨大。 (声明:本人无意比较GIS软件和数据库软件的技术含量高低,更无意贬低数据库这一伟大的软件平台。此处仅想说明,由于GIS在可视化方面的要求太高,导致GIS软件在实现跨操作系统方面 的复杂程度更高,仅此而已)

从 2002年提出Universal GIS架构,到2005年公开发布这个架构,2006年年初发布第一个基于该架构的产品SuperMap IS Java 1.0,前后历经将近4年 时间,而且产品线还远远没有完成。到2007年上半年,除SuperMap IS Java已经升级到1.2以外,还没有更多基于该架构的产品发布。因此有朋友在网上提出质疑:超图是不是仅仅在炒概念?共相式GIS研发计划是否能进行到 底?借此机会我想告诉大家,这个计划不仅没有被放弃,而且进展顺利。时值超图公司成立十周年之际,从2007年年底开始,很快就会有一系列基于 Universal GIS架构的产品陆续跟大家见面。

五六年的研发时间,数千万人民币的资金投入,使得Universal GIS成为超图历史上投入最大的研发项目,相信该项目将会给业界带来令人激动的成果。

猜你喜欢

转载自kayo.iteye.com/blog/1534469