0% encontró este documento útil (0 votos)
32 vistas38 páginas

Clase No.1 - Intro - JavaEE

Este documento describe la plataforma Jakarta Enterprise Edition (JEE), incluyendo sus características, tecnologías como servlets, EJB, JPA y más. También cubre tipos de arquitecturas como aplicaciones web con interfaces a componentes de negocio y aplicaciones distribuidas con objetos de negocio remotos.

Cargado por

david
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas38 páginas

Clase No.1 - Intro - JavaEE

Este documento describe la plataforma Jakarta Enterprise Edition (JEE), incluyendo sus características, tecnologías como servlets, EJB, JPA y más. También cubre tipos de arquitecturas como aplicaciones web con interfaces a componentes de negocio y aplicaciones distribuidas con objetos de negocio remotos.

Cargado por

david
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 38

Jakarta Enterprise Edition (JEE)

Cesar Julio Bustacara Medina

Pontificia Universidad Javeriana


2024
¿Qué es la Plataforma JEE?


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?

• Esencialmente es un entorno de servidor para


aplicaciones distribuídas

• Entorno Java que provee:


– Definición de un modelo de programación para las aplicaciones JEE.

– Infraestructura para la ejecución de aplicaciones.

– Buenas prácticas, que permiten el uso adecuado de dichas APIs.


Características de 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

Jan 23, 1996


Feb 6, 2002 Mar 18, 2014 Mar 20, 2018
JDK 1.0
J2SE 1.4 Java SE 8 Java SE 10
Released
Released Released OpenJDK
Dec 8, 1998 Dec 11, 2006
J2SE 1.2 Java SE 6
Released Released
Java Enterprise timeline
Dec 12, 1999 Dec 10, 2009
J2EE 1.2 Released Java EE 6 Released
Nov 11, 2003
Jun 1997 Jun 12, 2016
J2EE 1.4 Released
Servlets 1.0 Java EE 8 Released
Released

1995 1997 1999 2001 2003 2006 2009 2013 2016

1995 Sep 24,2001


JDK Beta J2EE 1.3 Released
May 11, 2006
May 1998 Java EE 5 Released
Java Professional Jun 12, 2013
Edition (JPE) Announced Java EE 7 Released
Consorcio de
trabajo para JEE
Java EE 8 (proposal 2016)

Security API: Mecanismos de autenticación Annotation-driven.


JAX-RS 2.1: Clientes reactivos: Permite un estilo de programación reactiva.
JSON Binding API: Provee una solución JEE nativa para JSON (serialization and deserialization).
CDI 2.0: Usado en Java SE: Permite bootstrapping de CDI en aplicaciones Java SE.
Servlet 4.0: Server Push: Alinea su especificación con HTTP/2.
Java EE 8 builds on Java EE 7
The following JSRs are new or updated in Java EE 8:
 JSR 366 – Java EE 8 Platform
 JSR 365 – Contexts and Dependency Injection (CDI) 2.0
 JSR 367 – The Java API for JSON Binding (JSON-B) 1.0
 JSR 369 – Java Servlet 4.0
 JSR 370 – Java API for RESTful Web Services (JAX-RS) 2.1
 JSR 372 – JavaServer Faces (JSF) 2.3
 JSR 374 – Java API for JSON Processing (JSON-P)1.1
 JSR 375 – Java EE Security API 1.0
 JSR 380 – Bean Validation 2.0
 JSR 250 – Common Annotations 1.3
 JSR 338 – Java Persistence 2.2
 JSR 356 – Java API for WebSocket 1.1
 JSR 919 – JavaMail 1.6 http://www.oracle.com/technetwork/java/javaee/overview/index.html

Jakarta Contexts and Dependency Injection (CDI)
4.0, including CDI-Lite that enables build time
extensions

Jakarta Security 3.0 supporting OpenID Connect

Jakarta Servlet 6.0 for simplified programming
and improved security

Jakarta Faces (JSF) 4.0 with a modernized API
using CDI

Jakarta JSON Binding (JSON-B) 3.0 with new
support for polymorphic types

Jakarta RESTful Web Services standardizes a
Java SE Bootstrap API and standard support for
multipart/form-data

Jakarta Persistence standardizing UUID as Basic
Type and extending Query language and Query
API

Jakarta Concurrency 3.0 is moved to the Web
Profile and enhances parallel and reactive
programming models available to applications
Microservicios y JEE
Microservicios y JEE
Tecnologías JEE


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.

La lógica es dividida en:



Componentes: de acuerdo a la función,

Containers – maquinas dependiendo del nivel en la arquitectura multi-tier.

Los tiers pueden ser divididos en:



Client-tier components ejecutado sobre la máquina cliente.

Web-tier components ejecutado sobre el servidor JEE.

Business-tier components ejecutado sobre el servidor JEE.

Enterprise information system (EIS)-tier software ejecutado sobre el
servidor EIS.
Tipos de arquitecturas con JEE

Arquitecturas no distribuidas
– Aplicaciones web con interfaces a componentes del negocio.
– Aplicaciones web que acceden a objetos de negocio local.

Arquitecturas distribuidas
– Aplicaciones distribuidas con objetos del negocio remotos.
– Aplicaciones web que exponen un interface tipo web service”
Tipos de arquitecturas con JEE

Server Communication
Multitiered Applications

https://javaee.github.io/tutorial/overview004.html
Aplicaciones web con interfaces a componentes del negocio

Web Tier and Java EE Applications

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

• Define una arquitectura


estándar para conectar la
plataforma JEE5 con sistemas
heterogéneos de información.

● Define un conjunto de mecanismos escalables, seguros y


transaccionales que describen la integración de los sistemas
de información empresarial con un servidor de EJB y
aplicaciones empresariales.
JAAS (Java Authentication and Authorization Service)


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

También podría gustarte