中间件的作用体现在它提供以下服务上:
(1)通讯服务。应用程序的开发往往要考虑操作系统提供的网络接口,针对不同的操作系统还存在网络协议的异构型,中间件则对分布式应用的开发者屏蔽了复杂的底层网络编程细节,为分布环境下的应用程序提供远程过程调用RPC、消息和对象请求代理ORB的通信服务。
(2)并发性服务。中间件的应用必须具有高度可扩展性才能满足目前火热的电子商务应用,这些应用需求通常以每秒所处理的请求或消息的数量来衡量,如果在系统中保证最大化的并发性,就可以同时执行尽可能多的任务。中间件使用很多技术和模式来增强了并发性,例如在服务器进程中采用多线程技术,多线程技术允许中间件系统最大化网络连接的处理以及达到这些连接的请求和消息的处理等。
(3)通用中间件支持,除了提高通信和并发服务支持外,分布式应用中使用目录服务、事务服务、管理服务、事件服务、连续性服务、负载平衡服务、配置服务来解决那些独立于任何特定应用领域的问题,中间件软件都集成了这些应用,很好地支持了这些分布式应用所需的构件。