使用SOOM工具监视SOA应用程序:竞争分析外文翻译资料

 2022-11-24 11:39:14

英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料


使用SOOM工具监视SOA应用程序:竞争分析

Ivan Zoraja, Goran Trlin, Marko Matijević

克罗地亚斯普利特斯普利特大学电子工程学院,机械工程学院和海军建筑学院

摘要

背景:监控系统将监控功能与应用程序层和基础架构层分离开来,并提供一组工具来调用应用程序上的操作以进行监控。目标:我们的监控系统是一个强大而灵活的解决方案,能够在线观察和操作SOA(面向服务的体系结构)应用程序。基本监控功能是通过插入到SOA框架中的轻量级组件实现的,因此保持监控影响最小。方法/方法:我们的解决方案是隐藏SOA应用程序的复杂性的软件,通过其指定组件处理特定SOA方面(如分发和通信)的体系结构来监控SOA应用程序的复杂性。结果:我们以最终用户体验为重点,实施应用级和端到端监控。我们的工具连接到一个监控系统,该监控系统提供一致的操作,解决并发请求,并抽象出符合SOA范例的底层机制。结论:由于其灵活的架构和设计,我们的监控工具能够在云环境中监控SOA应用程序而无需进行重大修改。通过与相关系统的比较,我们证明了我们的敏捷方法是我们监控系统卓越的领域。

关键字:监控,实时,敏捷,轻量级,SOA,云,APM,BTM,安全,BI

JEL分类:C61,C63,C8,M15

论文类型:研究论文

收到日期:2012年9月26日

修订日期:2013年3月5日

接受日期:2013年4月6日

引用:Zoraja,I.,Trlin,G.,Matijević,M.(2013)。 “使用SOOM工具监控SOA应用程序:竞争分析”,Business Systems Research,Vol。 4,No.1,pp。21-35。

DOI:10.2478 / bsrj-2013-0003

致谢:我们要感谢克罗地亚理工学院(HIT)全面资助内部应用的SOOM功能原型。

介绍

监视和修改企业应用运行时行为的监控系统和工具市场正在迅速发展。例如,Gartner Research(Kowall,Cappelli,2012)估计,包括第一年维护合同在内的APM(应用性能监控)软件许可的全球支出将在今年年底之前增长至21.4亿美元,增长9%与2011年相比。对于BTM(业务交易监控)和BPM(业务流程监控)等相关监控领域,预计会出现类似的增长。

SOA应用程序通过服务提供其业务功能。服务是通过标准描述,标准通信协议和标准消息格式向全世界公开的业务功能单元。客户通过在简单对象访问协议(SOAP)或具象状态中交换消息来使用服务传输(REST)架构风格。一个SOA应用程序可以被视为一个图形,服务和客户端作为顶点(节点)和通信路径作为边。如果服务可以通过不特定于特定平台,编程语言或任何底层技术的标准协同工作,那么这些服务可以互操作。基于SOA的现代企业应用程序在过去几年中的规模,复杂性,多样性和异构性都大幅增长。

随着云计算的出现,与分布式应用程序的交互已成为典型商业用户的日常活动,尤其是那些使用客户关系管理(CRM)和企业资源规划(ERP)系统的用户的日常活动,因为这些系统正迅速转移到云环境中。基础设施即服务(IaaS)提供商(即亚马逊网络服务)为最终用户提供原始计算能力,如虚拟机。平台作为Aervice(PaaS)提供商(如Microsoft Azure)将最终用户的操作系统详细信息抽象出来,并提供基本服务,例如网站和电子邮件。软件即服务(SaaS)提供商增加了另一个抽象级别,为最终用户准备好使用部署在云中的软件解决方案。 Google Mail和Sales Force是SaaS风格云解决方案的很好例子。但是,迁移到云带来了许多风险,例如通过虚拟化降低潜在性能。

部署在本地和云中的SOA应用程序的质量以及企业整体生产力和收入直接受应用程序中的问题影响。因此,IT人员和业务人员需要高效的工具(Zoraja,Zulim,Scaron;tula,2008; Hershey,Runyon,2007)来监视和管理SOA应用程序的运行时行为,以便快速查找,预测和主动防止问题的潜在原因。因此,在过去几年中,IT监控和管理工具越来越重要,因为它们帮助组织提供服务,以便所有用户始终以最佳方式完美工作。但是,当前的监视系统和工具存在一些缺陷,这些缺陷会阻止它们有效地用于监视部署在云中的SOA应用程序。

目前监控解决方案的缺点可以分为:

bull;一般监测

他们中的大多数并不是针对SOA应用程序设计和实施的。相反,它们被开发用于通用监控,例如监控虚拟机或网络堆栈,然后进行增强和集成以用于SOA世界。

bull;单一监测方面

目前大多数工具都集中在特定的监控方面,例如应用程序性能(APM),网络性能(NPM)和业务事务(BTM)。他们分开实施和管理,他们的工具通常没有连接到一个通用的监控系统,因此彼此不知情。

bull;重量级

目前大多数工具都是集成产品套件,管理非常复杂。他们的安装和维护过程通常是一个大型仪式,不仅需要额外安装各种软件组件和服务器,还需要昂贵的咨询服务。

bull;平台依赖性

为实现监视操作,他们通常利用底层操作系统,虚拟机,网络堆栈和软件包,数据库和硬件中可用的低级机制。

bull;无准备云计算

目前的大多数工具都没有考虑到云设计,因此无法修改就无法在云中使用。例如,许多当前工具使用的检测机制可以在云中被禁用,并且云提供商可能由于其安全策略而不允许直接访问虚拟机。另外,客人测量的系统度量标准通常不可信。

上面列出的缺点促使我们设计和实现一个功能

例如,SOOM监视可互操作的服务,观察IT事务,识别性能瓶颈,以敏捷的方式定位和主动预测运行时错误。为了尽量减少对要监视的SOA图形的影响,SOOM使用各种仪器技术将其轻量级软件组件插入到目标SOA框架中。 SOOM支持SOA架构风格:SOAP和REST,并且支持云计算。下一节讨论SOOM的功能需求和非功能需求,而第三部分则详细阐述了其软件体系结构,重点介绍了软件组件,功能和交互模式。第四部分介绍了可视化方法,第五部分介绍了错误和警报。第六部分解释了性能监控,第七部分描述了对业务和IT交易的支持。第八部分展示了SOOM的商业智能方面。最后,我们结束本文的第九部分,讨论我们的发现和结果,以及为未来的工作提供建议。

要求

本节讨论SOOM的定位,它将代表其用户提供和执行的操作,以及它必须遵守的质量因素。

定位

SOA环境中的软件开发人员通常可以分类为基础架构和应用程序开发人员前者处理软件框架(如SOA)的开发,而后者则使用该基础结构来构建具有来自特定业务领域的功能的应用程序。基础架构开发人员通常使用基本的软件工具,如活动跟踪和调试,这些工具与基础架构紧密相连,并且在大多数情况下不适用于应用程序级别。另一方面,应用程序开发人员经常受到财务和时间因素的限制,致力于实施合同业务功能,几乎没有时间开发先进的监控工具。

SOOM背后的主要思想是:(1)通过实施通用监控系统,将监控功能与应用程序和基础架构分离开来;(2)提供一组工具,通过该监控系统调用对应用程序的操作进行监测。 SOOM必须遵守的能力和条件是由主要SOA参与者的感知需求驱动的:操作员,业务经理,程序员和测试人员。要监视的SOOM对象包括客户端,服务,操作,参数,返回值,消息,合同,端点,绑定,地址,通信路径以及安全性,事务和可靠消息等软件基础架构机制。

功能要求

SOOM的功能可以看作是它对要监视的对象执行的操作的集合,其中每个操作对演员产生可观察的结果值。 SOOM监视操作可以无条件地有条件地调用。无条件请求在收到条件请求后等待事件发生后立即执行。无条件操作的示例是用于测量特定服务的性能的请求。警告安全违规是一个有条件请求的例子。应用各种同步技术当操作同时执行时,SOOM能够解决冲突。

SOOM是一个完整的系统,因为它实现了所有工具的操作,并观察和操纵SOA图的所有元素。所有的监控操作都被设计为无需竞争,死锁和伪造。我们目前的监控系统(1.0版)全面支持WCF(Windows Communication Foundation)(Lowy 2010)以及对Java WS服务的基本支持。 SOOM已准备好部署在云中的SOA应用程序。我们还实施了一些深度潜水技术来检查基础设施,如操作系统和虚拟机,但这些技术超出了本文的范围。

主要特点

非功能性需求(NFR)指定了系统的质量属性。 SOOM的设计和体系结构主要围绕以下主要特点:

bull;实时和轻量级

所有SOOM操作都在被监控的SOA应用程序正在运行时执行,并且所有收集的数据都反映了运行时行为和执行上下文。为了实现这个SOOM,使用各种检查机制将自己的轻量级组件插入到SOA框架(WCF,Java WS)中。监视应用程序对监视应用程序的影响(侵入性)应尽可能少。 SOOM是一个易于管理的解决方案。

bull;隐藏SOA应用程序的复杂性

SOA应用程序本质上是非常复杂的,因为它们由通过各种传输协议连接的异构软件组件组成,这些组件可以驻留在各种云和本地环境中。 SOOM隐藏了SOA应用程序的复杂性,实现了其指定组件处理特定应用程序方面并提供端到端监控的体系结构。例如,SOOM服务器处理分布和并行性,就像在本地部署服务一样提供对服务的操作。

bull;应用程序级别和敏捷

监控方面以敏捷的方式进行整合,提供可以与最终用户理解的结构相关的数据。 SOOM执行应用程序级别的监视,但它独立于应用程序域(域不可知),并且可以监视任何业务领域中的应用程序。相反,基于组件的监视报告单个组件(例如数据库)的平均值和低级别监视(例如网络)收集不易与应用程序构造相关的数据。

bull;一致性和透明度

所有SOOM工具都连接到一个监控系统,为所有工具提供一致的操作。这意味着工具通过监控系统了解彼此(Zoraja,2000)。当一个工具对服务执行操作时,所有感兴趣的工具都会收到有关该事件的通知。使用受监视对象的基础SOA机制是透明地处理的,并且可以在不考虑底层SOA框架的特定实现细节的情况下构建SOOM工具。

bull;云就绪

由于其灵活且以应用程序为中心的设计和体系结构,所有仪器和测量均在应用程序级别实施,因此SOOM完全能够在无需修改的情况下监控Cloud中的SOA应用程序。 SOOM已在各种云环境(如Amazon Web Services(IaaS)和Windows Azure(PaaS))中成功通过测试。

体系结构和工作流程

实时监控系统可以在各种软件和硬件层面上实施。只有硬件监视器不侵入。软件监视器(Zoraja,Zulim,Scaron;tula,2008)对修改更为灵活,但对要监视的系统有影响。监控系统以可重用的方式集成多个工具使用的通用功能,隐藏工具中的平台特性,并保持并发工具发布的监控操作的一致性。 SOOM的软件架构基于CORAL系统(Zoraja,2000)。它指定了关键决策,主要涉及通过连接器分解为组件和集成,从而应用各种设计和架构模式。

为了向工具提供契约,降低系统复杂性以确保可重用性,可伸缩性,可编程性和可维护性,SOOM的逻辑体系结构基于SOA,事件动作范例和分层。考虑到监控系统的效率以及监控对目标业务应用程序的影响,SOOM的设计和实施需要考虑到。 SOOM旨在通过新功能和新功能轻松增强。

图1:SOOM的逻辑体系结构

SOA系统利用代理模式为客户端提供相同的编程模型,而不管服务位置如何。代理还用于隐藏来自客户端的底层传输协议和消息格式的复杂性。在服务方面,SOA框架实施调度程序,代表代理服务器执行操作。参考图1,SOOM拦截代理和调度程序,并将监视功能注入到客户端和服务代码中。 SOOM代理控制多个入侵者并将监视数据发送到服务器,从而为多功能工具提供监视操作。

组件和连接器

SOOM入侵者以一种方式插入到选定的SOA框架中,而无需修改要监视的应用程序的源代码。他们从各种客户/服务交互中收集有用的活动信息和适当的交互数据记录,并将数据返回给相应的代理。入侵者还可以修改受监视的对象,例如客户端传递的参数并返回值。大多数SOA框架提供了用于扩展性的扩展点。 WCF的SOOM入侵者使用WCF代理和调度程序公开的预定义扩展接口。 Java WS入侵者使用动态代理,并且可以插入到Java SOA应用程序中,而无需重新启动被监视的服务。

SOA应用程序可以部署在公共云,私有云或本地。这种异质性增加了SOA监控的复杂度,特别是在拦截技术和入侵行为方面。目前大多数方法都依赖于虚拟机或操作系统仪器。例如,Microsoft SCOM(Price,Mueller,Fensterm

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[22635],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。