UML软件工程组织

 

 

BEA WebLogic Workshop使用笔记之二 -- EJB开发篇

 
作者:李巍 来源:dev2dev
 

续上篇,通过本文的学习,读者将能掌握:

1 会使用WebLogic Workshop创建EJB应用;

2 学会使用EJB Control,用WebLogic Workshop快速对相应EJB进行测试;

类似的在Workshop上开发EJB的文章在dev2dev站点上有一篇,《用WebLogic Workshop开发EJB》,所以在本文中与其相同的内容部分我就不再多讲。

用WebLogic Workshop创建一个应用(application)

在这里读者一定要明白Workshop中应用(Application)和项目(Project)两个模型的意义及它们间的关系
应用(Application)模型是:

  • 作为一个单元部署到服务器的资源与组件的集合
  • 在Workshop IDE中操作的最顶层工作单位
  • 一个J2EE Enterprise Application (EAR)
  • 一个应用(Application)可包含一或多个项目(Project),libraries及security mappings

上图表明的意思是,建立的这个应用类型是Portal应用,其支持Portal应用,指定的这个应用将部署在我们刚建的那个Platform类型的domain上(mdomain)。

建立EJB项目(Project)

项目(Project)模型定义了开发者如何:

  • 组织应用源文件
  • 使用组件组装应用
  • 贯通编码、编译、调试周期
  • 打包用于部署的应用

项目类型有:

Project类型 简述
Web Web应用类型
Web Service Web Service应用类型
Control 用于构造和打包可在其他Projects的components中使用的控件
EJB 支持创建及部署新的EJB
Java 用于开发或汇总通用JAVA代码,而这些代码并不属于像web services, controls 或 EJBs这样的实体
Schema 提供方便地自动存取BEA的XMLBeans的功能
Portal 类似于一个WEB Project,但提供Portal功能
Datasync 用于开发和维护通用的门户服务,以方便应用及门户的个性化开发使用
Process 包含业务流程文件、控制文件及数据转换等文件

我们继续创建EJB Project,右键点击MyEJBApp,然后选择"new"一个"project",在弹出对话框中选中Project类型为EJB项目,再点击"create"创建该EJB Project。

创建实体bean

右键点CompanyEJB项目,new一个Entity bean(Entity bean from database table)

随后选择Data Source,选择我们的表"SIMPLE_EX"

下图是我们通过wizard创建好的Entity Bean雏形

这个雏形中,只有一个简单的create方法,我们可以根据需要,为这个Entity Bean再定制加入create方法、find方法等等,只需要再Design View中点击鼠标右键,进行选择添加。


添加EJBCreate方法

如上图,先右键点击原EJBCreate()方法,将其删除,然后在Design view面板上点击鼠标右键选择"Add EJBCreate",在接下来弹出的窗口中,把两个field都给选上,再点击ok。

添加Find All方法

如上图,选择"Add Finder"

添加Find by方法

方法如上,只不过在"Add Finder"菜单中填上:
Method Signature:Simple_ex finderByNO(java.lang.String sCOMPANY_ID)
EJB-QL: SELECT OBJECT(o) from Simple_exBean as o where o.companyId LIKE ?1

同样加上
Method Signature:Simple_ex finderByCompanyName(java.lang.String sCOMPANY_NAME)
EJB-QL: SELECT OBJECT(o) from Simple_exBean as o where o.companyName LIKE ?1

对EJB的一些属性可直接在"属性编辑器"中进行设置,比如"ejb-name",是否是local的EJB等等。

比如需要在下图中在把"table-name""SIMPLE_EX"改成"LWTEST. SIMPLE_EX"。

测试EJB

1 右键点击"MyEJBApp"应用,建立一个测试用的"Web Project",名为"EJBTest";

2 在这个"EJBTest"下新建一个目录"TestEJB"

3 右键点击这个目录,"new"一个"Java Control",其类型选择为"EJB Control"

上图中4个步骤完成后,将生成一个TEJB.jcx控件,然后再鼠标右键点击这个EJB控件,选择"Create Test JWS File",用Web Service进行这个EJB控件的测试

双击新生成的TEJBTest.jws文件,将TEJBTest中的两个方法删除,

从"Data Palette"中展开"tEJB"控件,从控件中选择我们想要测试的方法,拖拽到"Design View"中

因为create方法返回的是SIMPLEEJB.Simple_ex,不能被Web Service测试页面直接显示,故系统会报如下提示信息。

因而我们需要对加入的这个create方法做下处理,点击create()方法,进入Source View,对其返回值做处理:

public String create(java.lang.String arg0, java.lang.String arg1) throws javax.ejb.CreateException
{
return (tEJB.create(arg0,arg1)).getCompanyName();
}

同理再拖拽入finderByCompanyName(),finderByNO()方法,并对其返回值做相应的修改
public String finderByCompanyName(java.lang.String arg0) throws javax.ejb.FinderException
{
String sInput="%"+arg0+"%";
return tEJB.finderByCompanyName(sInput).getCompanyName();

}

public String finderByNO(java.lang.String arg0) throws javax.ejb.FinderException
{
String sInput="%"+arg0+"%";
return tEJB.finderByNO(sInput).getCompanyName();
}

点击Workshop工具栏上的运行按钮" ",进行测试

可以用这个测试窗口在Create部门,输入相应的值,生成数据项,比如

string arg0: 1

string arg1: BEA

然后可再测试finderby方法

测试结果如下:

小结

本文给读者简述了在WebLogic Workshop上进行EJB的开发、测试方法,以期使读者通过对本文的学习能够快速入门WebLogic Workshop的开发。

在下一篇使用笔记中,作者将给大家介绍如何用Workshop开发一个调用该EJB的简单的Pageflow,敬请大家关注。

相关源文件请点击此处下载

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号