分享
 
 
 

J2EE Web服务客户端质量报告(一)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

概要

本文实现了记录J2EE(java2平台企业版)Web服务的客户端响应次数的一个通用的结构。记录的响应次数是真实的客户端响应次数,所以它们实际上反映了用户对服务质量的看法。

实验的样品是使用Sun ONE (开放式网络环境)应用服务器和IDE建立起来的,但是这个方法很普通,很轻易推广到其它J2EE实现上。

Web服务正迅速的成为实现客户端-服务器系统的首选结构。它的优点是:企业可以正式的定义一组服务,然后生成通讯用的完整的客户端和服务器的代码库,从而简化新的客户端对合法的Web资源的访问。

但是,Web 服务在简化客户端-服务器系统的建立的同时,监控服务质量就变得很重要。 假设有一个在用户的立场上提交处理的客户端应用程序。而企业事务通常要调用好几个Web服务:初始调用递交工作内容,接下来的调用检查实现,最终调用得出结果。一个调用就是一个非凡的HTTP/SOAP (简单对象访问协议)交换。假设你是IT部门专门负责监控服务器装载和猜测未来需要的工作人员,你必须得回答这个基本问题:"我现在治理我的客户端怎样呢?对于将来的治理,我还需要什么东西?"

假如你只有HTTP日志的话,就很难回答上述问题了。客户端只关心事务的处理,但是因为每个事务包括几个HTTP请求,对于评估服务质量,你最多只能开发自定义数据采集软件,该软件可通过HTTP日志做出指示并建立用户事务处理的模型。就算是这样,你所拥有的信息仍然有限,因为它不能反映网络传送或者客户端应用程序的内务操作。

本文的中心思想是:事务服务质量用客户端评估最好。这儿采用的方法就是答应客户端记录实际的事务响应次数。客户端应用程序通过将响应时间报告添加到下一个弹出的事务处理请求上,从而上传响应时间报告给服务器。服务器取出这些附件并将他们排队储存和在线分析。

结构

基于客户端的频率记录结构的目标就是:记录用的下部构造必须是轻型的,它不但有利于实现运行的内务开销还可以减轻添加它到一个现有的实现的负担。我们也希望该结构对提供的服务没有限制,我们很想可以将服务添加到一个现有的、可以尽可能轻易地使用Web服务的客户端-服务器系统上。

我们的结构的另一个目标是:企业应用程序自身的可靠性不要太差。我们将引入一些新的、轻易做到的步骤到应用程序的处理工作流程中。而且我们可以保证这些新步骤中的任何故障都可以得到处理,我们不会因为不能将频率用于程序就让企业事务的处理失败

下图显示了一个典型的J2EE(Java 2 平台企业版)Web服务的客户端-服务器应用程序。典型的组件用粗线标明;我们添加的新组件用于收集频率,它采用红线标明。

J2EE Web services: Metrics-gathering architecture

"J2EE application Server"区域表示现有的服务器资源。他们是用来处理客户端请求的企业JavaBeans (EJB) 组件。工具可自动的生成Web服务软件包。EJB组件和相关的 Web 服务模块被当作J2EE应用程序配置到J2EE服务器上。当应用程序配置时,客户端可以通过调用程序WSDL (Web 服务描述语言)服务来判定一个服务。WSDL服务对程序提供的服务给出正式的定义。

"Application Client"区域由程序组件和Web服务软件包组成。程序组件实现商业逻辑和用户界面。Web服务软件包可自动地通过WSDL编译器和J2EE服务器程序提供的WSDL服务创建出来。

从理论上来说,整个客户端-服务器系统有两层。应用程序层在服务器端拥有EJB组件,在客户端拥有一个应用程序。Web 服务层有一个服务器实现和一个客户端实现,两者都可以自动产生。

典型地,用户的商业事务处理包括许多个服务期调用。第一个调用初始化事务,返回一个"handle" 给客户端。后来的调用查询事务的完成--客户端使用句柄调用服务来检查事务是否得到处理。通常最后一个调用可得到完成的事务的状态。因此,一个商业模型,可在客户端程序内实现的商业模型,总是使得事务与低级别的服务器调用联系起来。

我们可以将收集频率的组件添加到我们的标准J2EE Web服务结构上。上图中的Payload软件包在服务器和客户端都有配置。稍后我会具体的讨论这个软件包,但是从结构的意义上来讲,这个软件包提供了几个服务。例如:客户端程序可以使用beginTransaction() 和 commitTransaction()来定界事务和记录次数。客户端Web服务软件包使用Payload软件包来连载次数报告给SOAP信息附件。服务器端的Web服务软件包使用Payload软件包将SOAP附件从引入的请求中剥离出来,并将它列队登记和报告。

这个实现中的系统操作很少因为客户端和服务器不交换任何新的通信--完成的事务的频率报告与下一个客户端请求一起运送。引入的唯一的新的处理就是客户端上的一些连载和服务器端排队等待的附件。整个实现很轻便,因为只要添加一行代码到每个程序Web方法上,并且代码还是一样的--假如Web方法的标记不变的话他也不会发生变化。

引入的最后一个组件就是信息驱动的EJB组件,它可读取连载的频率附件。典型的,这些附件将会记录到一个数据库中所以企业可以保存事务服务质量的历史纪录。企业可以使用这个数据库将真实的事务响应次数与服务器资源的使用联系起来,从而可以鉴定性的判定出哪个服务器组件才是要害的服务瓶颈。因为附件是排队等待的,所以频率读取器EJB组件应该在不同的J2EE服务器上运行,我们不希望使用商业EJB组件纪录的频率附件竞争资源。进入讨论组讨论。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有