Repositorio monorepo que contiene laboratorios, parciales y material desarrollado para la asignatura Arquitecturas de Software (ARSW).
Este repositorio agrupa múltiples ejercicios enfocados en concurrencia, patrones de diseño, servicios REST, inyección de dependencias, aplicaciones distribuidas y pruebas automatizadas en Java.
ECI_ARSW/
│
├── Laboratorios/
│ ├── LAB-1/
│ ├── LAB-2/
│ ├── LAB-3/
│ ├── LAB-4/
│ ├── LAB-5/
│ ├── LAB-6/
│ ├── LAB-7-P1/
│ ├── LAB-7-P2/
│ ├── LAB-9/
│ └── LAB-10/
│
├── Parciales/
│ ├── Primer Parcial/
│ ├── Segundo Parcial/
│ └── Tercer Parcial/
│
└── Presentaciones/
- Java 8 / 11 / 17 (según laboratorio)
- Maven
- Spring Boot
- JUnit
- Mockito
- Programación concurrente (Threads)
- Productor–Consumidor
- REST APIs
- Inyección de dependencias
- Patrones de diseño
- Arquitectura por capas
- Servicios distribuidos
- WebSockets (según laboratorio)
- Message Broker
- Git
- Maven
- Postman
- IntelliJ / VSCode
Entrar a la carpeta del laboratorio correspondiente:
cd Laboratorios/LAB-4Compilar:
mvn clean installEjecutar:
mvn spring-boot:runO ejecutar el .jar generado en target/.
Para ejecutar las pruebas unitarias:
mvn testLas pruebas se encuentran en:
src/test/java/
Los proyectos siguen una arquitectura basada en capas:
controllers/restcontrollers→ Exposición de endpointsservices→ Lógica de negociopersistence→ Acceso a datosmodel/dto→ Entidades y objetos de transferenciaconfig→ Configuraciónstatic→ Recursos web (JS, HTML)
En laboratorios avanzados se implementan:
- Manejo de concurrencia con Threads
- Simulaciones multi-hilo
- APIs REST con Spring
- Aplicaciones colaborativas (ej. collabpaint)
- Arquitecturas orientadas a servicios