ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载]使用 WebSphere Studio 中的 UML Visualizer 轻松开发 EJB

[转载]使用 WebSphere Studio 中的 UML Visualizer 轻松开发 EJB

原创 Linux操作系统 作者:dinner1007 时间:2019-02-27 14:30:04 0 删除 编辑

使用 WebSphere Studio 中的 UML Visualizer 轻松开发 EJB


开发 EJB 并不困难。本文将向您说明可视化创建基于 EJB 的应用程序是非常容易的事情,并使用 WebSphere Studio V5.1.2 及其 UML Visualizer 在服务器端测试它。通过创建简单的图书馆应用程序,您将了解如何使用 UML Visualizer 来创建、修改、部署并测试一组 EJB。

引言

我 无数次听到人们说开发 EJB 太困难了,以至于转而使用简单陈旧的 Java™ bean 来开发他们自己的持久性层,而且他们也许仅仅定义了简单的会话 bean 来使用 EJB 的安全设置。一年以前,我也赞同这些说法。但是,时代改变,开发工具也改进了,EJB 的规范已经成熟。EJB 2.0 规范引入了本地客户端视图,当在同一 JVM 里运行 EJB 时避免了远程的方法调用。此外,IBM® WebSphere® Studio V5.1.1 和 V5.1.2 目前使用 UML Visualizer 来支持可视化创建并操作 EJB。

本文将教您如何使用 WebSphere Studio V5.1.2 中的 UML Visualizer 来创建简单的 EJB 应用程序。带您经历 EJB 的创建、修改、部署以及测试等一系列过程。本文将使用新的 EJB 片段支持向新生成的 bean 中添加业务逻辑。若想了解更多的 WebSphere Studio 中的片段支持,请见 用 WebSphere Studio V5.1.2 中的片段来进行 EJB 编程。在本文最后,我希望使您相信开发 EJB 并不困难,也不复杂,事实上反而快速、轻松。




回页首


图书馆模型的回顾

为了说明 EJB 开发是轻松的,本文将教您如何创建简单的图书馆应用程序,它包括上面 UML 图表中所示的 Books 和 Authors。两者之间的关系是一个作者可以有多本书,而一本书只能属于一个作者。




回页首


创建图书馆企业应用程序

这个例子以一个名为 Library 的新企业应用程序的创建过程开始,包括名为 LibraryEJB 的 EJB 模块。

  1. 选择 File => New => J2EE => Enterprise Application Project 来启动 Enterprise Application Project 向导。
  2. 选择 Next
  3. 保持 Create J2EE 1.3 Enterprise Application project 选项不变,并选择 Next
  4. 输入 Library 作为项目名:
  5. 选择 Next
  6. 选择 New Module
  7. 仅选择 EJB Project 选项,保留默认的名称,并单击 Finish
  8. 新的名为 LibraryEJB 的 EJB 项目就出现了。并且它可以从第 6 步的对话框中选择。选择 Finish

新的企业应用程序将出现在名为 Library 的 J2EE 透视图的 Hierarchy 视图中。并且它包含一个称为 LibraryEJB.jar 的模块。该模块适合于 LibraryEJB 项目,它出现在 J2EE Hierarchy 视图的 EJB Modules 部分的下面。




回页首


创建 EJB 可视化的类图

开始可视化地创建 EJB 之前,您必须首先在 LibraryEJB 项目中生成可视化的类图:

  1. 从 J2EE Hierarchy 视图中选择 LibraryEJB 模块。
  2. 选择 New => UML Visualization => Class Diagram 来打开 New Class Diagram 向导:
  3. 选择 Finish。这将打开空的 Visualizer 图表,如下所示:

默认的保存新图表的位置是在 LibraryEJB 项目中的 ejbModule/META-INF 文件夹下。这个文件夹包括项目中所有的信息单元。在 ejbModule 目录下保存类图(或与此相关的其它内容)当最终的 EAR 文件被输出时将引发它向已部署好的 EJB 模块 JAR 中输出。如果您不想这个类图连同模块一起被输出的话,就将它保存在项目中或者任何不在 ejbModule 中的文件夹里,或者项目中任何其他的 Java 资源文件夹中。例如,您可以在项目中创建名为 diagrams 的文件夹来保存所有的类图,并且这个文件夹将被包含在已部署好的 EJB 模块 JAR 中。

在 图表中您将注意到的第一点是它左侧有一个选项板。这个选项板包括简单选择工具以及添加注释的设备,您可以在图表中选择或者取消它。选项板中的项目都是指示 按钮,指出应用于图表的操作。包括两个部分:Java 和 EJB 2.0。Java 部分包括创建及修改 Java 类和接口的操作。EJB 2.0 用来创建并修改 EJB。对于 EJB 1.1 项目,EJB 部分可能有细微的差别,即仅支持 EJB 1.1 的有效操作。

创建容器管理的实体 bean

连同类图一起,作用域中的对象( Book 和 Author)将通过使用 2.0 容器管理的实体 bean 来创建。为了做到这一点,首先选择 CMP 2.0 Entity Bean 选项板项目,然后将鼠标移到图表上使之呈现出加号。点击您的鼠标左键以激活这项操作:

一旦这项操作被激活了,就将打开 Create Enterprise Bean 向导,它的类型已经被选定为 2.0 CMP bean。需要完成向导中余下的步骤来创建我们的 Book CMP bean:

  1. 输入 Book 作为 bean 的名字并且输入 com.wsdd.library.ejbs 作为默认的包名。
  2. 选择 Next 按钮。通过默认的方法,仅仅将本地的客户端视图选定为实体 bean。这是作为实体 bean 的首选客户端视图,然而远程客户端视图此时也可能被添加了。
  3. 选择 Add 按钮以打开 Add CMP Field 对话框。
  4. 输入 id 作为名称,选择 Integer 作为类型,并且确保选中了 Key field 复选框。
  5. 选择 Apply 按钮。
  6. 重复步骤 3—5 来添加另一个名为 title 的字段,它的类型不是 String(这不是关键字段)。
  7. 选择 Finish 来创建 Book bean 并使其以 UML2 Class 的形式出现在图表中。

重复先前的几步来添加另一个名为 Author 的 2.0 CMP bean, id 主要的字段被定为 Integer 型并且 name 字段被定为 String 型。

图 表中 EJB 特定的 UML2 Class 类型有两个主要的参数。第一个参数说明了 CMP bean 的持久性(也就是,CMP 字段),第二个参数指出了在客户端的本地界面中有效的操作(或方法)。注意到图表的变化反映在 J2EE Hierarchy 视图中。这是可能的,由于公共的对象模型在图表以及 J2EE 各层次之间是共享的(事实上,这个模型被所有的工具及 WebSphere Application Server 所共享)。

增加 2.x 关联

对 象模型没有任何关联是很少见的。所以 Book 和 Author 之间的联系必须要加到图表上。过去,EJB 部署描述符编辑器通过使用 EJB Relationship 向导来添加 EJB 关系。现在仍旧可以这样做,但我发现使用这个向导是非常困难的,因为它所表现的 EJB 2.0 的关系没有依据 UML 来描述。我不知道您的习惯,我总喜欢用 UML 术语来生成关联。这就是 EJB Visual 编辑器真正的优势所在。

为了同另一个 CMP 建立联系,您只需从编辑器的选项板中选择一个 EJB 关联操作就可以实现了。

这些操作表明了来源及目标类型的多样性,以及资源对象的导航性,或者双向,或者单向。下表列出了每个操作的定义。

关联操作 来源多样性 目标多样性 是否双向
1:1 CMP 关联一个一个
1:M CMP 关联一个多个
M:M CMP 关联多个多个
1:1 直接的 CMP 关联一个一个
1:M 直接的 CMP 关联一个多个
M:1 直接的 CMP 关联多个一个
M:M 直接的 CMP 关联多个多个

在选择了合适的操作之后,在 1:M CMP 关联的情况下,选择源 CMP bean( Author),然后拖拽鼠标选择目标 CMP bean( Book),接着释放鼠标。这将建立新的关联并且生成适当的 Java 代码,同时更新 EJB 的部署描述符。注意使用默认的关联名称,以及默认的容器管理关系(Container Managed Relationship,CMR)的字段名称。

在 AuthorBean.java 文件中生成如下的方法来支持联系。

/**
* This method was generated for supporting the relationship role named books.
* It will be deleted/edited when the relationship is deleted/edited.
*/
public abstract java.util.Collection getBook();
/**
* This method was generated for supporting the relationship role named books.
* It will be deleted/edited when the relationship is deleted/edited.
*/
public abstract void setBook(java.util.Collection aBook);

The following methods are generated within the BookBean.java file to support the relationship.

/**
* This method was generated for supporting the relationship role named author.
* It will be deleted/edited when the relationship is deleted/edited.
*/
public abstract com.wsdd.library.ejbs.AuthorLocal getAuthor();
/**
* This method was generated for supporting the relationship role named author.
* It will be deleted/edited when the relationship is deleted/edited.
*/
public abstract void setAuthor(com.wsdd.library.ejbs.AuthorLocal anAuthor);

由于一个作者可以有多本书,所以需要将从 Author 到 Book 的关联角色设置成 books 和无。这需要部署描述符、bean 类以及更新过的本地接口。这些都可以在如下的图表界面中完成。

  1. 选择 book 关系角色。
  2. 第二次选择该角色来启动修改项。
  3. 将角色的名字改为 books。
  4. 单击 enter。

应当注意到您可以在图表中改变多样性及 EJB 关联角色的名称。如果您想改变角色的名称或者一个关联角色的导向,那么您应当选择一个 EJB 类的形式并且从 context 菜单中选择 Open。这样将打开 EJB Deployment Descriptor 编辑器并且通过选择 bean 进入 Bean 页面。这时,在 Relationships 部分您可以向下查找并选出您想编辑的关系,然后选择 Edit 按钮。

建立无状态会话 bean

EJB 2.0 最实际的用处之一是使用无状态的 Session bean 与含有任何本地客户端视图的 Entity bean 相结合。在本例中 Book 同 Author 实体是一样的。

  1. 选择 Stateless Session Bean 选项板操作。
  2. 单击图表中的任何地方通过选择会话 bean 选项以打开 Create Enterprise Bean 向导。
  3. 输入 Library 作为无状态会话 bean 的名称。
  4. 选择 Next
  5. 保留默认的选择 Remote Client View 选项。
  6. 选择 Finish

添加 EJB 引用

EJB 另一个最实用处是当查找另一个 EJB Home 接口的时候使用 EJB References。这是最实用的方法,因为当进行查找的时候应用程序的 Java 代码仅指向 EJB Reference 名称,并且 bean 的名称不是通用的 JNDI。所以,即使 JNDI 名称改变了(经常发生在部署的过程中),应用程序的代码仍继续有效,这是因为 EJB Reference 绑定到 JNDI 名称上。同 WebSphere Application Server 一样, 本地的 EJB Home 接口仅仅通过使用 EJB Local Reference 才能查找到。不可能通过使用通用的 JNDI 名称来获得本地的引用。

用 EJB Visual 编辑器来创建 EJB Reference。这类似于创建关联。存在两种 EJB Reference 选项板操作。如下所示。

对于本例而言,将创建从 Library 到 Author 以及从 Library 到 Book的两个 EJB Local References,以便使 Library 会话 bean 能同两个实体 bean 相结合。通过如下的步骤来创建这些引用。

  1. 选择 EJB Local Reference 选项板操作。
  2. 单击 Library bean 并且保持鼠标被按下的状态。
  3. 将已选择的对象拖到 Author bean 中并且放开鼠标。这将生成包含默认名称的 EJB Local Reference。可以通过简单选择并输入不同的名称来改变默认的名称。本例将使用默认的名称。

    这是 EJB Deployment Descriptor 编辑器中所示的新的引用。注意到新建立的 EJB RLocal Reference 已经被正确地绑定到了通用的 JNDI 名称上,即 ejb/com/wsdd/library/ejbs/AuthorLocalHome。
  4. 将 Book bean 作为对象重复 1—3 步。

添加 EJB 查询工具

在 应用程序中通常为给定的实体 bean 定义额外的"finder"方法。EJB 查询工具通过使用容器管理的持续字段和关系来返回在已知条件基础上建立的实体 bean 的子集。在这个图书馆应用程序中,需要为 Book 实体添加查询工具以便返回指定作者的所有书籍。EJB 查询工具能通过 EJB Visual 编辑器定义在容器管理的实体 bean 中。按照以下步骤向 Book 实体 bean 中添加 findBooksByName 查询工具。

  1. 从类图中选择 Book 实体。
  2. 选择 Add EJB => Query context 菜单的操作来启动 EJB Finder 向导。
  3. 选择 New 并且输入 findBooksByName 作为查询工具的名称。
  4. 单击 Add 来添加新的名为 name 的参数,类型为 java.lang.String。
  5. 选择 java.util.Collection 作为返回值类型。
  6. 单击 Next 进入第二个页面,这里需要输入查询的内容。
  7. 选择 Single Where Predicate 实例查询。这通过在 WHERE 语句中使用一个 cmp 字段来输入有效的 EJBQL 查询语句。
  8. 将 WHERE 的谓词改为 o.author.name = ?1。
  9. 单击 Finish 来添加新的查询工具。

这时新的 EJB Query 被定义成适合于 Book bean 的部署描述符,并且在 BookLocalHome 接口中存在一个新的 findBooksByName(String) 方法。

加入业务逻辑

在本例中实体 bean 被正确地建立起来并且它需要在 Library 会话 bean 中添加业务逻辑来与这些实体结合起来。所需的一个远程方法是 findBookTitlesByAuthor(String),它将返回包含指定作者的 书名的字符数组。所需的第二个远程方法是 populateTestData 方法,它仅被用于测试。这项工作中的某些部分可以在 EBJ Visual 编辑器中完成。

说明相关的图表元素

为了向 Library 的 bean 类中加入逻辑信息,必须使适合于 Library bean 的 EJB bean 类能够可视化。这通过在可视化编辑器中选择 Library bean 并在 context 菜单中选择 Show Related Elements 操作来实现。这样打开了用于过滤或显示图表中已选定项目的相关元素的 Show Related Elements in Diagram 对话框。对于本例而言,取消对 JavaEJB 复选框的选择,并选择 EJB 标题下的 Abstraction 复选框。 From Selection to Supplier 单选按钮也需要被选定,使得从 bean 中提取的内容能够显示出来。提取的内容包括 bean 类及客户端接口。

单击 OK 之后您将会看到提取出来的内容被添加到类图中了。对于此例而言, Library 和 LibraryHome 元素已经从图表中删除了。但它所占有的隐含的资源并没有被删除。

在类图中通过选择 LibraryBean 元素以及 context 菜单下的 Add Java > Method 操作来将方法添加到 LibraryBean 类中。启动了设置方法信息的向导。我不是这种方法的坚决支持者。用 Eclipse Java 编辑器创建方法是非常容易的,您需要使用 Java 编辑器来添加方法体。因此我更愿意仅仅通过双击 LibraryBean 的方式来打开 Java 编辑器。然后从这里开始添加新的方法。

添加 Java 方法

无论何时 向应用程序中引入无状态会话,都需要一些自定义的代码。J2EE 之后,最实用的业务逻辑 API 将被添加到应用程序的无状态会话 bean 中。为了使这个例子更贴近现实,通过使用充分开放的 Java 编辑器来将一些业务方法添加到 LibraryBean 中。

添加 populateTestData() 方法

populateTestData 方法将成为第一个被添加到 bean 中的方法。在添加该方法之前,我们通过添加两个私有方法(BookLocal 和 AuthorLocal)来支持 poplulateTestData 方法。新的 EJB 片断支持将被用来完成这些方法。对于使用这个新功能的细节问题,请见 用 WebSphere Studio V5.1.2 中的片断来编写 EJB 程序。从添加如下的空方法开始。

private BookLocal createBook(int id) {
}

使用如下的步骤来完成方法体。

  1. 将光标置于方法体中,从 snippets 视图中启动 Call an EJB "create" method EJB 片断。
  2. 向导将显示关于在 EJB Visual 编辑器中创建的 Book 和 Author 的 EJB 引用。双击 ejb/BookLocal 引用。
  3. 双击 create(Integer) 方法。
  4. 将表格中的整型值改为 new Integer(id),之后单击 Finish

在上述步骤的基础上完成方法体。这时,整理导入是非常必要的,通过选择 [Ctrl]+[Shift]+[O] 来添加缺少的导入。 return aBookLocal 的返回声明需要被添加到方法体的末尾。下面是完整的方法体:

private BookLocal createBook(int id) {
BookLocalHome aBookLocalHome =
(BookLocalHome) ServiceLocatorManager.getLocalHome(
STATIC_BookLocalHome_REF_NAME,
STATIC_BookLocalHome_CLASS);
BookLocal aBookLocal = null;
try {
if (aBookLocalHome != null)
aBookLocal = aBookLocalHome.create(new Integer(id));
} catch (CreateException ce) {
// TODO Auto-generated catch block
ce.printStackTrace();
}
return aBookLocal;
}

下面是需要添加到 Author bean 中的与上述方法类似的方法。按照与上面相同的步骤为 Author 添加 "create" 方法。完整的方法如下所示。

private AuthorLocal createAuthor(int id) {
AuthorLocalHome anAuthorLocalHome =
(AuthorLocalHome) ServiceLocatorManager.getLocalHome(
STATIC_AuthorLocalHome_REF_NAME,
STATIC_AuthorLocalHome_CLASS);
AuthorLocal anAuthorLocal = null;
try {
if (anAuthorLocalHome != null)
anAuthorLocal = anAuthorLocalHome.create(new Integer(id));
} catch (CreateException ce) {
// TODO Auto-generated catch block
ce.printStackTrace();
}
return anAuthorLocal;
}

这两个新方法将被用来简化我们的 populateTestData 方法的代码。通过使用 Java 编辑器来复制下面的方法,并将它粘贴到 LibraryBean.java 文件中。

public void populateTestData() {
System.out.println("Creating Authors");
AuthorLocal a1, a2;
a1 = createAuthor(1);
a1.setName("Jones");
a2 = createAuthor(2);
a2.setName("Smith");
System.out.println("Creating Books");
BookLocal book;
book = createBook(1);
book.setTitle("Book1");
book.setAuthor(a1);
book = createBook(2);
book.setTitle("Book2");
book.setAuthor(a1);
book = createBook(3);
book.setTitle("Book3");
book.setAuthor(a1);
book = createBook(4);
book.setTitle("Book4");
book.setAuthor(a2);
book = createBook(5);
book.setTitle("Book5");
book.setAuthor(a2);
System.out.println("Done creating library.");
}

添加 findBookTitlesByAuthor(String) 方法

第二个方法将利用本文前面所述的添加到 Book 中的 EJBQL 查询。这个方法将返回包含指定作者的书名的字符串数组。最初先向 LibraryBean 添加下面的方法名。

public String[] findBookTitlesByAuthor(String name) {
}

与 createBook(int) 和 createAuthor(int) 方法类似,EJB 片断支持将被用于建立方法体。

  1. 从 Snippet 视图中选择 Call an EJB "find" method EJB 片断操作。
  2. 双击 ejb/Book
  3. 选择 findBooksByName(name) 方法。
  4. 单击 Finish

目前方法体中有用于找出已确认的作者姓名的 BookLocal 对象集的必要代码。所有需要的内容都被加入到方法体中,以便迭代这个结果集。从每个 BookLocal 中提取标题,并将其加入到字符串数组中。完整的方法如下所示,在 //Begin Add 和 //End Add 之间的为添加的内容。

public String[] findBookTitlesByAuthor(String name) {
BookLocalHome aBookLocalHome =
(BookLocalHome) ServiceLocatorManager.getLocalHome(
STATIC_BookLocalHome_REF_NAME,
STATIC_BookLocalHome_CLASS);
Collection aCollection = null;
try {
if (aBookLocalHome != null)
aCollection = aBookLocalHome.findBooksByName(name);
//Begin Add
Iterator it = aCollection.iterator();
String[] titles = new String[aCollection.size()];
for (int i = 0; it.hasNext(); i++) {
BookLocal book = (BookLocal) it.next();
titles[i] = book.getTitle();
}
return titles;
//End Add
} catch (FinderException fe) {
// TODO Auto-generated catch block
fe.printStackTrace();
}
//Begin Add
return new String[0];
//End Add
}

为了使方法 popula teTestData() 和 findBookTitlesByAuthor(String) 在远程客户端能够生效,就必须改进这些方法使其适合于 Library 会话 bean 的远程接口。按照如下的步骤来改进这些方法以适合于远程接口。

  1. 从 Java 编辑器中选择 populateTestData() 和 findBookTitlesByAuthor(String) 的框架。
  2. 选择 context 菜单中的 Enterprise Bean => Promote to remote interface 操作。


回页首

测试新的企业 bean

随 着新的应用程序的建立,必须测试已实现的代码路径。包含 EJB 的 J2EE 应用程序除了建立测试环境有点困难之外没有任何差别。例如,应用程序服务器必须被建立、启动、配置,需要建立数据库,并且必须将 EAR 项目部署并发布到这个服务器上。在所有的这些工作都完成之后,必须有某些装置来测试 EJB 代码的路径。在测试之前花费时间建立环境是不容易的。这对于快速的 J2EE 开发来说是不能接受的。下面说明在 WebSphere Studio 中测试 Library 应用程序是何等的轻松。

在通用测试环境(UTC)下进行测试

我 非常高兴地说在 WebSphere Studio 中测试不会像上面描述的那样复杂。Library 应用程序开发进行到现在,EJB 已经被建模并且附加的业务逻辑已经被添加到 Library 会话 bean 中了。代码的部署、服务器的建立和配置工作还没有进行。能够测试在数据库没有及时建立的情况下添加到 Library 会话 bean 中的两个新的公共方法是非常好的。为了完成这项工作,使用 UTC 来运行这个会话 bean。依据下述步骤进行,这项工作是易于完成的。

  1. 从 J2EE Hierarchy 视图中选择 Library 会话 bean。
  2. 选择 context 菜单下的 Run on Server 操作。通过选择 Debug on Server 操作,服务器就能以 debug 模式启动。选择 Debug on Server 操作将允许使用断点来纠正代码中的错误。

选择服务器

选择了 Run on Server 操作之后,将启动向导,按照步骤在特定服务器上测试选定的 EJB。

  1. 第一步是选择测试所用的服务器的类型。本例默认的选择是使用 WebSphere Application Server V5.1 Test Environment。

    单击 Next 按钮。
  2. 下一页指出了所用的端口。本例保留默认的端口号,然后单击 Next
  3. 向导中的第三页用于在 EJB 模块(本例中仅有一个)中部署 Enterprise Java Bean。当第一次启动模块时应选择 Create tables and data sources DeployEJB Beans 选项。第一个选项确保建立了实际的数据库表格,以及在服务器上定义所需的数据源来访问这些表格。第二个选项将 EJB 项目中的 Container Managed 实体完全映射到默认的数据库类型中(如 Cloudscape),并且依照这种数据库类型生成能够在服务器上运行的所需的部署代码。

    在本页中单击 Finish
  4. 当表格和数据源都完全建立起来之后,将出现确认对话框。

    在这个对话框中单击 OK
  5. 这时,计划并部署了 EJB,建立并配置了服务器。因此,应用程序能被发布到新的服务器上。此时出现发布对话框。
  6. 控制台指出服务器的运行状态。只要服务器一启动,通用的测试客户端(Universal Test Client)就会打开已选定的 Library bean。

测试 Library bean

使用打开的 UTC 我们可以测试新的 Library 会话 bean。首先建立 Library 会话 bean 实例。

  1. 从 EJB References 树中扩展 Library bean 并选择 LibraryHome 链接。这将向您展示 LibaryHome 接口中的有效方法。
  2. 选择 create() 方法的链接。
  3. 这向 UTC 的 Parameters 部分添加了方法的上下文环境。现在通过选择 Invoke 按钮执行 create() 方法。
  4. 在选择了 Invoke 按钮之后,方法调用的结果(也就是新的 Library 会话实例)被显示在 Results 部分。
  5. 单击 Work with Object 按钮将它添加到 References 树中,并允许测试它。

现在测试添加到 Library bean 的远程接口中的方法。

  1. 从 References 选择 Library 1 标记并选择 populateTestData() 方法。
  2. 同上述的 create() 方法一样,向 Parameters 部分添加方法的上下文环境并选择 Invoke 按钮来运行这个方法。现在,数据库中的表格将加入用于其他方法的测试数据。
  3. 从 References 树中选择 findBookTitlesByAuthor(String) 方法。
  4. 由于这个方法需要一个参数,所以必须在调用方法之前导入参数。在 Parameters 部分将字符串参数设为 Smith。
  5. 单击 Invoke 按钮来调用这个方法。结果再一次显示在 Results 部分中,并且它是一个两个字符长的 String[] 类型 。选择 Work with Object 按钮,以便看到这个结果。
  6. 从 References 树中选择新的 String[] 标记来扩展操作,使它能够被调用,并选择 Inspect Fields 链接。
  7. 字段的检查结果将显示在 Parameters 部分并且显示 Book4 和 Book5 两个条目。

除了上述七步之外还要输入 Jones 作为参数并且返回包含三个元素的 Book1、 Book2 和 Book3 的 String[] 值。



回页首

结束语

本 文教您如何使用 WebSphere Studio V5.1.2 及其 UML Visualizer 来创建基于 EJB 的应用程序并在服务器上测试它。这里介绍的可视化的部署技术概要使得先前令人头痛的 EJB 部署问题变得简单快捷。当然,开发应用程序是一个反复循环的过程,需要在设计、实现、测试中不停地重复,而本文并没有展示这些循环过程。 WebSphere Studio 完全支持对于图表、EJB 设计以及数据库表格的不断更新,并且在服务器中重复测试它。对于大多数情况而言,您按照本文所述的步骤进行。但是,为了改善数据库表格中的 CMP 实体的设计,您需要在有 Create and map unmapped elements 选项的后端上启动 EJB-to-RDB Mapping 向导。如想了解详细信息,请见 EJB 文档。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130629/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-08-23

  • 博文量
    1714
  • 访问量
    1294827