关注SOA
您真的了解您的服务究竟在何处吗?您知道自己的企业里面有多少服务正在进行生产吗?而它们当中有多少达到了您所期望的质量水平呢?又有多少服务未得到合理保护或直接暴露在客户或合作伙伴面前了呢?或许甚至还存在着您根本不知道的服务?当您的服务出错时有什么保护措施吗?现今您又是怎样监控着自己的服务呢?
如今,在设计SOA的架构时,您要提出类似于上述的种种问题呢。令人惊讶的是,尽管有许多组织已经使自己的任务关键型业务应用依赖于这些服务,但依然无法回答这些问题。
因此,让我们来回顾一点基础知识吧。SOA究竟是什么?SOA即Service Oriented Architecture(面向服务的架构),它使企业通过改进的服务重用性迅速开拓新的业务渠道。因此SOA管理将从可见性和控制两方面着眼于SOA。如果没有管理,使SOA达到预期效果这一目标就无法得到保障。最可怕的是,SOA甚至会因为依托于这些用于任务关键型应用的服务而给整个组织造成危害。
管理SOA为何如此困难?
是什么使得管理SOA的这些服务变得如此困难?首先,SOA中服务的形式与规模不尽相同,符合的规范也相差甚远,既有细粒度的也有粗粒度的;既有传统的基于事件的非XML队列,也有最新的基于XML的WS兼容服务。每个服务在其运行平台上都是独特的,有的基于Java EE,有的基于.NET,还有的基于遗留或专有平台。
其次,当SOA跨多个部门和项目实现时,其复杂性将会增加。即使并非有意为之,SOA被迫进入分布式环境,而原因仅仅是企业固有的复杂本质。例如,服务可能是某一个部门设计的,并在其他部门重用;合作伙伴发布的服务也有可能要在公司内部使用,反之亦然。如果在分布式环境中无法对这些服务进行集中管理,发生更改或故障的服务就可能对企业的账本底线产生显著影响。
再次,SOA系统发展迅速。新版本发布时,SOA的规模和复杂度都会有所增加,还会向SOA领域中融入一些新的应用程序,增加新客户和合作伙伴的参与。任何服务的更改都会在整个网络中产生连锁反应,进而影响整个系统。
由于SOA的异构性、分布性以及高度流动性,使得采用传统手段来处理SOA很困难。事实上,传统的IT管理框架可能并不完整,有必要采取新方法关注SOA,来更好的实现组织的可见性与控制。
SOA管理和传统IT管理有什么不同?
传统的IT服务管理框架包括管理应用程序的功能,并且确实能够获得对应用程序的一般行为的更好可见性,应用程序是正常运行还是故障了呢?遗憾的是,SOA并非如此有逻辑。很可能在一个任务关键型服务从客户的角度来看已完全崩溃之后,应用程序仍存在并运行着。
此外,传统的IT服务管理作为一整套SOA应用程序的基础,是很重要的。而SOA管理可以返回到业务线层面上帮助管理和优化这种行为。SOA并不仅仅与应用程序有关:服务还可能存在于wire消息协议或事件之中。这些服务通过中介处理,到达了我们看不到的目的地,比如合作伙伴或者客户。
最后,SOA管理需要和IT管理策略共存。JMX、SNMP、WS-Man以及WSDM中的标准,都将为两者的共存提供帮助。例如,SOA管理触发的SNMP trip可以利用一个ESM(例如HP的OpenView和BMC的Patrol)整合并管理。
实现SOA的最初目的就是降低IT的复杂性。遗憾的是,仅为少数IT工作人员提供可见性并未实现最初这个SOA目标的优势。SOA管理可以帮助满足将正确的信息带给正确的人员的需求;这些信息以服务量度、计分卡和策略信息等形式收集起来,随后公开给架构师,以便更好地优化端到端的架构。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突