BES应用服务器中间件 鲲鹏
宝兰德
共 5944字,需浏览 12分钟
·
2020-11-09 04:02
商品详情
商品亮点
- 产品功能可剪裁:用户可以根据业务不同模块使用的需求,对BES实例功能进行选择,WEB容器和EJB容器都可以自由启用或关闭,可以有效节省系统资源
- 松耦合的集群架构:松耦合的集群架构,无状态的集群实例,集群实例支持按需扩展、动态生效、自动承载业务请求,实现灵活故障转移与动态扩展
- 强大易用的管理控制台:提供强大统一的WEB管理界面,可以方便完成所有管理操作,比如创建启停实例、部署应用、修改配置、进行性能监控、查看和分析实例日志等
- 高效的序列化协议:内置自研高效的Spark序列化协议,确保EJB请求处理性能稳定一流,满足高并发处理需求
- 更适于云环境和Docker容器环境部署:介质小巧、功能强大、启停迅速、线性扩展,更适合在云环境和Docker容器环境下进行快速部署
商品说明
版本: V9.5 | 交付方式: License |
适用于: Windows/Linux/Unix/其他 | 上架日期: 2020-01-15 |
交付SLA: 1 自然日 |
BES应用服务器是一款遵循JavaEE规范的应用服务器软件,支持最新的行业技术标准,着眼于企业应用,关注企业级应用的可扩展性、可伸缩性、高可用性等必要因素,已通过华为鲲鹏“一云两翼”的严格测试和认证。BES应用服务器提供了多种性能优化手段,包括静态资源缓存、NIO通讯框架、精细化配置的线程池、响应数据分段压缩、二进制压缩算法等,为企业应用的卓越性能提供有力支持和保障。
BES应用服务器提供高可用集群架构,集群服务实例协同工作,保障业务应用的高性能和稳定运行。通过丰富的集群负载管理算法、自动故障转移、Session共享等关键技术确保集群化部署的企业应用的可扩展性、可伸缩性和高可用性。完全满足企业级应用和下一代云化业务应用部署的需要。
1,灵活易用的管理功能
1.1直观的WEB图形管理控制台
BES应用服务器管理控制台采用RESTful服务作为架构基础,实现了对BES应用服务器实例集中和安全的管理。管理控制台提供了友好、简单和易用的配置管理界面,简化用户的操作。管理控制台以“域”为基准,通过“域”、节点管理器、集群、以及应用服务器实例(包括集群实例和独立实例)实现大规模部署的服务管理、配置、应用部署操作。
1.2 强大的脚本化管理工具
iastool是基于命令行的管理工具,也可以完成应用服务器的管理功能。
iastool可广泛应用于批处理。
1.3灵活的监控管理
BES应用服务器支持JMX和SNMP等多种方式进行BES应用服务器运行时信息的采集,包括可以通过中间件实例状态、JVM信息、线程池信息、数据连接信息等基本的监控元素。
BES应用服务器实例部署和启动了SNMP代理之后,支持通过SNMP协议获取实例状态、JVM信息、线程池信息、JDBC连接池信息等。 SNMP代理服务同时支持SNMP v1、v2、v3三个版本的协议。SNMP v3通信时,还可以通过配置验证协议(MD5或SHA)和加密协议(AES或DES)以加强通信安全。
1.4可视化ThreadDump管理
BES应用服务器可以通过命令行或者在WEB管理控制台获取运行中间件实例的ThreadDump信息,并且在分布式环境下,可以通过统一的WEB管理控制台就可以获取同一个管理域下的所有运行实例的ThreadDump信息,便于进行IT系统运行分析和故障分析。
1.5丰富的日志服务
BES应用服务器提供了三类日志:
1)服务器运行日志:服务器实例根目录/logs下的server.log。
2)客户端访问日志:位于服务器实例根目录/logs/access下。
3)事务日志:位于服务器实例根目录/repository下。
通过管理控制台,可以设置日志级别、查看日志。
2,强大的集群能力
BES应用服务器支持高性能、高可用的集群功能,提供了负载均衡、故障转移、Session复制等经典功能。BES应用服务器支持WEB、EJB、JMS这三大基础服务的集群。
对于来自客户端的请求,BES应用服务器通过负载均衡器或客户端本身完成请求的分发,通过一定的算法实现负载均衡,使整个系统不受某个单一服务器实例状态的影响,能够稳定运行。BES Web集群内置Nginx和Apache httpd服务器作为Web应用的负载均衡器和静态资源服务器。可以方便地通过WEB控制台对于Nginx/httpd进行配置管理和启动、停止。
BES应用服务器并且可以通过WEB控制台进行向导式的集群创建、配置、启动、停止等整个生命周期管理。BES支持动态集群管理,内置的Web服务器作为web负载管理集群,可以按照权重和会话亲和设置进行灵活的web负载管理。针对不同的应用常见可以设置不同的会话亲和特性。
BES EJB能自动发现EJB集群容器的状态,自动调节请求的分发和处理,保证EJB处理的弹性自动管理特性。这些动态集群的支持,对于应用开发人员而言是完全透明的。BES应用服务器EJB提供了多种负载均衡算法的支持来满足不同的应用场景的需求。基于Spark协议的EJB调用在集群环境下支持负载均衡和失效转移功能。在开启负载均衡的场景下,客户端会动态同步服务端的集群列表,确保负载均衡算法的可靠性。Spark协议的EJB调用提供三种负载均衡策略:
会话轮询算法
请求轮询算法
权重算法
特别地,对于常见的Round-Robin算法,BES应用服务器对于其可能出现的异常情况,进行了有效的优化,在EJB服务器出现客户端无法侦测的异常情况下,BES应用服务器能够进行智能的隔离,确保客户端的应用不出现全部堵塞到异常服务器的情况。
3,完善的标准和广泛的平台支持
BES在国内率先通过了JavaEE7的标准化认证,提供了完善的Servlet/JSP,EJB,JMS,JNDI等规范的实现,这些标准的广泛支持为基于JavaEE开发的业务提供了广泛的迁移能力。
同时,BES提供了各类软硬件平台的支持能力,针对鲲鹏生态各基础软件、硬件进行了适配和优化。详细支持标准和平台请参考BES用户手册相关文档。
BES应用服务器也支持众多流行的开发框架,使用这些框架的应用在BES应用服务器上都能完全正确运行,比如:
4) 常见应用开发框架:Struts、Spring、Hibernate、MyBatis等。
5) Workflow:JBMP、Fire Workflow、OSWorkflow、EOS工作流等。
6) Portal:Liferay Portal、JetSpeed、Portlet、JBoss Portal等。
7) ESB:Apache ServiceMix、JBoss ESB、Apache Synapse等。
此外,BES应用服务器还能很好地和NoSQL数据库结合使用,例如Memcached、MongoDB、Hypertable、Apache Cassandra等。
4,高性能容器功能
4.1 WEB容器
BES Web容器支持多种IO模型,包括BIO、NIO和新的异步通讯模式。能有效进行IO和业务处理线程的异步化处理,充分利用资源能力,提升业务处理性能。对处理请求的线程进行了池化管理。用户可以按需配置处理请求的线程数,并发的处理线程能够快速地响应用户请求。
支持单点登录。单点登录可以让不同的应用共享安全认证信息,用户只需要登录一次,便可以直接访问需要安全认证的其他应用。单点登录不仅方便了用户和管理员的使用,还简化了应用程序的开发。
支持多虚拟主机的创建和运行。虚拟主机技术是指,允许在一台物理主机上新建多个虚拟主机,从外界来看,这些虚拟主机就像一个完整的物理主机。BES应用服务器默认提供一个名为server的虚拟主机,用户可根据需求新建虚拟主机。
4.2 EJB容器
EJB容器为EJB组件提供生命周期管理,支持EJB 3.1,并向后兼容。为EJB组件提供实例的池和缓存管理,从而提高EJB对客户端的响应速度。支持EJB定时器服务。对处理请求的线程进行了池化管理。用户可以按需配置处理请求的线程数,快速地响应用户请求。
在兼容传统的IIOP协议同时,EJB容器提供高自研的高性能Spark序列化协议。Spark的底层传输协议有TCP和HTTP两种,两种协议都支持NIO和BIO通讯框架。内置了丰富的负载均衡算法和容错性设计。
4.3 JMS服务
JMS服务定义了应用程序访问消息中间件的接口,通过JMS定义的API,应用程序能够与消息中间件进行松耦合、异步、分布式的消息交换。
BES应用服务器内置BES MQ作为JMS服务提供者,BES MQ支持完善的消息处理功能,可以为企业级应用提供稳定、高效的消息服务。
此外,用户还可以通过遵循JCA规范的连接器模块(即资源适配器),将第三方的消息中间件或JMS服务提供者无缝集成到BES应用服务器中。
4.4 Web Service
传统的软件应用架构是封闭的,它们的功能无法轻松地包含到新应用中。因此,软件行业已经向通过 Web 动态交互的、面向服务的松耦合应用演进。Web Service 就是打包为单一实体的一组功能,可由基于 Web 的分布式应用所共享,也可用作基于 Web 的分布式应用的模块。 Web Service 可以驻留在不同的计算机上,并可由多种截然不同的技术实现,但打包和传输这些服务都使用 XML 和 HTTP 等标准 Web 协议,以使 Web 上的任何用户都能从异构环境轻松地访问它们,无需特定供应商提供特定的技术。这一点的实现基于如下技术:
1. 使用 HTTP 等广泛支持的 Web 协议进行访问;
2. 使用基于 XML 的描述语言(WSDL)描述自身;
3. 通过几乎可由任何编程环境生成或解析的 XML(SOAP)与客户端通信、传递数据。
Web Service模块可以包括Java 类或实现Web Service 的 EJB,根据实现情况,Web Service可打包为 Web 应用或 EJB 模块,部署在 BES 应用服务器上。此外,BES 还支持 Java API for XML-Based Remote Procedure Calls(JAX-RPC)1.1 和 Java API for XML-Based Web Services (JAX-WS)2.0。主流的Web Service框架,例如axis2、cxf、metro、xfire等均可以部署到BES运行。为方便监控和管理Web Service,通过如下的BES管理控制台Web Service管理界面可以方便地进行WSDL查看和web service测试。
4.5资源管理
BES应用服务器可以对JDBC资源、JMS资源、连接器资源、JavaMail会话、JNDI资源进行管理。资源管理支持丰富的池化管理算法,有效复用资源的连接、安全、交易相关资源,提升资源使用效率,降低对资源管理系统和数据库的压力。
5,安全服务
Java EE的安全服务指借助授权、认证和传输加密等服务,防止在数据存储和传输过程中对数据进行未经授权的访问或破坏,从而实现对用户数据的保护。BES应用服务器具有基于Java EE 7标准的动态可扩展的安全体系结构,内置了多种安全功能:
1) 完全兼容Java EE 7安全模型,包括EJB和Servlet基于角色的授权。
2) 支持多种类型的安全域,比如FileRealm、CertificateRealm、LDAPRealm、JDBCRealm。
3) 支持一个安全域中多个应用的单点登录。
4) 支持Web Service消息安全。
5) 支持应用客户端的安全。
6) 支持SSL、TLS等传输层的安全协议。
7) 支持应用的声明式安全处理模型。
8) 支持JACC(Java容器授权约定)等安全性定制。
除此之外,针对日益严峻的应用级安全和系统攻击事件,BES可以提供及时的安全补丁措施。
6,完善的Session管理
BES应用服务器提供了多种session复制和管理机制, 以确保集群在横向扩充下获得接近线性的性能和容量提升,比如:
集中数据库存储
本地文件存储
内存存储同步
优化的内存同步算法
分布式缓存技术
亲和性设置
通过简单的声明式配置,便可以支持应用需要的不同session配置管理要求,可以方便地以配置的方式使用Redis等高性能分布式缓存进行Session维护。
7, 云化服务部署
BES提供针对Docker和其他云化环境开发的轻量级的单实例的应用服务器版本,去掉了域和节点等不必要的概念,达到占用资源较少、启动速度较快、简易安装,便于在云化环境大规模部署使用的目标。BES提供了构建容器镜像的Dockerfile,在Docker环境中的集群组建方案,同时提供在Docker环境中BES和分布式缓存、负载均衡器进行整合的Dockerfile;提供灵活的中间件配置文件配置管理方案,支持脚本化、环境变量和外挂卷方式对中间件进行配置;支持灵活的应用发布方式提升容器环境应用发布效率。
BES应用服务器提供高可用集群架构,集群服务实例协同工作,保障业务应用的高性能和稳定运行。通过丰富的集群负载管理算法、自动故障转移、Session共享等关键技术确保集群化部署的企业应用的可扩展性、可伸缩性和高可用性。完全满足企业级应用和下一代云化业务应用部署的需要。
1,灵活易用的管理功能
1.1直观的WEB图形管理控制台
BES应用服务器管理控制台采用RESTful服务作为架构基础,实现了对BES应用服务器实例集中和安全的管理。管理控制台提供了友好、简单和易用的配置管理界面,简化用户的操作。管理控制台以“域”为基准,通过“域”、节点管理器、集群、以及应用服务器实例(包括集群实例和独立实例)实现大规模部署的服务管理、配置、应用部署操作。
1.2 强大的脚本化管理工具
iastool是基于命令行的管理工具,也可以完成应用服务器的管理功能。
iastool可广泛应用于批处理。
1.3灵活的监控管理
BES应用服务器支持JMX和SNMP等多种方式进行BES应用服务器运行时信息的采集,包括可以通过中间件实例状态、JVM信息、线程池信息、数据连接信息等基本的监控元素。
BES应用服务器实例部署和启动了SNMP代理之后,支持通过SNMP协议获取实例状态、JVM信息、线程池信息、JDBC连接池信息等。 SNMP代理服务同时支持SNMP v1、v2、v3三个版本的协议。SNMP v3通信时,还可以通过配置验证协议(MD5或SHA)和加密协议(AES或DES)以加强通信安全。
1.4可视化ThreadDump管理
BES应用服务器可以通过命令行或者在WEB管理控制台获取运行中间件实例的ThreadDump信息,并且在分布式环境下,可以通过统一的WEB管理控制台就可以获取同一个管理域下的所有运行实例的ThreadDump信息,便于进行IT系统运行分析和故障分析。
1.5丰富的日志服务
BES应用服务器提供了三类日志:
1)服务器运行日志:服务器实例根目录/logs下的server.log。
2)客户端访问日志:位于服务器实例根目录/logs/access下。
3)事务日志:位于服务器实例根目录/repository下。
通过管理控制台,可以设置日志级别、查看日志。
2,强大的集群能力
BES应用服务器支持高性能、高可用的集群功能,提供了负载均衡、故障转移、Session复制等经典功能。BES应用服务器支持WEB、EJB、JMS这三大基础服务的集群。
对于来自客户端的请求,BES应用服务器通过负载均衡器或客户端本身完成请求的分发,通过一定的算法实现负载均衡,使整个系统不受某个单一服务器实例状态的影响,能够稳定运行。BES Web集群内置Nginx和Apache httpd服务器作为Web应用的负载均衡器和静态资源服务器。可以方便地通过WEB控制台对于Nginx/httpd进行配置管理和启动、停止。
BES应用服务器并且可以通过WEB控制台进行向导式的集群创建、配置、启动、停止等整个生命周期管理。BES支持动态集群管理,内置的Web服务器作为web负载管理集群,可以按照权重和会话亲和设置进行灵活的web负载管理。针对不同的应用常见可以设置不同的会话亲和特性。
BES EJB能自动发现EJB集群容器的状态,自动调节请求的分发和处理,保证EJB处理的弹性自动管理特性。这些动态集群的支持,对于应用开发人员而言是完全透明的。BES应用服务器EJB提供了多种负载均衡算法的支持来满足不同的应用场景的需求。基于Spark协议的EJB调用在集群环境下支持负载均衡和失效转移功能。在开启负载均衡的场景下,客户端会动态同步服务端的集群列表,确保负载均衡算法的可靠性。Spark协议的EJB调用提供三种负载均衡策略:
会话轮询算法
请求轮询算法
权重算法
特别地,对于常见的Round-Robin算法,BES应用服务器对于其可能出现的异常情况,进行了有效的优化,在EJB服务器出现客户端无法侦测的异常情况下,BES应用服务器能够进行智能的隔离,确保客户端的应用不出现全部堵塞到异常服务器的情况。
3,完善的标准和广泛的平台支持
BES在国内率先通过了JavaEE7的标准化认证,提供了完善的Servlet/JSP,EJB,JMS,JNDI等规范的实现,这些标准的广泛支持为基于JavaEE开发的业务提供了广泛的迁移能力。
同时,BES提供了各类软硬件平台的支持能力,针对鲲鹏生态各基础软件、硬件进行了适配和优化。详细支持标准和平台请参考BES用户手册相关文档。
BES应用服务器也支持众多流行的开发框架,使用这些框架的应用在BES应用服务器上都能完全正确运行,比如:
4) 常见应用开发框架:Struts、Spring、Hibernate、MyBatis等。
5) Workflow:JBMP、Fire Workflow、OSWorkflow、EOS工作流等。
6) Portal:Liferay Portal、JetSpeed、Portlet、JBoss Portal等。
7) ESB:Apache ServiceMix、JBoss ESB、Apache Synapse等。
此外,BES应用服务器还能很好地和NoSQL数据库结合使用,例如Memcached、MongoDB、Hypertable、Apache Cassandra等。
4,高性能容器功能
4.1 WEB容器
BES Web容器支持多种IO模型,包括BIO、NIO和新的异步通讯模式。能有效进行IO和业务处理线程的异步化处理,充分利用资源能力,提升业务处理性能。对处理请求的线程进行了池化管理。用户可以按需配置处理请求的线程数,并发的处理线程能够快速地响应用户请求。
支持单点登录。单点登录可以让不同的应用共享安全认证信息,用户只需要登录一次,便可以直接访问需要安全认证的其他应用。单点登录不仅方便了用户和管理员的使用,还简化了应用程序的开发。
支持多虚拟主机的创建和运行。虚拟主机技术是指,允许在一台物理主机上新建多个虚拟主机,从外界来看,这些虚拟主机就像一个完整的物理主机。BES应用服务器默认提供一个名为server的虚拟主机,用户可根据需求新建虚拟主机。
4.2 EJB容器
EJB容器为EJB组件提供生命周期管理,支持EJB 3.1,并向后兼容。为EJB组件提供实例的池和缓存管理,从而提高EJB对客户端的响应速度。支持EJB定时器服务。对处理请求的线程进行了池化管理。用户可以按需配置处理请求的线程数,快速地响应用户请求。
在兼容传统的IIOP协议同时,EJB容器提供高自研的高性能Spark序列化协议。Spark的底层传输协议有TCP和HTTP两种,两种协议都支持NIO和BIO通讯框架。内置了丰富的负载均衡算法和容错性设计。
4.3 JMS服务
JMS服务定义了应用程序访问消息中间件的接口,通过JMS定义的API,应用程序能够与消息中间件进行松耦合、异步、分布式的消息交换。
BES应用服务器内置BES MQ作为JMS服务提供者,BES MQ支持完善的消息处理功能,可以为企业级应用提供稳定、高效的消息服务。
此外,用户还可以通过遵循JCA规范的连接器模块(即资源适配器),将第三方的消息中间件或JMS服务提供者无缝集成到BES应用服务器中。
4.4 Web Service
传统的软件应用架构是封闭的,它们的功能无法轻松地包含到新应用中。因此,软件行业已经向通过 Web 动态交互的、面向服务的松耦合应用演进。Web Service 就是打包为单一实体的一组功能,可由基于 Web 的分布式应用所共享,也可用作基于 Web 的分布式应用的模块。 Web Service 可以驻留在不同的计算机上,并可由多种截然不同的技术实现,但打包和传输这些服务都使用 XML 和 HTTP 等标准 Web 协议,以使 Web 上的任何用户都能从异构环境轻松地访问它们,无需特定供应商提供特定的技术。这一点的实现基于如下技术:
1. 使用 HTTP 等广泛支持的 Web 协议进行访问;
2. 使用基于 XML 的描述语言(WSDL)描述自身;
3. 通过几乎可由任何编程环境生成或解析的 XML(SOAP)与客户端通信、传递数据。
Web Service模块可以包括Java 类或实现Web Service 的 EJB,根据实现情况,Web Service可打包为 Web 应用或 EJB 模块,部署在 BES 应用服务器上。此外,BES 还支持 Java API for XML-Based Remote Procedure Calls(JAX-RPC)1.1 和 Java API for XML-Based Web Services (JAX-WS)2.0。主流的Web Service框架,例如axis2、cxf、metro、xfire等均可以部署到BES运行。为方便监控和管理Web Service,通过如下的BES管理控制台Web Service管理界面可以方便地进行WSDL查看和web service测试。
4.5资源管理
BES应用服务器可以对JDBC资源、JMS资源、连接器资源、JavaMail会话、JNDI资源进行管理。资源管理支持丰富的池化管理算法,有效复用资源的连接、安全、交易相关资源,提升资源使用效率,降低对资源管理系统和数据库的压力。
5,安全服务
Java EE的安全服务指借助授权、认证和传输加密等服务,防止在数据存储和传输过程中对数据进行未经授权的访问或破坏,从而实现对用户数据的保护。BES应用服务器具有基于Java EE 7标准的动态可扩展的安全体系结构,内置了多种安全功能:
1) 完全兼容Java EE 7安全模型,包括EJB和Servlet基于角色的授权。
2) 支持多种类型的安全域,比如FileRealm、CertificateRealm、LDAPRealm、JDBCRealm。
3) 支持一个安全域中多个应用的单点登录。
4) 支持Web Service消息安全。
5) 支持应用客户端的安全。
6) 支持SSL、TLS等传输层的安全协议。
7) 支持应用的声明式安全处理模型。
8) 支持JACC(Java容器授权约定)等安全性定制。
除此之外,针对日益严峻的应用级安全和系统攻击事件,BES可以提供及时的安全补丁措施。
6,完善的Session管理
BES应用服务器提供了多种session复制和管理机制, 以确保集群在横向扩充下获得接近线性的性能和容量提升,比如:
集中数据库存储
本地文件存储
内存存储同步
优化的内存同步算法
分布式缓存技术
亲和性设置
通过简单的声明式配置,便可以支持应用需要的不同session配置管理要求,可以方便地以配置的方式使用Redis等高性能分布式缓存进行Session维护。
7, 云化服务部署
BES提供针对Docker和其他云化环境开发的轻量级的单实例的应用服务器版本,去掉了域和节点等不必要的概念,达到占用资源较少、启动速度较快、简易安装,便于在云化环境大规模部署使用的目标。BES提供了构建容器镜像的Dockerfile,在Docker环境中的集群组建方案,同时提供在Docker环境中BES和分布式缓存、负载均衡器进行整合的Dockerfile;提供灵活的中间件配置文件配置管理方案,支持脚本化、环境变量和外挂卷方式对中间件进行配置;支持灵活的应用发布方式提升容器环境应用发布效率。
用户案例
上海移动业务支撑系统
随着业务支撑系统云化建设的需求,从2012年开始,上海移动核心业务系统逐渐采用全Java化、刀片化的分布式部署,全部采用BES应用服务器作为应用运行平台。 以核心CRM系统为例,通过采用BES应用服务器作为其应用运行环境,超过上百台的部署规模,高性能、稳定地为业务应用高效运行提供了可靠保障,有效地支撑了上海移动不断增长的用户量,确保用户的应用系统获得快捷的使用体验。 上海移动成功将业务支撑系统搭建在BES中间件产品和技术解决方案之上,为业务支撑系统创新和业务实现提供了可靠的技术保障,这些系统包括: BOSS系统(核心计费、帐管等) CRM(客户关系管理)系统 BBOSS、CBOSS、PBOSS等 网上营业厅等电渠系统
北京公积金综合业务系统
北京公积金管理中心业务系统完全基于JavaEE技术框架,使用了BES应用服务器中间件作为应用运行支撑平台进行建设。 目前北京公积金系统共约100台服务器,分别用于部署各种业务应用。承载的业务涵盖个人网上业务、单位网上业务、知识库应用、综合业务、工作流、服务事件管理、以及业务信息推送等所有业务系统。 BES应用服务器作为北京公积金业务应用的基础支撑平台,在各个业务系统中表现优异。BES应用服务器中间件一贯的高性能、动态扩展性和可靠性,有效的保障了系统的稳定高效运行,提升了公积金业务应用的性能、稳定性和可靠性。
评论