Implementing a Common Interface
This book discourages implementing the remote interface in the bean class, even though this makes it a little more difficult to enforce consistency between the business methods defined in the remote interface and the corresponding methods on the bean class. There are good reasons for not implementing the remote interface in the bean class, but there is also a need for a common interface to ensure that the bean class and remote interface define the same business methods. This section describes a design alternative that allows you to use a common interface to ensure consistency between the bean class and the remote interface.
Why the Bean Class Should Not Implement the Remote Interface
There should be no difference, other than
the missing java.rmi.RemoteException, between the
business methods defined in the ShipBean class and
their corresponding business methods defined in the
ShipRemote interface. EJB requires you to match
the method signatures so that the remote interface can accurately
represent the bean class on the client. Why not implement the remote
interface com.titan.ShipRemote in the
ShipBean class to ensure that these methods are
matched correctly?
EJB allows a bean class to implement its remote interface, but this
practice is discouraged for a couple of reasons. First, the remote
interface is actually an extension of the
javax.ejb.EJBObject interface, which you learned
about in Chapter 5. This interface defines several methods that are ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access