SOA用户指南-3.6 SOA项目实施与传统项目实施的比较
 

2009-06-30 作者:中国电子技术标准化研究所 来源:csdn

 

3.6 SOA项目实施与传统项目实施的比较

SOA项目实施与传统项目实施相比较存在很大差异,主要体现在以下几个方面:

1.在实施过程上

SOA项目的实施过程重点放在前期的业务流程梳理、服务规划、服务提取及服务定义上,而传统项目的实施重点放在开发实现阶段。同时,在SOA项目实施中业务人员的参与广度、深度、所承担的责任及介入周期都较传统项目高。业务与IT的进一步共融是SOA项目实施的重要特点之一。

传统应用系统的开发是从头开发,从零开始,一蹴而就。而SOA项目的部署实施往往是对现存企业或组织内部应用的修补,对现有计算资源的整合,并不是从头开始。同时,SOA的实施往往是从小范围开始,逐渐地迁移现存应用到新的计算环境中,是循序渐进的过程,所以SOA项目的实施往往是长期的。

企业或组织部署SOA最好是通过迭代方式来实现。使用迭代式开发部署SOA,可通过允许组织逐步纳入到系统中,从而减少出现业务故障的风险。而传统应用程序开发时往往使用的是“瀑布式”开发方法部署SOA。

2.在实施团队上

SOA项目的实施团队比传统项目的实施团队更复杂,主要体现在如下两个方面:

一方面强调将高层决策者及业务部门工作人员的全程、深入参与。高层决策者需在SOA项目规划初期参与决策,确定相关的实施路线和治理策略、并确保各相关业务部门负责人和工作人员的参与;对于相关业务人员,在3.2节的各实施过程中,除开发测试过程以及部署过程之外,其他过程业务人员均可以参与,并与IT人员共同进行SOA系统的规划、设计、监控和流程更改。

另一方面,SOA项目中的实施角色及职责也与传统的项目实施不同,比如SOA架构师与传统IT架构师的职责相比更为重要,其工作往往是整个团队的核心;服务开发工程师与传统开发工程师不同,其工作更多采用参数配置、组装、流程定义等技术,代码编程工作量会明显少于传统开发工程师。此外,SOA项目中新增了一些重要角色,比如服务建模工程师、互操作性测试工程师等。SOA项目中各相关实施人员的描述如表3-2所示。

表3-2 SOA实施团队角色及技能表

项目角色 职责 合作对象 技能要求 支持工具
SOA 架构师 方案设计、需求分析、架构确定、服务构件建模、运维建模、业务与服务组件的转换 任何其他项目团队成员,包括业务处室代表 通常的IT架构能力,J2EE/.NET技术XML、XML schema、Web Services、SOA概念、平台、项目实践经验、业务知识等 UML编辑器、Office套件等
服务建模工程师 接口设计、WSDL编辑 (自顶向下、 自底向上等) 业务分析师、SOA架构师、服务开发工程师 WSDL、XML schema、J2EE/.NET命名空间技术等 WSDL编辑器或等

续表

项目角色

职责 合作对象 技能要求 支持工具
流程设计师 业务建模、服务流程组装 服务建模工程师、业务分析师、SOA 架构师、业务代表 BPEL4WS、BPEL4People、WSDL 图形化流程设计工具、 BPEL4WS generators、 实时通信支持
服务开发工程师 服务提供方编程、服务需求方编程、SOAP消息包的解析、文档编程 服务建模工程师、业务分析师、SOA架构师、测试工程师 J2EE/.NET、XML、SOAP、WSDL等 J2EE/.NET开发平台、SCA/SDO开发平台等
互操作性测试工程师 WSDL检查、SOAP封装跟踪、性能测试、问题定位 服务开发工程师 SOAP、WSDL、WS-I profiles等 TCP/IP tunnels and monitors、互操作性测试工具等

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织