230 likes | 367 Views
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
E N D
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 • Tecnologías y herramientas • Resolución de problemas encontrados • Pruebas • Conclusiones y trabajo futuro PFC Miguel Fernández Martínez
INTRODUCCIÓN CENIT-E OCEAN LÍDER • LÍDeresen 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ánicasrenovables. • 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. PFC Miguel Fernández Martínez
Introducción MOTIVACIÓN • 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. PFC Miguel Fernández Martínez
Introducción OBJETIVOS • 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. PFC Miguel Fernández Martínez
análisis TOMA DE REQUISITOS • 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. PFC Miguel Fernández Martínez
Análisis 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. PFC Miguel Fernández Martínez
Diseño ARQUITECTURA GENERAL DE LA APLICACIÓN • 3 módulos principales compuestos por: • Lógica aplicación. • Interfaz web. PFC Miguel Fernández Martínez
Diseño MÓDULO EXCHANGE: RECEPCIÓN Y PROCESAMIENTO DE MENSAJES • Funcionalidades principales: • Recepción de mensajes XML mediante servicios web: WebMethodsetERS(). • 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. PFC Miguel Fernández Martínez
Diseño MÓ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. PFC Miguel Fernández Martínez
Diseño MÓ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. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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 gettersy setters. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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 PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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. PFC Miguel Fernández Martínez
IMPLEMENTACIÓN 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: • Externaltables de Oracle SQL (necesaria subida fichero FTP). • Consultas de tipo MERGE. • 1000 registros pocos segundos. PFC Miguel Fernández Martínez
pruebas • 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. PFC Miguel Fernández Martínez
ConclusioneS • 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. PFC Miguel Fernández Martínez
Trabajo futuro • 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. PFC Miguel Fernández Martínez
Gracias Miguel Fernández Martínez Ingeniería Técnica de Telecomunicación, especialidad Telemática.