Saltar al contenido

EXAMEN PRÁCTICO – DESARROLLO DE APLICACIONES MULTIPLATAFORMA

Instrucciones:

Resuelve los siguientes ejercicios implementando las funcionalidades en Java utilizando Hibernate, MongoDB y eXistDB. Cada método debe ejecutarse correctamente y cumplir con los requisitos especificados. Se valorará la eficiencia, la correcta estructuración del código y el manejo adecuado de excepciones.

Contexto

La Consejería de Turismo de la Junta de Castilla y León gestiona bases de datos para almacenar información sobre alojamientos rurales en la región. Para ello, utiliza:

  • Base de datos MySQL: alojamientosRuralesDB.
  • Base de datos MongoDB: TurismoMySQL, con una colección llamada Turismo, donde se almacenan datos en formato JSON.
  • Base de datos documental ExistDB: Para almacenar información estructurada en XML.

Preparación antes de comenzar:

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

Ejercicio 1: Integración de datos MongoDB -> MySQL

Método: migrarDatosAlojamientoTurismoRural()

Descripción: Se deben extraer datos de la colección Turismo en la base de datos TurismoMySQL en MongoDB y almacenarlos en la base de datos alojamientosRuralesDB en MySQL. Solo deben migrarse aquellos registros cuyo campo establecimiento tenga el valor «Alojamiento Turismo Rural».

Requisitos:

  • Usar Hibernate para la inserción de datos en MySQL.
  • Implementar consultas eficientes para recuperar y almacenar los datos.
  • Utilizar logs para validar la correcta ejecución del proceso.

Ejemplo de documento JSON en MongoDB:

{
  "nombre": "Casa Rural El Bosque",
  "tipo": "Casa Rural de Alquiler",
  "ubicacion": {
    "provincia": "Salamanca",
    "direccion": "Calle Mayor 15"
  },
  "telefono": "923123456",
  "establecimiento": "Alojamiento Turismo Rural"
}

Ejercicio 2: Generación de recursos 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 la base de datos ExistDB en la colección HosteleriaCyL.

Formato esperado:

<provincia nombre="León">
    <alojamiento tipo="Casa rural de Alquiler" num.establecimientos="320"/>
</provincia>

Requisitos:

  • Extraer datos de MySQL y estructurarlos en XML.
  • Crear un archivo XML por cada provincia y almacenarlo en ExistDB.
  • Nombrar los archivos como provincia.xml (ejemplo: León.xml, Burgos.xml).

Ejercicio 3: Transformación de datos Excel a XML

Método: crearDocumentoExcel()

Descripción: Se debe leer un archivo Excel alojamientosCyL.xlsx con datos de alojamientos rurales y generar un documento XML alojamientosCyL.xml con su contenido estructurado utilizando JAXB.

Estructura esperada:

<establecimientos>
    <tipo denominacion="Casa Rural de Alquiler">
        <casos provincia="Valladolid">678</casos>
    </tipo>
</establecimientos>

Requisitos:

  • Leer datos desde un archivo Excel con Apache POI.
  • Generar y guardar un XML con JAXB.
  • Implementar validaciones y gestión de errores.

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:

  • El código debe seguir buenas prácticas de programación.
  • La ausencia de logs, validaciones o eficiencia en la ejecución reducirá la puntuación.
  • Se penalizará la presencia de código innecesario o mala estructura de clases.

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