Desarrollo de Software con Java Enterprise Edition

Anuncio
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Desarrollo de Software con
Java Enterprise Edition
Antonio J. Vélez Q.
Universidad del Valle – Sede Palmira
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Contenido
●
●
●
●
Definición de Enterprise
Bean
Cuando usar Enterprise
Beans
Tipos de Enterprise Beans
Desarrollo de Aplicaciones con
Java Enterprise Edition
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Enterprise Bean
●
●
●
●
Con componentes Java EE que implementan la tecnología
Enterprise JavaBeans.
Son componentes que se ejecutan en el contenedor EJB.
El contenedor provee servicios de bajo nivel como
transacciones y securidad (grandes beneficios)
Un Enterprise Bean es un componente del lado del servidor
que encapsula la lógica de una aplicación.
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Cuándo usar Enterprise Bean
●
Usted puede considerar el uso de entreprise beans si la
aplicación tienen uno de los siguientes requerimientos :
–
Debe ser escalable. Para acomodarse a un número creciente
de usuarios, usted puede distribuir los componentes de la
aplicación en múltiples máquinas (la ubicación es
transparente para los clietes)
–
Transacciones que aseguren la integridad de los datos. Las
transacciones es el mecanismo que administra el acceso
concurrente (simultáneo) a objetos compartidos.
–
La aplicación debe permitir variedad de clientes.
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Tipos de Enterprise Beans
●
Session Bean
–
Representa un cliente al interior del Application Server.
–
El cliente invoca los métodos de session bean, el cual realiza
el trabajo para el cliente, librando a éste de tareas complejas.
–
Es similar a una sesión interactiva – no es compartido, tiene
solo un cliente.
–
Al igual que una sesión, el session bean es NO persistente.
Cuando el cliente termina, la sesión también.
–
Stateful Session Beans / Stateless Session Beans
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Tipo de Enterprise Bean
●
Message-Driven
–
Permite a las aplicaciones Java EE procesar mensajes de
forma asíncrona.
–
Funciona de forma similar a un manejador de eventos,
excepto que recibe mensajes JMS en lugar de eventos.
–
Pueden procesar mensajes JMS u otro tipo de mensajes (de
sistemas que no usan tenclogía Java EE)
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Session Bean
●
●
El contenido de un Enterprise Bean incluye :
–
Business Interfaces: Define los métodos que pueden ser
invocados por el cliente y que deben ser implementados por
la enterprise bean class.
–
Enterprise bean class: Implementa los métodos definidos en
la business interface (se pueden adicionar otros métodos).
–
Helper classes: clases necesarias para la enterprise bean
class, como excepciones y clases utilizarías.
Todos estos archivos son empaquetados en un archivo EJB
JAR (extensión .ear)
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Session Bean
●
●
Un session beans puede
tener más de una interfaz.
Cuando se diseña el
enterprise beans, se tomar
la desición sobre el tipo de
cliente que puede acceder:
remote, local, or web
service.
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Session Bean – Clientes Remotos
●
●
●
El cliente se puede estar ejecutando en una máquina JVM
diferente a la máquina JVM en donde se ejecuta el cliente.
El cliente puede ser un componente web, una aplicación
cliente u otro enterprise bean.
La ubicación del enterprise bean es transparente. Su
ubicación se determina a través de su nombre.
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Session Bean – Clientes Remotos
Para declarar el enterprise bean para acceso remoto se
puede hacer de las siguientes formas
●
–
Agregar a la business interface la anotación @Remote
–
Agregar a la business class la anotación @Remote
acompañada de la interfaz
@Remote
public interface InterfaceName {
...
}
@Remote(InterfaceName.class)
public class BeanName
implements InterfaceName {
...
}
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Session Beans – Clientes Locales
●
●
●
●
Es ejecutado en la misma máquina JVM en donde se
ejecuta el enterprise bean.
Puede ser una aplicación web u otro enterprise bean.
Para el cliente local, las ubicación del enterprise bean no es
transparente (es la misma JVM)
Si no se establece el tipo de cliente a través de las
anotaciones @Local o @Remote, se definirá por defecto
como un cliente local.
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Session Bean – Clientes Locales
Para declarar el enterprise bean para acceso remoto se
puede hacer de las siguientes formas
●
–
Agregar a la business interface la anotación @Local
–
Agregar a la business class la anotación @Local
acompañada de la interfaz
@Local
public interface InterfaceName {
...
}
@Local(InterfaceName.class)
public class BeanName
implements InterfaceName {
...
}
UNIVERSIDAD DEL VALLE – SEDE PALMIRA
Programa de Tecnología en Sistemas
Desarrollo de Aplicaciones con
Java Enterprise Edition
Clientes Locales vs Clientes Remotos
●
Decidir entre cliente local o remoto depende de :
–
Fuerte o bajo acomplamiento. Cuando se tiene fuerte
acomplamiento se recomienda el uso de acceso local,
aumentando la eficiencia (performance)
–
Tipos de clientes. Si el enterprise bean es requerido por una
aplicación cliente, se debe definir como remoto.
–
Distribución de componentes. Si los clientes requieren ser
ejecutados en JVM distintas, el enterprise bean debe ser
definido como remoto.
–
Eficiencia (performance) : Factores como latencia de la red,
determinan la factibilidad de definir el EJB como remoto.
Descargar