INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

23
© GMV, 2011 Propiedad de GMV Todos los derechos reservados DESARROLLO DE UNA HERRAMIENTA DE VALIDACIÓN Y GESTIÓN DE CÓDIGOS CONTENIDOS EN MENSAJES XML RECIBIDOS MEDIANTE SERVICIOS WEB INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA Miguel Fernández Martínez

description

INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA. DESARROLLO DE UNA HERRAMIENTA DE VALIDACIÓN Y GESTIÓN DE CÓDIGOS CONTENIDOS EN MENSAJES XML RECIBIDOS MEDIANTE SERVICIOS WEB. Miguel Fernández Martínez. Índice. Introducción Planificación Análisis Diseño Implementación - PowerPoint PPT Presentation

Transcript of INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

Page 1: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011 Propiedad de GMV

Todos los derechos reservados

DESARROLLO DE UNA HERRAMIENTA DE VALIDACIÓN Y GESTIÓN DE CÓDIGOS CONTENIDOS EN MENSAJES XML RECIBIDOS MEDIANTE SERVICIOS WEB

INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

Miguel Fernández Martínez

Page 2: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 2PFC Miguel Fernández Martínez

1. Introducción

2. Planificación

3. Análisis

4. Diseño

5. Implementación•Tecnologías y herramientas•Resolución de problemas encontrados

6. Pruebas

7. Conclusiones y trabajo futuro

ÍNDICE

Page 3: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 3PFC Miguel Fernández Martínez

LÍDeres en Energías Renovables Oceánicas:

• Pretende crear el conocimiento y las tecnologías necesarias para el aprovechamiento eficiente e integral de las energías oceánicas renovables.

• Actividad VI “Tecnologías para la preservación de recursos, gestión medioambiental y cambio climático”. Objetivo:• Investigación en modelos, protocolos, guías,

metodologías, herramientas y nuevas tecnologías que permitan la correcta evaluación de los impactos ambientales.

• Se propone un modelo flexible de validación de la información de recursos naturales, en este proyecto enfocándose en los recursos pesqueros.

INTRODUCCIÓNCENIT-E OCEAN LÍDER

Page 4: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 4PFC Miguel Fernández Martínez

• Necesidad de intercomunicar dispositivos.

• Sistemas heterogéneos: desarrollados por distintas empresas o en distintos lenguajes.

• La integridad de la información es importante para la lógica de negocio.

• Constante crecimiento y ampliación de los sistemas.

INTRODUCCIÓNMOTIVACIÓN

Page 5: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 5PFC Miguel Fernández Martínez

Se pretende desarrollar un prototipo para el procesamiento de mensajes:

• Comunicaciones basadas en estándares abiertos: servicios web, mensajes XML, esquemas XSD públicos.

• Extensible.

• Ejecutable en diversas plataformas.

INTRODUCCIÓNOBJETIVOS

Page 6: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 6PFC Miguel Fernández Martínez

ANÁLISIS

Principales requisitos:

• Aplicación compatible con estándares J2EE.

• Sistema modular.

• Recepción de mensajes XML a través de webservices.• Esquema XSD debe poder ser cambiado fácilmente.

• Mensajes deben pasar tests de validación:• Reglas ampliables que se puedan activar y desactivar.

• Interfaz web para gestionar sistemas y listar códigos.

TOMA DE REQUISITOS

Page 7: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

ANÁLISIS

2013/03/25 Página 7PFC Miguel Fernández Martínez

PLANIFICACIÓN

Trabajo dividido en fases:

• Metodología MVP (Minimum Viable Product).• 4 semanas: núcleo del sistema (fases de inicio y elaboración).• Análisis y diseño global.• Una única iteración.

• 8 semanas: resto del sistema (fases de construcción y transición).• Dos iteraciones.• Pruebas globales.• Empaquetado del prototipo final.

Page 8: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

DISEÑO

2013/03/25 Página 8PFC Miguel Fernández Martínez

ARQUITECTURA GENERAL DE LA APLICACIÓN

3 módulos principales compuestos por:• Lógica aplicación.

• Interfaz web.

Page 9: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 9PFC Miguel Fernández Martínez

DISEÑOMÓDULO EXCHANGE: RECEPCIÓN Y PROCESAMIENTO DE MENSAJES

Funcionalidades principales:• Recepción de

mensajes XML mediante servicios web: WebMethod setERS().

• Validación simple de mensajes mediante XSD.

• Interfaz web:• Subida de mensajes

XML de forma manual mediante interfaz web.

• Consulta de mensajes recibidos y errores.

Page 10: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 10PFC Miguel Fernández Martínez

DISEÑOMÓDULO BUSINESSRULES: VALIDACIÓN DE MENSAJES

Funcionalidades principales:• Ofrece servicio web para validar mensajes XML:• Comprueba reglas activas y las ejecuta.• Devuelve una lista de mensajes de error o éxito.

• Interfaz web:• Listar reglas de validación.• Activar o desactivar reglas.

Page 11: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 20112013/03/25 Página 11PFC Miguel Fernández Martínez

DISEÑOMÓDULO REFERENCEDATA: GESTIÓN DATOS DE REFERENC IA

• Interfaz web: • Gestión de barcos.• Listado de barcos.• Edición de barcos.• Sincronización de barcos.• Gestión de códigos.• Listado de códigos por

tipo.• Sincronización de códigos.

Page 12: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 12PFC Miguel Fernández Martínez

TECNOLOGÍAS Y HERRAMIENTAS

Herramientas:

• Entorno de programación: NetBeans IDE 7.2, Firefox+Firebug (debug).

• SGDB: Oracle SQL Server. Oracle SQL Developer.

• Servidores:• Servidor de aplicaciones: CentOS 6 + Glassfish.• Servidor de base de datos: Windows Server 2012 + Oracle

SQL.

Page 13: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 13PFC Miguel Fernández Martínez

TECNOLOGÍAS Y HERRAMIENTAS

Tecnología y lenguajes de programación:

• Interfaz web:• HTML• JSP• CSS• JavaScript:• AJAX. JSON.• jQuery:

• jQuery UI• jQGrid

• Lógica de la aplicación:• Java EE: servlets, webservices.

Page 14: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 14PFC Miguel Fernández Martínez

RESOLUCIÓN DE PROBLEMAS ENCONTRADOS

• Comunicación entre módulos.

• Procesamiento de mensajes XML.

• Tablas dinámicas en interfaz web con grandes cantidades de datos.

• Dotar de extensibilidad al módulo de reglas de validación (BusinessRules).

• Sincronización de códigos mediantes ficheros CSV.

Page 15: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 15PFC Miguel Fernández Martínez

RESOLUCIÓN DE PROBLEMAS: COMUNICACIÓN ENTRE MÓDULOS

• Se elige usar servicios web:• Basados en estándares abiertos de Internet.• Intercambian mensajes XML.• Su uso no requiere conocer detalles sobre su implementación:

interoperabilidad.

• Se desarrollan dos servicios web con un único WebMethod:• ERSService, setERS: comunicación entre sistemas e

intramodular (subida de ficheros manual).• Validator, validate: comunicación entre Exchange y

BusinessRules.

• Uso API de Java JAX-WS: anotaciones.

Page 16: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 16PFC Miguel Fernández Martínez

RESOLUCIÓN DE PROBLEMAS: PROCESAMIENTO DE MENSAJES XML

Antecedentes:

• Esquema XSD puede cambiar.

• Mensajes XML muy extensos.

• Necesidad de acceder a todas sus propiedades.

Solución:

• Usar API JAXB de Java.

• Genera clases auxiliares a partir del XSD.

• Convierte mensaje XML en objeto Java (y viceversa).• Información accesible mediante getters y setters.

Page 17: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 17PFC Miguel Fernández Martínez

RESOLUCIÓN DE PROBLEMAS: TABLAS DINÁMICAS

Tablas mostradas en la interfaz web creadas con jqGrid:

• Comunicación cliente-servidor mediante AJAX.

• Carga parcial.

Se han desarrollado:

• Clases equivalentes a JSON esperado por jqGrid

• Servlet que procesa búsquedas y serializa

Page 18: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 18PFC Miguel Fernández Martínez

RESOLUCIÓN DE PROBLEMAS: EXTENSIBILIDAD DE BUSINESSRULES

Desarrollado sistema de carga y ejecución de reglas de forma dinámica:

• API Reflection de Java.

• Se obtiene listado de métodos a ejecutar de la base de datos.

• Requisitos de métodos desarrollados:• Recibir como parámetro un mensaje XML convertido a objeto.• Devolver una lista de cadenas de caracteres con mensajes de

error.• Registrar su localización en la base de datos.

Page 19: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

IMPLEMENTACIÓN

2013/03/25 Página 19PFC Miguel Fernández Martínez

RESOLUCIÓN DE PROBLEMAS: SINCRONIZACIÓN DE CÓDIGOS

Dos sistemas desarrollados:

• Método 1:• Procesamiento «manual»

de fichero CSV.• Generación de múltiples

consultas SQL.• 1000 registros más de

5 minutos.

• Método 2:• External tables de Oracle SQL (necesaria subida fichero FTP).• Consultas de tipo MERGE.• 1000 registros pocos segundos.

Page 20: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

PRUEBAS

2013/03/25 Página 20PFC Miguel Fernández Martínez

• Se desarrolló un cliente de WebServices para probar la recepción de mensajes.

• Envío de mensajes correctos/incorrectos.• Validación simple (estructura con esquema XSD).• Validación mediante reglas de BusinessRules.

• Subida de ficheros XML de manera manual.

• Activación/desactivación de reglas.

• Listado/modificación y sincronización de códigos.

Page 21: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

CONCLUSIONES

2013/03/25 Página 21PFC Miguel Fernández Martínez

• Se ha desarrollado un prototipo capaz de recibir mensajes XML y validarlos. Además, permite su administración a través de una interfaz web y la consulta de los datos de referencia.

• Es flexible: cambio del tipo de mensajes (XSD) fácilmente.

• Permite su ampliación:• Del sistema completo: mediante módulos.• Del módulo BusinessRules: con nuevas reglas de validación.

• Es portable: ejecutable sobre Windows/Linux al estar basado en Java.

• Cumple los requisitos definidos en la sección de Análisis.

Page 22: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011

TRABAJO FUTURO

2013/03/25 Página 22PFC Miguel Fernández Martínez

• Creación de nuevos módulos.

• Creación de nuevas reglas. Por ejemplo:• Verificación de duplicados de las declaraciones duplicadas que

conforman el mensaje.

• Sincronización de códigos mediante servicios web.

• Sistemas de envío de mensajes siguiendo los estándares utilizados en el proyecto.

• Contestación automática de mensajes.

Page 23: INGENIERÍA TÉCNICA DE TELECOMUNICACIÓN, ESPECIALIDAD TELEMÁTICA

© GMV, 2011 Propiedad de GMV

Todos los derechos reservados

Gracias

Miguel Fernández Martínez

Ingeniería Técnica de Telecomunicación,

especialidad Telemática.