快速业务通道

J2EE Web服务客户端质量报告(一) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
完成--客户端使用句柄调用服务来检查事务是否得到处理。通常最后一个调用可得到完成的事务的状态。因此,一个商业模型,可在客户端程序内实现的商业模型,总是使得事务与低级别的服务器调用联系起来。

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

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

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

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

时间:2010-12-06

实现

在这个部分,我将会告诉你如何将频率代码集成到简单的J2EE客户端-服务程序上。所有的代码都可从Resources处下载;下面部分将告诉你如何使用Sun ONE (开放网络环境)应用程序框架来建立和运行频率代码。

应用服务原型

在本例中,服务器应用包括一个单一的会话期bean。这无损于应用程序的一般性因为内部的服务EJB设计不影响记录频率的结构。即使服务器中有许多不同的EJB组件也可以使用 同样的频率方法。

XactBean EJB暴露了三个商业方法:submitWork()、 checkWork()、和getResult()。每个方法都各有不同。客户端应用使用这三个方法来模拟一个客户端,该客户端可提交多个Web请求以执行用户的事务。

代表服务器应用的会话期bean显示如下:

package TransactionProcessor; import javax.ejb.*; import java.rmi.server.*; import java.util.*; /** * Created May 19, 2003 10:07:39 PM * Code generated by the Sun ONE Studio EJB Builder * @author Brian Connolly brian@ideajungle.com */ public class XactBean implements javax.ejb.SessionBean { private javax.ejb.SessionContext context; private int mRandom; /** * @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext) */ public void setSessionContext(javax.ejb.SessionContext aContext) { context=aContext; } /** * @see javax.ejb.SessionBean#ejbActivate() */ public void ejbActivate() { } /** * @see javax.ejb.SessionBean#ejbPassivate() */ public void ejbPassivate() { } /** * @see javax.ejb.SessionBean#ejbRemove() */ public void ejbRemove() { } /** * See section 7.10.3 of the EJB 2.0 specification */ public void ejbCreate() { Random r = new Random(); mRandom = r.nextInt(10000); } public java.lang.String SubmitWork(java.lang.String Work) { return new Integer(mRandom).toString(); } public boolean CheckWork

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号