定义SOA
如果您想实施SOA,首先要牢记的一点就是IT部门必须对SOA有明确的理解和定义。您可以试着询问5位IT专家,看看他们心目中的SOA到底是什么。您很有可能会听到五种完全不同的答案。这主要是因为架构技术的发展速度太快,没有人能精确地说明最新的SOA定义究竟是什么。
但这并不是什么问题。即使IT行业无法在定义方面达成共识,也并不影响SOA的整体发展。但是,您的IT部门内部必须要达成共识,确定SOA对您所在企业的确切意义。
建议您对有关SOA的一些权威文献进行研究,并且总结出一套适合自身需求的SOA理论。您也可以咨询一些该领域的专家,让他们根据您公司的特殊需求来定义一套专有的架构。
最为关键的一点是,您的公司必须拥有一套能够自我发展的SOA定义。IT部门中的每一个人都必须充分理解这套定义,并尽全力支持这种新的架构形式。
员工培训
对许多企业而言,SOA与传统架构有着天壤之别。传统架构侧重的是各种应用间紧密连接的接口,因此员工要想理解SOA就必须经历一段艰苦的学习过程。而通过合理的培训和教育,您可以减轻员工的这种学习压力,更加自信地为SOA的实施做好准备。
建议您采用自上至下的培训顺序。首先,对高级管理人员进行培训,让他们了解SOA的基本要点,以及部署SOA后企业可能获得的利益与优势。
在完成高级管理层的培训后,接下来可以对下一级业务主管开展SOA方面的教育工作。他们不仅需要理解SOA的总体目标,还要深入理解具体实践中遇到的细节,并且需要明确知道SOA是怎样实施的。
最后,您还需要对构建和部署SOA的人员进行具体培训。这种渐进式的培训应该解决一些特定的技术问题,为企业平稳过渡到SOA架构提供有效保障。当然,这一阶段培训的工作量和精力投入都是最大的。
需要提醒您的是,早期培训并不一定会带来彻底的成功。SOA的概念对于许多IT专家来说仍然非常陌生,即便他们对其他架构研究得相当透彻,面对SOA也会显得有些不知所措。
想要理解新的规范总是很困难的。未来主义学者Joel Barker将这种症状称作“规范效 应”。他解释说,多数人所感知的世界都有一定的边界。当新的理论试图对这种边界发起挑战时,人们很可能会表现出抗拒的态度,因为这些新的理论与他们原有的信仰显得格格不入。
想征服规范效应,管理层的支持和全面深入的培训必不可少。但是,千万不能灰心。员工完全可以通过再培训来接受这些新概念,在这方面已经有很多成功的先例。
建立SOA管委会
SOA的最终目标是开发出一套灵活的架构,并能够通过一个通用接口将各种离散的异型应用集成在一起。要实现这一目标,就必须设计和开发一些独立于应用的服务,并且使整个企业都能访问和共享这些服务。
为了保证独立应用和服务复用过程中企业的应用重点不发生偏移,企业有必要建立一个SOA的管制委员会。许多SOA文献和实践者将这种组织称为集成能力中心(Integration Competency Center,ICC)
在建立ICC时,有一些关键组件是必须预先考虑到的。当您在确定该中心的参与者时,应确保企业中的每个相关部门(包括IT和业务部门),都派出了掌握实权的人员参加进来。
要记住,此举的目的是减少可能出现的应用孤岛,并且提供充分的资产复用能力。因此,只有企业中所有部门都参与进来后,也就是建立一个“检查与平衡”的体系之后,这些目标才拥有实现的可能。
管理者可以委派最优秀、最机智的助理参加这个管委会,确保他们经过良好的培训,成为精通SOA的专家级人物。请注意,高级管理人员必须理解小组成员参与SOA管委会的重要性,并且愿意重新分配工作任务,使管委会的工作能够被优先处理。
学着“眼高手低”
最后一点,也是重要的,即在实施SOA的初期不要过于热情了。因为这是一项长期工作。历史证明,在IT行业中使用轰炸式的工作方法很难奏效。小规模的渐进式发展成功的几率却高许多,因为这种变化更易于管理。幸运的是,事实证明,渐进式的方法在实施SOA的过程中非常有效,因为这种架构允许企业一次实施一项服务。
在开始时,可以选择一些相对比较简单的功能,也就是说风险较低、但仍然比较重要的功能。例如,从多个系统中提取和合并客户信息的功能就可以当作早期尝试的不错范例。您可以围绕该功能开发一套服务,并为整个企业提供支持。
然后,您可以开始“脱钩”不同系统中的功能,使之不再依赖点到点的接口,而是将其重新定向至全新的共享式服务。从小处着手可以帮助您的企业在部署重大服务前进行一些初步的测试,并且对流程加以细化。例如,您可以将财务应用重新定向,让它们使用一个通用的接口。另外,这种初步的测试还能监测出企业对SOA的准备情况,以及在新架构下的应变能力。