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

Upload: brone

Post on 14-Jan-2016

43 views

Category:

Documents


2 download

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

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.