SOA最佳实践

日期: 2008-09-18 来源:TechTarget中国 英文

  IBM全球服务中心最近发布的一份白皮书描述了IBM技术研究院(Academy of Technology)为取得SOA实施的成功所运用的经验。具体地讲,他们关注于以下五个优先考虑事项:


  ·以面向未来的眼光进行架构开发——对SOA实施来说,最需要的就是:不要仅把眼光局限于简单的连通性上,而要更关注架构。


  ·预见到IT与业务流程之间的联系——所实现的架构要将IT转变为一个业务功能服务提供者的角色。


  ·为支持SOA设立一个组织结构,具体涉及到文化、技能、培训、团队建设、组织架构、决策、奖励机制、协作及治理等方面。


  ·构建一个可伸缩的基础设施——用适当的方法与度量,为服务的性能与可伸缩性设置基线。


  ·允许运营可视性——关注于治理和服务管理。


  根据IBM的经验:


  要取得SOA部署的成功,必须先建立起核心架构领导团队,以确保付出的努力符合需求、并指导架构的发展。针对架构的最佳实践可分为重用、数据管理等几个不同的方面。


  SOA的重用不仅仅是传统的代码重用。它必须做到架构重用——创建一个可重用的架构框架,通过细致的规划、工程与管理来推动企业内各SOA项目的发展。


  你不应假定已有的Web服务是符合标准的,或它们是可以轻易合成与集成的。服务合成(service composition)是相当复杂的,而且常常涉及到事务、工作单元边界、错误处理、安全性与证书分发、以及业务逻辑聚合等方面的问题。与此相关的最佳实践是,你从刚开始进行服务设计时就要考虑到重用,并随着商业案例的发展增加可重用性。


  白皮书里说。


  许多SOA实施关注于服务的实现(implementation),而没有对SOA的数据管理方面予以足够重视。如此掉以轻心可能会造成数据管理不当、不可靠的数据、并威胁到数据完整性。许多专业人士仍以过去点对点式的数据需求来看问题。


  根据IBM的经验:


  随着你将数据实现为服务,有效的信息元数据管理与公用信息模型(Common Information Model,CIM)的运用是成功的一个关键因素。使用CIMs,令你可以设立标准并为适用于所有接口、消息、数据结构与数据转换的信息创建描述性元数据,以支持重用,并由此加快开发速度。用模型驱动的方法把最佳实践标准化,可以加快开发速度,并能够在接口与信息结构之间建立起更好的一致性。使用这种模型驱动的方法有助于减少对转换(transformation)的需求,并使之更容易在需要时设计转换。


  在IT与业务之间的建立联系:


  这需要通过有目的的工作,把IT与业务流程联系起来,并关注于未来的业务流程设计——也就是说,你在设想SOA方案时,应该着眼于业务流程应该如何运行,而不是目前如何运行。业务流程建模提供了一种跟踪重要业务实体生命周期的有效办法,由此获得的业务流程模型不但简单灵活,而且具有一致的任务粒度,这更易于在不同利益相关者(无论是业务级、还是IT级的)之间达成一致。


  只有依靠扎实的方法学确保模型正确,这种建模方法才会有用。若高层业务流程模型不正确,那么要把它细化为可执行的业务流程(&#101xecutable business processes)就会变得困难而昂贵。根据IBM的经验:


  组件业务建模(CBM)以及面向服务的建模与架构(SOMA)都为以最佳实践的方式来建模提供了支持。 CBM可以帮助你对企业进行分析:它首先将企业划分为若干相对独立、不相交的业务组件,然后再寻找革新或改良的机会。要创建一种面向服务的架构(SOA),面向服务的建模(service oriented modeling)是必须的。其输入是业务组件化分析(business componentization analysis)的结果、业务目标(business goals)以及关键业绩指标(key performance indicators);其输出是一个独立于任何特定技术与模型的SOA。


  在IBM研究得出的经验与最佳实践中,有关机构因素的影响的最多:


  要脱离一种筒仓式的(siloed )组织结构,这种组织结构往往只从各个项目内部进行考虑。假如没有某种集中控制,要将大量项目按它们各自的日程整合起来,恐怕是难以实现且多半低效的。与此相关的最佳实践是:设立一个有各技术相关利益者参与的权威机构来监管设计,并推进早期的架构决策。


  IBM发现,要成功通过SOA获得持续效益,另一个关键因素是SOA治理(SOA governance)。SOA治理令业务团队与IT团队可以更好地协作,以识别出那些对实现业务目标最有贡献的项目。


  应该在最初的SOA试点项目之中和首个重要SOA项目开始之前引入SOA治理。这令你们机构可以成功处理重要项目的复杂性,而不是像训练任务一样对待它。SOA治理也应当与你们机构的企业架构计划一致。


  为避免各个项目使用重叠、不一致的治理模型,造成混乱与阻碍,需要有企业级、跨项目的视野。


  通常,SOA实施会涉及到许多彼此交互的服务。因此,对于SOA实施来说,可伸缩性、可靠性及高可用性(availability)是最重要的需求。根据IBM的经验:


  你应尽量采用那些已知的方案以满足可靠性与性能需求。然后,设计、测试、再测试,以确保性能、可伸缩性及互操作性需求得到了满足。不要在尚未正确解决并测试这些非功能性需求的情况下就部署一个方案。


  SOA成功的另一个关键因素是:确保运营的可视性及实施的可控制性:


  问题与事件管理系统,以及问题判定与检修工具,应在架构的各个层次提供充足的可配置的信息。同时,选择那些简化了SOA基础设施管理的技术方案,将有助于限制复杂性。


  这份IBM白皮书里提出的这五点最佳实践可以帮助公司及SOA专业人员关注于SOA实施里最重要的环节(与我之前的报道形成对比),从而能够在计划并部署SOA的过程中更有效地满足投资目标。随着各个企业方案均采纳SOA,它们还将有助于提供持续效益。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 云应急响应和取证:企业须知

    很多企业已经在以一种或者另外的格式使用云,这取决于服务模型——基础架构即服务,软件即服务或者平台即服务——需要按需采用对应的应急响应和取证调查流程来支持云计算服务。

  • 优化混合云性能:数据管理技巧大公开

    对于许多企业来说,建立混合云是在他们2016年的首要任务。而虽然成功部署混合云的模型本身就是一个成就,只是在私有云和公有云之间拥有互操作性和稳定性仍然是不够的。

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 选择云服务提供商的五大标准

    云计算市场风起云涌,已经是国内、国际厂商的兵家必争之地,根据甲骨文的观察,即使在国内用户对云计算的接受程度已经越来越高,但随着市面上云平台、云服务的种类和数量不断攀升,许多企业身处云计算的浪潮,如何精确地评估自己的需求,通过云计算的优势增强自身的核心竞争力,是目前这些企业所面临的最大难题。