¿Quieres probar si estás listo para trabajar con datos reales? Este simulacro integra varios formatos, tecnologías y retos como los que podrías encontrar tanto en el examen final como en un proyecto real.
📂 Parte 1 – Extracción de Datos
1. Lectura y unificación de múltiples fuentes
Enunciado:
Carga los siguientes archivos en una estructura común PaisCompleto
:
paises.csv
(datos básicos)paises.xls
(superficie y costa)paises.json
(para verificar consistencia)religiones.xml
(estructura DOM o JAXB)
Objetivo:
Unificar los datos sin duplicados, reportando inconsistencias en consola.
Solución esperada:
class PaisCompleto {
String nombre;
int habitantes;
String idioma;
double superficie;
double kmCosta;
List<Religion> religiones;
}
🧪 Parte 2 – Validación y transformación
2. Validación con XSD y conversión
Enunciado:
Valida el archivo religiones.xml
con un esquema XSD.
Luego, transforma las religiones con más de 10 millones de practicantes en cada país a un nuevo XML (mayorias.xml
), usando JAXB o XSLT.
Bonus:
Genera también una versión mayorias.json
equivalente.
🧷 Parte 3 – Persistencia Dual
3. Hibernate + MongoDB sincronizados
Enunciado:
- Almacena los países y religiones en Hibernate.
- Almacena las ciudades en MongoDB.
- Cuando se elimine un país en Hibernate, las ciudades correspondientes deben ser eliminadas en MongoDB automáticamente.
Tip:
Implementa una lógica en el DAO con @Transactional
y una llamada al cliente Mongo.
🔍 Parte 4 – Consultas combinadas
4A. XQuery en eXistDB
Consulta:
Muestra todos los países con:
- Más de 2 religiones distintas con más de 1 millón de practicantes.
- Al menos una ciudad con más de 1 millón de habitantes.
4B. MongoDB (Consulta de agregación)
Consulta que devuelva:
- Las ciudades con más densidad de población.
- Mostrando: nombre ciudad, país, habitantes, superficie, densidad.
Pipeline sugerido:
db.ciudades.aggregate([
{ $project: {
nombre: 1,
pais: 1,
num_habitantes: 1,
superficie: 1,
densidad: { $divide: ["$num_habitantes", "$superficie"] }
}},
{ $sort: { densidad: -1 } }
])
💡 Parte 5 – Miniaplicación CLI
Enunciado:
Desarrolla una aplicación de consola con este menú:
- Cargar datos de todos los formatos
- Mostrar países con mayoría religiosa
- Mostrar las 3 ciudades más densas
- Exportar países en JSON
- Guardar datos en Mongo o Hibernate
- Salir
Extra: Permite que el usuario decida si trabajar en modo:
- Solo Mongo
- Solo Hibernate
- Modo sincronizado
🧠 Conclusión
Este examen pone a prueba tu capacidad para trabajar con múltiples fuentes de datos, validarlas, transformarlas y consultarlas de forma eficiente. Dominarlo significa estar listo para el mundo laboral real.