From 9657aca5cee707c48515b397f1b76ca842c97e94 Mon Sep 17 00:00:00 2001 From: Tatiana Villa Ema Date: Tue, 24 Mar 2026 18:30:20 +0100 Subject: [PATCH] bloque 3, tema5 --- bloque3/tema5.md | 372 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 349 insertions(+), 23 deletions(-) diff --git a/bloque3/tema5.md b/bloque3/tema5.md index 4697912..a0f9c07 100644 --- a/bloque3/tema5.md +++ b/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. \ No newline at end of file +## 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 \ No newline at end of file