SOA已经步入实施的纵深阶段,然而,近来国外的一系列SOA实施案例表明,曾经备受肯定的SOA架构正暴露出其架构的固有缺陷--当基于SOA的服务管理达到一定深度时,目前的SOA管理策略在服务故障的追根溯源方面力有未逮,这一现实对整个SOA架构和管理理念都提出了严峻的挑战。国内SOA用户应该对这一动向保持足够的警惕。
谁该为故障负责
分析师兰蒂·海福纳认为,曾经被广为称赞的SOA的架构特性正在暴露出它的固有缺陷--目前,大部分应用了或正在应用SOA架构的公司和组织对于“应该由谁来负责响应故障求助”这一问题困惑不已。
从目前的状况看,似乎总是能找到这样或那样的团队负责提供应用故障服务,但是最后的结局往往是所有应用相关的开发团队都被扯进来,围绕纠缠不清的责任问题一筹莫展,问题的根源却无从确认。
SOA架构拥有太多处于移动状态的组件,因此,顺藤摸瓜找到服务故障发生的根本肇因并不是一件容易的事情,更何况与此同时SOA还是一个由多个相互关联的层组成的架构,这更增添了查错的复杂性。
海福纳认为,目前的大部分SOA管理工具必须进行有针对性的改进以应付这种尴尬局面。SOA管理工具必须具备锁定深层次服务管理问题的能力。应该说,现有的SOA管理工具在定位问题的发生方面做得不错,它们大都能在问题发生时通过一项服务提醒CIO,即使故障产生的环境非常复杂。比如在Java、。NET、消息中间件或者是遗留系统接口内部这类环境,这些管理工具仍然能够迅速发现问题。
CIO们被告知系统中产生了一个故障,“好吧,接下来问题来了,SOA服务产生了问题,我们该向谁拨打这个求助电话呢?”海福纳说,面对实施过程复杂、需要由多个团队协作的SOA架构中产生的问题,每个团队都会龟缩在各自的阵地中大喊:“这不是我的错--我负责的部分工作得很好!”这显然是CIO们始料不及,却可能得到的唯一答案。
SOA管理应具备全局眼光
“这是因为每个人的眼界都被限定在他们自己负责的那部分基础架构工作里,而这恰恰是SOA架构的特色之一。”海福纳说。
那些服务管理达到一定深度的CIO们目前面对的现实状况很不乐观,为了解决这一问题,SOA的管理策略和解决方案必须重新进行调整,以帮助他们解决那些深层次服务管理问题。
海福纳认为,SOA管理方案应当从多个方面调整各种服务之间的关联,比如为消息添加更多的标识。这样一来,服务中产生的问题可以更容易被独立鉴别出来,CIO们也更容易判断应当向哪个开发团队求助。
海福纳还指出,通常,SOA管理解决方案的眼界未能上升到整个SOAP界面。但是,即将涌现出的新一代管理工具必须站在整个服务界面的高度审视底层的数据库、服务和消息层。
“你所购买的SOA管理解决方案,必须能够处理执行复杂服务的SOA底层服务需求。海福纳说,这一任务可能细致到涉及调用Java消息服务、MSMQ、Java RMKI或CORBA等一系列服务,这背后甚至需要一个专门的ESB或应用服务器予以支持。
将管理理念牢记于心
对此,海福纳对那些未来希望基于SOA架构搭建应用的CIO们提出了自己的建议。建议之一就是忠告他们充分理清自己的SOA管理策略。他认为,在CIO开始考虑该选用那种SOA管理工具之前,应该首先搞清楚你打算怎样做好SOA管理。CIO们将不得不深入了解各种技术,了解自己企业将要实施的SOA管理将会复杂到何种程度,了解SOA解决方案是否能够帮助自己管理跨技术平台的服务以及了解SOA管理方案是否能与现有SOA的复杂度匹配起来。
此外,一个称职的CIO必须站在整个SOA管理全局的高度,着手建立深度SOA监督和管理机制。这套机制应渗透到架构设计、服务组件和服务接口背后的一切细节之中。
总而言之,在寻求任何SOA应用解决方案时,CIO们必须将深度服务管理的理念牢记在心。
责编:李红燕
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友