- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle8中EJB组件的开发和使用
Oracle8i中EJB组件的开发和使用
Enterprise JavaBeans(EJB)是由SUN公司所推出的开发分布式组件的一个标准,Oracle8i不仅支持在数据库中开发CORBA组件,而且也支持开发EJB组件。本篇文章将详细介绍这方面的知识,具体内容如下:
EJB组件简介;
手工开发EJB应用;
使用JDeveloper开发EJB应用。
比较CORBA与EJB组件
Enterprise JavaBeans(EJB)是一种基于分布式计算组件的事务体系。当使用EJB进行开发时,组件开发人员和客户应用程序员将无需关心事务支持、安全性、远程对象访问等细节问题。
1. EJB是基于Java语言的组件模型,所以开发人员只能使用Java语言来开发EJB组件;而编写CORBA组件不仅需要掌握编程语言(JAVA、C、COBOL),而且还需要掌握IDL语言。
2. CORBA使用IIOP作为传输协议,而EJB则是基于RMI(Remote Method Invocation interface)开发的一种概念。但SUN公司没有规定要使用RMI协议,所以Oracle8i仍是通过IIOP协议来实现EJB组件。
EJB组件的组成元素
1. 宿主接口(Bean Home Interface)
宿主接口指定了一或多个create()方法,该方法既可带有参数,也可以没有任何参数。对于宿主接口中的每个create()方法,必须在远程接口中指定一个相应的ejbCreate()方法。二者的唯一不同是create()方法返回组件类型,而ejbCreate()方法返回为空(void)。
2. 远程接口(Bean Remote Interface)
远程接口用于说明组件所要实现的企业规则,并且客户要访问的方法必须在远程接口中存在。远程接口类必须是公用的(public),并且必须是javax.ejb.EJBObject的子类。
3. 组件(Bean)
组件用于实现远程接口中所声明的方法,客户应用正是通过调用组件方法来访问组件的。
4. 配置说明(deployment descriptor)
配置说明用于说明EJB组件的属性,包括指定宿主接口、远程接口、组件实现类名、组件JNDI名、事务、安全等属性。
开发EJB组件的方法
1. 编写宿主接口(Home Interface)程序
当客户要访问EJB组件时,必须创建组件实例,这是通过宿主接口来完成的,编写宿主接口程序的方法如下:
2. 编写远程接口(Remote Interface)程序
远程接口用于声明组件所要实现的方法,编写远程接口程序的方法如下:
3. 编写组件(JavaBeans)程序
组件用于实现远程接口中所声明的方法,编写组件程序的方法如下:
4. 编写配置说明(Deployment Descriptor)
配置说明用于指定组件的属性,编写配置说明的方法如下:
5. 编译/打包EJB
在编写了远程接口、宿主接口以及组件程序之后,首先编译这些程序,然后将所生成的二进制文件(.class)打包。如下所示:
6. 配置并发行EJB
在打包了组件程序之后,就可以将其装载到Oracle8i数据库,并发行该组件了。如下所示:
当开发了EJB组件之后,客户应用就可以访问该组件了。如下图所示:
实现EJB服务器组件
下面以创建在表AUTHS上执行查询、插入、更新、删除操作的EJB组件为例,介绍开发EJB组件的方法。如下图所示:
具体步骤如下:
1. 编写宿主接口程序,程序清单如下(author\AuthorHome.java):
package author;
/* 导入Java类 */
import javax.ejb.*;
import java.rmi.RemoteException;
/* 定义接口authorHome */
public interface AuthorHome extends EJBHome {
public Author create() throws CreateException, RemoteException;
}
2. 编写远程接口程序,程序清单如下(author\Author.java):
package author;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface Author extends EJBObject {
public String queryAuthor (String author_code)
throws java.sql.SQLException, RemoteExc
原创力文档


文档评论(0)