Saltar al contenido

EXAMEN PRÁCTICO – DESARROLLO DE APLICACIONES MULTIPLATAFORMA

Instrucciones:

Implementa las siguientes tareas en Java utilizando Hibernate, MongoDB y eXistDB. Se evaluará la eficiencia, la correcta ejecución y la organización del código. Aplica buenas prácticas de programación y manejo de excepciones.

Contexto

La Junta de Castilla y León gestiona información sobre alojamientos rurales a través de múltiples sistemas de bases de datos:

  • Base de datos MySQL: alojamientosRuralesDB.
  • Base de datos MongoDB: TurismoMySQL, con una colección llamada Turismo que almacena datos en formato JSON.
  • Base de datos ExistDB: Para almacenamiento de documentos XML estructurados.

Configuraciones previas

  1. Ejecutar en MySQL Workbench el script turismo.sql para crear y poblar la base de datos alojamientosRuralesDB.
  2. Crear en MongoDB la base de datos TurismoMySQL y la colección Turismo, importando los datos JSON proporcionados.
  3. Configurar un proyecto Maven con las dependencias necesarias para MySQL, MongoDB y ExistDB.

Ejercicio 1: Migración de datos de MongoDB a MySQL

Método: migrarDatosAlojamientoTurismoRural()

Descripción: Se deben extraer los datos de la colección Turismo en MongoDB y almacenarlos en alojamientosRuralesDB en MySQL, únicamente si el campo establecimiento tiene el valor «Alojamiento Turismo Rural».

Requisitos:

  • Utilizar Hibernate para la inserción de datos en MySQL.
  • Optimizar las consultas para minimizar el tiempo de ejecución.
  • Incluir logs para verificar el correcto funcionamiento del proceso.

Ejemplo de datos en MongoDB:

{
  "nombre": "El Refugio de Gredos",
  "tipo": "Casa Rural de Alquiler",
  "ubicacion": {
    "provincia": "Ávila",
    "direccion": "Carretera Nacional 110, Km 320"
  },
  "telefono": "920876543",
  "establecimiento": "Alojamiento Turismo Rural"
}

Ejercicio 2: Generación de documentos XML en ExistDB

Método: crearRecursoHosteleria()

Descripción: A partir de los datos de alojamientosRuralesDB, generar un documento XML por cada provincia y almacenarlo en ExistDB en la colección HosteleriaCyL.

Formato esperado:

<provincia nombre="Burgos">
    <alojamiento tipo="Casa Rural de Alquiler" num.establecimientos="315"/>
</provincia>

Requisitos:

  • Consultar los datos desde MySQL y formatearlos en XML.
  • Guardar cada documento con el nombre provincia.xml (ejemplo: Burgos.xml).
  • Implementar validaciones para evitar errores en la estructura de los documentos.

Ejercicio 3: Transformación de datos de Excel a XML

Método: crearDocumentoExcel()

Descripción: Leer el archivo alojamientosCyL.xlsx y generar un documento XML alojamientosCyL.xml utilizando JAXB.

Estructura esperada del XML:

<establecimientos>
    <tipo denominacion="Casa Rural de Alquiler">
        <casos provincia="Palencia">245</casos>
    </tipo>
</establecimientos>

Requisitos:

  • Leer el archivo Excel con Apache POI.
  • Crear y estructurar los datos en XML con JAXB.
  • Manejar excepciones en caso de errores en la lectura de datos.

Criterios de Evaluación

CriterioPuntos
Configuración del proyecto Maven0,50
Ejercicio 1: Migración de datos MongoDB -> MySQL3,25
Ejercicio 2: Creación de recursos XML en ExistDB3,25
Ejercicio 3: Generación de documento XML desde Excel3,00

Notas:

  • La falta de validaciones o errores en la ejecución reducirán la puntuación.
  • Se valorará la modularidad y reutilización del código.
  • Se deben incluir mensajes de depuración y logs para facilitar la verificación del proceso.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde Tomás González: Formador y Desarrollador Web

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad