JavaBean是一个组件,而EJB就是一个组建框架。JavaBean面向的是业务逻辑和表示层的显示,通过编写一个JavaBean,可以将业务逻辑的事件和事务都放在其中,然后通过它的变量属性将所需要的内容在表示层传递显示。
EJB是部署在服务器上的可执行组建或商业对象。EJB有一个部署描述符,通过这个部署描述符可以对EJB的属性进行描述。EJB不和表示层交互。
EJB是企业级JavaBean,分为实体Bean,消息Bean,会话Bean三种,书写EJB是需要遵循一定的规范的,具体规范可参考相关的资料。
1、应用场景
EJB用于服务端应用开发;
JavaBeans用于客户端应用开发。也可以使用JavaBeans进行服务端应用开发,JavaBeans模型没有提供服务框架,当应用需要使用系统级服务(如事务管理,安全性,生命周期管理等)时,不适合。
2、部署
EJB构件是可部署的,EJB构件可以作为独立的单元被部署到EJB应用服务器上,是应用构件(application components);
JavaBeans构件是不可部署的, JavaBeans构件是开发构件,不能被部署为独立的单元。
3、部署定制
EJB构件是部署可定制的,使用部署描述符可以在部署EJB时对其运行时配置进行定制;
JavaBeans构件在部署时不能进行定制,JavaBeans构件的定制仅发生在开发阶段,只能利用开发工具创建并组装JavaBeans构件,部署时不能定制
4、分布式对象
EJB构件是分布式对象,可以被客户应用或者其它EJB构件进行远程访问;
JavaBeans构件不是分布式对象,JavaBeans构件只能在其构成的应用中使用,不能提供远程访问能力
5、终端可见
EJB构件对终端用户不可见,运行在服务端,没有人机交互界面;
部分JavaBeans构件对终端用户可见,如GUI应用中使用的按钮构件
6、运行条件
EJB可理解为运行在EJB容器中的JavaBean,要运行EJB,需要相应的EJB容器,比如Weblogic,Jboss等;
JavaBean运行只需要安装Tomcat就可以了