模型驱动SOA(一)

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

  如果没有架构,SOA将只是一盘未必能够解决企业问题的大杂烩。


  虽然SOA正受到越来越广泛的关注,但是创建并管理一个真正的面向服务架构并不是一项简单的任务。本文将探讨如何通过模型驱动SOA创建并管理企业架构,解决企业对SOA实施精细管理和协作需求中的问题,让SOA更直观,让业务更规范。


  精细地管理SOA


  不管是业务方面还是IT方面,需要处理的变化和更新是永无休止,并且难以预测的。有远见的IT团队认识到,敏捷环境能实现业务与IT之间的有效协作与交流,并能根据企业战略和策略的变化迅速做出调整。IT必须通过商业模型与技术预见他们能否实现让众多利益相关者满意的低成本、高效率的解决方案,并对IT方案实现业务战略目标的价值进行评估。但是,由于业务与IT在操作模式上的不同,一直以来他们都无法以互相理解的方式顺利沟通需求。


  为了填补这一方面的空白,涌现出许多相关技术与最佳实践。新兴的实现技术,比如SOA把业务与IT结合到一个可以有效协作的环境中,从而达到提高敏捷性的目的。SOA使得并且鼓励IT与业务团队在描述与分析他们的业务战略时能够一起工作。这种沟通与协作上的改善使IT团队能够部署支持公司目标和方针的信息系统及IT方案。


  可以说,SOA是让企业走上成功之路的最佳途径。可惜的是,它也可能会让企业陷入绝境。虽然SOA有巨大的潜力,但是它也给开发与部署相关应用带来更高层次的复杂性与周密性。要发挥SOA的真正效用,就必须对SOA进行彻底地精细管理,能够让它既它充分发挥作用,又不至失去控制。


  为了更好地管理SOA,并且给企业创建一个走向成功的环境,我们有必要讨论建模应用对SOA管理的改善。


  架构是指导原则


  如果没有架构,SOA将只是一盘未必能够解决企业问题的大杂烩。优秀的SOA架构可以确定高层次的业务要求,保证各个主要方案能够真正满足业务需求。要填补业务需求与实际设计之间难以逾越的鸿沟,任何SOA方案在描述与开发的各个阶段都需要一个清晰的定义。


  此外,正确地实施SOA方案还面临一个更大的挑战,那就是SOA的核心组成部分——服务。不管是规范的Web服务还是服务总线中的软件模块,SOA服务与网络上的其它服务都是以松耦合的方式构成组合应用(composite application,亦称mashup)。组合应用取代了旧的软件应用程序——那些用来解决个别问题或某一系列问题的整体式程序。组合应用包含了“即插即用”的服务组件,使其不管在构建时还是后来必须对应用程序进行修改以适应新的业务状态时,都比那些整体式程序更具弹性、易于修改。


  许多人认为这就是SOA的全部优点了,实际上并不是如此。SOA至少还有一个更高层次的应用——它可以让公司在相似甚至稍有不同的业务领域中重用或重新部署这些组合应用。


  比如,一个财务应用程序可能包含应付账款、应收账款、信用卡交易处理和银行业务等松耦合的服务。第一个应用程序可能部署在公司美国的业务中。但是后来,公司业务扩展到英国,可能在英国的财务处理需求和美国非常相似,只是由于区域不同或货币不同而在银行业务方面有特殊的要求。在SOA之前,这意味着英国的IT团队要重写美国的财务软件,甚至完全从零开始。而借助SOA,他们就可以继续使用与美国软件中相同的服务,只需要把银行业务服务替换掉即可。最坏的情况,英国的团队也只需要写一个独立的服务。


  相对企业来说,这种层次的重用性与敏捷性既降低了开发成本又提高了业务响应性,从而使公司获得巨大的优势。由于IT必须了解并管理由SOA而产生的庞大的蜘蛛网一样的服务与应用,因此,这也意味着复杂性的增加。IT还必须决定是否需要一个新服务,或者在更新一个现有服务、开发一个新服务、通过网络购买一个第三方服务中哪种方式更利于成本节省和提高效率。


  在SOA中采用规范的建模方法,即模型驱动SOA,可以非常有效地解决这些问题。模型驱动SOA将高层次的业务方针直接与具体的服务功能联系,方便创建与维护符合业务与设计目标的交互服务,同时还能成为一种高效的业务沟通语言。


  构建SOA蓝图


  对于模型驱动SOA来说,最重要的内容就是企业架构。聪明的企业为了解他们当前的业务操作情况、将来他们想用什么方式进行业务操作,以及各种技术对这些操作的支持情况想尽一切办法。而通过对企业架构进行建模便可以对此有一个大概的视图,同时获得制定SOA部署计划所需的基础信息。


  企业架构同时作为蓝图与路线图,将IT、数据和业务过程与业务目标与战略联系到一起。它能直观地表示这些实践之间的关系,因此企业可以使用实例来分析IT对业务操作的支持程度。为了获得更高的效率,蓝图上必须明确标出在哪里采取行动。这些行动包括IT服务,甚至包括所部署的软件,其中大部分是面向SOA进行的开发与部署。


  企业架构模型是实现SOA的关键,它涉及多供应商、多平台环境下的松耦合应用。它提供了服务“互操作性”的企业视图,也是取得成功的关键因素之一。企业架构为企业提供了所需的信息与分析以更好地利用SOA。这些用来选择合理服务所必需的分析是SOA能带来的最大价值之一。而构建这些服务,使其成为包含技术性服务(预构建的软件模块)的、可部署应用的任务,只要交给IT团队即可,这一点将在下面讨论。


  通过蓝图,企业可以把SOA做为一种构建架构的新方式,而不仅仅是用来传输数据的新技术。企业架构是一个实现SOA价值的平台,因为它使企业能够以新方式获取完成新任务所需的信息,从而避免只拘泥于旧有方式来使用新技术。反过来,这也发挥了SOA时效性及敏捷性的优势。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

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

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

  • 把软件架构演进体现在栈上

    曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。