© GMV, 2011 Propiedad de GMV Todos los derechos reservados DESARROLLO DE UNA HERRAMIENTA DE...
-
Upload
ignacio-morales-diaz -
Category
Documents
-
view
218 -
download
0
Transcript of © GMV, 2011 Propiedad de GMV Todos los derechos reservados DESARROLLO DE UNA HERRAMIENTA DE...
© 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
© 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
© 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
© 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
© 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
© 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
© 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.
© 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.
© 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.
© 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.
© 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.
© 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.
© 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.
© 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.
© 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.
© 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.
© 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
© 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.
© 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.
© 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.
© 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.
© 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.
© 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.