|
上一级 首页 下一级
EJB应用篇
Jdon框架不只可以支持普通JavaBeans,也就是POJO结构,也支持EJB架构,使用EJB的好处是能够获得可伸缩的、分布式的强大计算性能,当然EJB的开发需要借助JBuilder之类商业开发工具的图形开发功能才能方便快速实现。
使用Jdon框架可以开发出基于Struts+Jdon+EJB的标准J2EE架构系统,Jdon框架在标准的J2EE架构中所处位置如下图的红色标记:

从上图底部向上看,是J2EE架构从抽象到具体技术的演变划分,J2EE是一个中间件系统,那么中间层包括哪些部分呢?主要区分Web层和EJB层,Web层主要是完成用户交互操作功能,Jdon框架主要部分就位于这个Web层最後端,直接和EJB层打交道;同时Jdon框架有一部分JdonDAO运行在EJB容器中。
如何获得一个EJB服务实例?
如何在表现层如Struts中获得一个EJB实例呢?
如同获得POJO实例一样,也是通过WebAppUtil工具类的getService方法获得,如果在jdonframework.xml中有如下配置:
<ejbService name="newsManager">
<jndi name="NewsManager" />
<ejbLocalObject class="news.ejb.NewsManagerLocal"/>
</ejbService>
那么,通过下面代码就可以访问NewsManagerLocal:
NewsManagerLocal nm = (NewsManagerLocal)WebAppUtil.getService(“newsManager”, request);
这样就访问nm这个EJB对象的方法了。
如何编写一个EJB类?
Jdon框架对于一个EJB类的编写没有任何约束和规定。
但是,如果你原来使用POJO服务实现你的服务层,想无缝迁移到EJB服务,那么此时你的Session Bean需要继承implements 原来POJO服务的接口,同时在jdonframework.xml的ejbService加入interface配置,指定原来POJO服务接口类,这样才能保证原来代码中通过getService方法获得服务实例的调用代码无需改变:
<ejbService name="testService2" >
<jndi name="TestEJB" />
<ejbLocalObject class="com.jdon.framework.test.ejb.TestEJBLocal"/>
<interface class="com.jdon.framework.test.service.TestService" />
</ejbService>
如何获得EJB服务运行结果?
使用方式和获得POJO服务一样。
这种方式运行原理简要如下:当知道一个EJB/POJO的接口,通过Proxy.newProxyInstance生成一个动态代理实例(InvocationHandler的实现子类)即可,以后对EJB/POJO的调用,实际由这个动态代理实例的invoke自动激活,从而使用Method Reflection实现EJB/POJO的调用。
上一级 首页 下一级
JdonFramework作为一个免费开源软件开发平台,可以商用开发大多数数据库应用软件和管理软件: 电子商务软件 在线教育软件 税务软件 Web快速开发软件 财务软件 购物车软件 医院帐务软件 crm software medical software 人事薪资软件payroll software 在线购物软件 销售软件 项目管理软件 房产不动产管理软件 生产软件 PDM软件 制造业软件 仓库软件 采购软件 进销存软件 危险源监控软件 物流软件 超市软件 银行软件 保险软件 汽车软件 医疗软件 电子软件 自动化软件 服装软件 烟草软件 分销管理软件 供应商管理软件
|