Clase No.1 - Intro - JavaEE
Clase No.1 - Intro - JavaEE
●
JEE es un conjunto de especificaciones de APIs Java
para la construcción de aplicaciones empresariales
– La mayor parte de las abstracciones de las APIs corresponden a
interfaces y clases abstractas
– Existen múltiples implementaciones de distintos fabricantes,
incluso algunas Open Source.
– Una aplicación construida con JEE no depende de una
implementación particular
https://javaee.github.io/tutorial/
¿Qué es la Plataforma JEE?
●
Múltiples plataformas
●
Arquitectura y desarrollo simplificados
●
Escalabilidad para suplir variaciones de demanda del
mercado
●
Integración con sistemas de información existentes
●
Tecnología estándar en el mercado
Tecnologías JEE
Java timeline
Feb 19, 1997 Jul 28, 2011 Sep 17, 2019
Sep 30, 2004
JDK 1.1 Java SE 7 Java SE 13
J2SE 5.0
Released May 8, 2000 Released
Released
1995 J2SE 1.3 Sep 21, 2017
JDK Beta Released Java SE 9
1995 1997 1998 2001 2003 2006 2011 2014 2017 2019
●
Tecnología de Componentes
●
Tecnología de Servicios
●
Tecnología de Comunicaciones
●
XML - Web Services
●
REST
Tipos de arquitecturas con JEE
Tipos de arquitecturas con JEE
En genral, JEE usa un modelo “distributed multitiered application” para las
aplicaciones empresariales.
Server Communication
Multitiered Applications
https://javaee.github.io/tutorial/overview004.html
Aplicaciones web con interfaces a componentes del negocio
https://javaee.github.io/tutorial/overview004.html
Aplicaciones web accediendo a interfaces locales de objetos de negocio
Aplicaciones distribuidas con objetos del negocio remotos
Aplicaciones web que exponen un interface tipo “web service”
Tecnología de Componentes
Tecnología de Componentes
●
Contenedor Web
(presentación)
– Servlets
– JSP
– JSF
– Java beans
https://webhostinggeeks.com/best/application-server/
Tecnología de Componentes
●
Contenedor EJB
(Lógica de negocio)
– Enterprise JavaBeans
●
Session Beans
●
Entity Beans
●
Message-Driven Beans
Tecnologías de Servicios
●
JPA – JPQL
●
Java Transaction API y Java Transaction Service
●
JNDI (Java Naming and Directory Interface)
●
JMS (Java Message Service)
●
JavaMail
●
Java Connector Architecture
●
JAAS (Java Authentication and Authorization Service)
JPA y JPQL
●
Es una API de persistencia de POJOs (Plain Old Java
Object). Es decir, objetos simples que no heredan ni
implementan otras clases (como los EJBs).
●
Aunque ha sido definida como parte de la especificación
EJB 3.0 (Java EE), supone una simplificación sobre
versiones anteriores, ya no requiere de un contenedor
EJB ni un servidor de aplicaciones Java EE.
JPA y JPQL
●
En su definición, ha combinado ideas y conceptos de los
principales frameworks de persistencia, como Hibernate,
Toplink y JDO, y de las versiones anteriores de EJB.
●
Todos estos cuentan actualmente con una
implementación JPA.
Java Transaction API (JTA) and Service (JTS)
●
JTA: Diseñado para el trabajo con transacciones,
especialmente con transacciones distribuidas.
Es independiente de la implementación del administrador
de transacciones.
●
JTS: Especifica la implementación de un manejador de
transacciones que soporte JTA.
Java Naming and Directory Interface (JNDI)
●
Específica los mecanismos para ejecutar operaciones
estándar con un recurso de servicios de directorio tales como
LDAP, NDS y NIS.
●
Usado por los servidores de aplicaciones JEE para crear
recursos tales como instancias de los EJB
Java Message Service (JMS)
●
Provee la funcionalidad de enviar y recibir mensajes
asincrónicamente a través del uso de MOM (Message-
oriented middleware)
JavaMail
●
Provee un conjunto de clases abstractas que modelan un
sistema de correo.
●
El API provee independencia de la plataforma, así como
marco de trabajo independiente del protocolo para construir
aplicaciones de correo y de mensajería basadas en Java.
Java Connector Architecture
●
Provee mecanismos para asignar permisos basado en quién
está ejecutando el código.
●
Permite el uso de diferentes implementaciones tales como
Kerberos ó PKI (Public Key Infraestructure).
Tecnologías de Comunicaciones
●
Internet Protocols
– HTTP
– TCP/IP
– SSL
●
Remote Object Protocols
– RMI y RMI-IIOP
– JavaIDL
Arquitectura JEE
Application Logic
Client Data
Web Container JDBC
Servlets JSPs RDMS
Tag
Library JavaMail
(X)HTML/ HTTP (S) Mail Server
XML
RMI/IIOP
JavaMail
JDBC
JNDI
JMS
JAF
CCI
Java
JTA
RMI
Application
Applet IIOP IIOP CORBA
EJB Container Server
Client Session Message Driven Entity JNDI
IIOP
Application Beans Beans Beans
JEE Directory Service
JMS
Application
RMI/IIOP
JavaMail
Message Queue
JDBC
JNDI
JMS
JAF
JTA
CCI
Server PEOPLE SOFT
SIEBEL
JCA SAP
EIS
Herramientas para el desarrollo de aplicaciones JEE