Skip Headers
Oracle® Containers for J2EE Enterprise JavaBeans Developer's Guide
10g (10.1.3.5.0)

Part Number E13981-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

Implementing the Component Interfaces

The component interfaces define the business methods of the bean that a client can invoke.

Implementing the Remote Component Interface

The remote interface defines the business methods that a remote client can invoke. The requirements for developing the remote component interface include: the following

  • The remote component interface of the bean must extend the javax.ejb.EJBObject interface, and its methods must throw the java.rmi.RemoteException exception.

  • You must declare the remote interface and its methods as public for remote clients.

  • The remote component interface, all its method parameters, and return types must be serializable. In general, any object that is passed between the client and the EJB must be serializable, because RMI marshals and unmarshalls the object on both ends.

  • Any exception can be thrown to the client, as long as it is serializable. Run-time exceptions, including EJBException and RemoteException, are transferred back to the client as remote run-time exceptions.

Example 11-9 shows a remote component interface called Hello with its defined methods, each of which will be implemented in the corresponding session bean.

Example 11-9 Remote Component Interface for EJB 2.1 Session Bean

package hello;

import javax.ejb.*;
import java.rmi.*;

public interface Hello extends EJBObject {
    public String sayHello(String myName) throws RemoteException;
    public String sayHello() throws RemoteException;
}

Implementing the Local Component Interface

The local component interface defines the business methods of the bean that a local (collocated) client can invoke. The requirements for developing the local component interface include the following:

  • The local component interface of the bean must extend the javax.ejb.EJBLocalObject interface.

  • You declare the local component interface and its methods as public.

Example 11-10 shows a local component interface called HelloLocal with its defined methods, each of which will be implemented in the corresponding session bean.

Example 11-10 Local Component Interface for EJB 2.1 Session Bean

package hello;

import javax.ejb.*;

public interface HelloLocal extends EJBLocalObject {
    public String sayHello(String myName);
    public String sayHello();
}