拥抱前沿技术,中间件乘风破浪迎发展
随着新技术的不断创新和新应用的爆发式增长,传统的中间件过于陈旧,其使用场景和功能已不能很好的满足当下应用的发展,需要回顾中间件的使命,在新技术、新应用的需求下重新理解中间件的功能和范围,为中间件发展注入新的动力和方向,能更好的支撑当下多连接、全球化、一体化的应用。本文追溯了中间件的发展历史、动力和使命,并结合当下最新的技术,描述了中间件需要的新技术能力以及如何更好的支撑即将到来的全球一体化的规模应用,最后给出当下中间件的任务和目标,希望推动中间件继续蓬勃发展。本文已在中国工信部期刊《IT经理世界》2023年第5期发表。
拥抱前沿技术,中间件乘风破浪迎发展
引言
1946年诞生了第一台电子计算机,人类进入了信息时代;1955年出现了第一个程序语言,诞生了软件;1964年发布了第一款操作系统,软件成为了独立产业;90年代互联网的发明,促进了分布式系统和互联网应用的发展;1990年为解决分布式交易事务的控制问题诞生了Tuxedo系统,成为了第一款中间件软件;1994年为解决分布式系统的异步传输问题诞生了消息中间件。1995年Java语言的发明,诞生了跨平台的Web应用,随后又诞生了J2EE(Java 2 Platform Enterprise Edition),成为了应用服务器中间件的核心标准,是中间件技术的集大成者。
从应用软件的发展过程可以看出中间件是伴随着应用软件的发展而产生的,是为解决应用软件生命周期中的共性问题而存在的,它能提高应用软件的可靠性、容错性、安全性、扩展性、易用性、性能和开发效率,减少应用软件的开发难度,它们相互促进,相互依赖。
随着信息社会的全面发展,互联网的深度运用,应用软件的种类、复杂度、功能和大小都变得越来越庞大;用户对应用的交互体验、多终端、多样化、个性化、实时性、稳定性、扩展性、安全性也都有了更高的要求。为了满足这些要求,越来越多的新技术被发明出来,推动着中间件的发展来支撑这些新技术的新应用。
二
中间件的定义
中间件是介于应用软件和操作系统之间的中间层软件,是应用软件的底座,为应用提供运行时环境,包括管理主机资源、系统资源和网络资源,并为应用提供安全、远程调用、通信协议、数据转换等公共能力。中间件操作系统之上,业务应用之下,围绕业务应用生命周期,提供通用技术服务的中间层软件。例如:提供网络通信、数据建模、数据处理、人工智能、应用环境、安全、事务、集成、存储等通用技术能力。
图1:中间件位置结构图
中间件定位:
1.围绕应用开发、部署、运维等生命阶段,为应用提供开发规范、通用功能、运行环境等底层能力。
2.聚合最新技术能力,为应用屏蔽底层硬件、操作系统、运行时环境的差异,让应用更专注于业务。
3.聚焦中间件之间的标准连接,整合关联能力,更好为应用提供全功能服务;构建中间件全景生态。
4.通过技术创新、技术整合形成中间件技术体系,积极引导和推动新应用、新场景和新业态的发展。
中间件是技术和应用的转化器,新技术是中间件发展的核心动力,中间件助推应用的发展和创新。
三
中间件的使命
Spiceworks给出了中间件五个核心使命:
1.增加交流:增强连接,应用互联和数据交换。例如制定连接协议、集成/整合框架、数据转换/分析模型、API接口规范、事件等。
2.提高IT效能:增强协同、处理、智能和自动化能力,提升业务处理效能。
3.便捷生产者:为应用所有参与者提供便捷的工具或技术系统。例如开发框架、程序构建、运行环境准备、应用部署及运维等工具。
4.保护应用安全&兼容:为应用提供安全保护,并屏蔽应用运行环境的差异性,使得应用能够在不同环境上迁移,对应用的数据、访问、网络提供安全保护。
5.提升交互体验:在繁杂数据、多应用的环境中,为用户提供个性化简洁、快捷的交互自定义能力。例如多模式用户界面,自定义客户端。
图2:中间件5个核心使命
中间件主要解决以下实际问题:
1.信息系统构建:信息系统已经成为当前经济建设和政府管理中的重要支撑保障系统,如何快速构建、高效运行并有效管理分布式环境下的信息系统是我国各领域信息化建设面临的重要课题。
2.信息孤岛问题:随着企业规模和业务的发展,一些大型企业往往经营多项业务,根据不同区域、不同产品类别等划分了多个业务部门;一些企业还可能拥有多个庞大的职能部门体系,即财务、研发、市场、人力资源等。上述不同业务部门、职能部门的信息系统可能由于缺乏规划、独立设计、使用的技术不同等原因表现为信息孤岛,难以实现跨部门的系统应用,为企业管理带来不便。
3.信息传递的可靠性:企业信息系统建设中,信息传递的可靠性十分重要,如果出现信息丢失、传送不及时或传送失败的情况,很可能会为企业带来巨大损失,尤其是在金融、电信等对信息传递有更高要求的行业用户。
4.系统运行的效率:金融、电信、政府、交通等信息化应用程度较高的行业领域要求信息系统运行具有持续高效性,要求应用系统能够最大限度地利用系统资源,充分利用单机和多节点的信息处理能力,以及多节点提供的冗余处理能力,以满足自身业务处理和客户服务的要求。
5.信息传递的安全性:随着信息技术的迅猛发展,许多行业企业的工作和业务都依赖于计算机网络,使得信息应用突破了时间与空间的限制。为此需要解决用户身份认证,对资源访问的权限控制,对数据的机密性和完整性管理,以及对处理操作的不可否认性控制等基本的安全需求。这些基本的安全性需求对于金融、电信、政府、交通等行业用户尤为重要。
中间件可以顺畅地解决各行业所面临的上述问题,为企业提供可靠、安全、高效、易管理的信息传递服务,并作为良好技术平台服务于各类业务应用。
四
中间件的发展现状
根据中间件的分类,主要分为了基础中间件、数据中间件和云中间件,面对目前中间件需求场景,中间件种类和使用场景还有很大不足,当前中间件还停留在以传统的事务中间件、交易中间件、应用中间件为主的时代,还未在各场景应用中建立连接,缺乏对中间件整体的发展规划和体系化建设。
图3:中间件分类图
五
前沿技术,带动中间件发展变更
Gartner每年都会发布一份重要技术趋势清单。今年Gartner发布了《2023年Gartner重要战略技术趋势》,每一项都会带来很多新的技术创新,这些技术趋势也都能很好的指引中间件的发展。
图4:2023年Gartner重要战略技术趋势
从以下几个方面阐述新技术对中间件发展的影响:
(一)Jakarta EE,为中间件带来持续发展的商业模式
Jakarta EE是应用中间件的标准规范,引导着应用中间件技术的发展。自2019年9月Eclipse基金会发布了第一个Jakarta EE 8规范后,根据《2022 Jakarta EE Developer Survey Report》报告显示,该规范以1年一个大版本的迭代频率快速演进,到2022年底已经发布了10版本,在Java应用市场的占有率为53%,,让Java EE技术重新焕发了活力。
Jakarta EE以中立组织+标准规范+开源/商业实现+商业服务的组织模式,有条不紊的规划着应用中间件的发展,使Jakarta EE一直保持着其领域的核心地位,成为可持续发展中间件商业模式的典范。
(二)云原生,推动中间件的能力下沉
云原生技术是在分布式微服务场景下,资源分配不均、部署困难、启动耗时,解决架构复杂、跨语言集成困难,以及故障发现、容错难等问题而产生。
云原生技术屏蔽了业务应用对于底层基础设施的依赖,对底层基础设施进行了虚拟化,尽可能的从计算、存储、网络、操作系统等资源围绕应用的生命周期提供按需服务,推动中间件能力下沉到了云原生体系中。中间件也助推了云原生板块的蓬勃发展。
(三)6G网络,融入中间件创造新价值
中国工程院院刊《Engineering》2022年第1期刊发中国移动集团级首席专家刘光毅研究团队的《6G移动网络架构SOLIDS——驱动力、特征及功能拓扑》一文。
6G网络的“SOLIDS”特性需要软件为之实现,需要用到数字孪生、云原生、微服务等技术,这些技术需要使用到数据类中间件、云原生中间件、应用中间件等。可以看出,中间件的能力将融入到新一代通信网络的建设中,为基础网络创造新价值。
(四)Web3.0,推动中间件走向大集成
Web3.0被用来描述互联网潜在的下一阶段,一个运行在“区块链”技术之上的“去中心化”的互联网。
Web3.0是基于云原生、数字孪生、人工智能等技术发展的新兴互联网服务框架,也是中间件集成平台规范的体现,将需要更多的中间件规范来承载和连接各个标准应用,支撑Web3.0实体的落地建设,完成众多中间件的大集成。
(五)元宇宙,成就中间件极大工程
元宇宙是物理与数字世界融通作用的沉浸式互联空间,是新一代信息技术融合创新的集大成应用,承载着数字经济的新场景、新应用和新业态。
元宇宙是现实世界在数字世界的一个复制,需要中立、开源、标准的平台规范来定义公共基础环境的建设,是一个人人可以参与、涉及社会各方面、各行业的社会数字化工程。因此,元宇宙的技术实现,需要抽取现实社会中的经验和美好向往,从而成就为每个活动提供规范指引的中间件极大工程。
六
拥抱前沿新技术,中间发展的挑战与机遇
从Jakarta EE到元宇宙,不断涌现的前沿技术,急需要诞生相应的中间件,催生中间件焕发新的活力。然而,当前的中间件还停留在以应用中间件、交易中间件、消息中间件为主的传统中间件范畴,发展速度缓慢,还没有在新兴软件发展起到引导作用。
图5:中间件概念结构图
随着Web3.0和元宇宙的推广落地,各种应用之间需要建立统一规范的安全连接,用于信息互通,这种任务需要作为应用基石的中间件来完成。中间件急需建立体系化规范和分层模型,让更多中间件互联互通,并可以按应用需要定制超级中间件,满足应用对技术的各种需求。
拥抱前沿技术,从功能、交互协议、数据模型、安全等方面为诸多前沿技术的落地,中间件惟有乘风破浪,以更好的为应用软件服务提供保障,加快发展步伐,跟上前沿技术,拓展使用范围,为更多新兴应用提供建设底座,势必将迎来新发展。
七
展望我国中间件的发展,融合创新及规范化的差异竞争
面对当下新兴技术的兴起,我国中间件产业的发展,既需要保障规范标准的中立、开放、标准、集成、可迁移性和创新性,减少行业壁垒,打造公平竞争的市场环境,也需要加大以云原生、数字孪生、人工智能、高速网络、元宇宙等为代表的前沿技术的人才培养,为我国中间件产业生态的长远发展打下坚实的基础。
一是加快中间件与新技术的融合创新。我国中间件需要持续保持对前沿技术的探索和创新,加快步伐从传统范畴的中间件,拥抱前沿技术,向支撑以元宇宙为代表的全方位数字化社会应用的广义中间件迈进,为丰富多彩的上层应用打造赖以生存,切实高效的中间件产品生态,发挥中间件不可替代的中立、开放、标准、集成和可迁移的特性,促进新技术的发明,新应用的产生,新生态的形成。
二是构建中间件规范下的差异化竞争格局。从Jakarta EE和CNCF(Cloud Native Computing Foundation云原生计算基金会)的发展模式可以看出,我国中间件,急需在国家层面成立非商业的组织,汇聚企业、团体、个人爱好者以共同推动中间件规范的制定和规划,形成以开源中立的规范标准+开源社区/商业实现+商业服务的长期发展模式,推动中国中间件标准和开源社区的建设,形成一个在规范框架下的差异化竞争市场,产品和规范相互触动,以助推我国中间件技术的快速可持续发展。
参考文献
[1]《2023-gartner-top-strategic-technology-trends-ebook-cn.pdf》
[2]https://www.spiceworks.com/tech/cloud/articles/top-middleware-software-platforms/
[3]《2022 Jakarta EE Developer Survey Report》