作者:Stella 来源:互联网   酷勤网收集 2008-01-05

摘要
  失误1:SOA非理性丰富;失误2:遗忘数据;失误3:将SOA交予技术人员处理;失误4:忽视文化障碍;失误5:做出意外承诺;失误6:在不适当的地方开始SOA;失误7:假设大家的想法跟你一样;失误8:选择以专政对抗“无政府状态”;失误9:低估技术问题……
对于启用面向服务架构(SOA)有可能遇到的常见问题现在都已为人所熟知,大家也会从最初开始就着重考虑这些问题从而有效避免。

  但如果忽略(进而重复)如下所提到的这些失误问题将会破坏你引进SOA的所有努力,并且导致利益损失。以下是Gartner在SOA执行过程中发现的十二大最常见的失误:

  失误1:SOA非理性丰富

  如果出现过多不能轻易与业务模式有效匹配的服务,那就意味着在实施SOA的环境中,当前的应用程序需要检查并且进一步得到完善。

  这种环境的特点是:能够存储大量的服务,文档、新工具以及中间件,但却不具备敏捷性,不可更新软件版本或是对再利用程度不够。

  失误2:遗忘数据

  打造一个服务模型就像设计一个数据模型一样。在过程中若是遗忘数据则很容易就导致服务的性能低下,从而危及整个程序的整体性。

  因此我们要力争取设计一个设计模型能够拥有与基本数据协同一致的服务。

  失误3:将SOA交予技术人员处理

  当SOA过程中,将大部分事务交予企业的IT部门处理,设计服务将以优化软件性能和可靠性为主要任务,但却不一定能充分反映业务需求。

  清晰的业务接口对于跨应用集成或多重组织使用是必不可少的。

  失误4:忽视文化障碍

  SOA最令人期待的一个好处就是能大大增加软件的再利用,但是这个意料之中最具特点的结果都可能成为一种挑战。

  文化障碍足以破坏SOA再利用的努力。例如, 如果一个IT部门正经历“非产于此地”综合症,程序员、项目领导和架构师都不能信任别的团队可再利用的服务,或是偏向于由自己来开发整个解决方案。

  “非产于此地”综合症能导致多余的编程工作、人员过多、由于资源不足丧失机遇,是一个SOA的再利用功能的主要障碍。

  失误5:做出意外承诺

  许多企业,尤其是那些认为自己的SOA领域起步较晚的企业,会从对SOA持怀疑态度到做出突如其来的战略性承诺。但在没有适当准备和计划的情况下引入大规模的SOA成果通常是一个可怕的错误。

  因为面向服务是一项长期的举措,企业应该在从事以SOA为关键任务的项目之前,着眼于发展对SOA应有的理解,组织文化。对于绝大多数企业来说,采取渐进的实施是势在必行的。

  失误6:在不适当的地方开始SOA

  最显而易见的起点是按照有意向的第一个用户业务所需的服务。举例来说,如果服务要求是一个面向用户软件,那么你就可能设计一个与其数据要求匹配的工具。

  但是, 这样的设计过程会产生与用户界面一样多的服务, 通常会导致多余的,数量不断增长的服务。更具一致性,系统性和有效的方案是在应用程序的业务流程和数据模型周围设计一套具有凝聚力的信息服务。

  失误7:假设大家的想法跟你一样

  最初,SOA仅仅是一个适用于先进的分布式计算机系统的技术设计模式,但现在除了编程社区以外它也成为了一个热点话题。因此我们需要在制定各个层次的企业通信时考虑和允许这些差异的存在。

  对于一个程序员来说,SOA是一种分布式计算方式,其中的组成部分是有可能提供给别的程序的。

  另一方面,对于一个软件架构师来说,SOA意味着应用程序之间界线的消除。

  而对于首席信息官来说,面向服务架构就是一项对于未来的投资。编码的再利用是一项减少成本和新程序开发的手段。

  但是对公司首席执行官来说,SOA应该要帮助IT部门更能对业务需求做出反应,并促进具有竞争力的商业变革。

  失误8:选择以专政对抗“无政府状态”

  个别的IT项目、集团、公司或是域通常都有着对独立自主的向往,而这也被视为“无政府状态”,因为它破坏了在大的组织结构中建立共同目标的可能。

  对抗“无政府状态”的另一个极端的武器就是专政,所有的部门和项目都不得不听从指挥中心地命令。

  这两者都不能为成功的SOA环境建立应有的平衡。

  一个组织良好的SOA环境总是包含着一个SOA精英团队,及早涉及所有的参与者,促进独立的项目和组织部门之间的协调。

  这个精英团队也减少那些对内部流程参与者的不必要的打扰。IT工作者既能保持自己的独立性,也能为整个公司共同的更大的目标做出应有的贡献。

  失误9:低估技术问题

  SOA用户必须得了解中间件世界的复杂性。

  尽管面向服务已经日益普及,SOA支持的中间件也可以使用了,但对于新人、新企业来说做出错误决定的风险日益突出了。

  在小规模,实验型SOA项目中使用点对点Web服务链接。

  而当实施的服务多于20或30个时,才使用以中间件为基础的媒介SOA底板。

  失误10:让不可共享的服务持续扩散

  可共享服务在消费型软件方面获得了迅速的发展,降低了开发成本和减少早期维护。

  如果每一个消费型软件服务的平均个数超过20个或是少于共享服务的10%就说明共享服务的数量并不是最优化的。

  失误11:过多的集权化

  比起建立一个单一的、企业级SOA背板,也许采取一个联盟方案会显得更加实际,政策上也更加通畅。一个企业的SOA措施在此分为:SOA域、附属、业务单位或是部门。

  每一个域都由一个业务主管和技术主管共同管理,它有自己的具体的SOA背板和服务注册表,并且由SOA精英团队域支持,在治理政策的基础上予以管理。

  失误12:在还没做好充分准备的时候就开始销售SOA

  SOA在整个企业范围内的采用将需要得到执行主管甚至于董事会的有力支持。但是同时也必须在某一程度满足这些来自管理层的要求。不可忽视的一点,如果太早的提出承诺对于SOA的实施而言不会是好事。

  保守估计,到2010年仅有不到百分之二十五的企业能够拥有足够的技术和企业所需技巧从而在整个企业范围内有效开展SOA实施。

  Massimo Pezzini是Gartner分析机构的副主管以及杰出的分析师。

  成功实施SOA的最佳实践

  清楚认识到重复利用并不是SOA的唯一好处。更加明晰的软件设计开发方向,良好的软件发展规模和增长趋势,更高效的部署与维护,业务模型与软件设计的完美结合,这些都会是SOA所拥有的优势所在。

  对于类似于SOA或者拥有SOA优势的项目时,需要在早期的时候对最初的整合以及实践做好准备。对于长期的项目而言则需要在基础设施和生产工具做进一步的调整,从而让你的SOA努力得到最好的结果。

  将投资重点放在系统设计的核心工具上,而不是一些应用申请集成或是短期内的投机性服务机制。

  考虑长远,但做一些务实的工作。通过对小项目的反复累计并得到稳定的增益从而有效成长。

  确保业务建模分析人员能够参与到整个服务的设计过程之中,让服务能够更加准确的反应业务需求,而不仅仅只是一种软件技术的发展。

分类: 软件工程 项目管理 系统架构 软件测试



关于酷勤 | 联系方式 | 免责声明 | 友情链接