bloque 3, tema5
This commit is contained in:
parent
6d75557c8f
commit
9657aca5ce
372
bloque3/tema5.md
372
bloque3/tema5.md
|
|
@ -1,32 +1,358 @@
|
|||
# Arquitectura Java EE/Jakarta EE y plataforma .NET: componentes, persistencia y seguridad. Características, elementos, lenguajes y funciones en ambos entornos. Desarrollo de interfaces.
|
||||
# Arquitectura Java EE/Jakarta EE y plataforma .NET
|
||||
## Componentes, persistencia y seguridad. Características, lenguajes y desarrollo de interfaces
|
||||
|
||||
## Arquitectura Java EE/Jakarta EE: componentes, persistencia y seguridad.
|
||||
Servidor de aplicaciones
|
||||
Java Enterprise Edition o lo que ahora se llama Jakarta
|
||||
APIS:
|
||||
- Servlet: El que mnaneja las peticiones http como GET y POST
|
||||
- JSP (JavaServer Pages): Paginas java de servidor
|
||||
- EJB (Enterprise Java Beans)
|
||||
- JSF
|
||||
- JPA
|
||||
- JTA
|
||||
---
|
||||
|
||||
- DAO basado en JDBC
|
||||
- ORM (Mapeo de Objeto Relacional)
|
||||
- JPA (Utiliza JPQL)
|
||||
- Hibernate
|
||||
# 1. Esquema general del tema
|
||||
|
||||
Documentacion en Java
|
||||
- JavaDoc
|
||||
- Swagger /open api
|
||||
- Arquitectura Java EE / Jakarta EE
|
||||
- Servidor de aplicaciones
|
||||
- APIs principales
|
||||
- Persistencia (JDBC, ORM, JPA)
|
||||
- Seguridad
|
||||
|
||||
Seguridad: Se configura a traves de un fichero de configuracion (Seguridad programática). Hay un modulo en Spring que se llama Spring Security.
|
||||
- Plataforma .NET
|
||||
- Componentes
|
||||
- Persistencia
|
||||
- Seguridad
|
||||
|
||||
## Plataforma .NET: componentes, persistencia y seguridad.
|
||||
- Comparativa Java EE vs .NET
|
||||
|
||||
Como Java EE pero de Microsoft
|
||||
- Desarrollo de interfaces
|
||||
- Tecnologías front-end
|
||||
- Comunicación cliente-servidor
|
||||
|
||||
---
|
||||
|
||||
## Características, elementos, lenguajes y funciones en ambos entornos.
|
||||
# 2. Arquitectura Java EE / Jakarta EE
|
||||
|
||||
## Desarrollo de interfaces.
|
||||
## 2.1. Definición
|
||||
|
||||
Plataforma de desarrollo para aplicaciones empresariales en Java.
|
||||
|
||||
- Java EE (Oracle)
|
||||
- Jakarta EE (Eclipse Foundation)
|
||||
|
||||
Permite crear aplicaciones:
|
||||
- Web
|
||||
- Distribuidas
|
||||
- Escalables
|
||||
|
||||
Se ejecuta sobre un servidor de aplicaciones.
|
||||
|
||||
Ejemplos:
|
||||
- WildFly
|
||||
- GlassFish
|
||||
- WebLogic
|
||||
|
||||
---
|
||||
|
||||
## 2.2. Servidor de aplicaciones
|
||||
|
||||
Software que proporciona servicios a aplicaciones empresariales:
|
||||
|
||||
Funciones:
|
||||
- Ejecución de aplicaciones web
|
||||
- Gestión de transacciones
|
||||
- Seguridad
|
||||
- Gestión de conexiones a base de datos
|
||||
- Gestión de sesiones
|
||||
|
||||
Idea clave:
|
||||
El servidor implementa las APIs de Jakarta EE.
|
||||
|
||||
---
|
||||
|
||||
## 2.3. APIs principales
|
||||
|
||||
### Servlet
|
||||
|
||||
Gestiona peticiones HTTP.
|
||||
|
||||
- Métodos: GET, POST, PUT, DELETE
|
||||
- Base del desarrollo web en Java
|
||||
|
||||
Flujo:
|
||||
Cliente → Servlet → Respuesta
|
||||
|
||||
---
|
||||
|
||||
### JSP (JavaServer Pages)
|
||||
|
||||
- Páginas HTML con código Java incrustado
|
||||
- Generación dinámica de contenido
|
||||
|
||||
Uso actual:
|
||||
Limitado, sustituido por frameworks modernos.
|
||||
|
||||
---
|
||||
|
||||
### EJB (Enterprise JavaBeans)
|
||||
|
||||
Componentes de lógica de negocio.
|
||||
|
||||
Características:
|
||||
- Gestión automática de transacciones
|
||||
- Seguridad
|
||||
- Concurrencia
|
||||
|
||||
Uso actual:
|
||||
Menor en aplicaciones modernas.
|
||||
|
||||
---
|
||||
|
||||
### JSF (JavaServer Faces)
|
||||
|
||||
Framework de interfaces web basado en componentes.
|
||||
|
||||
---
|
||||
|
||||
### JPA (Java Persistence API)
|
||||
|
||||
API estándar para persistencia.
|
||||
|
||||
Permite:
|
||||
- Mapear objetos a tablas
|
||||
- Consultas orientadas a objetos
|
||||
|
||||
---
|
||||
|
||||
### JTA (Java Transaction API)
|
||||
|
||||
Gestión de transacciones distribuidas.
|
||||
|
||||
Propiedades ACID:
|
||||
- Atomicidad
|
||||
- Consistencia
|
||||
- Aislamiento
|
||||
- Durabilidad
|
||||
|
||||
---
|
||||
|
||||
## 2.4. Persistencia
|
||||
|
||||
### JDBC
|
||||
|
||||
Acceso directo a base de datos mediante SQL.
|
||||
|
||||
Patrón asociado:
|
||||
DAO (Data Access Object)
|
||||
|
||||
Ventajas:
|
||||
- Control total
|
||||
|
||||
Desventajas:
|
||||
- Mucho código manual
|
||||
|
||||
---
|
||||
|
||||
### ORM (Object Relational Mapping)
|
||||
|
||||
Mapeo objeto-relacional:
|
||||
- Tablas → Clases
|
||||
- Registros → Objetos
|
||||
|
||||
Tecnologías:
|
||||
- JPA (estándar)
|
||||
- Hibernate (implementación)
|
||||
|
||||
Lenguaje:
|
||||
JPQL (Java Persistence Query Language)
|
||||
|
||||
---
|
||||
|
||||
## 2.5. Documentación
|
||||
|
||||
- JavaDoc: documentación del código Java
|
||||
- Swagger / OpenAPI: documentación de APIs REST
|
||||
|
||||
---
|
||||
|
||||
## 2.6. Seguridad
|
||||
|
||||
Tipos de seguridad:
|
||||
|
||||
### Seguridad declarativa
|
||||
- Configuración mediante ficheros o anotaciones
|
||||
- Basada en roles
|
||||
|
||||
### Seguridad programática
|
||||
- Implementada mediante código
|
||||
|
||||
---
|
||||
|
||||
### Spring Security
|
||||
|
||||
Framework para seguridad en aplicaciones Java:
|
||||
|
||||
Funciones:
|
||||
- Autenticación
|
||||
- Autorización
|
||||
- Control de accesos
|
||||
- Protección CSRF
|
||||
|
||||
---
|
||||
|
||||
# 3. Plataforma .NET
|
||||
|
||||
## 3.1. Definición
|
||||
|
||||
Plataforma de Microsoft para desarrollo de aplicaciones.
|
||||
|
||||
Permite crear:
|
||||
- Aplicaciones web
|
||||
- Aplicaciones de escritorio
|
||||
- Servicios
|
||||
|
||||
Actualmente:
|
||||
.NET moderno es multiplataforma.
|
||||
|
||||
---
|
||||
|
||||
## 3.2. Componentes
|
||||
|
||||
- CLR (Common Language Runtime)
|
||||
- Framework de clases base
|
||||
- ASP.NET para aplicaciones web
|
||||
|
||||
---
|
||||
|
||||
## 3.3. Lenguajes
|
||||
|
||||
- C# (principal)
|
||||
- VB.NET
|
||||
- F#
|
||||
|
||||
---
|
||||
|
||||
## 3.4. Persistencia
|
||||
|
||||
### ADO.NET
|
||||
|
||||
Acceso directo a bases de datos.
|
||||
|
||||
### Entity Framework
|
||||
|
||||
ORM de .NET equivalente a JPA/Hibernate.
|
||||
|
||||
---
|
||||
|
||||
## 3.5. Seguridad
|
||||
|
||||
Características:
|
||||
- Integrada en el framework
|
||||
- Basada en roles
|
||||
|
||||
Métodos de autenticación:
|
||||
- Windows Authentication
|
||||
- JWT
|
||||
- OAuth
|
||||
|
||||
---
|
||||
|
||||
# 4. Comparativa Java EE vs .NET
|
||||
|
||||
| Característica | Java EE / Jakarta EE | .NET |
|
||||
|----------------|---------------------|------|
|
||||
| Propietario | Eclipse Foundation | Microsoft |
|
||||
| Lenguaje | Java | C# |
|
||||
| Servidor | WildFly, GlassFish | IIS, Kestrel |
|
||||
| ORM | JPA / Hibernate | Entity Framework |
|
||||
| Multiplataforma | Sí | Sí |
|
||||
| Seguridad | Spring Security | Integrada |
|
||||
|
||||
Conclusión:
|
||||
Ambos son frameworks empresariales equivalentes.
|
||||
|
||||
---
|
||||
|
||||
# 5. Características comunes
|
||||
|
||||
- Arquitectura en capas:
|
||||
- Presentación
|
||||
- Negocio
|
||||
- Persistencia
|
||||
|
||||
- Aplicaciones distribuidas
|
||||
- Escalabilidad
|
||||
- Seguridad integrada
|
||||
- Uso de servicios web
|
||||
|
||||
---
|
||||
|
||||
# 6. Desarrollo de interfaces
|
||||
|
||||
## 6.1. Front-end
|
||||
|
||||
Tecnologías principales:
|
||||
- HTML
|
||||
- CSS
|
||||
- JavaScript
|
||||
|
||||
Frameworks:
|
||||
- Angular
|
||||
- React
|
||||
- Vue
|
||||
|
||||
---
|
||||
|
||||
## 6.2. Back-end
|
||||
|
||||
Java:
|
||||
- Jakarta EE
|
||||
- Spring
|
||||
|
||||
.NET:
|
||||
- ASP.NET
|
||||
|
||||
---
|
||||
|
||||
## 6.3. Comunicación cliente-servidor
|
||||
|
||||
Protocolos:
|
||||
- HTTP / HTTPS
|
||||
|
||||
Formatos:
|
||||
- JSON
|
||||
- XML
|
||||
|
||||
Arquitecturas:
|
||||
- REST
|
||||
- SOAP
|
||||
|
||||
---
|
||||
|
||||
## 6.4. Tipos de aplicaciones
|
||||
|
||||
- Aplicaciones web tradicionales
|
||||
- SPA (Single Page Applications)
|
||||
- Aplicaciones móviles con API backend
|
||||
|
||||
---
|
||||
|
||||
# 7. Conceptos importantes de examen
|
||||
|
||||
- Servlet: gestión de peticiones HTTP
|
||||
- JSP: páginas dinámicas (uso limitado hoy)
|
||||
- JPA: estándar de persistencia
|
||||
- Hibernate: implementación de ORM
|
||||
- Entity Framework: ORM de .NET
|
||||
- Spring Security: seguridad en Java
|
||||
|
||||
---
|
||||
|
||||
# 8. Miniresumen final
|
||||
|
||||
Java EE/Jakarta EE y .NET son plataformas de desarrollo empresarial.
|
||||
|
||||
Java EE usa:
|
||||
- Servlets, JSP, EJB, JPA
|
||||
|
||||
.NET usa:
|
||||
- ASP.NET, C#, Entity Framework
|
||||
|
||||
Ambos:
|
||||
- Arquitectura multicapa
|
||||
- Seguridad integrada
|
||||
- Persistencia mediante ORM o acceso directo
|
||||
- Desarrollo de aplicaciones web y servicios
|
||||
Loading…
Reference in New Issue