Plataforma J2EE. Antonio Vega Eligio Profesor: Dr. Mauricio J. Procel Moreno 31 de Octubre de 2008

Documentos relacionados
JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

Aplicaciones web construidas a base de componentes:

JavaEE.

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Oracle 10g: Creación de Aplicaciones J2EE

APLICACIONES DE INTERNET: SOAP

Tema 1. Introducción a Java EE

5 Aplicaciones empresariales con tecnología java EE.

Generador GeneXus JAVA

[CASI v.0109] Pág. 1

Introducción al Desarrollo de Aplicaciones Empresariales

Tema 3. Plataforma Java EE

Panorámica de la asignatura

Presentación J2EE. Sesión 1: Introducción a las tecnologías J2EE. Especialista en Aplicaciones y Servicios Web con Java Enterprise.

Caso J2EE. Necesidades del negocio. Arquitectura Luther

Servidores De Aplicaciones Java EE.

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8

'HVDUUROORGH$SOLFDFLRQHV

Parte I: Introducción al Java 2 Enterprise Edition

INTRODUCCIÓN A JAVA EE

5. Modelos de Sistemas Distribuidos

Técnico Superior en Programación con Java SE Standard Edition

Notas técnicas de JAVA Nro. 7 Tip Breve

Curso: Programación con JAVA SE Estándar Edition.

Desarrollo de Aplicaciones web con JPA, EJB, JSF y PrimeFaces

Instalación de Servidor de Aplicaciones - JBoss. Por: Carlos Carreño V. ccarreno@jbossperu.org

Tema 3.1: Introducción a Servicios Web

Introducción a los EJBs

J2EE UNIVERSIDAD CATOLICA NUESTRA SEÑORA DE LA ASUNCIÓN. Facultad de Ciencias y Tecnología. Trabajo Practico TAI 2

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

Desarrollo y servicios web Sesión 18

Introducción a las arquitecturas de componentes y a Java EE

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1

4 Encuentro Internacional de Computación Aplicada

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA Características

Facultad de Sistemas e Informática

Curso JAVA EE

JAVA 2 ENTERPRISE EDITION

Capítulo III. Análisis y diseño.

Aplicación TESTS. Diseño de aplicaciones utilizando la plataforma J2EE TM. Ing. Javier Alfredo Voos

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Desarrollo de Software con

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

Cómo puede ayudarle JBuilder en sus Desarrollos Java?

I. INTRODUCCIÓN II. CONCEPTOS. Algunos de los conceptos que se manejan dentro del DSBCse exponen a continuación:

Descripción de Arquitectura Repositorio de metadatos de componentes de software

CAPÍTULO 1 EL DESARROLLO DE APLICACIONES EMPRESARIALES

Componentes y Middleware. Arquitectura de Software Componentes y Middleware [1] Stakeholders. Sobre el informe. Calidad según los stakeholders

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Arquitectura de Software Componentes y Middleware [1] Componentes y Middleware. Sobre el informe

Universidad Tecnológica Nacional FRC DIPLOMATURA SUPERIOR en Desarrollo bajo Plataforma Java EE

Taller de Sistemas de Información 2. Introducción a la plataforma Java Empresarial

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

UNIVERSIDAD DE PIURA

UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Aplicaciones J2EE. Repasamos. Tres tipos de aplicaciones. Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales

PROGRAMACIÓN VISUAL ANALISTA PROGRAMADOR UNIVERSITARIO FAC DE INGENIERIA - PLAN 2008 AÑO 2010

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

CAPITULO 4. Este proyecto esta desarrollado en una arquitectura multicapa mediante el. estándar Java 2 Enterprice Edition o J2EE, con tecnologías como

Enterprise JavaBeans

CAPÍTULO 1. MI PRIMERA APLICACIÓN...

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California

Tema 1: Introducción a las Tecnologías Java

TEMARIO. 4-Servlet Definición de servlet El Web Container y el ciclo de vida de los servlets El ciclo request- response.

Programa de Actualización Profesional Curso: Java Avanzado JEE7 Programa del Curso

Tema 1: Introducción a Java EE

<HTML> <IMG src= logo.gif > </HTML> Lógica de negocio. Dsfg dsfg sdfg. Sdfgdfg dfg Dsf gsdfg sdfg. Dfg. Sdfgdfg dfg. Dfg. Dsf gsdfg sdfg.

Soluciones BYOD para el aula. 24.Febrero.2016

CAPITULO 5 RESULTADOS Y CONCLUSIONES

Servicios Web. Capítulo 4: Tecnologías Web. Pedro Álvarez José Ángel Bañares

CentralTECH JAVA EE 7 Desarrollo


Objetos Distribuidos - Componentes. Middleware

ITINERARIOS INTEGRADOS DE INSERCIÓN LABORAL (i 3 L)

MARCANDO LA DIFERENCIA

Diplomado Java Web Programming with Servlets, JSP, JSF & Ajax

Proyecto BDP / PAD BASE DE DATOS DE PERSONAS PERSONALIDAD ADMINISTRATIVA DIGITAL

Developing ASP.NET MVC 4 Web Applications

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA

Diplomado Programming Java (JSE & JEE) with Oracle 10g

Desarrollo de Software con

5.1 Introducción a Servicios Web

Reutilización de software

Enterprise JavaBeans 3. Aplicaciones Distribuidas

5 C A P I T U L O. Programacion orientada a objetos con Java. 5.1 Introduccion a Java Caracteristicas

Guayaquil - Ecuador Pedro Carbo 123 y Junín. Pasaje Comercial la Merced. 2do Piso. Oficina 2. Teléfonos: (593) (04) Mail.

Web Services. Richard Rossel 23 de noviembre de Web Services

FUJITSU Java Development Framework

Arquitectura de aplicaciones

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V

Técnicas Avanzadas para Gestión de Sistemas de Información. Tarea obligatoria sobre: Tecnologías para Sistemas de Información

Desarrollo de Aplicaciones Web con Eclipse

Especialista TIC en Programación con JAVA 8 SE Standard Edition (Online)

Especialista TIC en Programación con JAVA 8 SE Standard Edition (Online)

Transcripción:

Plataforma J2EE. Tecnologías que la componen. Roles en la plataforma. Servicios de la plataforma. Tecnologías de servicio. Tecnologías de comunicación. Antonio Vega Eligio Profesor: Dr. Mauricio J. Procel Moreno 31 de Octubre de 2008

Tecnologías de la plataforma J2EE. Java 2 Enterprise Edition, puede proporcionar características que distinguen a una implementación de otra, como por ejemplo: facilidad de desarrollo o mejor desempeño. El nivel de abstracción que proporciona J2EE permite que sean desarrollados, explicados y examinados temas comunes. O bien que sean desarrolladas ciertas pautas de diseño. Java BluePrints es una guía de mejores prácticas para desarrollar en la plataforma J2EE, Java BluePrints se refiere al manejo de conceptos mencionados, BluePrints responde preguntas como:

Guía de mejores prácticas Java Blueprints. Cuál es la mejor manera de utilizar un componente J2EE? Donde tiene sentido utilizar Servlets y donde JSP? Cual es la mejor manera de distribuir la lógica de negocios entre Beans de sesión y de entidad? Como elegir entre persistencia administrada por Contenedor o por Bean, cuando se usan Beans de entidad? Cuales son sacrificios de diseño y rendimiento cuando se escoge entre una arquitectura distribuida y otra basada en interfaces locales? En temas de seguridad, como se diseñan aplicaciones distribuidas accesibles a usuarios que las necesitan e inaccesibles para intrusos?

Java Blueprints. La arquitectura J2EE define un nivel o capa de cliente, una capa intermedia (que consiste en una o más capas intermedias) y una capa de servidor. La primera capa puede estar dentro o fuera de una pared de fuego corporativa (Firewall), la segunda contiene la lógica de negocio a través de contenedores Web o contenedores JavaBeans, la capa final contiene los Enterprise Information Systems y generalmente es accesible mediante APIs o programas interfaces de aplicaciones.

Contenedores. Ambientes de tiempo de ejecución que proporcionan servicios específicos a diversos componentes del sistema como: Responder peticiones de clientes, procesar requerimientos de ejecución de tareas (invocar Servlets o JSPs), regresar resultados al cliente, proporcionar APIs para manejos de sesión, administración de transacciones y objetos en ejecución, acceso estandarizado a sistemas de información corporativos, como por ejemplo el uso de JDBC, etc. Proporcionan mecanismos de comportamiento requerido de aplicaciones durante el ensamble o instalación / liberación (deployment), por medio del uso de descriptores de instalación (archivos XML con el comportamiento de los componentes y del contenedor) en vez de hacerlo al nivel de código de componente.

Contenedores. El diseñador de aplicaciones trabaja directamente con la lógica de negocio por medio de los EJBs y las complejidades de entrega de confiabilidad y escalabilidad de servicio son manejadas por el contenedor. Cuando un componente se libera en un contenedor, como el mismo administra los servicios, el comportamiento puede ser configurado declarativamente con archivos de configuración de la liberación. Por ejemplo, un proveedor de componentes de aplicación puede especificar un nombre abstracto de una base de datos que un componente Enterprise JavaBeans necesita acceder y el instalador (deployer) ligará ese nombre con la información necesaria para acceder la base de datos (como el usuario y la palabra de paso).

Tecnologías de plataforma J2EE. J2EE especifica tecnologías para dar soporte a aplicaciones empresariales multicapa. Existen 3 categorías: Componentes, Servicios y Comunicación. Connector EIS Tier

Contenedores-Componentes- Servicios.

Componentes. Utilizados por desarrolladores para crear la interfaz de usuario y la lógica de negocio. Unidad de software al nivel de aplicación: JavaBeans, Applets, Clientes de aplicación, Enterprise JavaBeans, componentes Web (Servlet, JSP) y componentes adaptadores de recursos. Ejecución. Plataforma cliente - Applets y aplicaciones cliente. Plataforma servidor - EJBs, Componentes Web y Adaptadores de recursos. Desarrolladores y arquitectos - Componentes J2EE. Proveedores EIS - Componentes adaptadores de recursos.

Clientes J2EE. Applets. Ejecutados en navegadores Web, Se comunican por medio de HTTP. Aplicaciones cliente. Tienen su propio contenedor (librerías propias de tiempo de ejecución). El contenedor-cliente usa RMI-IIOP(Remote Method Invocation - Internet Inter-Object Request Broker Protocol) para comunicarse con un servidor EJB. Tiene acceso directo a JNDI (Java Naming and Directory Interface), JDBC ( Java Database Connectivity). Clientes enriquecidos Java Web Start. Clientes autónomos basados en APIs Java Foundation Classes JFC/Swing, enriquecidos gráficamente, utilizan XML sobre HTTPS, para comunicarse con el servidor EJB.

Componentes Web. Soportados por contenedores Web. Un componente Web proporciona respuesta a requerimientos, usualmente generan la interfaz de usuario en una aplicación Web. Servlet. Es código Java. Extiende la funcionalidad de un servidor Web. Necesita de un contenedor (run-time) para ejecutarse. El servidor Web mapea la ejecución de un Servlet a una URL a través del protocolo HTTP. Cuando un Servlet recibe un requerimiento, devuelve una respuesta en formato XML o HTML. Se pueden comunicar con otros Servlets, refuerzan la seguridad de la capa Web.

Componentes Web. JSP. Java Server Page. Se usa para generar contenido dinámico en un cliente Web. Es un documento de texto que describe como procesar un requerimiento para crear una respuesta. Una página JSP usualmente contiene: Una plantilla para formatear el documento Web (XML o HTML). Este contenido es estático. Elementos JSP y scripts para generar contenido dinámico. La mayoría de páginas JSP usan componentes JavaBeans o Enterprise JavaBeans para ejecutar procesamiento complejo. Su funcionalidad se puede extender por medio de acciones configurables, o etiquetas que se encapsulan en librerías de etiquetas.

Componentes EJB. Tecnología del lado del servidor. Ejecutados dentro de contenedores EJB que proveen servicios de transacción y persistencia. Contienen la lógica de negocio de una aplicación empresarial. Son escalables, transaccionales y manejan seguridad multi-usuario. Existen tres tipos de EJBs: EJBs de Entidad (Entity EJBs): Su objetivo es encapsular como un objeto en el lado del servidor una representación de datos. Están enfocados al uso de datos, son objetos que representan datos almacenados en alguna fuente.

Componentes EJB. Los EJBs de entidad presentan la característica fundamental de la persistencia: Persistencia gestionada por el Contenedor (CMP): El Contenedor se encarga de almacenar y recuperar los datos del objeto de entidad mediante el mapeo de una tabla de la base de datos. Persistencia gestionada por el Bean (BMP): el propio objeto entidad se encarga, mediante una base de datos u otro mecanismo, de almacenar y recuperar los datos a los que se refiere, la responsabilidad de implementar los mecanismos de persistencia es del programador. En JEE 5, los Entity Beans son reemplazados por JPA (Java Persistence Api).

Componentes EJB. EJBs de Sesión (Session EJBs): gestionan el flujo de la información en el servidor. Generalmente sirven a los clientes como una fachada de los servicios proporcionados por otros componentes disponibles en el servidor (procesar en el servidor en representación del cliente). Puede haber dos tipos: Con estado (statefull). Objetos distribuidos que poseen un estado. El estado no es persistente, pero el acceso al Bean se limita a un solo cliente. Sin estado (stateless). Objetos distribuidos que carecen de estado asociado, esto es: se les puede acceder concurrentemente. Los contenidos de las variables de instancia entre llamadas al método no se garantizan.

Componentes EJB. EJBs dirigidos por mensajes (Message-driven EJBs): son los únicos Beans con funcionamiento asíncrono. Usando el Java Messaging System (JMS), se suscriben a un tema (topic) o a una cola (queue) y se activan al recibir un mensaje dirigido a dicho tema o cola. No requieren ser creados por parte del cliente. Los EJBs requieren para su ejecución del ambiente proporcionado por el contenedor, el cuál les da acceso a todas las APIs y servicios disponibles en la plataforma J2EE.

APIs Disponibles por contenedor. API Applet Application Client Web EJB JDBC 2.0 Extension N Y Y Y JTA 1.0 N N Y Y JNDI 1.2 N Y Y Y Servlet 2.3 N N Y N JSP 1.2 N N Y N EJB 2.0 N Y API Cliente Y API Cliente Y RMI-IIOP 1.0 N Y Y Y JMS 1.0 N Y Y Y JavaMail 1.2 N N Y Y JAF 1.0 N N Y Y JAXP 1.1 N Y Y Y JAAS 1.0 N Y Y Y Connector 1.0 N N Y Y

Roles en la plataforma J2EE. La plataforma define diferentes roles durante el proceso de desarrollo y de instalación. Proveedor de producto J2EE. Proveedor de componentes de aplicación. Ensamblador de aplicación. Instalador / Implementador / Liberador. Administrador de sistema. Proveedor de herramientas o utilerías. Hay roles comunes a todos los sistemas, otros más específicos a J2EE. Ayudan a identificar quién debe de hacer qué durante la construcción de una aplicación.

Roles en la plataforma J2EE. Proveedor de producto J2EE. Proveedor de Sistema Operativo, manejador de Base de datos, Servidor de aplicaciones Web Proveedor de componentes de aplicación. Programadores Java expertos. Ensamblador de aplicación. Especialista por industria. Se encarga de ensamblar aplicaciones a partir de componentes por medio de descriptores. Identifica dependencias externas. Instalador / Implementador. Experto en un determinado ambiente operacional. Instala componentes de la aplicación en un servidor J2EE

Roles en la plataforma J2EE. Administrador de sistema. Responsable de administrar infraestructura de computo y de red de una empresa. Debe vigilar el buen estado de las aplicaciones J2EE. Proveedor de herramientas o utilerías. Proporciona herramientas para desarrollo o empacado de los componentes de una aplicación. Proporciona también herramientas administrativas y de monitoreo de aplicaciones.

Servicios de la plataforma J2EE. Simplifican la programación de un aplicativo y permiten que las aplicaciones y componentes sean configurados durante la instalación, para utilizar recursos del ambiente donde se instalan. Servicio de nombres. Proporciona acceso a los componentes J2EE al ambiente de nombres JNDI. La API permite asociar un nombre a objetos o recursos, y con este se pueden acceder, modificar sus atributos o referenciar sin necesidad de preocuparse por su ubicación física real. Servicios de desplegado / liberación. Permiten que los aplicativos y componentes puedan ser configurados al momento de ser empacados, instalados, liberados o publicados. Basados en XML.

Servicios de la plataforma J2EE. Unidades de desplegado / liberación. Una aplicación consiste en uno o más módulos J2EE y un descriptor de liberación que contiene la lista de módulos e información acerca de cómo configurar la aplicación. Aplicación J2EE: Uno o más Archivos JAR (módulos norar), junto con cero o más archivos de recursos RAR empacados en un archivo EAR Enterprise Archive extensión ear. Un módulo J2EE: Uno o más componentes J2EE del mismo tipo de contenedor y un archivo descriptor de liberación de componentes de este tipo.

Servicios de la plataforma J2EE. Módulos EJB. (Archivos class de Componentes EJB, y un descriptor EJB de liberación empacados en un archivo JAR con extensión jar) Módulos Web. (Archivos JSP, class de Servlets, GIF, HTML y un descriptor Web de liberación empacados en un archivo JAR con extensión war) Módulos adaptadores de recursos. (interfaces Java, clases, librerías nativas, conectores para aplicativos EIS y otra documentación junto con un descriptor de liberación de adaptador de recursos empacados en un archivo JAR con extensión rar) Módulos de aplicaciones cliente. (Archivos class y un descriptor de liberación del cliente, Empacados en archivo JAR con extensión jar)

Servicios de transacción. Una transacción divide una aplicación en unidades indivisibles de trabajo. Un sistema que soporta transacciones se asegura que cada una de ellas se ejecute completamente sin interferencia de otros procesos. Si la transacción se completa entonces esta es aceptada (commit), en caso contrario se deshace (roll back) cualquier tarea parcial ejecutada hasta el momento de la interrupción. La API que maneja transacciones para componentes EJB en J2EE es JTA, por medio de interfaces de definición y administración de las mismas.

Servicios de transacción. En componentes Web se utiliza la interfase javax.transaction.usertransaction para manejar de manera limitada transacciones. En particular para las características de propagación de la transacción al cliente y aislamiento de estados. Las transacciones EJB pueden ser administradas por el Bean o bien administradas por el contenedor.

Servicios de Seguridad. El control de acceso involucra 2 pasos: Autenticación. Un cliente se autentica proporcionando datos como usuario y palabra de paso. Una entidad que puede ser autenticada es llamada principal. Una principal puede ser un usuario o un programa. Autorización. Una vez autenticada una principal el sistema determina si la misma puede o no acceder determinados recursos.

Servicios de Seguridad. Principales servicios de seguridad de J2EE: Metodologías de seguridad. De manera externa al aplicativo o dentro de los programas. Autenticación. En diferentes formas: Básica, Digest (con password encriptado), basada en formas, certificado de autenticación. Autorización. Basada en roles de seguridad. La API que proporciona servicios de autenticación y seguridad es: Java Authentication and Authorization Services (JAAS).

Servicios de Tecnología. Permiten acceder servicios de una manera uniforme. Algunos ejemplos de APIs son: JDBC. Proporciona conectividad entre J2EE y bases de datos independientes. Java Transaction API (JTA). Permite acceder transacciones de manera independiente a su implementación. Java Naming and Directory Interface(JNDI). Servicio de nombre y de directorio.

Servicios de Tecnología. Arquitectura J2EE connector. Conexión a servicios EIS como CICS Customer Information Control System (mainframe IBM con sistema operativo Z Series o OS/ESA), SAP, Aplicativos heredados o bases de datos no relacionales (como IMS Information Management System de International Business Machines). Java API for XML Processing (JAXP). Soporta el manejo de documentos XML usando el Document Object Model.

Tecnologías de comunicación J2EE. Estas tecnologías proporcionan mecanismos de comunicación entre clientes, servidores y objetos colaboradores, alojados en servidores de distintas plataformas. J2EE requiere soporte para los siguientes protocolos: Protocolos de Internet Protocolos de invocación remota RMI. Protocolos de administración de objetos OMG (Organismo Internacional). Tecnologías de mensajería. Formatos de datos.

Protocolos de Internet. TCP/IP. Proporcionan entrega confiable de paquetes de datos de una computadora a otra. IP se encarga de la transmisión errática de paquetes y TCP agrega elementos de ensamblado y de control de errores. HTTP 1.0 Utilizado para obtener objetos hipertexto en servidores remotos, los mensajes HTTP consisten en peticiones y respuesta a las mismas. SSL 3.0 Conexión de capa segura. Proporciona privacidad (contra espías o intervención) al comunicar datos por la Internet.

Protocolos RMI. Método de invocación remota, conjunto de APIs que permiten a los desarrolladores construir aplicaciones distribuidas en lenguaje Java. Por medio de interfaces en Java se definen objetos remotos. Se usa tecnología de serialización de objetos y el protocolo de método remoto de Java (JRMP), para convertir invocaciones locales a métodos en invocaciones remotas. La plataforma J2EE soporta el JRMP, que es el mecanismo de comunicación entre objetos en Java en diferentes ambientes o servidores.

Protocolos de administración de objetos OMG. OMG.- Organismo internacional autor de la especificación CORBA. Los protocolos OMG permiten que objetos alojados en la plataforma J2EE puedan acceder objetos en servidores remotos (o al revés) utilizando Common Object Request Broker Architecture CORBA. Los objetos CORBA se definen usando Interface Definition Language (IDL). El proveedor del objeto remoto define la interfaz del mismo en IDL, lo compila en IDL para generar una pseudo especificación del cliente y el servidor. La misma conecta las implementaciones del objeto a un agente de requisición de objetos ORB (Object Request Broker), librería que habilita a objetos CORBA a localizarse y comunicarse entre ellos. Los ORBs se comunican entre ellos usando el protocolo Internet Inter-ORB (IIOP). J2EE necesita de tecnologías CORBA: Java IDL (clientes Java invocando objetos CORBA) y RMI-IIOP (Interfaces remotas en Java por parte de proveedores).

Tecnologías de mensajería. Proporcionan soporte para envío y recepción asíncronos de mensajes, las APIs que dan soporte al envío de mensajes son: Java Message Service JMS. Java Mail API. JMS proporciona interfaz de acceso a aplicaciones de mensajería empresariales como MQ Series de IBM o TIBCO Rendezvous. Los mensajes JMS contienen información definida para acciones específicas de negocio. La API soporta mensajería en estilos punto-a-punto o de publicación-subscripción. Punto-a-punto se basa en el manejo de colas, o bandejas de entrada.

JMS - JavaMail. En JMS modalidad publicar-suscribir los clientes publican mensajes para suscribirse a nodos de contenido jerárquico, llamados tópicos (asunto). Un tópico puede ser pensado como un agente que administra mensajes que son direccionados a él: los colecta y los distribuye a los suscriptores, la comunicación es de muchos a muchos, algún cliente publica un mensaje que es recibido por uno o varios servidores/clientes suscritos al tópico/tema. JavaMail es una API que proporciona un conjunto de clases abstractas que forman un sistema electrónico de correo. Las mismas soportan almacenamiento de correo, formato y transporte. Se incluye la implementación de varios protocolos de correo-e, dando soporte a diversos sistemas de mensajes como IMAP4, POP2 y SMTP.

JavaMail. JavaBeans Activation Framework (JAF). Esta API integra soporte en la plataforma J2EE para MIME: Multipurpose Internet Mail Extensions que son convenciones para intercambiar diferentes tipos de archivos (texto, audio, video) a través de la Internet. Los componentes Java pueden ser especificados para operar con datos MIME, es decir leerlos o editarlos. La API JAF es utilizada por la API JavaMail para manejar los datos incluidos en los correos.

JavaMail. Formatos de datos: J2EE requiere soporte para los siguientes tipos de datos: HTML 3.2. Documentos de hipertexto. Archivos de imagen. GIF Graphic Interchange Format y JPEG Joint Photographic Experts Group. Archivos JAR. Archivos con formato de archivero (archive) que es independiente a la plataforma y se compone de muchos archivos agregados (concepto similar al resultado de archivos comprimidos/empacados en formato zip). Archivo class. Código Java pseudo-compilado (bytecode). XML. Lenguaje de texto etiquetado, donde los datos se identifican/describen con marcas o etiquetas.

Resumen J2EE. J2EE Es un conjunto de componentes en diversas tecnologías: Enterprise JavaBeans, JavaServer Pages, y Java Servlets que simplifican el proceso para desarrollar aplicaciones empresariales. J2EE proporciona servicios al nivel de sistema, que simplifican la programación y permiten que los componentes creados sean configurados para usar los recursos disponibles en el ambiente sobre el cual se van a liberar (deploy). Junto con los componentes J2EE, la plataforma proporciona APIs (Application Program Interface / Interfaz de Programa Aplicativo) que permiten a los componentes acceder a servicios remotos y mecanismos de comunicación entre clientes-servidores-objetos colaboradores alojados en otros servidores.

J2EE. El contenedor de EJBs para Tomcat es OpenEJB, una vez integrado el plugin a Tomcat y este a NetBeans, se puede crear un proyecto J2EE. Dependiendo de la naturaleza del proyecto, Otras APIs mencionadas deberían ser agregadas. Otro servidor que soporta EJB Beans es JBoss.

Descriptor ejb-jar.xml META-INF/ejb-jar.xml (Documento XML de Liberación/Despliegue) <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> <ejb-jar > <description><![cdata[no Description.]]></description> <display-name>generated by XDoclet</display-name> <enterprise-beans> <session> </session> <entity> <description>extremely Simple Entity Bean, models a person</description> <ejb-name>helloentity</ejb-name> <home>helloentityhome</home> <remote>helloentity</remote> <ejb-class>helloentityejb</ejb-class> <persistence-type>container</persistence-type> <prim-key-class>java.lang.string</prim-key-class> <primkey-field>name</primkey-field> <reentrant>false</reentrant> <cmp-field><field-name>name</field-name></cmp-field> <cmp-field><field-name>email</field-name></cmp-field> </entity> <message-driven> </message-driven> </enterprise-beans>. </ejb-jar> En él se dan de alta y declaran EJBs, Parámetros de contexto, Relaciones, Políticas transaccionales, etc.

Gracias.