除了技术的变革之外,SOA还有可能导致用户工作方式的巨大转变。在整体应用被松散结合的Web服务取代的过程中,你的职业生涯有可能走向新的方向。
SOA的理论可以让IT部门不再去做徒劳无功的重复工作,自动化地完成更多的事情,也就是用更少的力气(尤其是减少编程量)做更多的工作。松散结合的服务也更容易外包。这可能导致人们的另一个担心,即引入这种架构后可能让某些IT职位面临消失的危机。但是,早期SOA的采用者发现,职位的缺失与找到让IT人员适应SOA多变任务要求的方法相比,算不上什么。
世界最大的汽车金融公司之一Ford Credit公司的框架与架构经理Terry Bone说,“SOA的理论是让IT部门缩水,”但是当你将裁减编程职位与企业的长期目标进行权衡时,情况可能并非如此。
工作重心迁移
Bone正在分析IT部门的规模多大才适合,是否需要外包。Bone说,这意味着尝试“定义策略”,确定部门的合适规模,SOA意味着程序员编程工作将会减少,我们需要找到办法鼓励最好的程序员留下来。
尽管人员规模仍保持不变,但运行SOA模型所需要的自动化技术将让每位成员做更多的工作。此外,员工的工作将由手工任务(例如定制代码项目)向新的领域(例如应用装配工作)转变。
显然,IT部门中应用程序员的数量将由于需要编写程序的减少而减少。那些可能几乎完全不需要技能的编程工作通常会交给年轻的程序员去做。例如,编写两个应用之间的集成代码等。Tim Hilgenberg说,这项工作应当由厂商承担,厂商的任务是处理和隐藏这种复杂性,使它们不被顾客所看到。Hilgenberg是Hewitt Associates人力资源公司应用开发首席技术战略师,该公司已经采用了Web服务和SOA技术。
Eze Castle Research的高级研究分析师Allison Bacon说,你所雇用程序员的数量将取决于你是一个“发布”类型的SOA组织,还是一个“订购”类型的SOA的组织。以IT作为业务的组织(例如IT厂商、电子商务公司、虚拟服务机构等)可能仍要为很多自己的Web服务编写程序,然后发布它们供其他人使用或购买。以IT作为工具生产非IT产品或服务的组织将常常成为SOA的订户。
不管是“发布”类型也好,“订购”类型也好,装配工作将是IT的主要任务之一。Hilgenberg说,订户将购买不同的应用,然后以一种业务增值的方式将其连接在一起。“当你开始研究SOA时,实际上关注的是能够组装应用程序,而不是成为它的开发人员。你变得更像是应用的聚合者和集成人员,负责装配门户网站、汇集数据和交易。”
装配人员面临的挑战将是添加明确满足企业需要的业务价值,使应用程序不再仅仅是不同组件的总和。Hilgenberg说:“如果编程技能逐渐廉价化,你就必须找到如何在它们上面进行增值的方法,这非常像是Dell作为部件集成商所做的工作。”
例如,装配人员需要拿走普通的客户服务Web服务,找到更多满足企业特殊需要的Web服务,然后将它们连接在一起,组成独特的客户服务应用。
密切监视零部件
Hilgenberg补充说,IT部门还需要进行仔细的研究工作,以确保能够满足SOA环境中正常运行的要求。对于要将不同来源的Web服务组合在一起的企业来说尤其如此,因为其中的很多服务是在他们的控制之外进行编写和管理的。
事实上,这些服务也不在开发这些服务厂商的控制之内,这些厂商也可以从第三方购买Web服务。因此,IT部门的责任是研究厂商和他们的来源,然后密切监视这些供应商,确保3次外包的部件不会造成系统上的故障。这是个重大的变化,因为目前大多数的企业是将所有的部件拿到公司内部,然后在一个相对封闭的环境中跟踪它们。
应用不在直接掌控之内的事实,意味着你将面临大量的安全工作。事实上,安全工作已经是网络人员的主要任务,但是它的任务将突变和繁殖,直到成为你所监视的每一个技术任务的组成部分。试想当你不能通过口令保护关键应用,而且程序又保存在厂商那里时,如何实现保护网络和数据安全的任务吧。Bacon说: “从理论上讲,所有东西都可以外包,但是你仍要保留内部的专业人员。你仍要保护进出企业的数据,而这要求大量的安全技能。”
但是,必须的安全专业知识是很难猜透的。Bacon说,应用设计与管理,包括安全性,将成为一项战略任务。因此,如果当所有的企业应用都借助SOA生存的那一天到来的话,有人将需要完成决定哪些应用组件用于什么业务目的、这些部件如何重复使用,以及每个部件保存在哪里等诸如此类的任务。
业务联络官的诞生
Bone说,SOA世界中将诞生一个诱人的新职位,这就是“业务联络官”。这项工作将涉及与业务部门合作,帮助定制使业务向其目标发展的技术和业务流程。
尽管IT部门一直在不同程度上完成这项任务,但SOA将增加对完成这项任务专职人员的需要。例如,承担这项工作的人可能要与客户服务经理合作,利用可用的技术创建业务流程,改进客户服务的回馈时间。业务联络官可以被分派到每一个业务部门。Bone说,这将是定制程序员中最优秀人员转岗的理想选择。
他说:“我们将看到开发人员倾向于承担业务用户的任务。SOA将进一步模糊IT与业务的分界线。开发人员不需要做大量的编程工作。我们需要那些在定义流程、定义集成技术方面可以与业务客户进行合作的人员。”
当然,随着更多的技术渗透到我们的日常生活中,技术知识很难再成为IT人员惟一关注的事情。IDC的SOA计划经理Sandra Rogers说,业务经理已经开始学习可以帮助他们的应用。有些人甚至认为,这些联络官职位应当由公司业务部门的人员承担,而不是由IT人员承担。
但是,正如Rogers所指出的那样,业务经理不知道他们不懂哪些技术问题。例如,业务经理不懂数据建模、与自动化工具的集成、配置、性能优化、安全性和各种其他技术的最佳惯例、需求和进程。
她说:“认为业务人员可以拥有业务联络官的技术能力的想法是十分危险的,至少从短期看是如此。这就像是一个黑箱子。你不知道正在发生什么,不知道如何对付预期值、调试、传播、兼容性以及系统试图达到什么目标。业务人员将会发现,了解所有这些是非常困难的。”
总之,在未来,企业将对可以将技术专业知识与业务能力结合起来的员工产生越来越强烈的需求。因此,作为一个企业的领导者,如果你还没有开始从SOA的角度来考察你的员工,那就尽快开始吧!
在SOA时代,发展你的SOA技能 | ||
变化 |
淘汰的技能 |
需要掌握的技能 |
独立且完整的应用消失,应用接口实现标准化。 |
应用性能调节,定制编程。 |
应用与数据组装,更全面的厂商调研和监视。 |
应用被保存在网络上,而不是服务器上。 |
对于网络人员来说,没有什么需要淘汰的。 |
网络性能调节,应用使用指标,新的应用设计原则。 |
IT提供业务流程,而非详细的技术清单。 |
打破/修复管理理念。 |
业务敏捷性,利用技术定义和调整。 |
零碎的应用程序可以安装在任何位置,从任意位置调用,并在多种设备上使用。 |
边界安全观念。 |
创造性的安全系统,每个IT角色都是安全性的一部分。 |