将存储历程封装为EJB组件的办法[Java编程]
本文“将存储历程封装为EJB组件的办法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
集成 Web 利用服务器和数据库管理 (DBMS) 技术是很多新型商业利用的常见需求.在本文中,我们将谈论该集成的一个方面:如安在会话 Enterprise JavaBeans (EJB) 组件中计划与开辟封装或调用现有 DBMS 存储历程的办法.您应当熟习 EJB 技术、构造化查询语言 (SQL) 和 Java 数据库衔接 (JDBC) 的基本知识,以便充分理解本文.
假如您正努力于需求拜候或改正在 DMBS 中数据的 Web 利用程序开辟,那么大概已经在向基于 EJB 的计划转移.您大概会发现,通过使会话 EJB 组件操纵 DBMS 存储历程,可以削减编码和保护工作,并大概提高数据拜候性能.
一些公司多年来一向在利用存储历程(stored procedure),很大程度上是因为它们可以帮忙削减网络通信量,并提高分布式计算环境中的性能.普通,这些历程包含触及大都据库操作的重要业务逻辑.远程利用程序调用这些历程,在 DMBS 服务器上履行它们所包含的 SQL 语句.当然,历程完毕时,全部后果都返回给利用程序.
这些旧有存储历程对 Web 利用普通是有效的.与其在 EJB 组件中复制这些逻辑,为什么不将这些历程作为办法封装在会话 bean 中呢?这样可以避免 DBMS 服务器和 EJB 组件中的冗余代码 -- 在考虑开辟、调试和保护开销时,冗余代码将损耗开辟效率.这还大概带来提高性能的好处.调用存储历程可以削减 EJB 组件本来不得不发出的 SQL 语句数目,从而削减与远程 DBMS 的通信开销.
入门
目前懂得为什么要从会话 bean 调用存储历程了吧,下面我们看看若何开始.首先,需求利用得当的开辟环境,该环境应当包含一个带有内置 EJB 支持的 Java 开辟工具,一个 Web 利用服务器和一个关系 DBMS.我的参考配置包含 VisualAge for Java 企业版 3.0.2,WebSphere Application Server 高级版 3.0.2.1,以及 DB2 V7.1,全部这些都安装在一个 Windows NT 系统上.有关若何配置该环境以支持本文所述工作的具体信息,请参阅 "Leveraging DBMS Stored Procedures through Enterprise JavaBeans"(位于参考资猜中)或参考产品手册.
有了精确的软件环境,便可以开始了.固然我们要谈论的编码情势大概合适于无状况会话(stateless session) bean,但它也可以利用有状况会话(stateful session) bean 组件.但是,因为无状况会话 bean 比有状况会话 bean 损耗的系统资源更少,并且触及的代码也更少,所以普通倡议利用无状况会话 bean.
首先要考虑的计划问题是如安在存储历程和 EJB 组件之间映射数据.存储历程大概需求多个输入、输出和输入/输出参数,并返回一个或多个后果集(代表数据行).除非要对差别范例的历程利用差别的编码情势,您需求编写 EJB 组件以便处理全部这些大概性.
处理输入(大概输入/输出)参数很简单:将存储历程需求的每个参数映射成 EJB 组件的输入参数.但是,处理存储历程的输出对比棘手.大概有多个输出参数和多个后果集要传回调用程序,需求将这些作为一个可序列化的对象返回,以符合 EJB 标准.可以编写自己的类,使其可以将这些数据打包成一个对象,并在该对象中包含全部必须的元数据.(该元数据将描写对象的内部构造,以便客户机知道若何处理.)但这需求大量工作.
假如正在利用 VisualAge for Java 和 WebSphere,那么,有个更好的选项:利用它们的数据拜候 Bean (DAB) 库.该库包含一些供应位于基本 JDBC 之上的函数层的类.大概会发现 com.ibm.db.CallableStatement 类分外便利,因为它答应成立一个可序列化的对象,该对象包含全部从存储历程返回的输出,包含多个后果集(假若有的话)和相关元数据.还有一个好处是,该库计划成可以支持任何支持 JDBC 的数据源,因此,它可以使 bean“与 DBMS 无关”.有了 DAB 库,便可以用一个编码情势在会话 EJB 组件中封装任何存储历程.乃至可以在 EJB 客户机中利用一个通用的编码情势,来处理任何从封装器办法返回的后果.
回想开辟任务
我们来谈论一下利用通用编码情势,来集成 EJB 组件和 DBMS 存储历程的步骤:
肯定要将哪个存储历程封装成 EJB 办法.假如该历程不存在,则遵守 DBMS 尺渡历程来成立和调试.
肯定要利用哪个无状况会话 EJB 组件.假如该 EJB 不存在,则遵守 Java 开辟环境的尺渡历程来成立和调试.
扩大 EJB 组件的远程接口,以包含用于封装存储历程的新办法.
扩大 EJB 组件的实现,以包含封装存储历程的新办法的逻辑.衔接到数据库、调用存储历程、处理全部后果集和处理全部非常是背面要办理的问题.
通过构建一个客户机利用或 Servlet,来调用 EJB 组件封装器办法,以测试所做的工作.
头两项是基本编程任务,您大概已经熟习.按照所用产品的差别,个体步骤大概会略有差别,但是大大都产品都有工具来供应帮忙.比方,假如正在利用 VisualAge for Java 和 DB2,则可以操纵“存储历程构建器”来完成步骤 1,以及操纵 EJB 开辟特点来完成步骤 2.本文将不集合报告头两步.但是,别的三步需求具体讲授.本文将在一个实际示例的环境下谈论这些步骤中的每一步.
以上是“将存储历程封装为EJB组件的办法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |