分享

软件开发角色转变

 思奇剑 2006-11-23

面向服务构架的软件开发将对软件开发团队的角色带来一系列的转变:未来的应用软件开发员将是模型师、装配师、协调师与测试员,而不只是程序员。

今后五年,软件开发的关键主题将是整合、再利用和战略采购。所有这三个方面反映了首席信息官的当务之急,即削减成本、提高组织适应性及证明他们能够提供金钱价值。但所有这三个主题也对内部软件开发团队的角色产生显著影响,对传统编程和编码技能的需求开始衰退,而商业进程、设计与整合专业技能进入支配地位。

大多数企业将继续开发一些新型软件,并通过这些软件提供差异化的业务服务以提高企业的核心竞争优势;而且,他们也将对购买的商业软件包进行必要的定制,以提供一些通用的功能,如人事资源管理等。但许多公司认为再也没有必要进行内部开发活动。一些公司会雇佣本地顾问或系统集成商来帮助他们解决这一问题,更多公司则寻求海外外包的可能性。

Datamonitor研究公司技术分析员Tom Pringle认为,人们对海外开发的兴趣更加浓厚。他说:“在这些地方建立开发中心成本更低,而且拥有许多受过良好培训的劳力。他们能够以和其他地方相同的标准,并以更低廉的价格完成工作。所以他们都开始这样做。”Gartner副总裁兼分析员Matthew Hotle认为:“外包以及不断向面向服务构架开发方法的转变,将必然降低公司对内部纯专业技能的需求。”

SOA带来开发团队角色的改变

采用SOA方法需要对各种组件以及复合应用进行集成和装配,以支持特定企业的商业进程或服务,这些组件或复合应用可能来自不同的来源——既可以是企业内部也可以是企业外部的。

与传统的软件包不同,SOA组件或复合应用软件不存在应用功能上的孤岛,如财务或客户关系管理,而是形成一个可复用的组件池,这些组件的功能是通用的,可用于各种应用中,并通过组合完成某个特定的功能或支持其他的进程。这种组合使得无论是装配新系统,还是为支持商业需求的改变而改装旧系统都变得快捷容易。而且,开发团队可以从各种来源获得这些组件与复合应用软件,即可以是内部开发或者是由第三方提供商提供的,这一事实表明自行开发与购买之间的传统界线已变得模糊起来。因此,随着时间的推移,我们现在所了解的软件概念将不再重要,取而代之的将是支持它们的商业进程与服务。

Hotle认为:“如果服务得到充分开发,我们相信可能有40-60%的功能可以进行再利用。”这意味着未来的应用软件开发员将是模型师、装配师、协调师与测试员,而不只是程序员。虽然对编程与技术技能的需求不会完全消失,但由于再利用与外部采购准备,对这类专业技能的需求将会下降。

SOA对人员和流程的转变

Macehiter Ward-Dutton首席分析员Jon Collins承认,组织不会立即全面执行SOA策略,至少是因为以基本组件,面向再利用的方式重新编写所有的遗留应用软件还过于昂贵。他说:“我们正朝SOA迈进,但大多数的应用软件环境仍以遗留软件为主,所以我们不可能一蹴而就。这样做也没有太大的益处。许多软件都执行特殊的目的,所以没有必要推翻重建。开发员仍有必要提高并维护现有的内部系统,并将它们与其他基于SOA的应用软件或别的软件整合起来。目前,IT界的主要问题是整合,没有任何应用软件能够独立运行,它们全都需要交流以高效运行。”

采用SOA的另一个障碍是缺乏可供利用的专业技能,Hotle说:“今后五年,许多应用软件开发组织必须处理的最大难题是他们的员工,他们中的一些人已经接近退休年龄。一些人只有面向服务领域的有限技能,另一些人仍希望技术为主,而公司正转向面向商业的领域。”

尽管在开发服务、实现再利用时,面向对象的开发技巧与新兴的SOA标准会有所帮助;但在很大程度上,技术只是次要的,重点应放在组织转变上。Hotle表示:“必须对流程加以定义,质量保证成为关键;否则,就只会在组织内部交付劣质软件。行为必须改变,我们十分擅长的应用软件开发已不重要。因此,这不仅仅是技术问题,而是人员与流程问题。”

SOA需要关注的新技术

转向SOA首先必须配备面向服务的思维模式,但包括商业流程管理(BPM)、身份管理等在内的技术也将会有帮助。BPM系统为开发员提供设计并模拟软件特定进程的工具,并在执行过程中对其性能进行监控。执行进程时,系统自动要求来自各种分布式集成应用软件的组件进行某一活动,如计算偿还贷款。如果它不可能自动执行整个进程,则向员工发送信息,要求他们执行必要的任务以完成工作。

身份管理是SOA领域的另一项大有前途的技术,该技术将作为一个独立的系统或一组服务出现,这样开发人员就不必耗费大量时间去处理将身份管理内置到单个组件或集成应用软件中的复杂工作,高效的SOA应用需要身份管理功能,否则顾客在访问各种应用软件及重复登录时就会遇到问题。

Collins说,“这意味着它是减少那些应用软件间缺陷的重要手段。然而,目前还很少有组织在大规模采用这些概念并理解趋势。虽然他们可能用Java或.Net来开发新型应用软件;而应用SOA原理来开发应用软件只在基于项目的策略基础上才会发生。目前采用这些趋势的组织常常以失望告终。因为这些技术趋势是一个进化过程而不是一步到位的,因此我们要把目光放远,即使现在还没有直接应用这些技术,但我们应该看到这些技术趋势以及它们的未来应用。”

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多