提升开发技能 正确实施SOA

ZDNet软件频道 时间:2009-02-04 作者:Builder |  我要评论()
本文关键词:soa developtrend
开发者需要真正理解SOA的原理,同时具备相关的开发技巧,才能够正确实施SOA。

企业所需内部软件开发人员的素质在不断的变化。几年前,一些专家曾预言,软件开发工作将在一些国家消失,尤其当一些劳动力成本较低的国家能够承担外包工作的时候,大量的开发工作将转移到那些国家。

但是现在看来,当初的言论有些不太成熟。虽然确实有不少公司将软件开发工作进行了外包,并取得了成功,但是仍然有很多企业正在逐步培养本土的开发力量。这一现象的主要因素之一,就是现在高速发展的面向服务架构(soa)。

Butler Group资深研究员Michael Azoff认为,目前没有一种能够适应所有企业情况的soa。他说:“开发者需要真正理解soa的原理,同时具备相关的开发技巧,才能够正确实施soa。”

采用soa的原因之一是由于越来越多的人希望能有丰富的基于Web的应用程序和服务,就像现在的前端服务一样。Azoff补充说:“因此开发者还应该具备Web服务和丰富的互联网应用程序开发的经验技巧。” 在这方面,金融行业进步的最快。

快速应用程序开发和敏捷开发技巧也是开发者应该具备的。但是对于开发者来说,最关键的挑战不是技术,而是人际关系。

Azoff认为,在编程领域,Java和.Net将是未来的两大主流编程语言。他说:“但是在很多小的方面,C++仍然有一定的势力,另外还有一些更新更快捷的开发语言,比如Ruby on Rails”。另外,企业也越来越重视开放源代码领域了。

他说:“很多顶尖的开发者都已经参与到开放源代码项目中了,不少企业都意识到,这些开发者的工作可以令企业受益。”

软件顾问公司Saint Consulting的总裁Steve Craggs认为开发者应该紧紧抓住企业业务行为。他说:“这使得企业可以更加智能的进行资源决策,因为企业需要程序员来实施具体应用。”

同时Craggs也表示,对一些传统技术开发的技能需求,如网络安全技能,会逐渐缩小。“这类功能将更多的被集成进应用程序中。”

Craggs所预测的另一个将要收缩的技术是软件个性化领域。由于未来的软件将提供更加简洁的界面,因此这类工作的需求量将大幅度下降。

对大型机和遗留系统的技术需求也有所下降,但是Craggs认为这类技术还将在一段时期内保留一定的需求空间。“企业需要有人将已有的服务重新利用起来。”他说,“如果我现在是个大学生,也许我会学习一些有关的技术,因为以后懂得大型机的人才会越来越少。”

业务技能

虽然未来企业内部需要人员进行软件开发工作,但是开发者们并不能就此停滞不前了。面向服务架构采用量的增加,为程序员带来的一个最主要影响就是他们需要更深入的了解企业的业务运作。

软件顾问公司Saint Consulting的总裁Steve Craggs表示,企业将需要更多的能够开发服务的人员,而不是开发应用程序的人员。“在soa的环境,开发者需要能够将自身的技术环境转变为某种可以让业务中的其他人有效利用的东西,这将是对开发人员的一项巨大挑战。”

其中最主要的需求就是要开发人员建立一个能够为业务应用提供所需的信息的服务。“程序员们必须明白,在他们闷头编写服务代码前,一定要深入了解业务过程,了解所要编写的服务将对业务产生什么影响。”

“对于大型企业来说,会有某一级员工或者某一管理层帮助开发者们进入状态,但是对于小型或者部分中型企业来说,也许就需要开发者们自己努力了。”

Craggs认为,开发者们需要具备的另一项业务技能就是定义和管理服务等级协议(SLA)的能力。“开发者应该知道业务过程需要从某一特定服务处获得什么信息,并将这一内容加入SLA中以便具体管理。这一工作对于当前的不少程序员来说都是很陌生的。”

Butler Group的Michael Azoff认为,企业的软件开发人员同样需要企业业务培训,以便更明确项目意义或者更好的进行框架开发。 “比如在能力成熟度模型集成(Capability Maturity Model Integration)中,对开发者的管理能力已经越来越看重了。”

个人技能

未来的开发者除了要具备良好的业务认知程度,还需要不断提高自身的人际关系能力。

企业要求开发者必须能够快速开发符合业务需求的新应用和服务,这需要开发者必须具备有效的沟通能力。“敏捷开发将社交技能提到了一个新的高度,”Butler Group的Michael Azoff表示。“在以往,业务仅仅是在提出需求时才与IT进行接触,之后就是等到产品交付时再次与IT进行接触。而未来,这种业务和IT仅仅接触两次的情况将被他们之间不断的对话所取代。”

IT就业机构FDM的COO Julian Divert表示,他的企业发现,市场正在向快速应用程序开发方向大步前进。“实现快速开发的工具和方法就是与软件用户一起协作开发,同时建立快速原型。在很多企业中,仍然有一个职位在充当软件开发部门与业务部门的联络人角色,不过在未来,软件开发人员更多的时候将会面对面的与业务人员进行交流。”


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134