Está en la página 1de 51

PROYECTO FINAL DE CARRERA

TÍTULO: Validador Migración Datos

AUTOR: Daniel Siles González

TITULACIÓN: Ingeniería Técnica Informática de Gestión

DIRECTOR:

DEPARTAMENTO:

FECHA:
10:03 10:03

TÍTULO: Validador Migración Datos

APELLIDOS: Siles González NOMBRE: Daniel

TITULACIÓN: Ingeniería Técnica Informática

ESPECIALIDAD: Gestión PLAN: 92

DIRECTOR:

DEPARTAMENTO:

CALIFICACIÓN DEL PFC

TRIBUNAL

PRESIDENTE SECRETARIO VOCAL

FECHA DE LECTURA: 24 de septiembre de 2015

PFC Página 2
10:03 10:03

Este proyecto tiene en cuenta aspectos medioambientales:  Sí  No

PROYECTO FINAL DE CARRERA

RESUMEN (Máximo 50 líneas)

El objetivo de este proyecto es diseñar y construir un aplicativo desktop que


permita obtener de forma automática la calidad del dato migrado de un sistema
origen a un sistema destino dentro de un proyecto de migración de datos a
partir de una serie de criterios de validación definidos por parte de los
diferentes equipos funcionales y del equipo de encargado de la migración del
dato.

El aplicativo recogerá un set de queries de validación de un archivo Excel de


validación ya definido y parametrizado por el equipo encargado de la migración
del dato y ejecutará todas las queries del Excel. Guardará el resultado de estas
ejecuciones en el mismo Excel de validación.

Mediante una serie de reglas de validación, podremos obtener el porcentaje de


calidad del dato obtenido del componente validado y así obtener un indicador
del estado de la migración a nivel de calidad del dato.

Este aplicativo permitirá automatizar una de las fases más importantes del
proyecto de migración como es la etapa de validación de una Iteración. Esta
etapa consta de una serie de tareas bastante repetitivas y tediosas que no
aportan mucho valor añadido y justamente esto es lo que pretende automatizar
el aplicativo.

Otro de los puntos a destacar, es que el aplicativo tiene que poder acceder a
diferentes SGBD para que pueda ser re aprovechable a otros proyectos y debe
ejecutarse de manera automatizada a través de línea de comandos. Esto
permitirá que el aplicativo se puede ejecutar desde otros aplicativos

Palabras clave (máximo 10):

ETL SGBD PowerCenter Iteración

PFC Página 3
Índice

1. Introducción .................................................................................................................. 5
1.1. Contexto del proyecto ............................................................................................. 5
1.2. Resumen del proyecto .......................................................................................... 13
1.3. Alcance del proyecto ............................................................................................ 14
1.4. Conceptos de una migración de datos ................................................................. 14
1.5. Situación actual .................................................................................................... 15
1.6. Especificación y análisis de requerimientos ......................................................... 16
1.7. Tecnología aplicada ............................................................................................. 16
2. Planificación ............................................................................................................... 17
2.1. Planificación temporal del proyecto ...................................................................... 17
2.2. Plan de contingencia ............................................................................................ 17
3. Diseño ........................................................................................................................ 18
3.1. Diseño aplicación ................................................................................................. 18
3.1.1. Barra de Menú ............................................................................................... 21
3.1.2. Área de Seguimiento de Ejecución ................................................................ 21
3.1.3. Área de Ejecución .......................................................................................... 22
3.1.4. Área de Control de Ejecución ........................................................................ 23
3.2. Interfaz visual aplicación....................................................................................... 24
4. Implementación de la aplicación ................................................................................ 28
4.1. Herramientas utilizadas ........................................................................................ 28
4.2. Etapa de implementación ..................................................................................... 29
4.2.1 Instalación y configuración SQL Server 2012 ................................................ 29
4.2.2. Excel de Validación ........................................................................................ 33
4.2.3. Archivo Configuración Aplicativo .................................................................... 36
4.2.4. Argumentos ejecución línea de comandos .................................................... 37
5. Pruebas de aplicativo ................................................................................................. 39
5.1. Tipos de pruebas .................................................................................................. 39
5.2. Listado de pruebas ............................................................................................... 39
5.3. Gestión de errores detectados ............................................................................. 40
6. Conclusiones .............................................................................................................. 46
6.1. Objetivos Conseguidos ......................................................................................... 46
6.1.1 Reducción de costes temporales y de recursos ............................................ 46
6.1.2 Acceso a distintos SGBD ............................................................................... 47
6.1.3 Ejecución manual y automatizada ................................................................. 48
6.2. Propuestas de mejora del aplicativo ..................................................................... 49
7. Valoración Personal ................................................................................................... 50
8. Bibliografía.................................................................................................................. 51

PFC Página 4
1. Introducción

1.1. Contexto del proyecto

Dentro de mi ámbito laboral, surge la necesidad de optimizar esfuerzo, tiempo y coste en


el proyecto el cuál estoy asignado. El objetivo del proyecto es la migración de una
compañía a otra, que es cuando una o más compañías pasan a formar parte de otra.
En estos casos se deben adaptar los sistemas de la compañía destino a las necesidades
de las compañías de origen. El sistema de Origen desaparece, sustituyéndolo por el
sistema de Destino.

Mi función dentro del proyecto es velar que los datos de la compañía origen se integren
correctamente en la compañía destino.

¿En qué consiste una migración de datos?

Una migración de datos consiste en adaptar los datos de un sistema origen a los datos
del sistema destino

Hay tres opciones principales para llevar a cabo la migración de datos:

 Combinar los sistemas de las dos empresas o fuentes en uno nuevo.


 Migrar uno de los sistemas al otro.
 Mantener la integridad de ambos sistemas, dejándolos intactos, pero creando una
visión común a ambos: un almacén de datos.

Durante la fase de migración, propiamente, se realizan procesos de extracción,


transformación y carga (ETL), los cuales incluyen el obtener los datos desde su origen,
modificarlos para cumplir con la integridad, la consistencia y las reglas del negocio
definidas para, finalmente insertarlos en la base de datos destino.

Una de las principales actividades del proceso es realizar un análisis del modelo de datos
actual y del nuevo, para determinar cuáles son las tablas y campos críticos de ambos.

Posteriormente, se analizará toda la información y se documentará la correspondencia


campo por campo del nuevo modelo con el modelo actual, especificando los valores por
defecto, nulos, la tabla o tablas que serán el origen de datos de cada relación en el nuevo
modelo y las dependencias funcionales de cada una de ellas.

Además de todos los aspectos comentados anteriormente, se debe contemplar la


verificación de la integridad referencial entre las tablas de acuerdo con los requerimientos
del modelo en el nuevo ambiente y determinar las limitaciones existentes.

PFC Página 5
De esta manera, es necesario considerar las diferencias de los tipos de datos entre el
modelo actual y el nuevo, asegurar que la información pueda ser almacenada en los
campos bajo la nueva definición, verificar el tamaño de los objetos y de la base de datos,
revisar el tipo de índices que soporta la base de datos final y su manejo de transacciones.

Para poder realizar las adaptaciones entre el entorno origen y el entorno destino, se
necesitan distintos actores que identifiquen, definan y codifiquen las necesidades entre
ambos entorno, por ello intervienen los siguientes actores:

 Área Negocio: identificando las necesidades a cubrir por el sistema destino.

 Área Funcional: define las adaptaciones a realizar al sistema destino para


incorporar las funcionalidades del sistema origen.

 Área Informática: Encargado de codificar las reglas de transformación entre el


sistema origen y sistema destino. Se siguen 3 pasos fundamentales:

 Extracción de datos del sistema origen.

 Procesos de transformación/adaptación de los datos del sistema origen al


sistema destino.

 Proceso de carga de los datos transformados al sistema destino.

PFC Página 6
Factores que pueden implicar una migración de datos

Existen muchos motivos por los que un negocio necesita llevar a cabo un proceso de este
tipo, los más habituales son los siguientes:

 Despliegue de un nuevo sistema operativo o aplicación.

 Fusiones, adquisiciones o cualquier otra circunstancia que requiera la inclusión de


nuevos usuarios o empresas en un sistema existente.

 Actualización o reemplazo, consolidación o mantenimiento de algún servidor o


tecnología de almacenamiento.

 Cambios en los esquemas y/o estructura de las bases de datos.

 Reubicación del centro de datos.

 Aplicación de técnicas de equilibrio de cargas de trabajo u otras modalidades de


tuning de rendimiento.

Sea cual sea la motivación que origina la necesidad de trasladar los datos, el proceso ha
de llevarse a cabo de manera eficaz y en un entorno controlado para asegurar
la integridad de datos, compatibilidad, seguridad y la minimización del tiempo de
inactividad.

Elección Herramienta ETL

La elección entre las distintas herramientas de migración de datos ha de hacerse en


conciencia ya que, una vez iniciado el proyecto es posible que aparezcan desafíos o
complicaciones con las que no se contaba, como:
 Falta de disponibilidad de los datos requeridos.

 Problemas de formatos desconocidos en los datos a migrar.

 Inconvenientes relativos a la calidad de los datos.

 Antigüedad excesiva de los sistemas fuente.

 Dificultades en cuanto a la transformación y normalización de los datos para lograr


que éstos se adecúen a los requisitos del sistema de destino.

PFC Página 7
 Las claves de la elección de herramientas de migración de bases de datos

Propiedades que ha de cumplir una herramienta de migración de bases de datos


 La automatización, cuando se busca optimizar resultados no cabe plantearse la
opción manual.

 Un sistema de migración iterativo, que ayuda a reducir los riesgos.

 El cumplimiento de todas las necesidades en materia de seguridad de datos.

 El aseguramiento de la calidad de datos, extensible a todos los grupos de interés,


proyectos y aplicaciones desde el trabajo con una sola plataforma unificada.

 Capacidades de descubrimiento y análisis de datos, detección de riesgos ocultos y


localización de problemas estructurales.

 Velocidad en el acceso, integración y entrega de los datos.

 Normalización de los datos en los formatos de tabla de destino para su carga en


los nuevos sistemas.

 Preferiblemente, debe poder proporcionar visibilidad y control para los usuarios de


negocio a la hora de crear, administrar y compartir contexto empresarial crítico en
el proceso de migración de datos.

 Aplicación de ciclos de prueba que aseguren que los datos se mantiene libre de
daños causados por el movimiento o transformación durante la migración de datos.

 Las herramientas de migración de bases de datos seleccionadas también han de


procurar la colección de metadatos de a través de entornos de integración de
datos.

 Si es posible, deben acompañarse de servicios profesionales experimentados y


aplicación de las mejores prácticas.

 Enmascaramiento de datos sensibles antes de proceder a su traslado a los nuevos


sistemas durante la migración de datos.

PFC Página 8
Esta combinación de cualidades, que ha de buscarse en las herramientas de migración
de bases de datos, reduce el riesgo de excesos de presupuesto y plazos, asegurando el
éxito del proyecto de migración de aplicaciones y datos en condiciones de seguridad y
calidad.

Factores de éxito en una migración

Para alcanzar el éxito en un proyecto de migración de datos es importantísimo la correcta


realización de la fase de pruebas. Esto garantizará un alto porcentaje de calidad del dato.
A mayor número de iteraciones planificadas, mayor debería ser la calidad del dato.

Otro de los aspectos que garantizan el éxito de una migración, será el comprobar que las
aplicaciones que harán uso de la base de datos funcionan correctamente y optimizar los
tiempos y recursos necesarios.

Es recomendable hacer pruebas generales para comprobar que el proceso completo


funciona correctamente, medir los tiempos para tener una planificación integral y
minimizar así riesgos.

Una vez terminado el proceso se deben medir los resultados y entregar un reporte global
del trabajo realizado, mencionando cuáles son los productos que se entregan, cuántas
tablas u otros objetos fueron migrados, cuántos registros se migraron exitosamente,
cuántos no fueron migrados y cuál fue la causa de ello.

Se sugiere realizar el reporte ejecutivo que resuma y presente los resultados obtenidos.
Otro documento relevante para el cliente es la memoria técnica que contenga la
configuración de los parámetros de la base de datos migrada, su estructura física y
espacio disponible, entre otros datos relevantes.

La migración de datos, por sí misma, puede ser considerada como un proyecto complejo
que para ser exitoso requiere una planeación detallada, un profundo conocimiento tanto
de los datos como de las herramientas necesarias para llevar a cabo el proceso, así
como en forma importante, de los sistemas y aplicaciones que hacen uso de los datos a
partir del modelo final, para asegurar su correcto funcionamiento y continuidad en la
operación.

PFC Página 9
Fases de una migración

 Análisis: consiste en identificar y acotar la información a migrar (universo de


datos) de los sistemas origen, definir la estrategia de migración, la lógica de
transformación y homologación de datos y productos entre origen y destino y
finalmente definir la estrategia de Roll-Out (entrega a usuarios).

 Diseño: consiste en diseñar los procesos que permitirán implementar las


diferentes fases de una migración: extracción, transformación, carga y validación
de la migración, también diseñar la malla de ejecución, que es la secuencia en la
que se ejecutarán los proceros de migración.

 Construcción y Pruebas: consiste en desarrollar y probar unitariamente los


componentes que permitirán ejecutar el proceso de migración (ETL). También se
ejecutarán las pruebas que garantizarán la integridad entre los componentes:
Extracción, Transformación y Carga

 Iteraciones: son ciclos de prueba acotados temporalmente donde se ejecutan los


procesos de migración en un entorno de usuario, con el objetivo de validar la
calidad del dato, detectar y corregir los errores de definición o construcción,
corregir los datos en origen y optimizar los procesos de transformación.

 Roll-Out: consiste en realizar las actividades de migración en producción (Iteración


Final), coordinadas con la migración/integración de sistemas. También se conoce
como cut-off o black-out.

Actualmente nos encontramos en la Etapa de Iteraciones y surge le necesidad de tener


que optimizar costes tanto en tiempo como en recursos.

Las iteraciones son ciclos de prueba que se definen en la etapa de planificación. Uno de
los objetivos de las iteraciones es medir la calidad del dato migrado. A más iteraciones,
mayor calidad debe tener el dato migrado. Se planificarán tantas iteraciones como
volumen de datos y complejidad del dato exista.

PFC Página 10
¿Fases de una Iteración?

 Descarga de datos del sistema Origen: Consiste en descargar una foto fija de
datos del sistema origen.

 Transformación datos (ETLs): Consiste en la ejecución de las diferentes ETLs


para realizar la transformación/migración de los datos.

 Carga de datos al sistema destino: Consiste en cargar los datos


transformados/migrados al entorno destino.

 Validaciones: Consiste en ejecutar una batería de pruebas/cuadres sobre los


datos migrados al sistema destino. Esto conlleva el análisis de los datos obtenidos
y la apertura de incidencias para solventar los errores detectados.

 Corrección ETLs y datos Origen: Consiste en depurar posibles errores de ETLs y


analizar inconsistencias por datos origen incoherentes.

 Optimización de procesos: Paralelización de procesos, mejoras en ETLs, etc…

PFC Página 11
¿Dónde encontramos la problemática?

Dentro de una iteración, el 41% del tiempo total, se dedica a la fase de Validación del
dato migrado.

Se adjunta tabla de porcentajes temporales dentro de una Iteración:

Iteración
Fase % Tiempo Total
Descarga de datos del sistema Origen 9%
Transformación Datos 22%
Carga datos al sistema destino 10%
Validaciones 41%
Corrección ETLs y Datos Origen 15%
Optimización de procesos 3%

Estos tiempos han sido calculados en base al promedio de tiempos existentes en todos
los proyectos de migración de datos.

Esta etapa de validación, consta de una serie de tareas bastante repetitivas y tediosas
que no aportan mucho valor añadido.

De aquí nace la necesidad de automatizar tareas y optimizar costes tanto en tiempo como
en márgenes económicos (en base a los recursos dedicados).
Los recursos podrán dedicar más tiempo a tareas más productivas o incluso se podría
revisar la asignación de estos.

PFC Página 12
1.2. Resumen del proyecto

El objetivo de este proyecto es diseñar y construir un aplicativo desktop que permita


obtener de forma automática la calidad del dato migrado de un sistema origen a un
sistema destino dentro de un proyecto de migración de datos a partir de una serie de
criterios de validación definidos por parte de los diferentes equipos funcionales y del
equipo de encargado de la migración del dato.

El aplicativo recogerá un set de queries de validación de un archivo Excel de validación ya


definido y parametrizado por el equipo encargado de la migración del dato y ejecutará
todas las queries del Excel. Guardará el resultado de estas ejecuciones en el mismo
Excel de validación.

Mediante una serie de reglas de validación, podremos obtener el porcentaje de calidad


del dato obtenido del componente validado y así obtener un indicador del estado de la
migración a nivel de calidad del dato.

Este aplicativo permitirá automatizar una de las fases más importantes del proyecto de
migración como es la etapa de validación de una Iteración. Esta etapa consta de una
serie de tareas bastante repetitivas y tediosas que no aportan mucho valor añadido y
justamente esto es lo que pretende automatizar el aplicativo.

Este aplicativo permitirá automatizar una de las fases más importantes de un proyecto de
Migración de datos como es la etapa de validación de una Iteración.

El aplicativo tendrá las siguientes características:

 Acceso a distintos SGBD: reaprovechable a otros proyectos.


Creación de un fichero de propiedades para la conexión a los distintos SGBD.

 Creación, mantenimiento e interpretación de los test de forma simple: mediante un


Excel previamente preparado para el programa.

 Ejecución automática de los test: ejecución que se pueda programar al finalizar las
trasformaciones de datos sin intervención de los programadores.

Este aplicativo permitirá optimizar el tiempo dedicado a la etapa de validación de datos de


una manera muy significativa y permitirá minimizar costes.

PFC Página 13
1.3. Alcance del proyecto

El alcance de este proyecto se puede concretar en los siguientes puntos:

 Diseño y construcción de un aplicativo que permitirá optimizar la etapa de


validación de datos de una Iteración.

 Ha de ser parametrizable para su uso sobre diferentes bases de datos (SQL


Server, DB2, Oracle, etc…)

 El aplicativo ejecutará una batería de validaciones previamente definidas en un


Excel de Validación. Estas validaciones deberán ser adecuadas al SGBD.

 El Excel de Validación será parametrizable según los estándares definidos.

 El aplicativo podrá ejecutarse por línea de comandos. Esto permitirá la ejecución


con la herramienta de ejecución/transformación de los datos a migrar.

1.4. Conceptos de una migración de datos

Migración de datos: Adaptación de un entorno de datos origen a un entorno de datos


destino. Esto implica homologación de datos.

Herramienta ETL (Extract, Transform and Load): Herramienta encargada de la propia


migración de datos.

Iteración: Es una de las fases de una migración de datos. Se trata de ciclos de pruebas
donde migramos los datos origen al sistema destino con el objetivo de validar la calidad
del dato, detectar y corregir los errores de definición o construcción, corregir los datos en
origen y optimizar los procesos de transformación.

Dependiendo de la complejidad de los sistemas origen/destino, se definirán un número de


iteraciones en la planificación inicial. Estas iteraciones también permitirán un saneamiento
de los datos origen.

Ventana de Iteración: Tiempo destinado a la etapa de Iteración de Datos. Este tiempo


se define previamente a la ejecución de esta etapa.

Excel de Validación: Documento de prueba final ejecutado post migración.


Se asocia a un set de datos concreto para garantizar una correcta migración de datos y
detectar así los posibles errores o incoherencias.

Consiste en una batería de queries definidas en la fase de pruebas que intentan


garantizar la integridad y coherencia de los datos devolviendo en número de casos
erróneos en base a prueba.

PFC Página 14
Incidencia: Error/Incoherencia detectada. Permiten la corrección de datos dentro de una
iteración. Las incidencias serán reportadas mediante la creación de una incidencia en el
aplicativo actual del cliente (JIRA).

1.5. Situación actual

En la actualidad, la etapa de Validación del dato dentro de una Iteración es una de las
partes más costosas en una migración de datos.

En esta etapa se tienen que realizar tareas de ejecución de validaciones repetitivas y que
aportan poco valor añadido.

Flujo de Validación actual:

1. Se accede al Excel de Validación a ejecutar. Este Excel contiene la validaciones a


ejecutar y un campo donde anotaremos el resultado de esta ejecución.

2. Se copia la consulta a ejecutar y se lanza en una herramienta de gestión de bases


de datos.

3. Al finalizar la ejecución, se anota el resultado obtenido en el Excel de Validación y


se procede a ejecutar la siguiente validación.

Es un proceso tedioso si el Excel de Validación requiere ejecutar un cierto número de


validaciones.

Pongamos un ejemplo:

Excel de Validación contiene 180 validaciones.


El proceso de copiado/ejecución/copiar resultado en el Excel = 4 segundos/validación

Tiempo Total = (#validaciones * Tiempo preparación Query) + Tiempo Ejecución Query

Tiempo Total = (180 validaciones * 4 segundos ) + Tiempo Ejecución Query

Si hacemos el cálculo, en este Excel de Validación hemos añadido un tiempo de 12


minutos a más a más del tiempo de ejecución de las validaciones.

Este tiempo realmente es un tiempo poco “agradecido” al tratarse de una tarea bastante
repetitiva. Si esto lo multiplicamos por el número de Excels de una etapa de validación,
los costes se disparan significativamente.

De aquí nace la necesidad de automatizar esta etapa y diseñar un aplicativo que pueda
minimizar estos costes considerablemente.

PFC Página 15
1.6. Especificación y análisis de requerimientos

A continuación, se adjunta el listado de los principales requerimientos:

 Reducir costes
 Aplicativo multiplataforma
 Reaprovechable para otros proyectos
 Ejecución manual
 Ejecución automatizada

1.7. Tecnología aplicada

La tecnología aplicada para la creación del aplicativo es Java.

¿por qué Java?

Java es multiplataforma. Permite ejecutar aplicaciones independientemente del sistema


operativo.

En este caso, nos interesa que el aplicativo sea reutilizable en otras migraciones o
proyectos.

Otro gran factor a tener en cuenta es que existen multitud de frameworks y librerías
que ofrecen capas para el desarrollo de aplicaciones Web de manera más ágil,
organizada y escalable.
Muchas de las necesidades del aplicativo ya existían en frameworks.

Otra de las razones de porque utilizar Java, es que mejora el rendimiento del PC en el
momento de ejecución de tu programa, ya que evita el problema de fugas de memoria
gracias a la recolección de basura (es un mecanismo de gestión de memoria), ya que si
no encuentra referencias de un objeto, el recolector de basura borra el objeto, liberando
así la memoria que ocupaba.

PFC Página 16
2. Planificación

2.1. Planificación temporal del proyecto

La planificación inicial del proyecto queda definida en base a la foto adjunta:

Tareas Tiempo Planificado


Análisis y toma de requerimientos 2 semanas
Búsqueda información necesaria 2 semanas
Diseño aplicativo 3 semanas
Implementación 5 semanas
Testeo 2 semanas
Documentación 3 semanas

Esta planificación inicial puede verse alterada en base a necesidades profesionales o


personales.

2.2. Plan de contingencia

Como plan de contingencia, se deja un margen de un mes en la fecha fin de proyecto por
si surge algún imprevisto que pueda ocasionar retraso.

Siendo así el día 01 de septiembre de 2015 la fecha límite de entrega inicial propuesta.

PFC Página 17
3. Diseño

3.1. Diseño aplicación

El diseño del aplicativo se ha enfocado en resolver una necesidad concreta: Automatizar


el proceso de validación del dato de un proyecto de migración.

Se ha optado por construir una aplicación Desktop que sea ejecutable desde cualquier pc
y por cualquier usuario que disponga del ejecutable en su PC.

El flujo de ejecución del aplicativo será el siguiente:

PFC Página 18
Al lanzar el ejecutable del aplicativo (archivo .jar), el aplicativo aparecerá en pantalla y
permitirá la ejecución de este. Al seleccionar el Excel de Validación que deseemos
ejecutar, podremos iniciar el proceso de validación.

El aplicativo accederá al archivo de configuración para recuperar los parámetros de


conexión asociados a la base de datos indicada para poder acceder a los datos de la
base de datos en concreto y así poder ejecutar las validaciones.

También recogerá los parámetros de configuración con el Excel de Validación los cuales
permitirán localizar el set de datos a validar dentro del Excel.

Al obtener los parámetros de conexión del Excel de Validación, se recupera todo el set de
validaciones a ejecutar. Esta información será guardada a nivel de ejecución.
Tras obtener el set de datos a ejecutar, conectamos con la base de datos mediantes los
parámetros de conexión y procedemos a ejecutar query a query obteniendo el resultado
de estas e informándolo de nuevo en el propio Excel de Validación.

Una vez ejecutado todo el set de datos, aparecerá un mensaje de fin de ejecución.

Si accedemos al Excel de Validación que hemos ejecutado, este contendrá los resultados
de las queries ejecutadas indicando el número de casos erróneos y correspondientes
porcentajes de calidad.

PFC Página 19
En base al análisis y los requerimientos obtenidos previamente, se decide diseñar el
aplicativo por áreas de trabajo. Existirán 4 áreas de trabajo.

A continuación, muestro el detalle de estas:

 Barra de Menú 1

 Área de Seguimiento de Ejecución 2



 Área de Ejecución 3

 Área de control de Ejecución 4

1

2

3

4

PFC Página 20
3.1.1. Barra de Menú

El área de Barra de Menú permitirá acceder a las funciones propiamente del


validador.

Al seleccionar la opción SQL se desplegarán 2 opciones tal y como se indica en la


siguiente imagen:

Validator: Permite ejecutar el aplicativo mediante opción o teclado rápido Ctrl+Q.

Exit: Permite cerrar el aplicativo mediante opción o teclado rápido Ctrl+E.

3.1.2. Área de Seguimiento de Ejecución

El área de seguimiento de ejecución debe permitir en todo momento llevar el


control de los aspectos relacionados a la ejecución del Excel de Validación a
seleccionar:

Imagen área seguimiento:

 Queries: Número de queries a ejecutar.

 Done: Número de queries ejecutadas.

 Pending: Número de queries pendientes de ejecución.

 Error: Número de queries que han presentado error durante la ejecución.

 Execution Time: Tiempo Total de Ejecución.

 Query Time: Tiempo Ejecución Query en curso.

 Execute All Queries: Ejecución Total del Excel de Validación. Si


deshabilitamos esta opción, se ejecutarán aquellas queries que tengan el
indicador de ejecución Check =“S” en el Excel de Validación.

PFC Página 21
3.1.3. Área de Ejecución

El área de ejecución se dividirá en dos partes:

 Descripción Ejecución: En esta sección detallamos los parámetros de


entrada del validador. De esta manera podemos detectar posibles errores y
saber en todo momento que estamos ejecutando.

Imagen descripción ejecución aplicativo:

 Detalle Ejecución: Una vez mostrados los parámetros de entrada del


aplicativo, podremos ver el detalle de la ejecución propiamente.
Irán mostrándose la queries y el avance de estas a medida que se van
ejecutando.
Al finalizar la ejecución podremos ver el indicador de finalización END.

Imagen detalle ejecución aplicativo:

PFC Página 22
3.1.4. Área de Control de Ejecución

El área de Control de Ejecución permitirá al usuario que ejecuta al aplicativo,


controlar aspectos como:

 Iniciar Ejecución: Permite iniciar la ejecución.

 Salto de Query: Permite matar query en curso y pasar a ejecutar la


siguiente query.
Este botón es bastante útil cuando detectamos una query que tiene un
tiempo de ejecución elevado. Quizá tengamos que revisar esta y optimizarla.

 Finalizar Ejecución: Al presionar este botón, finalizamos la ejecución del


validador.

Imagen botones de Control Ejecución:

PFC Página 23
3.2. Interfaz visual aplicación

Pantalla Inicial

Desde esta pantalla podemos acceder a las opciones de la Barra de Menú y podemos
habilitar/deshabilitar las opciones que creamos oportunas para la ejecución del validador.

Podemos hacer uso de las opciones de teclado rápido comentadas anteriormente.

Imagen pantalla inicial:

Si seleccionamos la opción de ejecución del validador, se nos abrirá un menú de


selección para poder escoger el Excel de Validación que queramos ejecutar.

PFC Página 24
Imagen desplegable menú selección:

Una vez seleccionado el Excel de Validación. Podemos proceder al Inicio de la


ejecución presionando el botón de Inicio.

PFC Página 25
Imagen ejecución en curso:

Una vez iniciada la ejecución podemos controlar el proceso de ejecución


mendiante los botones de control:

Botón de Inicio ejecución

Botón de salto de query (Skip)

Botón de Finalización de ejecución

PFC Página 26
Imagen ejecución finalizada:

Al finalizar la ejecución de todas las queries, el aplicativo devuelve un mensaje de


aviso para informar que finalizó la ejecución de las queries.

Desde el aplicativo podemos visualizar el total de queries ejecutadas y todas


aquellas queries que han devuelto algún tipo de error o han finalizado
correctamente.

PFC Página 27
4. Implementación de la aplicación

4.1. Herramientas utilizadas

NetBeans
Para implementar el aplicativo he utilizado el entorno de desarrollo NetBeans.
Esta herramienta de desarrollo es totalmente gratuita y es bastante intuitiva.

NetBeans IDE es un entorno de desarrollo que permite escribir código java, compilar,
depurar y ejecutar programas.

Existe además un número importante de módulos para extender el NetBeans IDE.


NetBeans IDE es un producto libre y gratuito sin restricciones de uso.

Versión utilizada NetBeans IDE:

SQL Server 2012 - Management Studio

Microsoft SQL Server 2012 Express es un sistema de administración de datos gratuito,


eficaz y confiable que ofrece un almacén de datos completo y confiable para sitios web
ligeros y aplicaciones de escritorio.

SQL Server es un sistema de gestión de bases de datos relacionales.

Mediante SQL Server 2012 Management se pueden administrar las instancias de SQL
Server.

PFC Página 28
4.2. Etapa de implementación
4.2.1 Instalación y configuración SQL Server 2012

Para poder ejecutar el aplicativo, necesitaremos una base de datos a la que acceder. En
este caso, procedemos a realizar una copia de seguridad de la base de datos existente
en mi proyecto actual de migración de datos.

De esta manera cuando instalemos SQL Server en nuestra máquina únicamente


tendremos que restaurar dichas bases de datos.

Copias de seguridad Bases Datos (Archivos .bak)

Como podemos visualizar en la siguiente imagen, obtenemos un punto de restauración


de cada una de las bases de datos existentes a día de hoy.

Imagen puntos restauración:

PFC Página 29
Instalación de SQL Server y Creación de una instancia

Para poder acceder a las bases de datos comentadas en el paso anterior, tendremos que
instalar en nuestra máquina SQL Server.

Imagen proceso instalación:

A partir de aquí, tenemos que seguir los pasos de instalación correspondientes y crear
una nueva instancia.

Configuración y autentificación SQL Server

Para dar solución a problemas de conexión hemos tenido que reiniciar los servicios
asociados a SQL Server. Todo esta gestión se realiza desde herramientas administrativas
de Windows.

PFC Página 30
Imagen servicios Windows:

Seleccionamos la autentificación por usuario de SQL Server.

Imagen inicio SQL Server:

PFC Página 31
Restauración bases de datos

Una vez que hemos logrado conectarnos, procedemos a restaurar las bases de datos
comentadas en el apartado anterior en nuestro servidor SQL Server a partir de los
archivos .bak de restauración.

Imagen bases de datos restauradas (FILE;RAS;TMP):

Parámetros de configuración SQL Server 2012

PFC Página 32
4.2.2. Excel de Validación

El Excel de Validación es la herramienta que utilizamos para medir la calidad del dato de
un área funcional. Contiene una batería de validaciones que intentan detectar errores,
faltas de integridad entre tablas o gaps funcionales.

Existirán tantos Excels de validación como elementos a validar.

¿Por qué utilizamos un Excel de Validación?

El Excel de validación se utiliza como herramienta de reporting al cliente de la calidad del


dato. Tras cada ciclo de Iteración, se envía detalle de los errores detectados a cada área
funcional con el fin de tomar una decisión al respecto de posibles errores/gaps
funcionales.

Una vez ejecutados todos los Excel de validación de un área funcional se obtiene una
porcentaje de calidad del dato general de esta área funcional.

El objetivo de esta validaciones es asegurar la calidad del dato planificada.

Imagen Excel Validación:

Como podemos observar en la imagen anterior, el Excel de validación se configura de tal


manera que cada columna tiene asociado un comportamiento:

Por ejemplo, la columna G contiene toda la batería de queries a ejecutar. De esta


manera, tenemos que indicar al aplicativo que en esta columna se encontraran todas las
queries a ejecutar (Posicionamiento inicial – G7).

Columnas imprescindibles en el Excel de Validación:

 Columna Check: Esta columna indicará si la query se tiene que ejecutar o no en


base a un flag de control. (N=No;S=Si)

 Columna Query: Query de validación. Todas las queries deben devolver un


número como resultado.

PFC Página 33
 Columna Resultado: Columna donde se informarán los valores obtenidos de la
ejecución de la query asociada.

 Columna Tiempo: Columna donde se informará el tiempo de ejecución de la


query.

Estas columnas son de uso obligatorio ya que se utilizan en aplicativo.

¿Cómo interpretamos los resultados obtenidos de la ejecución?

El objetivo del Excel de Validación es devolver de una manera automática y rápida el


porcentaje de calidad del componente a validar. A mayor porcentaje de calidad del dato,
mayor probabilidad de éxito tendrá la migración del dato.

El Excel está enfocado a obtener el número de registros erróneos de una validación. Si el


resultado de la ejecución de una validación devuelve un determinado número de registros
erróneos, el porcentaje de error de esta validación se calculará de manera automática en
base al número total de registros de la tabla/componente a validar y en base a la
ponderación o peso de las validaciones.

Entendemos por ponderación de una validación, el nivel de importancia de la query a


ejecutar. A mayor ponderación, mayor importancia funcional y por tanto mayor peso de
error. Cada query tiene una ponderación numérica.

¿Quién se encarga de la definición de las validaciones?

La definición de las validaciones de cada componente es unos de los aspectos más


importantes y laboriosos de una migración.

Desde el área de negocio, se definen las necesidades o funcionalidades que aplican a la


migración o que tienen algún tipo de afectación en esta.

Una vez definido el ámbito de la migración, el equipo de migración se reúne con las
diferentes áreas funcionales para identificar los puntos críticos de la migración y para
obtener el detalle funcional de cada uno de los campos de las tablas afectadas dentro del
área funcional.

Una vez que se tiene claro el entorno destino, da comienzo el proceso de adaptación y
homologación del sistema origen al sistema destino.

El equipo de migración se reúne con los responsables funcionales del sistema origen y se
realizan los mapeos de sistema origen a sistema destino. Entendemos mapeo toda regla
necesaria para adaptar los datos origen a los datos destino.

PFC Página 34
Ejemplo:

En origen existe un componente funcional que se informa en base a unos determinados


valores numéricos.
En destino, este componente funcional se informa con una correlación de valores
alfanuméricos. Se tendrá que hacer una mapeo para definir un criterio de homologación
del dato.

En este caso, una de las validaciones a incluir el en Excel de validación será el número
de registros que no estén comprendidos entre los valores existentes en destino. De esta
manera se detectaran posibles gaps funcionales o errores a nivel de ejecución de ETL.

Detección y reporte de errores a partir de las validaciones

Una vez ejecutados todos los Excels de Validación, el equipo de migración tendrá que
revisar los resultados obtenidos de las diferentes ejecuciones y ver que validaciones han
devuelto errores.

Cada error será analizado en base a los datos origen y el mapeo existente en nuestra
ETL de transformación del dato. Si detectamos incoherencias bien por gaps funcionales
o bien por errores debidos a datos inconsistentes en origen, serán comunicados al equipo
funcional destino para determinar una posible solución o bien dar por Ok la validación al
tratarse de casos residuales o con poca importancia.

Por el contrario, si el error se debe a una mala codificación de las ETLs, este error deberá
ser reportado y solventado de cara a la siguiente Iteración.

Todo error detectado, será reportado mediante la creación de una incidencia en el


aplicativo del cliente(JIRA). De esta manera se podrá hacer un seguimiento del estado de
las incidencias en todo momento y podremos cuantificar el número de errores en cada
Iteración. De aquí que exista un número elevado de Iteraciones en un proyecto de
migración del dato.

PFC Página 35
4.2.3. Archivo Configuración Aplicativo

Para que el aplicativo pueda ejecutarse, se necesita una archivo de configuración de


propiedades (ConfigDB.properties).

Este archivo contendrá toda la información necesaria para la ejecución del aplicativo.
Permitirá de una manera fácil, que el aplicativo se puede parametrizar.

Información asociada al archivo:

 Parámetros de Conexión con Base de Datos


 Parámetros Configuración Excel Validación
 Otros Parámetros de Interés

Este archivo tiene que existir en la misma ruta donde dejamos el ejecutable del aplicativo.

Imagen archivo configuración:

4.2.3.1. Parámetros del Archivo Configuración Aplicativo

 Parámetros de Conexión con Base de Datos


 driver= Tipología Base de Datos
 dbServer= IP
 dbPort=Puerto de Acceso
 database= Base de Datos
 dbuser=User
 dbpassword=Password

 Parámetros Configuración Excel Validación


 safe_loops= Número de ejecuciones para realizar Save Excel
 check_pos=Flag de Ejecución Inicial
 query_pos=Posición Inicial Query
 result_pos=Resultado Inicial Ejecución Query
 time_pos= Tiempo Inicial Ejecución Query

PFC Página 36
 Otros Parámetros de Interés
 find_Q1= String1 de búsqueda
 repl_Q1=Replace1
 find_Q2= String2 de búsqueda
 repl_Q2=Replace2
 group_pos= N/A
 desc_group_pos= N/A
 desc_pos= N/A
 where = N/A
 test = N/A

A continuación adjunto imagen de ejemplo de archivo de configuración.

4.2.4. Argumentos ejecución línea de comandos

Comando ejecución:
java -jar "Ruta donde encontramos .jar" -f "Ruta Excel Validación”

PFC Página 37
Para poder proceder a la ejecución tenemos que estar dentro del directorio donde se
encuentra el aplicativo.

Imagen ejecución por línea de comandos:

Al lanzar el comando, se abrirá el aplicativo y ejecutará el Excel de Validación que le


hemos pasado como argumento.

Al finalizar la ejecución, el aplicativo ser cerrará automáticamente.

PFC Página 38
5. Pruebas de aplicativo

5.1. Tipos de pruebas

Pruebas Unitarias
Este tipo de pruebas tratan de comprobar el correcto funcionamiento de un módulo de
código. Sirven para asegurar que cada uno de los módulos funcione correctamente por
separado.

El alcance de estas pruebas es reducido y bastante acotado.

Una vez finalizadas las pruebas unitarias, se realizarán las pruebas integradas o de
integración que permitirán asegurar el correcto funcionamiento del sistema o subsistema
en cuestión.

Pruebas Integradas

Prueban la interacción entre dos o más elementos, que pueden ser clases, módulos,
paquetes, subsistemas, etc… incluso la interacción del sistema con el entorno de
producción.

Dentro de las pruebas integradas, se han realizado también pruebas de regresión. El


objetivo de estas pruebas es garantizar un correcto funcionamiento de aquellos
componentes que hayan sido afectados y con lo cual, deben probarse para asegurar que
continúan funcionando correctamente.

Pruebas de Usuario

Prueban el correcto funcionamiento del aplicativo y dan un aporte más funcional. Estas
pruebas son verdaderamente importantes ya que pueden identificar errores o gaps
funcionales que no se han contemplado anteriormente.

5.2. Listado de pruebas

A continuación, listo todas las pruebas realizadas en el aplicativo:

 Pruebas de conexión con Base de Datos


o Conexión con distintas bases de datos
o Forzar errores de conexión

 Pruebas Formato Excel de Validación


o Pruebas de Configuración de archivo de parámetros asociados al Excel
o Pruebas Columnas funcionales – Modificación columnas

PFC Página 39
 Pruebas generales Excel de Validación
o Correcta ejecución validaciones – Contrastación contra base de datos
o Forzar distintos errores de validación
o Ejecución total queries
o Ejecución selección concreta queries

 Pruebas Archivo de Configuración


o Pruebas Inicio set de validaciones – Modificación parámetros Excel
o Forzar errores de falta de parámetros

 Pruebas de ejecución manual


o Testeo manual

 Pruebas de ejecución automática


o Ejecución por línea de comandos
o Ejecución a través de PowerCenter

 Pruebas usabilidad aplicativo


o Pruebas realizadas por otros usuarios – conceptos a mejorar
o Pruebas de configuraciones rápidas de teclado

5.3. Gestión de errores detectados

Errores debido a parámetros no informados

Si al intentar ejecutar el aplicativo, se detecta que cualquiera de los parámetros de


configuración no ha sido informado, se muestra el siguiente mensaje de error.

Imagen mensaje de aviso por falta parámetro:

PFC Página 40
Autentificación errónea del usuario

Si el aplicativo detecta que el user o password son incorrectos, se muestra el siguiente


mensaje de aviso.

Imagen aviso error acceso:

PFC Página 41
Error ejecución aplicativo

El aplicativo muestra en ejecución el número de queries erróneas resultantes.

Imagen ejecución con error:

PFC Página 42
¿Cómo detectamos el error reportado por aplicativo?

En el Excel de Validación queda constancia del resultado de todas las queries


ejecutadas. Aquellas queries que no se hayan podido ejecutar tendrán su
correspondiente mensaje de error en la columna resultado.

Imagen error reportado en Excel de validación:

Muchas veces podemos identificar los errores de manera visual.

Por ejemplo, en la siguiente imagen detectamos que exiten 4 queries a ejecutar y


de estas 4 queries, las 4 han resultado erróneas. Si vamos revisamos el detalle de
la ejecución, vemos que las “queries ejecutadas” no se corresponden con las que
teníamos preparadas.

PFC Página 43
Imagen ejecución errónea:

Este error es debido a que hemos asignado una columna erronea en el archivo de
configuración del aplicativo a la variable query_pos, indicandole otra posición (en
este caso, otra columna).

PFC Página 44
Error Conexión Aplicativo

Si al intentar ejecutar el aplicativo, se detecta un error de conexión, se retornará el


siguiente mensajes de aviso (error time out)

Imagen error IP errónea:

PFC Página 45
6. Conclusiones

6.1. Objetivos Conseguidos

6.1.1 Reducción de costes temporales y de recursos

El objetivo principal del proyecto, era reducir considerablemente los costes de la etapa de
validación de datos dentro de una Iteración. A partir de este objetivo, surgió la necesidad
de creación de este aplicativo.

Paso de detallar los costes de una Iteración sin validador de datos en comparativa a una
Iteración con validador de datos:

Tendremos en cuenta las siguientes tipologías de costes:

 Coste temporal
 Coste económico
 Coste en recursos

Imagen comparativa de Iteración:


Iteración
Totales 7:34:19 Tiempo Validación Inicial
Id Excel de Validación Duración
1 s_m_TMP_FILTRO_POLIZAS 0:11:48 Tiempos
2 s_m_TMP_FILTRO_SINIESTRO 0:10:51 Ejecución Validaciones Análisis y apertura incidencias Ejecución Cuadres
3 s_m_TMP_FILTRO_RECIBO 0:13:10 Analista1 4:00:00 4:00:00 1:30:00
4 s_m_FILE_RAS_TMP_AGRRECF 0:17:50 Analista2 4:00:00 4:00:00 1:30:00
5 s_m_TMP_HOMOLOG_NUMCESION 0:11:18 Totales 8:00:00 8:00:00 3:00:00
6 s_m_FILE_RAS_TMP_POLIZAF 0:13:10
7 s_m_TMP_HOMOLOG_NUMEROCL 0:12:02 Tiempo Total Validación Iteración 19 horas 855,00 €
8 s_m_FILE_RAS_CIRR01 0:07:34
9 s_m_FILE_RAS_CSRR22 0:11:10
10 s_m_FILE_RAS_CSRR22_2014 0:11:12 Tiempo Validación (Haciendo uso del aplicativo)
11 s_m_FILE_RAS_GARVIDA_1 0:21:58
12 s_m_FILE_RAS_GARVIDA_2 0:29:28 Tiempos
13 s_m_FILE_RAS_GARVIDA_3 0:27:34 Ejecución Validaciones Análisis y apertura incidencias Ejecución Cuadres
14 s_m_FILE_RAS_ASEVIDA_1 0:25:34 Analista1 0:00:00 4:00:00 0:30:00
15 s_m_FILE_RAS_GRRR05 0:36:20 Analista2 0:00:00 4:00:00 0:30:00
16 s_m_FILE_RAS_ASEVIDA_2 0:28:02 Totales 0:00:00 8:00:00 1:00:00
17 s_m_FILE_RAS_CVRR90 0:00:52
18 s_m_FILE_RAS_RERR90 0:13:02 Tiempo Total Validación Iteración 9 horas 405,00 €
19 s_m_FILE_RAS_TXRR01 0:01:18
20 s_m_FILE_RAS_BARR10 0:12:24
21 s_m_FILE_RAS_CVRR01 0:11:56 Tarifa Hora
22 s_m_FILE_RAS_GRRR02 0:37:54 Consultor Analista 45,00 €
23 s_m_FILE_RAS_PCRR01 0:15:42
24 s_m_FILE_RAS_GRRR01 0:31:12
25 s_m_FILE_RAS_CSRR77_1 0:22:14 Beneficio Por Iteración 450,00 €
26 s_m_FILE_RAS_CSRR77_2 0:08:46
27 s_m_FILE_RAS_CSRR77_2014_1 0:03:10
28 s_m_FILE_RAS_CSRR77_2014_2 0:03:22
29 s_m_FILE_RAS_PCRR46 0:03:26

Como se puede observar en la imagen anterior, se realizar una comparativa para una
misma Iteración. La primera Iteración es una iteración manual y la segunda iteración se
trata de una Iteración haciendo uso de nuestro aplicativo.

PFC Página 46
Coste temporal

El coste temporal de la primera ejecución es de 19 horas. Este tiempo engloba tanto la


ejecución de validaciones como el análisis de incidencias y apertura de itams y la
posterior ejecución de cuadres de reporting.

En la segunda ejecución, haciendo uso del aplicativo, el tiempo total que se dedica
disminuye considerablemente hasta 9 horas. Existe una ganancia de 10 horas por
Iteración.

Coste económico

Premisa: Tarifa consultor analista = 45€/hora


A partir de los datos obtenidos en esta comparativa, la primera ejecución en base a la
dedicación de 2 analistas, tiene un coste de 855€ mientras que la segunda ejecución
tiene un coste de 405€.

El margen de beneficio por Iteración sería de 450€.

Coste en recursos

Según los datos obtenidos, para la Iteración con nuestro aplicativo, no sería necesario la
dedicación exclusiva de los dos analistas. Se podría trabajar en otras tareas en paralelo y
así optimizar más aun costes.

6.1.2 Acceso a distintos SGBD

Otro de los principales objetivos era que el aplicativo pudiera acceder a diferentes SGBD
y ser así reaprovechable a otros proyectos de migración del datos.

Modificando el archivo de configuración se podrá acceder al SGDB que aplique.

A destacar que a día de hoy, se ha probado la conexión contra los siguientes SGBD:

 SQL Server
 MySQL
 DB2

PFC Página 47
6.1.3 Ejecución manual y automatizada

El aplicativo se puede ejecutar tanto de manera manual como de manera automatizada.


En base a la necesidad de ejecución optaremos por una ejecución u otra.

Ejecución manual
Ejecución normal. Se asocia a un único Excel de validación.

Ejecución automatizada

El hecho del que el aplicativo se pueda ejecutar por línea de comandos ha conllevado la
automatización de la ejecución del aplicativo.

Imagen ejecución por línea de comandos:

Un ejemplo de ello es que en el actual proyecto en el que estoy asignado, hemos


conseguido ejecutar masivamente el aplicativo mediante PowerCenter (herramienta de
gestión de ETLs).

Se puede programar una malla de ejecución donde se indican los Excel de validación a
ejecutar. Esto permite ejecutar las validaciones de manera automática y lo más
importante, no presencial y con acceso remoto de ejecución.

PFC Página 48
Imagen ejecución malla validaciones desde PowerCenter (Herramienta ETL):

6.2. Propuestas de mejora del aplicativo

Como propuesta de mejora a futuro, sería interesante que el aplicativo pudiera


seleccionar más de un Excel de Validación desde una misma ejecución.

Esto conllevaría una mayor optimización de los costes temporales al no tener que
configurar por línea de comandos las diferentes ejecuciones.

Esta nueva implementación sería bastante compleja de llevar a cabo ya que habría que
reestructurar el enfoque del proyecto actual.

PFC Página 49
7. Valoración Personal

Mi valoración personal en relación al proyecto es muy positiva. Tengo la sensación de


que todo el tiempo que he dedicado a este proyecto, ha sido útil.

A día de hoy, este aplicativo se ha convertido en herramienta indispensable en todo


proyecto de migración de datos dentro del ámbito laboral de mi empresa.

Lo más gratificante ha sido poder realizar un proyecto a partir de una necesidad concreta
y 100% real.

Por otro lado, este proyecto ha sido bastante complejo de llevar a cabo debido a aspectos
profesionales y personales. Todo proyecto necesita un alto grado de dedicación y no
siempre disponemos del tiempo que nos gustaría dedicar. Aun así, mi valoración es
positiva en todos los aspectos.

PFC Página 50
8. Bibliografía

[1]. Andrew W. Appel. "Modern Compiler Implementation in Java"


https://www.cs.princeton.edu/~appel/modern/java/

[2]. Alberto Morillo. “Manual Instalación SQL Server 2012”


http://albertomorillosqlserver.blogspot.com.es/2012/08/como-instalar-
sql-server-2012.html

[3]. Consultas Configuración SQL Server


https://support.microsoft.com/es-es/kb/287932
https://msdn.microsoft.com/es-es/library/ms175043(v=SQL.120).aspx

[4]. Three Headed Monkey. “Manual de creación de Interfaces de Usuario en Netbeans”


http://www.programacion.hol.es/java/Manual_GUI_NetBeans.pdf

[5]. geekytheory.com. Tutorial interfaces gráficas.


https://geekytheory.com/tutorial-14-java-swing-interfaces-graficas/

[6]. PowerData. “El valor de la gestión de datos”.


http://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/397387/Qu%C3%A9-es-la-
migraci%C3%B3n-de-datos

[7]. Susana Corona Correa. “Asegure una migración exitosa de bases de datos”.
http://www.enterate.unam.mx/Articulos/2006/agosto/migracion.htm

[8]. Henry Martinez. “Ocho pasos para el éxito en migraciones”.


http://journal.gbm.net/j/bt55/2013/03/25/55-ocho-pasos-para-el-%C3%A9xito-en-
migraciones/

PFC Página 51

También podría gustarte