中间@@件@@是伴随着网络@@应用的发展而@@逐渐成长起来的技术体系@@。最初的中间@@件@@发展驱动力是需要有一个公共的标准@@的应用开发平台@@来屏蔽不同操作@@系统之间的环境和@@API差异@@,也就是所谓操作系统与应用程序之间@@“中间@@”的这一层叫中间@@件@@@@。但@@随着网络@@应用的需求@@,解决不同系统之间的网络@@通信@@、安全@@、事务的性能@@、传输的可靠性@@、语义的解析@@、数据@@和应用的整合这些问题@@,变成中间@@件@@的更重要的驱动因素@@。因此@@,相继出现了解决网络@@应用的交易中间@@件@@@@、消息中间@@件@@@@、集成@@中间@@件@@等@@各种功能性的中间@@件@@技术和产品@@。

  现在@@,中间@@件@@已经成为网络@@应用系统开发@@、集成@@、部署@@、运行和管理必不可少的工具@@。由于中间@@件@@技术涉及网络@@应用的各个层面@@,涵盖从基础通讯@@、数据@@访问到应用集成@@等@@众多的环节@@,因此@@,中间@@件@@技术呈现出多样化的发展特点@@。

  传统中间@@件@@在支持@@相对封闭@@、静态@@、稳定@@、易控的企业@@网络@@环境中的企业@@计算和信息资源共享方面取得了巨大成功@@,但@@在新时期以开放@@、动态@@、多变的互联网@@@@(Internet)为代表的网络@@技术冲击下@@,还是显露出了它的固有局限性@@,如@@功能较为专一化@@,产品和技术之间存在着较大的异构性@@,跨互联网@@的集成@@和协同工作能力不足@@,僵化的基础设施缺乏随需应变能力等@@等@@@@,在互联网@@计算带来的巨大挑战面前显得力不从心@@,时代要求新的技术变革@@。

  中间@@件@@技术的发展方向@@,将聚焦于消除信息孤岛@@,推动无边界信息流@@,支撑开放@@、动态@@、多变的互联网@@@@环境中的复杂应用系统@@,实现对分布于互联网@@之上的各种自治信息资源@@(计算资源@@、数据@@资源@@、服务资源@@、软件资源@@)的简单@@、标准@@、快速@@、灵活@@、可信@@、高效能及低成本的集成@@@@、协同和综合利用@@,提高组织@@的@@IT基础设施的业务敏捷性@@,降低总体运维成本@@,促进@@IT与业务之间的匹配@@。中间@@件@@技术正在呈现出业务化@@@@、服务化@@、一体化@@、虚拟化等@@诸多新的重要发展趋势@@。

  1.业务化@@:中间@@件@@正在@@“变厚@@变宽@@@@”

  中间@@件@@的本质特征是对计算环境的抽象和对应用共性的凝炼@@。十年来@@,中间@@件@@的发展多在计算环境的抽象上@@。目前的中间@@件@@可以在不同操作系统@@、不同网络@@环境下提供各种应用服务@@。

  抽取分布系统构造中的共性问题@@,封装这些共性问题的解决机制@@,对外提供简单统一的接口@@,从而@@减少开发人员在解决这些共性问题时的难度和工作量@@。因此@@,其显着特点之一就是自底向上的技术导向@@,它典型地是对操作系统@@、网络@@、编程语言等@@基础软件能力的抽象和封装@@,其关注@@主要聚焦于分布式应用构建的技术细节@@。

  越来越多的网络@@应用将被抽象形成@@标准@@的平台@@服务@@,加入到中间@@件@@之中@@,成为重要的技术特征@@。

  业务化@@代表了中间@@件@@对复杂业务支持@@方面的发展趋势@@,即@@,从自底向上技术驱动转变为更多@@自顶向下的应用层的业务驱动@@,凝练更多@@的应用和业务模式@@,支持@@复杂业务的开放式多方协同和按需集成@@能力@@。

  众所周知@@,对组织@@而@@言@@,通过@@IT对信息进行有效的管理及利用是其业务成功的关键因素@@,IT是要为业务服务的@@。中间@@件@@技术作为企业@@计算的核心基础设施之一@@,仅仅关注@@技术本身是不够的@@,尤其是在当今全球化趋势之中谋求生存和发展@@,IT信息系统及其基础设施对战略和业务的有效支持@@是至关重要的@@。因此@@,作为共性的凝练@@,中间@@件@@不仅要从底层的技术入手@@,将共性技术的特征抽象进中间@@层@@,还要更多@@地把目光投向到业务层面上来@@,根据业务的需要@@,驱动自身能力的不断演进@@,即@@,不断出现的新的业务需要驱动了应用模式和信息系统能力的不断演进@@,进而@@要求中间@@件@@不断地凝练更多@@的业务共性@@,提供针对性支撑机制@@。近年来@@,这一需求趋势愈发明显@@,越来越多的业务和应用模式被不断地抽象进入中间@@件@@的层次@@@@,如@@业务流程流@@、业务模型@@@@、业务规则@@、交互应用等@@等@@@@,其结果是中间@@件@@凝练的共性功能越来越多@@,形象的看@@,中间@@件@@的发展趋势之一就是变得越来越@@“厚@@”。

  此外@@,在以互联网@@为代表的新技术推动下@@,伴随全球化的脚步以及国民经济和国家信息化建设的高速发展@@,企业@@/政府@@的业务合作和资源共享的广度@@、深度和频度都在不断的拓展@@,企业@@竞争本身已经从单纯的个体间行为演变为产业链层面上的激烈竞争@@,而@@电子商务的建设也呈现出从边沿向纵深的发展趋势@@。企业@@信息化在@@ERP打破企业@@内部界限@@,形成@@企业@@内部无边界信息流的情况下@@,全程电子商务将实现企业@@@@、伙伴@@、供应商和客户的互联互通@@,打破企业@@间的界限@@,形成@@跨行业@@/组织@@/部门之间无边界信息流@@,复杂业务协同往往需要将原本零散@@、片段的业务流程@@(人工@@/自动@@)和信息优化进一个集成@@的环境@@,多个业务实体在互联网@@提供的广泛连通性基础之上进行开放@@、灵活@@、可信@@的信息交换和互操作@@@@,实现企业@@间的业务协同@@,及时响应变化并有效的支持@@业务战略的交付@@,从而@@快速@@形成@@新的竞争力优势@@。因此@@,从支持@@基于@@互联网@@广泛连通性的复杂业务协同和集成@@的角度来看@@,形象地说@@,中间@@件@@的另一发展趋势是变得越来越@@“宽@@”。

  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的主要实现平台@@@@。

责任编辑@@:admin