SOA已经成为软件产业不可逆转的发展趋势。我们可以通过审视中国SOA的关键任务,实现关键任务的典型技术和技术架构图,以及中国SOA市场现有的解决方案和厂商分类格局,来归纳中国企业的最佳SOA实践。
SOA中间件平台的四种功能
构造新服务是重心
经过一段时间的信息化建设,中国企业已经建设了大量生产型系统,目前正在尝试整合。但是,中国企业仍然需要新建大量服务性系统。调查发现,很多中国企业正在进行新建系统或改造优化已有系统。57.5%接受调查的企业信息化建设的重心是新建系统和改造、升级已有系统; 将系统整合作为重心的企业只有42.5%。在金融、电信等行业,大客户已经建设了近90%的生产性系统。这与国外同类企业不同的是,他们仍然缺乏大量服务性系统。超过70%的服务不存在或需要重新构建,如CRM等的建设才刚刚开始。因此,构建大量全新服务是中国SOA的主要任务。这一点和美国的情况是完全不同的。
在IDC的调查中,银行业一方面正在改造核心银行系统以完成从部门银行向流程银行的转变,另一方面银行也在积极建设客户关怀系统、分析型CRM系统等增值系统,以及外包业务管理对接系统的周边系统。电信业目前在全业务格局下对BOSS系统进行重新架构,大量系统需要新建或重建。保险行业的主要核心系统已经建设完毕,更多的是要新建客户俱乐部、养老金等外围系统。目前,中国企业的软件系统具有以下两点特征。
其一,已有的软件系统数量相对较少。比较美国等成熟市场,中国企业软件系统建设尚处于早期或中期。
其二,由于早期软件开发的不规范和业务需求的不断变更,现有系统很难被标准化地切割成为SOA服务。
与中国企业需要大量新建或改造升级软件系统相比较,IDC发现,在成熟的美国企业软件市场,美国企业已经建设了大量的应用系统。美国企业的IT建设更多地集中在对原有系统的改造、升级或整合上,新建软件系统的比例相对很小。美国实现SOA架构常见的情况是先对已有系统进行提取和包装,从而组合成标准的服务; 再将不同系统中的分散数据整合包装成为数据服务; 最后通过业务流程管理对服务进行整合。
美国企业能够对原有系统进行有效的分割、包装,主要得益于其系统已经大量部署了标准化、模块化程度很高的套装应用软件。美国企业经历了多年的应用集成实践,为切割的标准化打下了一定的基础。
软件系统以新建为主的中国企业,在实现SOA架构过程中要更关注标准平台的建设,并在此基础上构造企业所需的所有标准服务。由于大部分中国企业现有软件构建技术和业务制定均不规范,导致业务流程难以进行有效提取。同时,基于不同系统的不同标准的数据源难以得到有效整合。最后,由于缺乏统一的技术架构,企业陆续新建的系统产生了更多信息孤岛。因此,中国企业在实现SOA架构时,许多现有系统不得不推倒重来,或将整个系统包装成一个服务。而大量新建系统可以直接构建粒度更小、组合更容易、架构更灵活的标准服务。
在中国,企业和软件开发商通过不同的技术路线来构建SOA服务,其中包括纯代码编写、基于套装软件的二次开发,或基于面向构件技术平台的开发。其中,大型套装软件的开发周期长,开发费用高,无法有效适应中国企业复杂多变的需求; 而纯代码编写不利于标准遵从,而且开发效率较低。于是,面向构件技术逐渐浮出水面。与此同时,SCA/SDO(服务组件架构/服务数据对象)标准的发布为构造SOA服务提供了理论指导。遵从SCA/SDO标准的面向构件技术被更多企业所选用。
应用面向构件技术
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。
IBM宣布其旗下五大软件产品线全部支持SOA,其中包括信息管理、Websphere、Tivoli、Rational和Lotus。IBM通过大量整合、拓展和收购相关产品,致力于完整融合自网络层至应用层的集成运行环境和管理技术。
BEA在2005年推出AquaLogic产品,提供了用于集成业务流程、应用和遗留环境的SOA平台。在2006年底,BEA宣布了SOA360度战略,致力于提供统一的SOA技术平台。BEA计划在2008年之前在SOA360平台上整合其现有的三个产品:Weblogic、Tuxedo和AquaLogic。
SOA服务构造厂商以面向构件技术来实现SOA服务的构造,并对SOA服务进行管理和组装。其代表厂商为普元公司。
普元公司提供面向构件的技术平台,以实现SOA服务构造和服务本身的管理和组装。面向构件技术平台可以与IBM、BEA等公司的ESB产品—SOA服务的注册、路由、管理产品形成互补,从而形成完整的SOA解决方案。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
谁知道阿里云河南服务中心是干什么的?
一直接到阿里云服务中心的电话,说是阿里云的授权中心,主要提供阿里云的区域服务的?请问其他地方也有阿里云的服务中 […]
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。