SuperMap Objects 碎碎念

SuperMap Objects是SuperMap Software Co., Ltd. 成长的关键,最早公司创建之初公司便同时启动了两个项目,一个便是传统GIS中最为突出的桌面产品,另一个就是组件产品。

组件产品又作为桌面产品的基础,为桌面应用提供相应的功能。从SuperMap Deskpro 2000到现在的SuperMap Deskpro 6R,一直都是这么一个模式,SFC组件为SuperMap Deskpro系列产品保驾护航多年,不过近几年SFC组件逐渐进入后期维护阶段,SuperMap Deskpro也进入维护阶段,主要对功能的集成和细化进行深入挖掘,更多的是从软件可用性提升以及功能正确性,分析高效性上来提升Deskpro产品的市场认知度和用户体验。基于SFC(SuperMap Foundation Class)组件有一系列的产品,有为我们所熟知的SuperMap Deskpro、SuperMap IS .NET和eSuperMap,从桌面到服务器,再到嵌入式,甚至还有国土行业的一些深度行业应用等等。SFC已经为SuperMap带来了十年的收益,更是为SuperMap品牌提供了前期非常坚实的基础沉淀。那么为什么不继续深入SFC组件产品的研发,而是转而进入了一个后期维护阶段,目前的工作主要集中在后期缺陷的维护呢?主要原因有:

  1. SFC组件式基于COM技术的,称为SuperMap Objects COM,现在依然有很多的产品和项目的基础。但是COM技术毕竟不再是如今软件开发中的主流,存在着诸多的不足,作为平台厂商,固守一方市场固然有利可图,可是此计并非长久之计啊。为用户以及二次开发商创造价值才是平台厂商应该做的,如今的软件开发中(特别是项目实施中)Java/.NET无疑已经是十足的宠儿了,那么尝试转型已成必然之势。
  2. SuperMap Objects Java/.NET是基于UGC(Universual GIS Core)共相式GIS内核封装的组件产品,内核采用标准C++(此为号称,到底标准程度多高,各位看官且看且猜就行了),与平台相关性降至最低,依托Java/.NET快速而高效的二次开发能力,已经逐渐成为了用户和二次开发商首选的项目实施和开发组件。
  3. 服务器产品需求的激增,由于服务式软件SOA/SaaS等概念的逐渐成熟,催生了服务式GIS,GIS领域顿时服务器产品的需求指数上扬。国家基础地理数据中心,各大城市共享数据平台的建设,国家技术设施的信息化项目,都能看到服务器端产品的身影。服务器端产品对效率和跨平台的要求更高,而COM组件明显在跨平台和效率上不及UGC系列产品,由此SuperMap Objects Java/.NET走上了大舞台。
  4. 云计算概念的成长和应用,诸多厂商开始宣称自己站在了云端,依托云计算的优势能为他们的客户带来更多的价值,节约更多的成本。云计算中最为美妙的就是,任何硬件、软件、服务资源均不以实际形态暴露,而以统一的接口提供给用户,所有的资源均以组件式形态存在于服务端,客户端只需处理请求与响应。那么组件式GIS无疑是GIS云计算中非常重要的一个环节,插件式可定制化的服务,跨平台多地域服务的共享,无疑将为更多的用户带来更多的价值,而成本会更低。

SuperMap Objects Java/.NET

上图是SuperMap Objects Java/.NET产品的实现原理,至于细节,相信众位看官稍微了解一些关于封装机制的都一目了然了。功能性的代码完全由UGC完成,而接口的设计与实现完全由组件层来完成,组件层可以再更具自身语言平台的需求增加一些控件和相关产品的设计开发。例如.NET组件在C/S架构中应用广泛,用于对于桌面应用场景的需求较多,那么易用性高、定制性强、可设计的控件无疑会为客户带来更多的价值空间;而Java组件的优势应用在服务端,B/S架构的产品也不少,在服务端的表现可以交由iServer系列产品(基于SuperMap Objects Java开发的服务器产品),那么客户端呢?新近稍热一点的 JavaFX是Sun公司首推的RIA解决方案,也许用户的应用场景也会随着产品的升级而出现这一方面的需求。

其实组件产品分两大语言体系是一个比较科学的分类

  • .NET技术依托微软强大的技术后盾,在桌面应用上日益成熟早已是桌面明星了,SuperMap Deskpro .NET就是基于SuperMap Objects .NET使用Ribbon界面库开发的新一代GIS桌面GIS产品,从产品易用性和体验上作出了很大的提高,不过性能目前还存在一定的问题(组件产品的瓶颈问题导致)。
  • Java跨平台的特性无疑是最让人津津乐道的,类似于政府和大型服务企业均采用的Unix和类Unix(各种Linux发行版)系统和硬件,对跨平台的要求显而易见,SuperMap Objects Java基于标准C++,完全可以摆脱平台限制,在多平台上表现得游刃有余,填补市场上很大一块空白(其他厂商也有类似的产品和解决方案,但是均是采用中间件方式完成,效率和易用性上相对较差,对用户和二次开发商的开发成本要求过高)。
  • 两种语言技术体系产品,保持同一份设计同时开发测试,接口文档高度一致,二次开发用户选择开发平台的决策成本大大降低。无疑将会让更多的二次开发商,在低成本的情况下可以尝试更多项目的投标生产,为其带来更多的价值。
  • 两个产品由一个领导带领设计开发,更能突出其特点的一致性和延续性,降低用户和市场对该产品和品牌的认知成本,大大增强了组件产品的产品化和标准化。

================我是分割线==================

来到公司已经快半年了,对项目产品和架构上曾经都颇有微词,迄今依然有些怨言,以上就是我对目前SuperMap Objects Java/.NET系列产品的一些碎碎念,其中均是纯个人想法和行为,有一些猜想更多的是臆断。不过猜想也好臆断也罢,终究是我自己思考的一些沉淀,摆出来,凉一凉,晒一晒,淋雨发霉也好招来板砖也罢,纯属博主个人呓语,众看官且听且过是也。

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据