在用EJB3.0 API进行设计的时候,开发者主要使用企业bean作为主要的设计结构.
企业bean类的bean类型必须被声明.可以用元数据注释,也可以用部署描述符.
在EJB3.0 API下,企业bean的业务接口是普通的java接口,而不是EJBObject或者EJBLocalObject接口.
Session beans和 message-driven beans需要一个业务接口.一个message-driven bean的业务接口一般是通过被使用的消息类型来定义的(比如:javax.jms.MessageListener in the case of JMS).业务接口是不能用来为实体bean定义的.
这个bean必须实现它的业务接口.它可能有不止一个业务接口.规则如下:
如果一个bean实现了一个单一的接口,而这个接口又假设是这个bean的业务接口.这个业务接口将是一个本地接口,除非这个接口被通过在bean或接口上用Remote标记注释或通过部署注释符来定义成远端接口.
一个bean被允许有多于一个的接口,如果一个bean有多于一个的接口-除去下面列举的接口:任何bean的业务接口必须通过在bean或者接口用Remote或Local注释或者通过部署描述符来明确指定一个业务接口.
当考虑一个bean是否有多于一个接口的时候,下面接口将被排除:java.io.Serializable,java.io.externalizable以及任何被javax.ejb包定义的接口.
一个业务接口不需要扩展javax.ejb.EJBObject或者javaxejb.EJBLocalObject.