1 / 37

J2EE – Java 2 Enterprise Edition

J2EE – Java 2 Enterprise Edition. www.javasoft.com. ¿Por qué Java en el servidor?. Ventajas Independencia de la plataforma – portabilidad Gran conjunto de APIs Reusabilidad y modularidad Seguro en la ejecución de código móvil Gratis. ¿Por qué Java en el servidor?. Inconvenientes

shel
Download Presentation

J2EE – Java 2 Enterprise Edition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. J2EE – Java 2 Enterprise Edition www.javasoft.com Aquitectura WEB

  2. ¿Por qué Java en el servidor? • Ventajas • Independencia de la plataforma – portabilidad • Gran conjunto de APIs • Reusabilidad y modularidad • Seguro en la ejecución de código móvil • Gratis

  3. ¿Por qué Java en el servidor? • Inconvenientes • Curva de aprendizaje pronunciada • En el caso de sistemas Web, inadecuado para proyectos pequeños que puedan construirse con una solución simple y rápida.

  4. ¿Qué es J2EE? • Internet y WWW representan el fundamento sobre los cuales se esta construyendo la economía de la información. • La meta de J2EE es definir un estándar que ayude a suplir los retos tecnológicos en esta nueva era. • J2EE soporta aplicaciones distribuidas que toma ventajas de las tecnologías existentes y en desarrollo simplificando el proceso a través de un modelo de aplicaciones basados en componentes. • J2EE soporta aplicaciones desde las C/S corporativas hasta e-commerce con Web en Internet. • Defines estándares que son implementados por distintos proveedores y fabricantes, no fuerza a emplear ningún producto específico. • Máxima interoperabilidad (Web services, IIOP, RMI, etc.).

  5. Plataforma J2EE • “Conjunto de especificaciones y prácticas coordinadas que juntas permiten soluciones para el desarrollo, despliegue y gestión de aplicaciones multicapa centradas en servidor”. • Provee soporte tanto para el lado del servidor como para el lado del cliente para aplicaciones corporativas multi-nivel (multi-tier) • Client-tier: interface de usuario • Middle-tier (1 o más): servicios al cliente y la lógica del negocio para la aplicación. • Backend-tier: gestión de datos

  6. APIs y Especificaciones J2EE • JAXP 1.1 • JCA 1.0 • JAAS 1.0 • XML-RPC • Web Services • JMX (Java Management Extensions) • Etc. En continua revisión y expansión • EJBs 2.1 • JDBC 2.0 • Servlets 2.3 • JSPs 1.2 • JMS 1.0 • JNDI 1.2 • JTA 1.0 • JavaMail 2.0 • JAF 1.0

  7. Entorno J2EE

  8. Gestión de componentes basado en contenedores • De la mano de un modelo basado en componentes esta la noción de contenedor. • Un contenedor provee un ambiente estandarizado de ejecución que provee servicios específicos a componentes. • Por ejemplo todos los contenedores Web proveen soporte para requerimientos de clientes, realizar un procesamiento y retornar los resultados. • Ej.: Todos los contenedores EJB proveen soporte para gestión de transacciones, ciclo de vida, localización y otros servicios. • Los contenedores también poseen acceso a sistemas de información empresarial (RDBMS, JDBC, etc.)

  9. Tecnologías de la plataforma J2EE.Clasificación • Tres categorías: • componentes • servicios • comunicaciones • Componentes: utilizados por desarrolladores para crear partes esenciales de una aplicación empresarial • Utilizados en la interfaz de usuario y lógica del negocio

  10. Tecnologías de componentes • Componente: unidad de software de nivel aplicación • Ej: Javabeans, applets, componentes web, etc. • Los componentes J2EE se ejecutan dentro de su correspondiente contenedor. • El contenedor proporciona los servicios necesarios a los componentes en tiempo de ejecución • Permite declarar en lugar de programar determinados aspectos de comportamiento de los componentes

  11. Contenedores J2EE • Cuatro aspectos: • Contrato de componentes • API de servicio del contenedor • Servicios Declarativos • Otros servicios de contenedores

  12. Contrato de componentes • Los componentes son gestionados por el contenedor. • Para eso, deben cumplir el contrato del contenedor para el tipo de componentes en concreto: conjunto de métodos a implementar por el componente y que permiten al contenedor interactuar con él. • Los contratos son interfaces java.

  13. API del servicio del contenedor • El contenedor aporta una implementación para las APIs de extensión de java. Ejemplo: • Implementa el servicio de JMS ofreciendo al desarrollador • un driver que cumple la especificación • Gestores de colas y apartados

  14. Servicios Declarativos • Algunos de los servicios ofrecidos por el contenedor a los componentes se declaran en lugar de programarse. • La declaración (por ejemplo, especificar que un método tiene que estar inmerso en una transacción) se realiza mediante descriptores de despliegue. • Descriptor de despliegue: Contrato entre el contenedor y el componente.

  15. Otros Servicios • Gestión del ciclo de vida del componente • Reserva de recursos • Publicación de componentes y otros recursos en espacio JNDI • Clustering. • Etc.

  16. Componentes Web • Entidades que sirven respuestas a peticiones http • Normalmente generan interfaces de usuario basadas en Web • Servlets: • Extienden la funcionalidad de un servidor Web • Portables • Se ejecutan en un contenedor de servlets.

  17. Componentes Web • JSP: • Respuesta de Sun a las ASP de Microsoft • Cuando se compilan, generan un servlet. • Son páginas html con código java incrustado.

  18. Componentes Web • Se ejecutan en un contenedor Web: • Contenedor web = contenedor JSPs + contenedor servlets • Proporciona los servicios necesarios para la ejecución de servlets y jsps, y controla su ciclo de vida. • Escucha, decodifica y responde peticiones http/https.

  19. Componentes Enterprise JavaBeans • EJB: Tecnología de servidor para el desarrollo y despliegue de componentes que contienen la lógica de negocio de una aplicación empresarial • Lo EJBs son escalables, transaccionales y seguros en utilización multiusuario.

  20. Componentes Enterprise JavaBeans • Tres tipos: • De sesión, con estado y sin estado • De entidad. • Dirigidos por mensajes. • Contenedores EJB: Proporcionan los servicios de transacciones y persistencia y accede a las APIS de servicios y comunicaciones de J2EE.

  21. Arquitectura J2EE

  22. Servicios plataforma J2ee • Simplifican el desarrollo de aplicaciones poniendo recursos a su disposición • Servicios de nombrado: Proporcionan a las aplicaciones cliente, EJBs y componentes WEB el acceso al entorno de nombrado JNDI. Permite personalizar un componente sin necesidad de acceder o cambiar su código. • Servicios de despliegue: Permiten personalizar los componentes y aplicaciones en el momento del empaquetamiento de despliegue. • Aplicación J2EE = conjunto de unidades omódulos. • Módulo = uno o más componentes J2EE para el mismo tipo de contenedor • En cada módulo, un descriptor de despliegue.

  23. Módulos J2EE • Empaquetan componentes o aplicaciones J2EE. • Tres tipos: • Archivos JAR (Java ARchive) • Archivos WAR (Web Application ARchive) • Archivos EAR (EnterpriseApplication ARchive)

  24. Archivos JAR (Java ARchive) • Permite agrupar distintos archivos java en uno solo. • Sigue el formato ZIP • Incorporado en la versión 1.1 del JDK • Contienen: • Clases java • Recursos que emplean las clases • Es el empleado para empaquetar componentes EJBs, respetando una estructura de directorios

  25. Archivos WAR (Web Application ARchive) • Permiten empaquetar en una sola unidad aplicaciones web java completas. • Servlets y JSPs • Contenido estático • Html • Imágenes • etc.) • Otros recursos web

  26. Archivos EAR (Enterprise Application ARchive) • Archivos desplegables en servidores de aplicaciones J2EE • Contienen • Archivos WAR • EJBs (Empaquetados dentro de ficheros JAR)

  27. Servicios plataforma J2ee • Servicio de transacciones • Operaciones atómicas • Un sistema transaccional garantiza que cada unidad o transacción se termina completamente sin interferencia de otros procesos. • Commit • Rollbak

  28. Servicios plataforma J2ee • Servicio de seguridad • Garantiza que los recursos son accedidos por los usuarios autorizados. Distinguimos: • Autentificación • Autorización • Técnicas • Declarativa • Programática

  29. Tecnologías de servicios • API JDBC • Proporciona conectividad independiente de la base de datos entre la plataforma J2EE y un amplio rango de orígenes de datos • JAXP • Soporta el procesamiento de documentos XML mediante DOM y SAX, y transformaciones XSLT.

  30. Tecnologías de servicios • JNDI • Proporciona acceso a servicio de nombrado y directorio • Independiente de implementaciones específicas (LDAP, NIS, etc.). • JCA • API estándar para la conexión de la plataforma J2EE a otros sistemas de información, ej: SAP.

  31. Tecnologías de servicios • JTA (Java Transaction API) • API estándar para el acceso a los monitores transaccionales con independencia de implementaciones específicas. • JTS (Java Transaction Service). • Especificación para la implementación de un gestor de transacciones que soporte JCA. Impone como debe comunicarse un monitor transaccional con sus clientes.

  32. Tecnologías de comunicaciones • Mecanismos de comunicación, implementaciones de protocolos. • Protocolos de Internet • TCP/IP, http, SSL • Protocolos de invocación remota • Protocolos OMG • Java IDL • RMI-IIOP

  33. Tecnologías de comunicaciones • Tecnologías de mensajería. • JMS • JavaMail. Conjunto de clases e interfaces para el acceso a servidores de email. Ej, POP3, SMTP, IMAP4.

  34. Servicios WEB • “Son aplicaciones modulares autodescriptivas que se pueden publicar, ubicar e invocar desde cualquier punto de la Web o desde el interior de una red local basada en estándares abiertos de Internet” • Multiplataforma multilenguaje, tanto para el proveedor del servicio como para el usuario del mismo • El acceso a servicios web se realiza a través de protocolos de Internet como HTTP o SMTP basados en XML

  35. Servicios WEB

  36. Arquitectura Servicios WEB • Localización • UDDI (Universal Description Discovery and integration): Medio para la publicación de servicios web en los registros de servicios web. • Las empresas publican en los registros los servicios que ofrecen y la información técnica para acceder a ellos. • XML, http, DNS, SOAP.

  37. Arquitectura Servicios WEB • Descripción • WSDL (Web Services Definition Languge) • Define y describe los servicios web • SOAP, XML. • Invocación • SOAP (Simple Object Acceso Protocol) • XML • Formatos de mensajes para encapsula invocaciones a objetos en XML • Puede emplear distintos protocolos de Internet para el transporte (SMTP, http, etc.

More Related