一、前言
随着国内IT厂商多年技术发展,相关国产软件也已经能满足基本日常使用,且很多已通过大规模节点生产验证,在信创(信息技术应用创新产业)的大背景下,国家提出“2+8”安全可控体系(2指党政两大体系;8指金融、电力、电信、石油、交通、教育、医疗、航空航天等关于国计民生的八大行业)。这些行业又是我们的主要涉及行业,本文将针对IT系统建设常用应用层面,来概述下应用的国产化替换方案,主要关注数据库、中间件和桌面云方向;
相关资源:信创开放社区、信创技术联盟 、信创网、泛微信创、信息安全官网
二、常见应用替换
2.1、基础环境软件
1)JDK/OpenJDK替代品
- 龙芯JDK:龙芯JDK:基于龙芯CPU平台和基于OpenJDK研制的Java开发工具包,支持x86、ARM等架构,它是龙芯公司基于OpenJDK移植的LoongArch和MIPS版本,通过JCK认证,长期进行安全更新和问题修复。龙芯平台Java环境支持OpenJFX、Java Web Start和JNA等功能,龙芯平台Java环境还具有符合Java SE标准,开源,免费,支持C1/C2即时编译器和向量加速等优化,支持ZGC和Shenandoah GC等先进垃圾收集器(Garbage Collection,GC),支持向量API(Vector API)、虚拟线程(Virtual Threads)和外部函数和内存API(Foreign Function & Memory API)等Java社区前沿特性等特点。更多详见 龙芯JDK。
\- Alibaba Dragonwel:它是阿里巴巴基于OpenJDK开源的JDK版本,它针对大规模企业级应用进行了优化和性能调整,并已在阿里生产环境得到验证实践。详见:dragonwell产品、dragonwell Github。
\- 毕昇JDK:它是Huawei的 OpenJDK版本,基于OpenJDK,致力于提供高性能、高安全性的Java开发环境,可用于生产环境,另外它为用户在ARM架构上提供一个更好的选择。
\- 腾讯 Kona:腾讯基于OpenJDK开源的JDK版本,专注于大规模分布式应用场景和云原生应用的优化,兼容多种运行平台,是一款企业级 JDK 服务;
2.2、中间件
1)Tomcat替代品
- 东方通TongWeb:它是一款全面符合Java EE、Jakarta EE最新标准规范、轻量易用、性能强大、高可靠性(支持Failover)和高安全性的应用服务器产品,具备集群能力、session高可用、监控、集中管理能力,适应云平台,支持在Docker容器中部署,在K8S集群环境中运行等,可适应各类企业应用的基础环境及多种主流应用框架,支撑从开发到生产的全应用生命周期;TongWeb是国内既完整符合又通过JavaEE5/6/7/8、Jakarta EE9.1技术标准认证的产品。TongWeb完全满足国内主流应用的技术需求,在标准支持上实现广泛兼容,支撑规模化应用。此外,TongWeb支持流行的开发框架如Struts2、Spring、Hibernate、Springboot等,而且对于使用大型框架(例如:lifery)的应用,在TongWeb上运行良好,不需要修改应用代码,支持主流和安全创新类数据库和操作系统,提供中文编码问题容错,兼容多种开源框架,自带Web控制台可进行组件、JDBC、数据源、管理和配置。集群稳定支持25万在线用户并发访问,95%平均响应时间仅为478毫秒;安全方面满足等保2.0四级合规要求,支持国密SSL并提供禁用不安全HTTP方法,它已在国内金融、电信、政府大型核心业务系统,验证产品的成熟性和稳定性。
TongWeb采用微内核架构,在JVM之上,由JMX服务、类加载服务、配置服务和生命周期服务构成应用服务器的最小内核;在此微内核基础上,围绕着Web、EJB两大核心容器,构建JavaEE基础服务层和扩展服务层。TongWeb提供了覆盖所有核心容器和服务的管理服务;对比Tomcat 作为一个纯粹的 JSP/Servlet 容器,它仅支持 Java 方式构建的 web 应用程序/其他应用, 另外集成了一些基于Java 虚拟机和特定 Servlet 安全性方面的保护措施,TongWeb同样满足安全性和容器要求,也提供了标准的Servlet和JSP容器,可以使开发者更方便地开发Web应用,而且后者支持更多规范,TongWeb实际也是基于Apache Tomcat开发的Web应用服务器,拥有完全兼容Tomcat的开发、部署和运行环境的特性,同时还提供了如统一认证、安全加固等特性,经生产验证已可以作为企业级应用的Web层使用。而关于应用能不能移植到TongWeb上,主要看承载应用所采用的JavaEE规范(理论上向下兼容),比如可通过应用的web.xml、JavaEE的javadoc文档中注明的规范版本、采用的JDK版本等来判断。更多参见:
应用服务器TongWeb文档。
JavaEE规范 | 一般对应的JDK版本 | Tomcat版本 |
---|---|---|
J2EE 1.4 | 最低JDK1.4版本 | tomcat5.x |
JavaEE5 | 最低JDK5.0版本 | tomcat6.x |
JavaEE6 | 最低JDK6.0版本 | tomcat7.x |
JavaEE7 | 最低JDK7.0版本 | tomcat8.x |
JavaEE8 | 最低JDK8.0版本 | tomcat9.x |
- 宝兰德Web服务器:它的应用服务器实例就是在单个Java虚拟机(JVM)进程中运行的应用服务器,是组成集群、提供负载均衡和会话持久功能的实体单元。每个应用服务器实例都有独立的目录结构、配置、应用、资源、Web容器和EJB(Enterprise Java Beans)容器,单个应用服务器实例的配置的更改不会影响其他应用服务器实例。更多参看官方文档;
\- 普元信息Primeton AppServer:提供了丰富的功能集,具备“立即部署”式JavaEE容器的各种优点,支持Jakarta EE Platform 8国际标准规范支持Web容器所有特性,支持WEB容器所有特性,主要给中小企业带来很多关键价值,比如:内置流程引擎,表单引擎等无缝集成,快速开发运行,大大缩短了应用交付时间。提供了Web版的管理控制台,多维的监控管理,客户可根据上线要求或关注点的不同,调整对服务器内部不同的收集数据的监控,更直观的进行数据分析对比。更加卓越的性能和稳定性。更多参见官方文档;
\- 金蝶天燕AAS(Apusic Application Server,AAS):它是一款标准、安全、高效、集成并具丰富功能的企业级应用服务器软件,全面支持JakartaEE8/9的技术规范,提供满足该规范的Web容器、EJB容器以及WebService容器等,支持Websocket1.1、Servlet4.0、HTTP2.0等最新的技术规范,基于微内核架构,支持国密算法,提供实时安全防护功能,深度适配企业级应用金蝶EAS/sHR,适配各主流国产软硬件及应用系统,支持高性能负载均衡,支持按需动态扩缩。为企业级应用的便捷开发、灵活部署、可靠运行、高效管控以及快速集成等提供关键支撑。更多参照官网;
2.3、数据库
2.4、虚拟化
三、国内应用替换应用实践
四、附录
4.1、其他信创信息
1)CPU 国产化
2)PK体系
“PK体系”是有中国电子主导的全新开放生态体系,以飞腾处理器(CPU)和麒麟操作系统为核心。中国电子在海南自贸港首次面向公众和产业界正式发布《PK体系标准(2019年版)》及《PKS安全体系》;《PK体系标准(2019年版)》具体包含参考框架、参考板、操作系统、外设接口、工程服务、安全等方面4大类8小类15项标准,为基于PK体系在板卡设计、软件开发、项目实施等方面的操作与应用,提供参考指南。《PK体系标准(2020年版》,以PKS自主可信技术为支撑和特征,可兼容移动、云、虚拟化、大数据、物联网(5G)、人工智能等。