要取得SOA部署的成功,必须先建立起核心架构领导团队,以确保付出的努力符合需求、并指导架构的发展。针对架构的最佳实践可分为重用、数据管理等几个不同的方面。
SOA的重用不仅仅是传统的代码重用。它必须做到架构重用——创建一个可重用的架构框架,通过细致的规划、工程与管理来推动企业内各SOA项目的发展。
许多SOA实施关注于服务的实现(implementation),而没有对SOA的数据管理方面予以足够重视。如此掉以轻心可能会造成数据管理不当、不可靠的数据、并威胁到数据完整性。许多专业人士仍以过去点对点式的数据需求来看问题。
根据经验:着将数据实现为服务,有效的信息元数据管理与公用信息模型(Common Information Model,CIM)的运用是成功的一个关键因素。使用CIMs,令你可以设立标准并为适用于所有接口、消息、数据结构与数据转换的信息创建描述性元数据,以支持重用,并由此加快开发速度。用模型驱动的方法把最佳实践标准化,可以加快开发速度,并能够在接口与信息结构之间建立起更好的一致性。使用这种模型驱动的方法有助于减少对转换(transformation)的需求,并使之更容易在需要时设计转换。
在IT与业务之间的建立联系:这需要通过有目的的工作,把IT与业务流程联系起来,并关注于未来的业务流程设计——也就是说,你在设想SOA方案时,应该着眼于业务流程应该如何运行,而不是目前如何运行。业务流程建模提供了一种跟踪重要业务实体生命周期的有效办法,由此获得的业务流程模型不但简单灵活,而且具有一致的任务粒度,这更易于在不同利益相关者(无论是业务级、还是IT级的)之间达成一致。
只有依靠扎实的方法学确保模型正确,这种建模方法才会有用。若高层业务流程模型不正确,那么要把它细化为可执行的业务流程(executable business processes)就会变得困难而昂贵。
组件业务建模(CBM)以及面向服务的建模与架构(SOMA)都为以最佳实践的方式来建模提供了支持。 CBM可以帮助你对企业进行分析:它首先将企业划分为若干相对独立、不相交的业务组件,然后再寻找革新或改良的机会。要创建一种面向服务的架构 (SOA),面向服务的建模(service oriented modeling)是必须的。其输入是业务组件化分析(business componentization analysis)的结果、业务目标(business goals)以及关键业绩指标(key performance indicators);其输出是一个独立于任何特定技术与模型的SOA。
要脱离一种筒仓式的(siloed )组织结构,这种组织结构往往只从各个项目内部进行考虑。假如没有某种集中控制,要将大量项目按它们各自的日程整合起来,恐怕是难以实现且多半低效的。与此相关的最佳实践是:设立一个有各技术相关利益者参与的权威机构来监管设计,并推进早期的架构决策。
要成功通过SOA获得持续效益,另一个关键因素是SOA治理(SOA governance)。SOA治理令业务团队与IT团队可以更好地协作,以识别出那些对实现业务目标最有贡献的项目。
应该在最初的SOA试点项目之中和首个重要SOA项目开始之前引入SOA治理。这令你们机构可以成功处理重要项目的复杂性,而不是像训练任务一样对待它。SOA治理也应当与你们机构的企业架构计划一致。
为避免各个项目使用重叠、不一致的治理模型,造成混乱与阻碍,需要有企业级、跨项目的视野。
通常,SOA实施会涉及到许多彼此交互的服务。因此,对于SOA实施来说,可伸缩性、可靠性及高可用性(availability)是最重要的需求。尽量采用那些已知的方案以满足可靠性与性能需求。然后,设计、测试、再测试,以确保性能、可伸缩性及互操作性需求得到了满足。不要在尚未正确解决并测试这些非功能性需求的情况下就部署一个方案。
SOA成功的另一个关键因素是:确保运营的可视性及实施的可控制性:问题与事件管理系统,以及问题判定与检修工具,应在架构的各个层次提供充足的可配置的信息。同时,选择那些简化了SOA基础设施管理的技术方案,将有助于限制复杂性。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突