💻 Examen Final Profesional – Acceso a Datos DAM (con soluciones tipo)
Âż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.