Conceptos Java EE
-
Upload
hector-moreno -
Category
Documents
-
view
192 -
download
0
Transcript of Conceptos Java EE
5/16/2018 Conceptos Java EE - slidepdf.com
http://slidepdf.com/reader/full/conceptos-java-ee 1/3
Diferencias entre pojo, java bean y ejb
Una duda que tuve hace algún tiempo, a saber pues POJO son las iniciales de "Plain Old Java
Object", que puede interpretarse como "Un objeto Java Plano y a la Antigua". Un POJO es una
instancia de una clase que no extiende ni implementa nada en especial. Por ejemplo, unController de Spring tiene que extender de SimpleFormController, e implementar los métodos
abstractos de ese tipo: por eso, no es un POJO. Un Servlet, tiene que extender de HttpServlet
tampoco es un POJO. En cambio, si defines una clase Persona (o la clase EstoEsUnBean que está
más abajo) con atributos y unas cuantas operaciones, tienes un simple y modesto POJO.
Un Enterprise Java Bean (EJB) es un componente de negocio J2EE, y para su ejecución necesita
un contenedor EJB/J2EE (JBoss, WAS, OAS, etc). El hecho de usar EJB's te da acceso a los
servicios del Contenedor EJB ( manejo de transacciones, seguridad ,persistencia, etc) que
simplifican bastante la construcción de soluciones empresariales.
Y por último, un JavaBean (o también conocido simplemente como Bean) es una clase Java quecumple con ciertas normas con los nombres de sus atributos y operaciones. Un JavaBean tiene
declarados sus atributos como privados y implemente para cada uno de ellos un método setter y
getter, añadiéndole la palabra "set" o "get" al nombre del atributo, un constructor ssin
parametros y debe ser serializable. Sería algo así:
Managed bean
Backing bean
EJB
son componentes del lado del servidor para la plataforma Java Enterprise Edition (Java EE), que apuntan
a crear un desarrollo rápido y simple para aplicaciones distribuidas, transaccionales, seguras y portables.
EJB 3.1 trae un nuevo conjunto de características que mejoran el potencial de esta tecnología. Es una
versión muy importante que traerá nuevas capacidades faltantes a estos componentes. En este artículo
vamos a repasar los elementos más importantes de EJB 3.1.
Vista sin interfazEJB 3.1 introduce el concepto de vista sin interfaz, que consiste en una variación de la vista Local, la cual
expone todos los métodos públicos de un bean. Los Session Beans no están obligados a implementar una
interfaz. El contenedor de EJB provee una implementación a la referencia a una vista sin interfaz, lo que le
permite al cliente invocar cualquier método público de un bean, y por supuesto contar con transacciones,
seguridad y comportamiento con interceptores.
Todos los métodos públicos del bean (incluyendo aquellos definidos en superclases) están disponibles en
la vista sin interfaz. Un cliente puede obtener una referencia a esta vista haciendo un lookup JNDI o
inyectando la dependencia, tal cual se hace con las vistas locales o remotas.
5/16/2018 Conceptos Java EE - slidepdf.com
http://slidepdf.com/reader/full/conceptos-java-ee 2/3
A diferencia de las vistas locales o remotas, en donde la referencia consiste de la interfaz local/remota
respectivamente, la referencia a una vista sin interfaz se declara como la clase del bean.
El siguiente ejemplo de código muestra cómo un servlet puede acceder a una vista sin interfaz. La
referencia en el cliente es la vista sin interfaz ByeEJB, es decir, la clase del bean. El EJB no implementa
ninguna interfaz. La referencia al EJB se obtiene por inyección de dependencia.
ByeServlet
(...)
@EJB
private ByeEJB byeEJB;
public String sayBye() {
StringBuilder sb = new StringBuilder ();
sb.append ("<html><head>");
sb.append ("<title>ByeBye</title>");
sb.append ("</head><body>");
sb.append ("<h1>" + byeEJB.sayBye() + "</h1>");
sb.append ("</body></html>");
return sb.toString ();
}
(...)
ByeEJB
@Stateless
public class ByeEJB {
public String sayBye() {
return "Bye!";
}
}
Como el tipo de la referencia al EJB es la clase del bean existen ciertas limitaciones:
• El cliente nunca puede usar al operador new para adquierir la referencia.
• Si se intenta invocar un método que no es público se lanza una EJBException.
• No se puede hacer ninguna presunción sobre la implementación interna de la vista sin interfaz.
Aunque la referencia corresponda con el tipo de la clase del bean, no hay correspondencia entre
la implementación referenciada y la implementación del bean.
Si el bean no expone ninguna interfaz remota o local, entonces el contenedor tiene que dejar disponible
una vista sin interfaz. En cambio, si el bean expone al menos una interfaz remota o una local, entonces el
5/16/2018 Conceptos Java EE - slidepdf.com
http://slidepdf.com/reader/full/conceptos-java-ee 3/3
contenedor no provee una vista sin interfaz (a menos que se pida explícitamente usando la
anotación LocalBean).
Esta característica permite crear EJB sin interfaces, lo que simplifica el desarrollo. Quizás en el futuro
tengamos también vistas remotas sin interfaz.
JPA
Singleton
Stateless
Statefull