servlet - ejb java
Diferencia entre Javabean y EJB (5)
Los JavaBeans pueden ser visibles o no visibles en tiempo de ejecución. Por ejemplo, el componente de GUI visual puede ser un botón, un cuadro de lista, un gráfico o un gráfico.
Un EJB es un objeto remoto no visual.
Los JavaBeans están destinados a ser locales para un único proceso y están destinados principalmente a ejecutarse en el lado del cliente. Aunque uno puede desarrollar JavaBeans del lado del servidor, es mucho más fácil desarrollarlos utilizando la especificación EJB.
Los EJB son componentes ejecutables remotamente u objetos comerciales que pueden implementarse solo en el servidor.
JavaBeans es una tecnología de componentes para crear componentes genéricos de Java que se pueden componer juntos en applets y aplicaciones.
Aunque EJB es una tecnología de componentes, no se basa ni amplía la especificación JavaBean original.
Los JavaBeans tienen una interfaz externa llamada interfaz de propiedades, que permite que una herramienta de construcción interprete la funcionalidad del bean.
Los EJB tienen un descriptor de implementación que describe su funcionalidad a una herramienta de creación externa o IDE.
Los JavaBeans pueden tener clases
BeanInfo
, editores de propiedades o personalizadores.Los EJB no tienen ningún concepto de clases
BeanInfo
, editores de propiedades o personalizadores y no proporcionan información adicional a la descrita en el descriptor de despliegue.Los JavaBeans no están escritos.
Los EJB son de dos tipos: beans de sesión y beans de entidad.
No existe soporte explícito para transacciones en JavaBeans.
Los EJB pueden ser transaccionales y los servidores EJB proporcionan soporte transaccional.
Los puentes de componentes están disponibles para JavaBeans. Por ejemplo, un JavaBean también se puede implementar como un control Activex.
Un EJB no se puede implementar como un control ActiveX porque los controles ActiveX están destinados a ejecutarse en el escritorio y los EJB son componentes del lado del servidor. Sin embargo, la compatibilidad de CORBA-IIOP a través del mapeo de EJB a CORBA está definida por OMG.
Esta pregunta ya tiene una respuesta aquí:
Solo una pregunta simple de un principiante relativo de Java:
¿Cuál es la diferencia entre un JavaBean y un EJB?
Echa un vistazo a este artículo: JavaBeans vs Enterprise JavaBeans
RESUMEN:
JB
JavaBeans adopta un enfoque de bajo nivel para desarrollar componentes de software reutilizables que se pueden usar para construir diferentes tipos de aplicaciones Java (applets, aplicaciones independientes, etc.) en cualquier área.
EJB
Enterprise JavaBeans adopta un enfoque de alto nivel para construir sistemas distribuidos. Libera al desarrollador de la aplicación para que se concentre en programar solo la lógica de negocios al tiempo que elimina la necesidad de escribir todo el código de "fontanería" que se requiere en cualquier aplicación empresarial.
Java Bean es solo un conjunto de convenciones. EJB es un estándar para los componentes comerciales de J2EE.
Específicamente un bean Java:
- tiene un constructor público por defecto;
- los métodos de propiedad legibles preceden con "get";
- los métodos de propiedad grabables preceden con "set"; y
- es serializable
Por ejemplo, un bean Java con una propiedad de "margen" se vería mínimamente así:
public class MyBean implements Serializable {
private int margin;
public MyBean() { }
public int getMargin() { return margin; }
public void setMargin(int margin) { this.margin = margin; }
}
EJB, a pesar del nombre, casi no tiene relación alguna.
Me pareció un poco engorroso entender por la respuesta aceptada, así que busqué en Google algunos enlaces más y obtuve la respuesta debajo.
Enterprise JavaBeans (EJB) 3.1 estas son especificaciones J2EE que instruyen al servidor ( servidor de aplicaciones ) a desplegar un fragmento de código en el Contenedor EJB .
La tecnología EJB es la arquitectura de componentes del lado del servidor para el desarrollo y la implementación de aplicaciones comerciales basadas en componentes. La tecnología EJB permite el desarrollo rápido y simplificado de aplicaciones distribuidas, transaccionales, seguras y portátiles basadas en la tecnología Java EE 6.
En un lenguaje sencillo: si crea un EJB y lo implementa en el servidor, se lo puede llamar de forma remota (usando alguna técnica, es decir, búsqueda JNDI utilizando RMI) o localmente (es decir, con una aplicación).
Por otro lado, Java beans , es una simple clase simple de Java con getters y setters y esa clase se serializa, a continuación se muestra el ejemplo:
public class MyBean implements java.io.Serializable
{
protected int theValue;
public MyBean()
{
}
public void setMyValue(int newValue)
{
theValue = newValue;
}
public int getMyValue()
{
return theValue;
}
}
Entonces, significa que no hay comparación entre EJB y Java Beans, ambos son conceptos totalmente diferentes.