中间件技术研究之一

preview
需积分: 0 0 下载量 37 浏览量 更新于2020-03-04 收藏 28KB DOC 举报
中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,开发者不得不直接面对许多复杂棘手的问题,如操作系统的多样性、繁杂的网络程序设计和管理、复杂多变的网络环境、数据分散处理带来的不一致性问题等等,这些与用户的业务没有直接关系,但又必须解决,耗费了大量的时间和精力,因此开发者迫切需要一种基于标准的、独立于计算机硬件以及操作系统的开发和运行环境,于是,中间件技术应运而生。 中间件技术是软件开发领域的重要组成部分,它源于开发者对于简化跨平台、跨系统开发的迫切需求。在中间件出现之前,应用软件直接依赖于操作系统、网络协议和数据库,这导致了诸多复杂问题,如处理操作系统的多样性、网络编程的复杂性、数据一致性问题等。中间件作为一种基于标准、独立于硬件和操作系统的开发和运行环境,它旨在解决这些难题,为开发者提供一个抽象化的平台,以便他们能更专注于业务逻辑而不是底层技术细节。 1. 中间件概念: 中间件被定义为一种独立的系统软件或服务程序,它在分布式应用之间提供资源共享,位于客户机/服务器操作系统之上,管理计算资源和网络通信。它创建了一个软件层,使得分布式应用程序能够互操作,同时隐藏了底层环境的复杂性和异构性,从而为上层应用提供简洁、高效的开发和运行环境。中间件通常通过应用程序接口(API)定义,具备强大的通信能力并支持扩展。 2. 中间件分类: 根据IDC的分类,中间件可以分为以下六类: - 终端仿真/屏幕转换中间件,用于实现图形用户界面与字符接口服务器应用的互操作。 - 数据访问中间件,允许应用直接访问和更新服务器数据源,基于SQL,通常用于同步通信。 - 远程过程调用(RPC)中间件,扩展了本地过程调用,使得可以调用远程服务器上的过程,但同步特性可能导致效率问题。 - 消息中间件,通过消息传递机制连接分布式应用,支持同步和异步,常用于事件驱动的应用,具有较好的容错性。 - 交易中间件,专门针对联机交易处理,减少并发处理的编程复杂性。 - 对象中间件,使得不同系统中的对象可以相互访问和交互,支持跨平台的面向对象编程。 3. 主流中间件技术平台: 目前,主流的分布式计算技术平台包括OMG的CORBA(Common Object Request Broker Architecture),Sun的J2EE(Java Platform, Enterprise Edition)和Microsoft的DNA 2000。这些平台都提供了中间件支持,促进跨平台的组件交互和分布式应用开发。 - CORBA提供了标准化的接口定义语言(IDL),使得不同编程语言的对象可以相互通信。 - J2EE是Java企业级应用的框架,包括一组服务、API和协议,支持Web服务、EJB(Enterprise JavaBeans)等,提供全栈式解决方案。 - Microsoft DNA 2000则是一个集成的开发框架,基于.NET架构,支持COM+组件服务,用于构建分布式Windows应用。 中间件技术是构建大型分布式系统的关键,它降低了开发复杂性,提高了系统的可移植性和可扩展性,使得企业能够构建适应不断变化的技术环境和业务需求的软件系统。随着云计算、微服务和物联网的兴起,中间件技术将继续发挥重要作用,推动软件行业的创新和发展。