发展开源中间件
- 格式:doc
- 大小:73.00 KB
- 文档页数:9
国产信息基础软硬件行业深度报告:开源、迁移、上云、生态一. 围绕信创生态建设的核心,开源、迁移、上云我们认为,关系到国产基础软硬件发展的四个关键词:生态、迁移、上云、开源。
1)生态:国产基础软硬件体系基本可用,形成整体推进的局面。
国产软件/硬件体系在2015 年开始进入“可用”阶段,2020 年在信创战略推动下有望向整体“好用”升级,最终有望达到市场良性循环的状态。
2)开源:是获取技术、开发者群体、用户群体以及扩大技术影响力的最佳选择。
信创并不等于彻底的技术封闭。
开源已经成为龙芯、鲲鹏、统信、麒麟等国产行业“支柱”的重要发展方向,也是时代发展的趋势。
3)迁移成本:信创推进过程中,迁移成本是需要重点关注的问题。
过去,国内IT 产业对IOE 体系较为依赖。
如何低成本地实现已有设备中的应用、数据、文档向国产设备顺利的迁移,是影响信创顺利推进的重要问题。
有足够的技术实力解决迁移问题的厂商,将有望获得更突出的市场地位。
4)上云:实现上层应用和底层硬件的解耦,减缓了仓促兼容适配对用户体验的影响,也是数字经济时代的重要趋势。
过去数十年间,国产软硬件各种技术路线和设计架构并存,底层硬件也未能在性能上全方位赶超海外厂商。
上云可以有效地提升异构环境下的用户体验。
另外,政务和企业上云是数字经济时代的必然结果,信创推进也将符合这一趋势。
总结来看,较完善的生态基础、面向应用迁移和上云的技术布局、适当利用开源资源,将成为影响信创相关厂商扩大市场影响力的重要维度。
1. 生态建设:信创推进的根本保障,厂商技术布局的核心芯片、基础软件、整机、应用软件、打印机等,彼此之间互相兼容,是信创推进的根本保障。
从技术角度,完备的计算机,需要芯片、主板、操作系统、数据库、应用软件、打印机外设、网卡等协调一致工作,才能实现正常的功能。
任何一个组成部分,都无法孤立于其他元件的技术标准之外。
因此,信创产业的推进不是零散的、各条线独立的,而是作为生态整体去推进。
第 3 期2021 年 6 月水利信息化Water Resources InformatizationNO.3Jun .,2021开源 GIS 软件梳理及在水利行业中的组合应用董万钧 1,2,董 波 3,张俊儒3(1. 水利部南京水利水文自动化研究所,江苏 南京 210012;2. 水利部水文水资源监控工程技术研究中心,江苏 南京 210012;3. 江苏南水科技有限公司,江苏 南京 210012)收稿日期:2020-07-02基金项目:南京水利科学研究院中央级公益性科研院所基本科研业务费专项资金(Y919012)作者简介:董万钧(1977-),男,江苏高邮人,高级工程师,主要从事水利信息化方面的工作。
E -mail:******************.cn摘 要:针对开源 GIS 软件需要针对不同的应用场景和功能需求,筛选出多个软件进行组合集成应用的现状,为提升组合集成效率,按照典型的 WebGIS 系统的构建过程,从数据加工、数据存储、地图发布、空间分析、前端展示 5 个方面对常见的开源 GIS 软件进行整理分类。
结合水利行业中所遇到的软硬件条件差异、网络环境不同、功能需求不同等方面,抽象出 4 个不同的应用场景,从功能、易用性、使用的广泛性和软件许可等几个方面进行筛选,构建软件的组合方案,提供系统案例,为开源 GIS 软件在水利行业中的应用提供指导作用。
从应用结果看,4 套方案覆盖了不同层次的应用需求,开发人员可依据需求快速准确确定解决方案,达到降低成本,快速构建相关 GIS 功能的目的。
关键词:开源 GIS ;梳理;水利行业;应用场景;组合应用;解决方案;案例中图分类号:P208.2 文献标志码:A 文章编号:1674-9405(2021)03-0025-07DOI: 10.19364/j.1674-9405.2021.03.0060 引言GIS 技术已经广泛应用于水利行业的方方面面,主要应用领域包括防灾减灾(防汛抗旱决策、灾情评估、洪涝灾害风险分析与区划、城市防洪)、水资源管理、水环境和水土保持,以及水利水电工程设施的建设管理等 [1–2]。
白盒化产业趋势 白盒化产业趋势
白盒化,是指传统闭源软件向开源软件转变的一种趋势。随着互联网的发展,开源软件的普及程度越来越高,越来越多的企业开始认识到开源软件的优势,并将开源软件应用于自己的产品中。白盒化产业则是指在开源软件的基础上,通过开放源代码、加强合作共赢、提供增值服务等方式来实现商业化运营的一种产业模式。
白盒化产业趋势,是随着信息技术的不断演进和市场需求的不断变化而不断发展的。下面将从技术、市场、政策等方面,对白盒化产业的趋势进行分析。
一、技术趋势 1.1 开源软件技术发展 开源软件不断发展壮大,各种开源软件层出不穷。包括操作系统、数据库、中间件、开发工具等在内的各类开源软件,已经逐渐成为企业构建信息系统的首选。企业有更多的选择,以满足不同业务需求。同时,开源软件社区的规模不断扩大,开源软件的质量和稳定性也不断提高,进一步促进了开源软件在企业中的应用。
1.2 软件定义 软件定义是一种新兴的技术趋势,将网络空间和计算资源虚拟化,通过软件来管理和控制网络和计算资源。软件定义网络(SDN)和网络功能虚拟化(NFV)等技术的出现,对白盒化产业带来了新的机遇。通过软件定义,企业可以更灵活地部署和管理网络和计算资源,提高资源利用率和运行效率。同时,软件定义也为白盒化产业提供了新的商业模式和增值服务。
1.3 人工智能 人工智能技术在各个行业中的应用日益广泛,也给白盒化产业带来了新的机遇。通过人工智能技术,可以实现对大量数据的分析和挖掘,从而为企业提供更精准的产品定制和市场推广。人工智能技术还可以应用于软件定义网络和网络安全等领域,提高网络的智能化和自动化水平。
二、市场趋势 2.1 云计算市场的发展 云计算作为一种新型的计算模式,已经渗透到各个行业的各个领域。云计算可以提供基础设施、平台和软件服务等,使企业可以更快速地开发和部署应用,降低成本,提高资源利用率。云计算市场的快速发展,为白盒化产业提供了更广阔的市场空间。
开源是种生活方式 文,方越
走上开源道路 清晨六点钟,被儿子闹醒,第一件事是打开邮箱, 迎面而来的是数以百计的邮件,我知道新一天的 工作开始了。
这是一个典型的场景,过去四年多的时间,我一 直在家工作,全职参与Apache旗下多个开源项 目的开发。以开源社区为核心,以maillinglist、 IRC、JIRA、SVN、Git、Maven等为工具,参与全 球化协作的开源项目。 走上Apache开源道路,要从2006年谈起,当时 源于0bjectWeb社区的Celtix和源于Codehaus社 区的Xfire合并,成为了Apache旗下的一个新项 目CXF。我当时所服务的公司IONA是开源项目 Celtix的主要推动者,也是Celtix的代码提交者 (Commit ̄r),因此成为了Apache CXF的Initial Committer。从那之后,我一直从事开源软件开 发工作,期间伴随着IONA被Progress收购,以 及Progress成立独立的专门从事开源项目的子公 司FuseSource。根据项目发展的需要,我从事的 工作也从最初的Apache CXF扩展到了Apache 旗下的多个开源项目。目前,我是Apache CXF、 Servicemix、Karaf、Camel、Felix的Committer(在 Apache开源社区中我使用Freeman Fang这个名 字),并且是Apache CXF、Servicemix、Karaf的 PMC member(项目管理委员会成员)。 我想读者最为关心的问题是,全职从事开源软件 的开发,靠什么来生活?是完全凭兴趣吗?如何 保证自身的可持续性发展? Ok,要回答这些问题,必须先谈一种基于开源的 商业模式——围绕开源社区和开源软件,通过雇 Cover Story封面报道I我们的开源 用主要的开源项目开发者,向外提供付费的商业 服务,这种付费服务包括订阅、咨询、培训等。 我的雇主就是提供类似服务的商业公司。这种开 源商业模式在基础软件架构领域(如开源操作系 统、开源数据库和开源基础中间件)已被证明是 一种行之有效的方式,在欧美市场被广泛接受。 但在国内,这种商业模式还没有被普遍认可,很 多人还认为开源就是免费,不愿意承认特定领域 专家的价值,这种现象很值得深思。 在我看来,这种开源商业模式下,开源项目和开 源社区因为有了商业公司的介入更加活跃,开源 开发者有了稳定的收人获得了可持续发展,付 费用户由于有了商业支持能更有效地使用开源 软件,非付费用户也能从活跃的开源社区获得支 持,构成了一个共赢的生态环境。
论开源中间件(Middleware)应用及展望 北京 李晨光 企业应用软件与桌面应用软件一样,是极为复杂的。企业应用软件具有特定的内涵,用来指称的软件种类非常广泛。在企业应用软件领域里,所谓“基础结构”(Infrastructure)是整个企业应用软件运行的基础,中间件技术也在其中发挥着非常关键的作用。 过去十年中,基础结构(中间件)商业软件的主要供应商是IBM和Oracle等跨国软件公司。但是,现在的情况完全不同了,开源中间件技术及其服务业正在世界范围内迅速兴起。世界软件业的经营模式正处在剧变发生的前夕。
一、中间件是什么 目前,建立企业级管理信息系统往往要面对许多已经独立存在的应用子系统,并且需要把它们与新的应用系统整合集成起来。这种整合集成的过程必须妥善处理原有的应用子系统。对于任何遗留下来的子系统,一般只能通过其特定的“接口”调用,才能够重新使用它。事实上,这些子系统一般不能直接修改,因为重写所有遗留下来的子系统成本是极高的,有时甚至是不可能的。 许多实际系统都是经由网络将多个不同的信息处理设备相互连接起来,每一项信息处理设备执行的任务既涉及与真实世界的局部相互“作用”,也涉及与此系统中其他设备的远程“交互作用”。例如,计算机网络、通信系统、电力供应和非集中的生产制造管理信息系统等均是如此。 现在的信息系统规模愈来愈大,复杂网络结构不断出现,社会发展对于“布式计算系统”逐渐形成巨大的客观需求,使得基于“分布式计算系统”的网络应用成为一项“热门”技术。在一个“分布式计算系统”的每一个“结点”,操作系统和应用软件之间的“软件层面”被定义为“中间件”(Middleware)。 网络应用的强力推动日益突现中间件技术的重要性。中间件技术涵盖的软件领域包括了分布式对象、构件技术、通信和移动计算技术等。人们普遍认为,中间件技术构成现今网络应用的核心技术。
二、中间件的主要作用 在分布式网络应用中,这些处于操作系统和通信协议之上、各种应用程序之下的“中间层软件”所起的作用包括如下方面: (1)隐藏应用软件是由运行在各处的、相互连接的部件组成的事实; (2) 隐藏各种硬件、操作系统和通信协议的“异构性”; (3) 为应用系统开发集成者提供统一的、标准的、高水平的“接口”,使应用系统易于组成、重用、移植和互操作; (4) 为实现各种通用功能提供相应的“服务”(这里“服务”并非通常意义上的服务,而是一种“服务软件机制”),有助于各种应用系统之间的相互协作,减轻开发工作量。 中间件的作用是使开发工作更加简化,它提供了通用的编程抽象、掩盖了各种硬件和操作系统的异构性,并且将底层的编程细节隐藏起来。可以这样说,在现今的互联网时代,不借助中间件技术,进行网络开发几乎是不可能的。
三、中间件的优越性 中间件带给应用系统的不只是开发的简单、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。具体说来有以下是大好处。在The Standish Group 的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济大发展、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。 (1) 应用开发:The Standish Group 分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例;业务逻辑程序和应用逻辑程序仅占总程序量的30%,而基础程序占了70%,使用传统意义上的中间件一项就可以节省25%~60%的应用开发费用。如是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务对象构件,则应用开发费用可节省至80%。 (2) 系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的投入要比同规模的使用中间件的应用系统多一倍。 (3) 开发周期:基础软件的开发是一件耗时的工作,若使用标准商业中间件则可缩短开发周期50%~75%。 (4) 减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高于90%。企业自己开发内置的基础(中间件)软件是得不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。 (5) 合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统之上或之外增加新的功能模块,并将它们与原有统无缝集合。依靠标准的中间件,可以将老的系统改头换面成新潮的Internet/Intranet 应用系统。 (6) 应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的商务构件融合在一起进行应用集合。 (7) 系统维护:需要一提的是,基础(中间件)软件的自我开发是要付出很高代价的,此外,每年维护自我开发的基础(中间件)软件的开支则需要当初开发费用的15%~25%,每年应用程序的维护开支也还需要当初项目总费用的10%~20%左右。而在一般情况下,购买标准商业中间件每年只需付出产品价格的15%~20%的维护费,当然,中间件产品的具体价格要依据产品购买数量及哪一家厂商而定。 (8)质量:基于企业自我建造的基础(中间件)软件平台上的应用系统,每增加一个新的模块,就要相应地在基础(中间件)软件之上进行改动。而标准的中间件在接口方面都是清晰和规范的。标准中间件的规范化模块可以有效地保证应用系统质量及减少新旧系统维护开支。 (9)技术革新:企业对自我建造的基础(中间件)软件平台的频繁革新是极不容易实现的(不实际的)。而购买标准的商业中间件,则对技术的发展与变化可以放心,中间件厂商会责无旁贷地把握技术方向和进行技术革新。 (10)增加产品吸引力:不同的商业中间件提供不同的功能模型,合理使用,可以让你的应用更容易增添新的表现形式与新的服务项目。从另一个角度看,可靠的商业中间件也使得企业的应用系统更完善,更出众。 具体地说,中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,在技术不断发展之后,使以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。
四、中间件的应用领域与分类 随着计算机软件技术的发展,中间件技术也已经日渐成熟,并且出现了不同层次、不同类型的中间件产品。按照IDC的分类方法,中间件可分为六类。分别是数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。 (1)数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件; (2)远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程; (3)消息中间件:用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同; (4)交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台; (5)对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。 目前国内外有不少厂商都开发出自己的中间件产品,其中有全球最大的独立中间件厂商BEA(原公司),还有像IBM、Oracle和Microsoft、HP等大厂商也早已涉足电子商务中间件。 面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对象是今后中间件发展的主流方向,它提供一种通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。 面向对象标准原本只有一个,即CORBA(公共对象请求代理体系结构),该标准由包括IBM、Oracle等公司在内的众多厂商一起制定,从而形成了一个庞大的CORBA联盟势力。后来,Sun(原厂家)推出了企业级JavaBeans(EJB),用自己易使用的程序模型来对CORBA做出了改进。微软COM(Component Object Model,组件对象模型)的出现,使面向对象中间件市场里又多了一个标准,这样,面向对象中间件产品实际上形成了两大标准,一是微软的COM,一是JavaBeans。 从宏观上看,中间件可以分为3大类: 数据类:用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用 处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用。 分布式构件类:支持构件式应用,未来应用的发展方向,目前竞争激烈。 为了更加清晰起见,我们把中间件细分为12种,如下表: 序号 种类 优劣 产品
1 数据库系统的产品 管理数据库连接,抽象网络协议。一般由数据库厂商或支持多数据库的中间件提供 数据库厂商的产品功能较强、性能较好。而独立于数据库厂商的产品在用于多数据库环境时效率有所降低 Oracle Net8Sybase Netlib,Protocol services Intersolv Sequelink client
2 数据库存取APIs 支持对数据库存取的编程,可以使用存储过程。OO数据库常为OO编程语言,如Java/C++提供适应ODMG的接口 数据库厂商的APIs可支持对数据库所有功能的存取,因而适合编写OLTP的应用。而ODBC或JDBC更适合多数据库的环境 IBM DB2 CLIOracle Net8,Call Interface Microsoft ODBC,OLE DBODI’s PSE