随着用户对大型网络应用高效运行、灵活应变、无缝集成需求的不断提高,中间件已经从上世纪80年代兴起的第一代“CORBA中间件”,90年代兴起的第二代“J2EE中间件”发展到了今天的第三代“SOA中间件”。事实上,早在十几年前,Gartner就首度提出了SOA(面向服务的企业架构)的概念,SOA将软件视为由“配置化服务”组成的新系统,着重强调软件的松散耦合、并使用独立的标准接口,让企业应用系统变得灵活。如今随着中间件技术的演进与相关技术标准的不断确立,全球中间件市场也开始围绕SOA概念,展开了新一轮的“产业革命”。
当今IT正在发生着很大变化,例如在数据层面上,企业信息量变得庞大,数据类型的应用也随之增多,在安全性上的要求也更高;从逻辑层来看,企业业务流程变化更快,复杂性变高。在界面层用户希望功能强大而操作快捷,资料来源和互动性要更丰富,因此对用户来说,拥有一个成熟的IT基础为业务打下基础就尤为重要。
中间件与SOA
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
SOA是什么?SOA是一种软件系统提供功能的架构式样。组成这样的一个架构,需要有服务的请求者、服务的提供者、以及服务的描述者,其中,服务的请求者、提供者要遵循相同的规范和标准,才能实现基于互联网的调用,描述者则要把这些服务描述清楚,使请求者能够了解服务是做什么的、到那里去找,如何访问一个服务,这是一个支持松偶合的技术架构。
SOA与中间件的关系最为紧密,可以理解为鱼与水的关系。这种关系包括两层意思:一是说采用中间件产品可以很好的构建SOA的应用;再就是采用中间件产品开发出来的应用,将很容易被整合进SOA架构。"在这种模式下,一个应用或应用的一部分其实是一种服务,其他的应用和客户都可以在无需编写大量代码的情况下使用这些服务,这一切都使一些大企业或在地理上分布范围比较广的开发队伍能够更好地合作,因为这些SOA架构下的中间件业务模块都能够被重新配置或以新方式优化以满足新的需求。"Gartner集团的分析师罗伊认为。(本文由控件中国网转载)