信息化 频道

4化,中间件技术发展的新趋势

    2. 服务化:中间件将面向服务,易于集成

    服务化代表了中间件在提升IT基础设施的业务敏捷性方面的发展趋势,即支持对基于互联网的数据存储、软件和服务资源进行标准化的抽象和能力提供,桥接不同业务平台之间的技术异构性,并提供业务按需灵活组织的能力,让IT与业务密切匹配,提升组织的业务敏捷性。

    企业最根本的痛点在于其易变的业务和僵化的IT基础设施之间的尖锐矛盾。业务的易变性是企业试图通过业务差异化而谋求利益最大化的必然结果,是激烈的市场竞争的产物。问题在于,企业常常发现:业务需要改变,但IT却不能迅速地加以响应。为什么?根本原因就在于目前最重要的软件开发技术上存在着严重问题未能解决。

    解决这些问题,技术的本质是复用、松耦合、互操作(标准)等软件技术的内在机制。软件复用,即软件的重用,也叫再用,是指同一事物不作修改或稍加改动就多次重复使用。从软件复用技术的发展来看,就是不断提升抽象级别,扩大复用范围。最早的复用技术是子程序,人们发明子程序,就可以在不同系统之间进行复用了。但是,子程序是最原始的复用,因为这种复用范围是一个可执行程序内复用,静态开发期复用,如果子程序修改,意味着所有调用这个子程序的程序必须重新编译、测试和发布。

    为了解决这个问题,发明了组件(或者叫控件),如MS操作系统下的DLL组件。组件将复用提升了一个层次,因为组件可以在一个系统内复用(同一种操作系统),而且是动态、运行期复用。这样组件可以单独发展,组件与组件调用者之间的耦合度降低。
为解决分布式网络计算之间的组件复用,人们发明了企业对象组件,如(Com+,.NET,EJB等),或者叫分布式组件。通过远程对象代理,来实现企业网络内复用,不同系统之间复用。

传统中间件的核心是组件对象的管理。但分布式组件也是严重依赖其受控环境,由于构件实现和运行支撑技术之间存在着较大的异构性,不同技术设计和实现的构件之间无法直接组装式复用。

    而现代中间件的发展重要趋势就是以服务为核心,如WebService,SCA/SDO等。通过服务,或者服务组件来实现更高层次的复用、解耦和互操作,即SOA架构中间件。

    因为服务是通过标准封装,服务组件之间的组装、编排和重组,来实现服务的复用。而且这种复用,可以在不同企业之间,全球复用,达到复用的较高级别,并且是动态可配置的复用。

    SOA架构在松耦合,将中间件的解耦过程也发展到了最后的境界。传统软件将软件之中核心三部分网络连接、数据转换、业务逻辑全部耦合在一个整体之中,形成“铁板一块”的软件,“牵一发而动全身”,软件就难以适应变化。分布式对象技术将连接逻辑进行分离,消息中间件将连接逻辑进行异步处理,增加了更大的灵活性。消息代理和一些分布式对象中间件将数据转换也进行了分离。而SOA架构,通过服务的封装,实现了业务逻辑与网络连接、数据转换等进行完全的解耦。


软件技术的不断解耦的过程

    软件互操作技术也存在问题。互联网前所未有的开放性意味着各节点可采用不同的中间件技术,对技术细节进行了私有化的约束,构件模型和架构没有统一标准,从而导致中间件平台自身在构件描述、发布、发现、调用、互操作协议及数据传输等方面呈现出巨大的异构性。各种不良技术约束的结果是软件系统跨互联网进行交互变得困难重重,最终导致了跨企业/部门的业务集成和重组难以灵活快速的进行。

    在软件的互操作方面,传统中间件只是实现了访问互操作,即通过标准化的API实现了同类系统之间的互操作,而连接互操作还是依赖于特定的访问协议,如JAVA使用RMI,CORBA使用IIOP等。而SOA通过标准的、支持Internet、与操作系统无关的SOAP协议实现了连接互操作。而且,服务的封装是采用XML协议,具有自解析和自定义的特性,这样,基于SOA的中间件还可以实现语义互操作。


基于服务的中间件

    因此,下一代的中间件将在软件的模型、结构、互操作以及开发方法等四个方面进行优化:

    模型:构件模型弹性粒度化,即通过抽象层度更高的构件模型,实现具备更高结构独立性、内容自包含性和业务完整性的可复用构件,即服务。并且在细粒度服务基础上,提供了更粗粒度的服务封装方式,即业务层面的封装,形成业务组件,就可以实现从组件模型到业务模型的全生命周期企业建模的能力。

    结构:结构松散化,即,将完整分离服务描述和服务功能实现以及服务的使用者和提供者,从而避免分布式应用系统构建和集成时常见的技术、组织、时间等不良约束。

    互操作:交互过程标准化,即,将与互操作相关的内容进行标准化定义,如服务封装、描述、发布、发现、调用等契约,通信协议以及数据交换格式等等。最终实现访问互操作、连接互操作和语义互操作。

    开发集成方法:应用系统的构建方式由代码编写转为主要通过服务间的快捷组合及编排,完成更为复杂的业务逻辑的按需提供和改善,从而大大简化和加速应用系统的搭建及重构过程。

    总之,服务化体现的是中间件在完整业务复用、灵活业务组织方面的发展趋势,其核心目标是提升IT基础设施的业务敏捷性。因此,中间件将成为SOA的主要实现平台。
 

0
相关文章