Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu es Java EE?
Anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE, hasta la versin 1.4. Posteriormente, JEE 5 y JEE 6 Surge del grupo de trabajo JCP (Java Community Process) auspiciado por Sun Microsystems con el nimo de desarrollar un estndar para las APIs empresariales demandadas. Es una arquitectura abierta que permite desarrollar, desplegar y mantener aplicaciones distribuidas basadas en componentes y centradas en el lado del servidor.
La plataforma Java
Dispositivos mviles
Mquinas de escritorio
Servidores
Umesh Bellur
Son unidades de software independientes que pueden ser reutilizadas en mltiples aplicaciones. En muchas ocasiones representan abstracciones del mundo real pertenecientes al dominio del problema. Pueden interactuar y comunicarse con otros componentes a travs de canales bien definidos. Cada componente atiende a una responsabilidad funcional concreta.
Los desarrolladores de software se percatan de la falta de flexibilidad e interoperabilidad de las aplicaciones clsicas en los entornos de red.
Hubo que plantearse romper el carcter monoltico del software empresarial mediante la estructuracin en varias capas o niveles independientes, cada uno con un propsito especfico y ensamblado a partir de componentes reutilizables. Producto de esta necesidad surgen varias arquitecturas multinivel distribuidas: CORBA (Common Object Request Broker Architecture), DCOM(Distributed Component Object Model)/Active X/.NET, EJB (Enterprise Java Beans)
Heterognea: Debe permitir mltiples sistemas operativos y lenguajes de desarrollo y la interconexin con otras plataformas. Fiable: Tiene que dar la confianza de que cumplir su cometido. Segura: Debe controlar el acceso, la autorizacin y el transporte. Robusta: Debe ser tolerante a fallos. Escalable: Tiene que facilitar la ampliacin y modificacin necesarias Alta disponibilidad: Debe ser fcil su adquisicin y aprendizaje. Fcil mantenimiento: Debe ser fcil mantener el sistema mediante la actualizacin de sus componentes.
Arquitectura Java EE
Modelo de Capas
Arquitectura Java EE
Qu es un contenedor?
Un contenedor es la implementacin de la interfaz (contrato) entre un componente y el sistema de nivel inferior que le da soporte. Este contrato especifica un entorno de ejecucin para los componentes que incluye persistencia, seguridad, concurrencia, monitorizacin, gestin del ciclo de vida, operacin, despliegue y otros servicios. Un contenedor Web maneja la ejecucin de las pginas JSP y componentes Servlet . Un contenedor EJB maneja la ejecucin de los Enterprise Java Beans. El Servidor de Aplicaciones se compone de: un servidor de pginas Web, un contenedor Web" y un contenedor EJB, aunque no todos son Fully JEE Compliant.
Arquitectura Java EE
Servicios Java EE
Para
cada contenedor Java EE proporciona una serie de servicios, como por ejemplo:
Java Transaction API (JTA) Java Persistence API (JPA) Java Message Service (JMS) Java Naming Direct Interface (JNDI) JavaMail Java Beans Activation Framework (JAF) Java API for XML Procesing (JAXP) Java EE Connector Arquitecture Java Authentication and Authorization Service (JAAS) Servicios Web (JAXWS)
Tipos de middleware
Explcito: la lgica del negocio se entremezcla con una farragosa lgica de invocacin a las APIs del middleware. Poca productividad Difcil escritura de cdigo Difcil mantenimiento Ejemplo: CORBA Implcito: permite declarar los servicios que se necesitan en un fichero separado (descriptor de despliegue) o mediante simples anotaciones en el cdigo. Ejemplo: Java EE, .NET
Arquitectura Java EE
Contenedores Java EE
Open Source
Geronimo
JOnAS
Comerciales
Servicios Web
Conjunto de tecnologas que usan XML para intercambio de informacin en un entorno distribuido Protocolo de comunicacin: SOAP (Simple Object Access Protocol)
Estandarizado por W3C (http://www.w3c.org) Protocolo basado en XML para el intercambio de informacin Conceptualmente permite enviar peticiones/respuestas en XML (normalmente sobre HTTP y en menor medida SMTP)
Todos los firewalls reconocen HTTP Todos los fabricantes de tecnologa proporcionan soporte para Servicios Web
Las integraciones complejas en intranets suelen requerir funcionalidad que todava no soportan los Servicios Web
ej.: Transacciones