Está en la página 1de 31

Taller de Sistemas de

Información 2
Clase 3
Enterprise Java Beans
Enterprise JavaBeans (EJB)
 Son una plataforma para la construccion de
aplicaciones portables, reutilizables y
escalables, utilizando la plataforma de Java

INCO - Facultad de Ingeniería – Montevideo, Uruguay 2


Enterprise JavaBeans (EJB)
 Portables
o Capacidad de ejecutar en multiples plataformas, y
en multiples servidores de aplicacion
 Reutilizables
o Componentes que pueden ser aprovechados de
aplicacion en aplicacion

INCO - Facultad de Ingeniería – Montevideo, Uruguay 3


Enterprise JavaBeans (EJB)
 Escalables
o Propiedad deseable de un sistema, una red o un
proceso, que indica su habilidad para, manejar el
crecimiento continuo de trabajo de manera fluida,
estando preparado para hacerse más grande sin
perder calidad en los servicios ofrecidos

INCO - Facultad de Ingeniería – Montevideo, Uruguay 4


Enterprise JavaBeans (EJB)
 Desde sus comienzos, EJB se ha definido
como un modelo o framework de
componentes
 Permite desarrollar aplicaciones
empresariales, contando con servicios como
ser
o Seguridad, Transacciones, Persistencia, etc.

INCO - Facultad de Ingeniería – Montevideo, Uruguay 5


Enterprise JavaBeans (EJB)
 Desde el punto de vista del desarrollador un
EJB es una pieza de codigo Java, que
ejecuta en un runtime especializado,
denominado contenedor
 Este provee una serie de servicios que
permiten ejecutar el componente

INCO - Facultad de Ingeniería – Montevideo, Uruguay 6


EJB como componente
 Cuando mencionamos EJB, nos referimos al
componente server side que permite
construir partes de la aplicacion, como ser
logica de negocio y codigo de persistencia

INCO - Facultad de Ingeniería – Montevideo, Uruguay 7


EJB como componente
 Cuando pensamos en componente, a veces
se asocia con la idea de desarrollar una
pieza de codigo compleja y pesada, como
ser codigo CORBA o COM+
 En el mundo EJB3 un componente es
simplemente un POJO con algun que otro
“poder” especial

INCO - Facultad de Ingeniería – Montevideo, Uruguay 8


POJO
 Plain Old Java Object
 Sigla creada por Martin Fowler,
Rebecca Parsons y Josh MacKenzie en
septiembre de 2000 y utilizada por los
programadores Java para enfatizar el uso de
clases simples que no dependen de un
framework en especial

INCO - Facultad de Ingeniería – Montevideo, Uruguay 9


POJO
public interface HelloUser {
public void sayHello(String name);
}

public class HelloUserBean


implements HelloUser {
public void sayHello(String name) {
System.out.println("Hola mundo");
}
}

INCO - Facultad de Ingeniería – Montevideo, Uruguay 10


EJB como componente
 Lo que es mas importante, estos “poderes”
permanecen invisibles hasta que son
requeridos, sin distraer del proposito real del
componente

INCO - Facultad de Ingeniería – Montevideo, Uruguay 11


EJB como componente
 La idea real detras de un componente es que
debe encapsular efectivamente el
comportamiento de la aplicacion
 Los usuarios de un componente no tienen
porque saber las internas de un componente
 Lo unico que tiene que saber, es que pasar y
que recibir de un componente

INCO - Facultad de Ingeniería – Montevideo, Uruguay 12


EJB como componente
 Tenemos tres tipos de componentes
o Session beans
o Message driven beans
o Entidades
 Los session beans y los message driven
beans se utilizan para implementar logica de
negocio
 Las entidades son usadas para persistencia

INCO - Facultad de Ingeniería – Montevideo, Uruguay 13


EJB como componente
 Los componentes son reutilizables
Picture 2

INCO - Facultad de Ingeniería – Montevideo, Uruguay 14


EJB como framework
 Los componentes existen en un contenedor
 Juntos, el contenedor y los componentes
pueden ser vistos como un framework
 Este framework provee servicios para el
desarrollo de la aplicacion empresarial

INCO - Facultad de Ingeniería – Montevideo, Uruguay 15


EJB como framework
 El container provee servicios a los
componentes en una forma elegante
 A traves del uso anotaciones se especifican
los servicios que el componente utilizara

INCO - Facultad de Ingeniería – Montevideo, Uruguay 16


EJB como framework

INCO - Facultad de Ingeniería – Montevideo, Uruguay 17


EJB como framework
 Java 5 introdujo el concepto de metadata en
forma de anotaciones
 Son propiedades que marcan una seccion de
codigo, como ser una clase, un metodo o
atributos en particular
 Es un estilo de programacion declarativo

 Se especifica que debe hacerse, el sistema


es el que lo realiza

INCO - Facultad de Ingeniería – Montevideo, Uruguay 18


EJB como framework
Picture 2

INCO - Facultad de Ingeniería – Montevideo, Uruguay 19


Java 5 y Annotations
public interface HelloUser {
public void sayHello(String name);
}

@Stateless
public class HelloUserBean
implements HelloUser {
public void sayHello(String name) {
System.out.println("Hola mundo");
}
}
INCO - Facultad de Ingeniería – Montevideo, Uruguay 20
EJB y las arquitecturas en
capas
 EJB permite construir aplicaciones utilizando
dos estilos de arquitecturas en capas
o Un enfoque tradicional, utilizando cuatro capas
o Un enfoque basado en modelos de dominio
(domain-driven design)

INCO - Facultad de Ingeniería – Montevideo, Uruguay 21


Arquitectura tradicional en 4 capas
Picture 2

INCO - Facultad de Ingeniería – Montevideo, Uruguay 22


Arquitectura tradicional en 4
capas

INCO - Facultad de Ingeniería – Montevideo, Uruguay 23


Arquitectura tradicional en 4
capas
 Es muy usada, pero no es perfecta
 Una de las principales criticas es que no
aprovecha la principal ventaja de la
orientacion a objetos
o Modelar el modelo de negocio como objetos que
encapsulan datos y comportamiento

INCO - Facultad de Ingeniería – Montevideo, Uruguay 24


Arquitectura tradicional en 4
capas
 Este tipo de arquitectura se centra en
modelar procesos de negocio en lugar del
dominio
 Por este motivo, la capa de negocio tiende a
parecerse mas a una database-driven
procedural application

INCO - Facultad de Ingeniería – Montevideo, Uruguay 25


Domain driven design
 DDD enfatiza que los objetos de dominio
deben contener logica de negocio, y no ser
una replica tonta de un registro en la base de
datos

INCO - Facultad de Ingeniería – Montevideo, Uruguay 26


Domain driven design
 Los objetos de dominio se denominan
Entities en el mundo EJB 3
 Estas entidades definidas por la Java
Persistence API, soportan los conceptos
tipicos de OO (herencia, polimorfismo)
 Tambien se puede agregar logica de negocio
a estas entidades en forma sencilla

INCO - Facultad de Ingeniería – Montevideo, Uruguay 27


Por que elegir EJB 3?
 Facilidad de uso
 Un stack integrado para construir soluciones

 El estandar Java EE es abierto

 Soporte de multiples proveedores

 Un code-base estable y de alta calidad

 Funcionalidades avanzadas en los


application servers (clustering)

INCO - Facultad de Ingeniería – Montevideo, Uruguay 28


Picture 4
Tipos de EJB

INCO - Facultad de Ingeniería – Montevideo, Uruguay 29


Un contenedor Java EE

INCO - Facultad de Ingeniería – Montevideo, Uruguay 30


Un ejemplo de EJB
package example;
public interface HelloUser {
public void sayHello(String name);
}

package example;

import javax.ejb.Stateless;

@Stateless
public class HelloUserBean implements HelloUser {
public void sayHello(String name) {
System.out.println("Hello " + name +
" welcome to EJB 3!");
}
}
INCO - Facultad de Ingeniería – Montevideo, Uruguay 31

También podría gustarte