java中间件都有哪些
Java中间件是一种基于Java技术的中间件软件,用于连接不同系统或组件之间的通讯和交互。随着企业信息化程度的提高,Java中间件越来越受到追捧,在信息系统架构中占据了越来越重要的地位。那么,Java中间件都有哪些呢?本文将从多个角度分析Java中间件的种类。
一、根据功能划分
1. ESB (Enterprise Service Bus)
企业服务总线(ESB)是一种通信特别广泛的类型,它对不同系统分散的通信进行整合,目的是协调企业各系统的数据传输。ESB可以实现多种协议的通信,并能够进行消息转换。ESB是企业级强大的、高可用的打通各种系统的典型中间件。
2. MQ (Message Queue)
消息队列是一种异步方式的通信模式,可以在不支持并发的系统环境下实现并发操作。消息队列能够保证消息被送达,可以减少消息发送方和接收方之间的时间严重不同的问题。
3. RPC (Remote Procedure Call)
远程调用服务(RPC)是一种能够帮助在分布式系统中实现进程间通信的典型中间件。它通过编码和传输数据,从而可以在远程通信的情况下调用方法。
二、根据应用范围划分
1. Web 中间件
Web中间件通常用于Web应用程序的开发。它提供了各种API、协议和框架,允许开发者轻松地构建和维护Web应用程序。例如:Tomcat、Jetty等。
2. 数据库中间件
数据库中间件可分为两大类:数据访问中间件和数据分发中间件。数据访问中间件可以将不同的数据库引擎视为一个整体,并提供访问这些数据库的通用接口。数据分发中间件用于跨不同的数据源提供分布式事务等解决方案。例如:Mybatis、Hibernate等。
3. 应用程序中间件
应用程序中间件是服务器软件,主要用于执行常见的中间件功能,例如消息传递(通信)、数据库引擎、事务处理以及应用程序部署等。应用程序中间件通常包含多个组件,用于保证系统安全、可靠的运行。例如:Jboss、Oracle WebLogic、IBM WebSphere等。
三、根据开源/商业划分
1. 开源中间件
开源中间件是一类公共领域的中间件软件。这些中间件软件提供了开源的代码,使它们易于调整以匹配应用程序的需要。开源中间件的使用者可以自由更改、二次开发并分发该软件。例如:Mule ESB、Apache ActiveMQ等。
2. 商业中间件
商业中间件是一个通用术语,用于描述那些产品是由厂商提供,且为了赚取盈利而售出的中间件软件。这类中间件软件通常都有丰富的特性、全面的文档和优秀的支持。例如:WebSphere Application Server、WebLogic等。