Enterprise JavaBeans
De Wikipedia, la enciclopedia libre
Saltar a navegación, búsqueda
Enterprise JavaBeans
Desarrollador
Oracle - Sun Microsystems
http://java.sun.com/products/ejb/
Información general
Última versión estable 3.5
Género Aplicaciones de Negocio
Escrito en Java
Sistema operativo Máquina virtual Java
Licencia Open Source
Idiomas Todos
En español
Arquitectura básica de EJB2Los Enterprise JavaBeans (también conocidos por sus siglas EJB) son una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE 5.0) de Oracle Corporation (inicialmente desarrollado por Sun Microsystems). Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor que son, precisamente, los EJB:
Comunicación remota utilizando CORBA
Transacciones
Control de la concurrencia
Eventos utilizando JMS (Java messaging service)
Servicios de nombres y de directorio
Seguridad
Ubicación de componentes en un servidor de aplicaciones.
La especificación de EJB define los papeles jugados por el contenedor de EJB y los EJB, además de disponer los EJB en un contenedor.
Definición
Los EJB proporcionan un modelo de componentes distribuido estándar del lado del servidor. El objetivo de los EJB es dotar al programador de un modelo que le permita abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia, seguridad, etc.) para centrarse en el desarrollo de la lógica de negocio en sí
cliente.
[editar] Funcionamiento de un Enterprise JavaBean
Los EJBs se disponen en un contenedor EJB dentro del servidor de aplicaciones. La especificación describe cómo el EJB interactúa con su contenedor y cómo el código cliente interactúa con la combinación del EJB y el contenedor.
Cada EJB debe facilitar una clase de implementación Java y dos interfaces Java. El contenedor EJB creará instancias de la clase de implementación Java para facilitar la implementación EJB. Las interfaces Java son utilizadas por el código cliente del EJB. Las dos interfaces, conocidas como interfaz "home" e interfaz remota, especifican las firmas de los métodos remotos del EJB. Los métodos remotos se dividen en dos grupos:
métodos que no están ligados a una instancia específica, por ejemplo aquellos utilizados para crear una instancia EJB o para encontrar una entidad EJB existente. Estos métodos se declaran en la interfaz "home".
métodos ligados a una instancia específica. Se ubican en la interfaz remota.
Dado que se trata simplemente de interfaces Java y no de clases concretas, el contenedor EJB genera clases para esas interfaces que actuarán como un proxy en el cliente. El cliente invoca un método en los proxies generados que a su vez sitúa los argumentos método en un mensaje y envía dicho mensaje al servidor EJB. Los proxies usan RMI-IIOP para comunicarse con el servidor EJB.
El servidor llamará a un método correspondiente a una instancia de la clase de implementación Java para manejar la llamada del método remoto.
[editar] Interfaz "Home"
La interfaz "Home" permite al código cliente manipular métodos de clase del EJB que no están asociados a ninguna instancia particular. La Interface "Home" permite crear las instancias de EJB de entidad o sesión a través del método create que puede ser sobrecargado.
La especificación EJB 1.1 establece el tipo de métodos de clase que se pueden definir como métodos que crean un EJB o para encontrar un EJB existente si es un "bean" de entidad.
La especificación EJB 2.0 permite a los desarrolladores de aplicaciones definir nuevos métodos de clase sin limitarse a su sola creación o borrado.
[editar] Interfaz remota
La interfaz remota especifica los métodos de instancia públicos encargados de realizar las operaciones.
Una sesión bean puede implementar múltiples interfaces, con cada interfaz apuntada por un tipo de cliente diferente. La interfaz local es para aquellos clientes que corren en la misma máquina virtual que el contenedor EJB. La interfaz remota es para clientes remotos. Frente a una consulta del cliente, el contenedor retorna un stub serializado del objeto que implementa la interfaz remota. El stub conoce cómo pasar llamadas a procedimientos remotos (RPCs) al servidor. Este tipo de interfaz es también un POJO.
[editar] Clase de implementación EJB
Las clases de implementación EJB las suministran los desarrolladores de aplicaciones, que facilitan la lógica de negocio ("business logic") o mantienen los datos ("business data") de la interfaz de objeto, esto es, implementan todos los métodos especificados por la interfaz remota y, posiblemente, algunos de los especificados por la interfaz "home".
[editar] Correspondencia entre métodos de interfaz y métodos de implementación
Las llamadas al método en la interfaz "home" se remiten al método correspondiente de la clase de implementación del bean con el prefijo 'ejb' añadido y con la primera letra de la interfaz "home" convertida en mayúscula y manteniendo exactamente el mismo tipo de argumentos. Por ejemplo:
create ---> ejbCreate.
Las llamadas a métodos en la interfaz remota se remiten al método de implementación correspondiente del mismo nombre y argumentos en la clase del bean.
La complejidad ciclomática de las unidades semánticas de navegación (Navigation Semantic Unit (NSU)) no cumplen el estándar UML 2.0 que recomienda el uso de screen shots sobre componentes programáticos.
File Transfer ProtocolFTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de Archivos) en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.
Historia
En 1968, nació ARPANET (Ver Historia de Internet) como una pequeña red de pocos ordenadores que transmitían información de unos a otros mediante paquetes conmutados (lo que sería en el futuro Internet), y tres años más tarde un grupo de investigadores del MIT presentó la propuesta del primer "Protocolo para la transmisión de archivos en Internet" (RFC 114). Era un protocolo muy sencillo basado en el sistema de correo electrónico pero sentó las bases para el futuro protocolo de transmisión de archivos (FTP).
En 1985, quince años después de la primera propuesta, se termina el desarrollo del aún vigente protocolo para la transmisión de archivos en Internet (FTP), basado en la filosofía de cliente-servidor.
El gran boom de Internet se produce en 1995. Este año puede ser considerado como el nacimiento de la Internet comercial. Desde ese momento su crecimiento ha superado todas las expectativas. En este año la World Wide Web supera a FTP transformándose en el servicio preferido de la red, después de que el año anterior superase en popularidad a Telnet.
(junio de 1997) que propone extensiones de seguridad y la RFC 2428 (septiembre de1998) que añade soporte para IPv6 y define un nuevo tipo de modo pasivo.
[editar] El Modelo FTP
El siguiente modelo representa el diagrama de un servicio FTP.En el modelo, el intérprete de protocolo (PI) de usuario, inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el PI de usuario y se transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían desde el PI del servidor al PI de usuario por la conexión de control como respuesta a las órdenes.
Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos (almacenar, recuperar, añadir, borrar, etc.). El proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexión al puerto de datos especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros que se hayan especificado.
Vemos también en el diagrama que la comunicación entre cliente y servidor es independiente del sistema de archivos utilizado en cada computadora, de manera que no importa que sus sistemas operativos sean distintos, porque las entidades que se comunican entre sí son los PI y los DTP, que usan el mismo protocolo estandarizado: el FTP.
También hay que destacar que la conexión de datos es bidireccional, es decir, se puede usar simultáneamente para enviar y para recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP.
Servidor FTP
Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.
Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.
No hay comentarios:
Publicar un comentario