作 者:中国计算机报
SOA服务可以用面向构件技术来构建。同时,SOA服务本身的管理和组装也是一个面向构件的过程。面向构件技术是基于构件的软件开发方法、技术和标准。
通常,一个构件包括构件类型、构件实现、提供接口和依赖接口四个方面。
面向构件和构件技术具有以下三个特性。
第一,服务特性是构件与生俱来的,而以前的开发语言却不是。因此,以构件为单元的应用软件的服务能力也是与生俱来的。
第二,面向构件的开发方式是最好的服务产生方式,其所开发的构件和业务构件是全粒度的服务。
第三,面向构件的开发方式可以充分利用SOA所带来的共享企业级服务资源,并为应用所用。
IDC在调查中发现,基于面向构件开发平台进行定制开发逐渐成为中国企业的一个重要选择。超过70%参与调查的中国企业的新建系统项目中采用了定制开发方式,其中有50%基于面向构件开发平台。在对中国企业对不同软件系统开发模式的满意度调查中,企业对使用基于面向构件开发平台所进行定制的开发满意度略高于基于手工编写代码或套装软件开发等方式。
SOA架构的技术实现
SOA是面向服务的企业总体架构,服务成为企业应用的新资源层。SOA架构技术实现了各模块之间的松散耦合特性,具有定义良好的接口,可通过拆分与组合,来针对性地构建满足不同应用场景需求的技术系统。
SOA架构技术的实现包括三大部分:运行时平台功能模块、设计开发模块,以及软件治理模块。运行时平台包括了数据层、服务实现层、服务层和服务展现层。设计开发模块提供了一体化的集成开发环境,包括开发、调试、组装、发布和管理等。软件治理模块是应用运行时的管理监控环境,包括应用部署、应用配置、应用监控统计、在线更新、安全审计、日志查看、工作流管理监控等。
在运行平台功能模块,数据层支持将各种已有资源以统一的方式接入SOA基础技术平台。构件库(即服务容器)是能够支撑快速开发、部署应用系统、具有高度复用能力的一组预制构件的集合。服务实现层则对应用中的各种服务进行管理。
两大阵营相辅相成
SOA中间件平台包括面向构件、流程管理、统一服务和软件治理四个关键功能。
第一,构造服务。用统一的标准(SCA/SDO)构造服务,从而低成本地快速开发部署新系统,并降低系统的维护培训成本。
第二,流程管理。根据业务需求快速应变。
第三,企业服务集成。多个服务用ESB(企业服务总线)集成。
第四,软件治理。提高系统的可用性和可管理性。
目前,SOA中间件平台的四种关键功能均在市场主流的SOA厂商的产品线有所实现。然而,不同厂商对以上四种关键功能的实现路线却不相同。其中,IBM和BEA作为传统的企业应用集成厂商,更关注统一服务和流程管理功能。普元公司作为面向构件技术的代表厂商,则侧重于面向构件和流程管理功能。所有这些厂商都有全部实现上述四种关键功能的计划。目前,提供关键功能的不同侧重点,是由于厂商所处的不同市场竞争环境和自身产品开发历史所决定的。
随着市场和专业分工的不断细化,不同的SOA产品功能将SOA软件供应商分成了两大阵营:企业级应用整合和SOA服务构造。前者以IBM、BEA和IONA为代表,后者以普元公司为代表。在当前SOA中间件市场格局中,这两类厂商存在一定的互补关系。
企业级应用整合厂商的解决方案关注对已有系统的切割和封装以形成服务,并提供服务的注册、路由、管理功能。代表厂商有IBM、BEA和IONA。