Saltar al contenido

EXAMEN PRÁCTICO – DESARROLLO DE APLICACIONES MULTIPLATAFORMA

Instrucciones:

Implementa los siguientes ejercicios en Java utilizando Hibernate, MongoDB y eXistDB. Se valorará la correcta ejecución, eficiencia y estructura del código. Usa buenas prácticas en la programación y manejo de excepciones.

Contexto

La Junta de Castilla y León administra una base de datos de alojamientos rurales en la región, gestionando información en distintos sistemas:

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

Configuraciones previas

  1. Ejecuta en MySQL Workbench el script turismo.sql para crear y poblar la base de datos alojamientosRuralesDB.
  2. Crea en MongoDB la base de datos TurismoMySQL y la colección Turismo, importando los datos JSON proporcionados.
  3. Configura un proyecto Maven con Hibernate y 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 es «Alojamiento Turismo Rural».

Requisitos:

  • Usar Hibernate para insertar datos en MySQL.
  • Implementar una consulta eficiente en MongoDB.
  • Añadir logs para depurar el proceso.

Ejemplo de datos en MongoDB:

{
  "nombre": "La Posada del Bosque",
  "tipo": "Casa Rural de Alquiler",
  "ubicacion": {
    "provincia": "Zamora",
    "direccion": "Calle Principal 22"
  },
  "telefono": "980654321",
  "establecimiento": "Alojamiento Turismo Rural"
}

Ejercicio 2: Generación de documentos XML en ExistDB

Método: crearRecursoHosteleria()

Descripción: Se deben generar documentos XML en ExistDB, uno por cada provincia, a partir de la información en alojamientosRuralesDB.

Formato esperado:

<provincia nombre="Segovia">
    <alojamiento tipo="Casa rural de Alquiler" num.establecimientos="250"/>
</provincia>

Requisitos:

  • Obtener datos de MySQL y transformarlos en XML.
  • Guardar cada XML en ExistDB con el nombre provincia.xml (ejemplo: Segovia.xml).
  • Validar los datos antes de su inserción.

Ejercicio 3: Conversión de datos Excel a XML

Método: crearDocumentoExcel()

Descripción: A partir del archivo Excel alojamientosCyL.xlsx, se debe generar un documento XML alojamientosCyL.xml utilizando JAXB.

Estructura esperada del XML:

<establecimientos>
    <tipo denominacion="Casa Rural de Alquiler">
        <casos provincia="Soria">320</casos>
    </tipo>
</establecimientos>

Requisitos:

  • Leer el archivo Excel con Apache POI.
  • Transformar y escribir datos en XML con JAXB.
  • Manejar excepciones adecuadamente.

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

Nota:

  • Se penalizarán errores en la ejecución o ausencia de validaciones.
  • Se valorará la modularidad y reutilización del código.
  • Implementa 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