SOA在虚拟软件研发组织中的应用研究
2009-03-30万火彭雪阳张友生
万 火 彭雪阳 张友生
[摘要]虚拟软件研发组织(Virtual Software R&D Organization,简称:VSR&DO)概念渗透于软件科研机构所形成的一种VR&DO新模式。这个观点是新提出来的,国内外学者对这种新的vIc&DO组织形式给予了非常高的关注。讲述基于s0A架构在虚拟软件研发组织中的应用。
[关键词]虚拟组织虚拟研发研究评述
中田分类号:TP3文献标识码:A文章编号:1671-7597(2009)0210069-01
一、简单介绍虚拟软件研发组织和SOA技术
虚拟软件研发组织(Virtual Software R&D Organization,简称:VSR&DO)是在虚拟研发组织(VR&DO)的基础上提出的来一种更具体的组织架构理论,即虚拟研发组织在传统软件研发领域中的应用。本文提出如何采用面向服务的体系结构(SOA)技术作为虚拟软件研发组织开发软件的体系结构。SOA技术本身具有以下特征:(1)服务开放性:采用XML、WSDL、SOAP、UDDI等,其他任何系统都可以通过这些标准获得相应的服务;(2)封装性:作为服务请求者无需知道服务提供者提供服务的具体实现及核心业务流程等;(3)跨平台性:SOA技术采用的是Web开放式的协议,对具体不同的服务平台没有一致性要求;(4)可集成性:通过服务开放性标准实现服务之间互操作和信息的高度集成。
二、SOA体系架构
面向服务的体系结构(Service-Oriented Architecture,SOA,也叫面向服务架构)是指为了解决在Internet环境下,将分布异地的、松散的业务有效集成,通过连接能完成特定任务的独立服务实体实现的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的服务接口和契约关联在一起。接口是采用中立的方式进行定义的。它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一、标准和通用的方式进行交互和集成。
SOA体系的这种三角形架构模式(如图一)主要体现服务提供者、服务请求者和服务注册中心之间的关系。可以用J2EE或.NET平台实现,完全可以实现异构、跨平台的SOA体系架构。它们之间的实现核心关系如下:
1.服务提供者按服务注册中心提出的服务接口规范设计特定的服务。自行测试,保证每个服务的服务品质(QoS,quality of services),通过Internet发布到服务注册中心,并在UDDI(UniverSAl Description,Definition,and Integration即:统一描述,定义和集成)注册中心注册。
2.服务请求者向服务注册中心请求特定的服务,然后服务注册中心根据请求信息在UDDI注册中心查找相应的服务。
3.服务注册中心向服务请求者发送满足条件的服务描述信息,采用WSDL(Web Services Description Language即:Web服务描述语言)来描述服务信息,该语言的格式是XML,因此,任何支持服务的机器读可以阅读。
4.服务请求者根据服务的WSDL向服务提供者发出SOAP调用信息,以实行服务请求者向服务提供者发出服务调用请求。
5.服务提供者根据服务请求者发出的SOAP信息来执行相应的服务,并将结果以XML的形式返回给服务请求者。
三、虚拟软件研发组织的传统软件研发组织比较
目前主要的软件开发组织还是采用传统模式,所谓传统模式是指在软件的研发中,主力资源在本企业中,至于与其他软件企业、团队或个人的合作主要是采用一种外包或采购组件模式,甚至没有联系。该组织方式主要有以下特点:(1)集中性:开发员必须在一起完成项目研发。研发中所需的资源比较集中;(2)现场沟通性:软件研发参与人员主要采用一种面对面的沟通方式,来管理及控制软件研发过程:(3)模块外包:软件研发中需要特定领域的专业模块支持,一般采用外包或聘请专家顾问形式来保证软件质量:(4)知识产权集中所有:研发出来的系统的版权往往由某个企业或个人所有。随着市场对IT行业的需求日渐庞大,要求新的软件在集成原有的企业集成信息系统基础上能实现跨地区、跨行业的全球信息集成架构,保证系统的信息共享及互操作。采用传统模式的软件研发组织就显得力不愿心。因此,为软件工程探讨新的开发思想提供了又一新页的历史背景。
为了能解决当前问题,目前采用比较看好的技术框架就是以SOA设计原则的Web服务。但如何使分布异地的软件企业为共同的市场需求,真正充分发挥s0A架构的功效,以此,将该任提交给了虚拟软件研发组织(vSR~DO),下文主要讨论VSR&DO的特点和SOA如何在之基础上实现及相关问题的研究。
本文开头就提出了VSR&DO的基本定义。结合IBM、BERNESOA中丰富的项目案例,经分析,VSR&DO主要涵盖如下特征:(1)跨地区性:研发项目中的企业可以分布在不同的地区,而研发的方向却是同一个目标;(2)异地沟通性:通常采用先进的网络通讯技术来保证开发员之间沟通及管理,这在一定程度上增加了沟通成本,给管理思想提出了更高的要求及新的管理理念:(3)自治性:分布异地的开发组织有自己的开发过程,包括:管理、设计、实现及测试维护等,面向外界是采用WSDL语言描述的服务的标准接口;(4)并发特性:在标准化了服务接口的架构下,每个服务可以并行开发,极大的缩短了系统研发周期。为此,VSR&DO是聚跨企业、跨地区的研发组织各自优势,并肩合作、共承风险、共同谋益,积极快速响应及满足市场需求。SOA架构的热潮,就已经受到了许多大公司的青睐及支持。从虚拟软件研发组织的本身特征看来,就是一种非常实际而有效的开发SOA系统的方式。从它们的本质特征分析,两者的思想也是非常一致。因此,SOA在VSR&DO的应用是将来软件研发的一种必然趋势。