快速业务通道

ASP.NET应用程序中调用EJB

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
个简单的到该EJB的接口。该类包括要求创建该EJB和调用它的方法的J2EE编码。这个.NET类通过它自己的公共方法暴露了该EJB远程接口的方法。为调用你的EJB的商业方法,你只需简单地创建一个该包装类的实例并调用适当的包装类方法即可。

下面是从你的.NET工程中调用一个EJB方法的代码示例:

//创建StockTrader EJB的一个实例.
localhost.StockTraderEJB trader = new localhost.StockTraderEJB();
// 购买用户在股票名称文本框中定义的股票,
//所购买的股份数相应于股份数文本框中的数字
trader.buy(tbStockName.Text, Int32.Parse(tbNumOfShares.Text));

深入分析

在上面产生的包装类的静态构造器中执行被请求的J2EE调用以创建该EJB的home对象。然后,在一个缺省的构造器中,它使用home对象来创建该EJB对象。该EJB对象是以一个包装类成员的形式存储的,通过它来调用商业EJB方法。

下面是创建该StockTrader EJB的包装类的部分代码:

private static trading.StockTraderHome home;
private trading.StockTraderEJB ejbObj;
static StockTraderEJB() {
// 创建一个Java命名(JNDI)上下文
Context context;
context = vmw.j2ee.J2EEUtils.CreateContext(null, null);
object homeObj;
//从JNDI服务器获取home对象
homeObj = context.lookup("ejb/StockTrader");
home = ((trading.StockTraderHome)(homeObj));
}
//缺省的构造器:创建一个新的EJB实例
public StockTraderEJB() {
this.ejbObj = home.create();
}

这个包装类通过它的公共方法暴露该EJB远程接口的方法。然后,每个这些方法通过EJB对象调用你的EJB的相应的商业方法。下面的代码向你展示股票商的EJB包装器中的方法:

public virtual void buy(string arg_0, int arg_1) {
this.ejbObj.buy(arg_0, arg_1);
}
public virtual void sell(string arg_0, int arg_1) {
this.ejbObj.sell(arg_0, arg_1);
}

Visual MainWin还负责在Java和.NET之间映射数据类型。例如,如果你的EJB的方法之一以参数形式收到一个java.lang.calendar对象,那么,你将使用一个.NET System.DateTime对象参数来调用这个方法并把它映射到一个java.lang.calendar对象上。随后,如果你的EJB方法返回一个java.lang.class,你将收到一个System.Type对象作为代替。

调试问题

即使Visual MainWin对开发工作进行了简化处理,你仍然可能需要调试你的多级的、混合的ASP.NET/EJB应用程序。Visual MainWin调试器允许你从Visual Studio .NET IDE内部调试你的混合应用程序。你可以穿过语言边界在你的C#或VB.NET代码中设置中断,单步调试EJB Java代码和调试你的全部应用程序。而且,因为调试需要出现于任何问题发生的地方,所以,Visual MainWin调试器能够依附到你的J2EE应用程序服务器,而不管它是运行于Linux,Unix还是其它框架之上,只要它能运行在调试模式就行。

ASP.NET应用程序中调用EJB

图6.使用Visual MainWin调试器来调试EJB源代码

Visual MainWin为你创建的应用程序是一个标准的J2EE servlet应用程序-它能够通过J2EE应用程序服务器主管控制台进行发布和管理,就象任何其它J2EE servlet应用程序一样。因此,你的ASP.NET描述层和你的EJB商业逻辑层都能依靠一样的J2EE安全基础结构。你的混合的ASP.NET/EJB应用程序能依靠一个通过使用J2EE servlet认证的一致的安全模型,而你的应用程序服务器用户和角色定义也能通过平衡基于角色的授权机制来保证安全性。

总结

1. 本文讨论了远程对象和接口。通过Visual MainWin进行本地对象消费也是可能的。为了发布一个使用本地对象的应用程序,你必须创建一个企业档案(EAR)文件-它既包括你的应用程序的WAR文件又包括本地EJB的JAR文件。

2. 虽然Visual MainWin能够把大多数的.NET类型映射到Jav

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号