background image

 

 

然而,在实现类中稍微有些不同。通常,会声明该类实现了 javax.ejb.SessionBean 接

 

口,或对于消息驱动的 bean

 

,实现 javax.ejb.MessageDrivenBean 接口。然而,在业

务接口模式下,实现类还将需要实现新的业务接口(

 

在这种情况下,是 ILibrary 接口)。清

 

单 4 

 

显示了 Library bean 实现类的实现类头;为了简洁起见,我省去了其余的代码。

 

  清单 4. Library bean 实现类
1 package com.ibm.library;

3 import java.rmi.RemoteException;
4 import javax.ejb.CreateException;
5 import javax.ejb.EJBHome;
6 import javax.ejb.SessionBean;
7 import javax.naming.Context;
8 import javax.naming.InitialContext;

10 import com.ibm.library.exceptions.*;
11 
12 public class LibraryBean implements SessionBean, ILibrary {
13 
14      // Implementation of EJB-specific methods
15 
16      // Implementation of remote interface methods
17 
18      // Utility methods, as needed
19 }
20

 

  这又会导致对正常过程做略微的小更改。差异在于,当编译 bean 实现类时,现在编

译器将 抱怨 您已省的任何方法。通过使用业务接口模式,您已经建立了一个系统,其中,

 

业务接口定义了业务方法,远程接口将它们公开给客户机,并且 bean 类负责实现它们。
同时,您消除了直接实现远程接口的问题,并且不再有在实现类的机器上维护该远程接
口的麻烦。您也可以将此模式用于远程和本地接口(两者都继承了业务接口)。而且,消除
了对特定供应商所提供的工具的依赖性。