scieee AI-readable full text Open interactive document viewer

Análisis, diseño y desarrollo de un sistema de seguimiento de acciones formativas en teleformación (SAFT)

Lara Navarro, Francisco

Abstract

El proyecto plantea la realización de un sistema de seguimiento de acciones formativas de teleformación, donde el requisito inicial es suministrar un servicio web que implementa las operaciones necesarias para el seguimiento de estas acciones formativas. La entidad principal que define este servicio podrá conectar a múltiples empresas de formación que imparten este tipo de acciones formativas y deben suministrar este servicio. El proyecto plantea el análisis completo del sistema para una determinada empresa de formación que incluye el servicio web, la plataforma formativa y demás subsistemas que se consideren necesarios. En nuestro caso una aplicación web adicional para la gestión de las acciones formativas, desarrollada con tecnología Microsoft. El servicio web se desarrolla con protocolo SOAP y tecnología Php. Se plantea el análisis completo del sistema y el diseño y desarrollo del servicio web y de la funcionalidad principal de la aplicación web de seguimiento.

Full text

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Grado en Ingeniería de Computadores Análisis, diseño y desarrollo de un Sistema de Seguimiento de Acciones Formativas de Teleformación (SAFT) Analysis, Deisgn and Develoment of a Teletraining Activities Tracking System (TATS) Realizado por Francisco Lara Navarro Tutorizado por D. Luis Manuel Llopis Torres y Cotutorizado por D. Raúl Moreno Luque Departamento Lenguajes y Ciencias de la Computaci´no UNIVERSIDAD DE MÁLAGA MÁLAGA, Noviembre 2014 Fecha defensa: El Secretario del Tribunal 5 Resumen El proyecto plantea la realización de un sistema de seguimiento de acciones formativas de teleformación, donde el requisito inicial es suministrar un servicio web que implementa las operaciones necesarias para el seguimiento de estas acciones formativas. La entidad principal que define este servicio podrá conectar a múltiples empresas de formación que imparten este tipo de acciones formativas y deben suministrar este servicio. El proyecto plantea el análisis completo del sistema para una determinada empresa de formación que incluye el servicio web, la plataforma formativa y demás subsistemas que se consideren necesarios. En nuestro caso una aplicación web adicional para la gestión de las acciones formativas, desarrollada con tecnología Microsoft. El servicio web se desarrolla con protocolo SOAP y tecnología Php. Se plantea el análisis completo del sistema y el diseño y desarrollo del servicio web y de la funcionalidad principal de la aplicación web de seguimiento. Palabras clave Servicios web, SOAP, XML, Microsoft, ASP .NET, Php, MySql, Aplicación Web, Sistema de seguimiento, integración de sistemas Summary The project involves the implementation of a tracking system tele-training activities, where the initial requirement is to provide a web service that implements the operations necessary to monitor these training activities. The main entity that defines this service can connect to multiple training companies offering this type of training activities and which must provide this service. The project proposes the complete system analysis for a particular training company that includes the web service, the learning platform and other subsystems that are deemed necessary. In our case an additional web application for managing training activities, developed with Microsoft technology. The web service is developed with SOAP and PHP technology protocol. We present the full system analysis and design and development of web service and the main functionality of the web tracking application. Key words Web services, SOAP, XML, Microsoft, ASP .NET, Php, MySql, Web aplication, tracking system, open systems 6 7 Tabla de contenido 1Introducción ......................................................................................................... 9 1.1Objetivos del proyecto ................................................................................. 10 1.2Estructura de la memoria ............................................................................ 11 2Descripción del sistema de información ............................................................. 11 2.1Identificación de Requisitos ......................................................................... 11 2.2Modelo de sistema de información .............................................................. 12 2.3Arquitectura tecnológica .............................................................................. 13 3Análisis del sistema de información ................................................................... 15 3.1Requisitos Servicio Web .............................................................................. 15 3.2Requisitos Aplicación Web Saft ................................................................... 17 3.3Modelo lógico de datos ................................................................................ 17 4Diseño del sistema ............................................................................................. 19 4.1Diseño Servicio Web ................................................................................... 19 4.2Diseño Aplicación de seguimiento ............................................................... 19 4.3Plan de pruebas .......................................................................................... 20 5Herramientas y tecnologías ............................................................................... 21 5.1PHP ............................................................................................................. 21 5.2ASP .Net ...................................................................................................... 22 5.3Css (Hojas de estilo) ................................................................................... 23 5.4AJAX ........................................................................................................... 23 5.5Uso de Base de Datos ................................................................................. 24 5.6Servicios Web ............................................................................................. 25 6Conclusiones y Extensiones .............................................................................. 25 7Referencias Bibliográficas .................................................................................. 26 8Anexos Técnicos ................................................................................................ 27 8.1Anexo 1 - Definición de interfaz de usuario ................................................. 27 8.2Anexo 2 - Descripción de interfaces entre subsistemas .............................. 30 8.3Anexo 3 - Descripción del entorno tecnológico ........................................... 32 8 9 1 Introducción En el mercado actual y, en cuanto a la teleformación se refiere, múltiples empresas tiene la necesidad de facilitar a ciertos organismos centrales la posibilidad de realizar un seguimiento de las actividades de cada una de ellas lleva a cabo. Como solución se plantea la definición de un protocolo estándar de comunicación independiente de la plataforma formativa que cada empresa utilice y estandarizando el tipo de información que de ellas se requiere. El proyecto plantea la realización de un sistema de seguimiento de acciones formativas de teleformación, donde el requisito inicial es suministrar un servicio web que implementa las operaciones necesarias para el seguimiento de estas acciones formativas. El proyecto plantea el análisis completo del sistema para una determinada empresa de formación que incluye el servicio web, la plataforma formativa y demás subsistemas que se consideren necesarios. En nuestro caso una aplicación web adicional para la gestión de las acciones formativas, desarrollada con tecnología Microsoft. El servicio web se desarrolla con protocolo SOAP y tecnología Php. Se plantea el análisis completo del sistema y el diseño y desarrollo del servicio web y de la funcionalidad principal de la aplicación web de seguimiento. La educación reglada se apoya en las empresas de formación privada para así poder cubrir las necesidades formativas de determinados sectores educativos tales como los certificados de profesionalidad, estableciendo una serie de requisitos y condiciones para que cualquier entidad candidata a poder impartir y expedir este tipo de certificados. Los candidatos, empresas privadas de formación, solicitan autorización por escrito de cada curso que desean impartir y por tanto homologar. La entidad homologadora, una vez comprueba que la acción formativa en cuestión cumple con los requisitos establecidos, da de alta a través del Servicio Web la acción formativa como autorizada. La empresa recibe la autorización a través de nuestra aplicación Web (SAFT) lo que le permite comenzar con la ejecución del curso ya autorizado (matriculación de los alumnos, realización del curso por parte de los alumnos sobre la plataforma formativa Moodle, evaluaciones y calificaciones, finalización de los cursos, etc…) 10 La entidad homologadora realiza periódicamente el seguimiento del nivel de realización de los cursos llevando a cabo peticiones a través del Servicio Web, consultando las acciones formativas y recibiendo información de listados de alumnos, tutorías, tiempos de conexión, calificaciones, etc. Las actividades realizadas en la plataforma formativa se traspasan a la aplicación Web (SAFT) mediante un proceso periódico de sincronización el cual no entra en el alcance de este proyecto. 1.1 Objetivosdelproyecto Desarrollo de un sistema que permita el seguimiento de acciones formativas de telefomación por parte de las dos entidades que participan en el proceso:  Una entidad responsable de su homologación y posterior seguimiento  Empresas de formación privada que imparten la formación, solicitan la homologación a la entidad homologadora y gestionan todo el proceso formativo. La entidad homologadora conecta al sistema para autorizar las acciones formativas programadas y realizar el seguimiento del estado de la formación. La gestión de las acciones formativas por parte de las empresas privadas que quieran impartir este tipo de información deben acogerse a los requisitos establecidos por la entidad homologadora y disponer de un sistema que soporte estos requisitos. La entidad homologadora define la especificación de un servicio web que suministra toda la funcionalidad necesaria para el seguimiento de las acciones formativas de múltiples empresas privadas que se acojan a este plan. Este servicio web proporciona una interfaz y estructura de datos homogénea de comunicación desde el cual la entidad homologadora puede realizar el seguimiento de las acciones formativas de múltiples empresas de formación que se acogen a este plan formativo. Las empresas privadas deben implementar este servicio web y el resto de infraestructura necesaria que constituye el sistema completo para impartir la formación y permitir la gestión y seguimiento de los datos resultantes. Alcance del proyecto En los siguientes apartados se define el sistema completo de información compuesto por varios subsistemas. El sistema completo es muy extenso y este proyecto contempla solo los siguientes apartados:  Descripción del sistema de información completo, que permite situarnos y entender correctamente el contexto completo del sistema. 11  Desarrollo del Servicio web de seguimiento de acciones formativas especificado por la entidad homologadora  Desarrollo de la parte principal de la Aplicación de gestión de las acciones formativas, que posteriormente se define en el proyecto como parte necesaria para que las empresas privadas puedan gestionar las acciones formativas 1.2 Estructuradelamemoria Se ha realizado el análisis basándose en la metodología Métrica V3, esta metodología contempla el desarrollo de sistemas de información y da soporte al ciclo de vida del software. La metodología contempla todos los procesos y fases necesarias para el desarrollo del sistema de información y en cada desarrollo se usan las que se consideren adecuadas para el proyecto concreto. La memoria sigue la estructura de fases de Métrica V3 usando las fases y técnicas que se han considerado adecuadas al proyecto. En nuestro caso las siguientes: 2 - Descripción del sistema de información (PSI) 3 - Análisis del sistema de información (ASI) 4 - Diseño del sistema de información (DSI) Y dentro de cada una los apartados que se han considerado adecuados. Se ha incorporado capítulos que describen las principales herramientas y tecnologías utilizadas, conclusiones y extensiones y bibliografía utilizada. 2 Descripcióndelsistemadeinformación Primera fase que proporciona el marco estratégico del sistema de información que se quiere desarrollar. En primer lugar identificar los requisitos del sistema y después definir el modelo de información y arquitectura para proporcionar estos requisitos 2.1 IdentificacióndeRequisitos El objetivo del proyecto es el desarrollo de un sistema que permita el seguimiento de acciones formativas de telefomación por parte de las dos entidades que participan en el proceso:  Una entidad responsable de su homologación y posterior seguimiento  Empresas de formación privada que imparten la formación, solicitan la homologación a la entidad homologadora y gestionan todo el proceso formativo. La entidad homologadora conecta al sistema para autorizar las acciones formativas programadas y realizar el seguimiento del estado de la formación. 12 La gestión de las acciones formativas por parte de las empresas privadas que quieran impartir este tipo de información deben acogerse a los requisitos establecidos por la entidad homologadora y disponer de un sistema que soporte estos requisitos. La entidad homologadora define la especificación de un servicio web que suministra toda la funcionalidad que necesita para el seguimiento de las acciones formativas de múltiples empresas privadas que se acojan a este plan. Este servicio web proporciona una interfaz y estructura de datos estándar de comunicación desde el cual la entidad homologadora puede realizar el seguimiento de las acciones formativas de múltiples empresas de formación que se acogen a este plan formativo. Las empresas privadas deben implementar este servicio web y el resto de infraestructura necesaria que constituye el sistema completo para impartir la formación y permitir la gestión y seguimiento de los datos resultantes. Nuestro escenario es el de una empresa privada de formación que quiere acogerse a este plan para impartir acciones formativas en la modalidad de teleformación y deben suministrar este sistema para poder homologar las acciones formativas. Definimos el sistema de una empresa privada que imparte este tipo de información y se contemplan los siguientes requisitos:  Servicio web para el seguimiento de las acciones formativas establecido por parte de la entidad externa responsable de la homologación. Especifica las funciones que permiten gestionar el seguimiento de las acciones formativas (altas, bajas, consultas, …) y la estructura de información completa que se requiere (alumnos, fechas, calificaciones, accesos, …).  Sistema de gestión de las acciones formativas necesario para que la empresa de formación pueda gestionar todo el proceso formativo: altas, matriculaciones, ejecución, finalización, …  Plataforma formativa de teleformación donde se imparten las acciones formativas. Habitualmente Moodle u otras plataformas y sistemas de LMS (Learning Management System) 2.2 Modelodesistemadeinformación Este apartado describe el modelo de información propuesto que se desarrollará para cubrir los requisitos descritos en el paso previo. Se describe este modelo en base a los subsistemas que compondrán el modelo completo. Servicio web para el seguimiento de las acciones formativas por parte de la entidad externa responsable de la homologación. Es un requisito obligatorio y con 19 4 Diseñodelsistema Se ha descrito con mayor detalle la fase de análisis, de esta fase describimos brevemente los subsistemas que se han desarrollado para este trabajo. 4.1 DiseñoServicioWeb En este apartado describimos el diseño del servicio web de seguimiento de acciones formativas. Servicio web desarrollado mediante protocolo SOAP en lenguaje Php. Este lenguaje suministra una librería específica para gestión de SOAP. servidor SOAP wsSaftW.php SoapServerWrap.php Interfaz Servicio Web saft.class.php Implementación Servicio Web saft.class.php Clases Php Mysqli DOMDocument Hay una clase que implementa el servidor SOAP donde están definidas todas las funciones que suministra el servicio web con sus parámetros de entrada y salida. En base a esta definición el servidor SOAP puede generar el fichero WSDL de definición del servicio web. En nuestro caso el servidor se crea suministrando el fichero WSDL Una única clase que implementa la funcionalidad del servicio web y ofrece como métodos públicos los 6 métodos que componen el servicio web. Cada una de estas funciones recibe unos parámetros, realiza un proceso de acceso a base de datos y devuelve un resultado. La estructura de parámetros de entrada y salida está definida en el fichero WSDL. SE usa la clase de Php mysqli para acceso a datos y la clase DOMDocument para manejo de la estructuras Xml que requiere el servicio web 4.2 DiseñoAplicacióndeseguimiento En el modelo lógico de datos se describen las entidades y estructura de datos que componen el sistema de seguimiento de acciones formativas La funcionalidad de la aplicación se hace en el apartado de Definición de la interfaz de usuario en base a las distintas pantallas de la aplicación que gestionan la información 20 En este apartado describimos de forma general la arquitectura y diseño de la aplicación. Esta desarrollada en ASP .Net con el lenguaje C#, con una arquitectura organizada en 3 capas: Capa de interfaz de usuario En esta capa está la interfaz de usuario desarrollada mediante formularios de ASP .Net. Se usa un sistema de plantillas para definir estructura común de todas las ventanas. La clase “MasterPage” que permite definir plantillas con una estructura y funcionalidad de base común. Posteriormente se definen las ventanas en base a estas plantillas según la estructura que se requiera. Se usan controles .ascx para definir los menús que son comunes en diferentes ventanas. Para uso de AJAX se usan los componentes que suministra ASP .Net, un objeto ScriptManager que se incorpora en la MasterPage y controles de tipo “UpdatePanel” que gestionan el refresco automático Capa de reglas de negocio En esta capa se definen las reglas de negocio, la lógica de la aplicación. La capa de interfaz de usuario llama a objetos de esta capa para gestionar la información Capa de acceso a datos En esta capa se definen las clases de acceso a datos. La capa de reglas de negocio accede a los datos a través de esta capa. Esta capa suministra una independencia del sistema de almacenamiento de información. Si se quisiera adaptar el sistema para usar otro sistema de base de datos, por ejemplo SQLServer, tan solo tendríamos que modificar la funcionalidad de esta capa. 4.3 Plandepruebas Pruebas unitarias Se han realizado pruebas unitarias de cada subsistema. Para el servicio web se ha usado una aplicación específica de testeo enviada por la entidad homologadora para validar que la plataforma cumple con los requisitos especificados. Pruebas de integración Se han realizado pruebas de integración con todos los subsistemas instalados sobre el mismo entorno de pruebas. En este sistema es importante al estar compuesto por varios subsistemas con estrecha relación. Pruebas de rendimiento En este sistema no está prevista mucha carga excepto para la plataforma Moodle. El resto de subsistemas serán usados por pocos usuarios administradores y no se requieren pruebas de estrés. 21 Para la plataforma Moodle se dimensiona el sistema en función del número máximo de usuarios concurrentes previstos. Para este tipo de plataforma bastante estandarizada ya se tiene una estimación bastante aproximada de los requisitos del sistema en función del nº de usuarios, y en base a esto se dimensiona la plataforma formativa Moodle. 5 Herramientasytecnologías Breve descripción de las tecnologías utilizadas 5.1 PHP PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. Los archivos cuentan con la extensión (Php). A continuación enumeramos las ventajas de este lenguaje:  Se caracteriza por ser un lenguaje muy rápido.  Soporta la orientación a objetos, clases y herencias.  Es un lenguaje multiplataforma: Linux, Windows entre otros.  Tiene la capacidad de conectar con la mayoría de los manejadores de base de datos: MySql, PostgreSQL, Oracle, MS SQL Server.  En su página oficial podemos encontrar documentación que incluye descripción y ejemplos de cada una de sus funciones.  Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.  Incluye gran cantidad de funciones, lo cual facilita las cosas para el programador.  No requiere definición de tipos de variables ni manejo detallado del bajo nivel. Sin embargo, PHP requiere tener en cuenta por parte del desarrollador una serie de aspectos para conseguir sistemas bien estructurados y fácilmente escalables y mantenibles: Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las solicitudes aumenten de número. La arquitectura modular y de capas del sistema debe ser definida y gestionada por los desarrolladores para conseguir  Separar la mezcla de sentencias HTML y PHP.  Definir un buena modularización.  Definir una organización por capas de la aplicación. 22 Actualmente existen distintos Frameworks de desarrollo que suministran una estructura predefinida y facilitan esta labor. Se usa habitualmente el modelo de arquitectura MVC (Modelo - Vista – Controlador). En nuestro sistema se han desarrollado en Php el servicio web y el proceso de sincronización. Se trata de sistemas relativamente sencillos y no usamos un framework que habitualmente se usan para desarrollo de aplicaciones web complejas. Algunos frameworks de Php suministran funcionalidad específica para el desarrollo de servicios web (por ejemplo Zend Estudio). En nuestro caso usamos las librerías y técnicas de Php requeridas para este tipo de procesos  Diseño orientado a objetos  Librería SOAP  Acceso a datos con mysqli  Gestión de XML con DomDocument  … 5.2 ASP.Net En cuanto a ASP.NET es un lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP (Active Server Pages), fue lanzada al mercado mediante una estrategia de mercado denominada .NET. El ASP.NET fue desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Creado para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener instalado IIS con el Framework .Net. Las ventajas de ASP.NET son las siguientes:  Incremento de velocidad de respuesta del servidor.  Mayor seguridad.  Separación del código frente a la interfaz de usuario: aplicaciones multicapa.  Facilita el mantenimiento de grandes aplicaciones.  Uso tanto en webs sencillas como en grandes aplicaciones.  Uso de la programación Orientada a Objetos, facilitando la modularidad o el encapsulamiento.  Facilita la programación en XML, la creación de Servicios Web.  Controles de usuario y personalizados Como desventaja ASP.NET consume muchos recursos y no es gratuito ni abierto. Seguimos analizando las alternativas de lenguajes a usar para implementar nuestro proyecto, ahora toca JSP. 23 5.3 Css(Hojasdeestilo) CSS (Cascade Style Sheet) es un lenguaje para definir la presentación de documentos HTML o XML. Tiene una especificación definida por el W3C y soportada por la mayoría de navegadores actuales. Se usa integrado con el HTML y nos permite separar la estructura y contenidos de los documentos web (HTML) se su apariencia. O sea, es posible cambiar la apariencia toda de la página modificando únicamente la hoja de estilos. Pueden usarse estilos directamente integrados en el HTML pero la forma más adecuada es separar totalmente los ficheros de hojas de estilo. En el HTML solo se les da nombre a los bloques o elementos en referencia a su estilo en la hoja de estilos del documento. Es posible aplicar un estilo CSS a un control de ASP .NET o a toda la página ASPX, los pasos son muy sencillos:  Creamos un archivo llamado por ejemplo template.css e incluir en ella los estilos: .oculto { display:none; }  Luego hay que hacer referencia a la hoja de estilos (en este caso template.css) en el archivo aspx en dónde se desea aplicar los estilos. <link href="../css/template.css" rel="stylesheet" type="text/css" />  Por último, debemos establecer la propiedad "CssClass" del control a uno de los estilos que se encuentra en la hoja de estilos. Por ejemplo si tengo campo de un GridView que quiero ocultar, entonces le aplico CssClass="oculto" Al ejecutar el aspx se puede ver que el estilo se aplicó efectivamente. Se pueden aplicar estilos a cualquier control que posea la propiedad CssClass. Alguno de ellos son: Textbox, Label, LinkButton, DataGrid, Button, entre otros. 5.4 AJAX Tecnología que indica la combinación de Javascript y Xml en los navegadores lo que permite realizar accesos al servidor sin tener que recargar por completo la página web. Esto permite aplicaciones interactivas en la web, mucho más ricas y rápidas, dado que no precisamos recargar todo el contenido de una página para realizar peticiones al servidor En nuestro caso la aplicación web de seguimiento de acciones formativas usa las funcionalidades que suministra ASP .Net para gestión de AJAX: Controles de tipo UpdatePanel permiten realizar un acceso al servidor y refrescar solo la parte de la página contenida en el control UpdatePanel. Todas las páginas están basadas en una plantilla implementada en una página tipo MasterPage. En esta plantilla se integra un control de tipo ScriptManager necesario 24 en ASP para poder gestionar las peticiones AJAX realizadas por controles tipo UpdatePAnel 5.5 UsodeBasedeDatos En nuestro sistema usamos bases de datos MySql. Las aplicaciones Php como son el servicio web y el sistema de sincronización usan la librería mysqli de Php LA aplicación Web de seguimiento desarrollada en ASP .Net usa la tecnología de acceso a datos ADO, propia de .Net ADO.NET es un modelo de acceso orientado al trabajo desconectado de las fuentes de datos. El objeto más importante a la hora de trabajar con el nuevo modelo de acceso a datos es el DataSet. Es similar a un motor de datos relacionales en memoria. El concepto más importante que hay que tener claro sobre ADO.NET es su modo de funcionamiento, que se revela claramente al analizar su arquitectura (Figura 3-5): En función del sistema físico de base de datos que se use, necesitamos una librería para .Net que soporte el acceso al sistema de base de datos que usamos. En nuestro caso usamos la librería para .Net disponible en la web de MySql. Suministra los objetos específicos para proveedor de datos MySql, como se muestra en la figura superior. Acceden por un proveedor nativo a la base de datos MySql, la librería que en el código de la aplicación .Net aparece como “MySql.Data.MySqlClient”. 25 5.6 ServiciosWeb Los servicios web nos permiten la comunicación y interacción de distintas aplicaciones a través de la red de internet mediante el protocolo estándar Http. Un servicio Web es una colección de protocolos y estándares que sirve para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, soportando así la interoperabilidad máquina – máquina (interoperabilidad sintáctica), gracias al uso común de estos protocolos estandarizados. Los servicios web usan una serie de tecnologías estándar que pueden ser fácilmente publicadas, localizadas e invocadas independientemente de la tecnología de la plataforma que las soporta. XML, SOAP, UDDI o WSDL. Los protocolos empleados son los siguientes :  XML (eXtensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.  WSDL (Web Services Definition Service): Este protocolo se encarga de describir el web service cuando es publicado. Es el lenguaje XML que los proveedores emplean para describir sus web services.  SOAP (Simple Object Access Protocol): Protocolo sobre el que se establece el intercambio de datos. Permite que programas que corren en diferentes sistemas operativos se comuniquen. Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. La comunicación entre las diferentes entidades se realiza mediante mensajes que son rutados en un sobre SOAP.  UDDI (Universal Description Discovery and Integration): Este protocolo permite la publicación y localización de los servicios. Los directorios UDDI actúan como una guía telefónica de web services. Existen otros sistemas para desarrollar servicios web como REST o XML/RPC, en nuestro caso se ha usado SOAP por requisito del sistema 6 ConclusionesyExtensiones Como extensión del sistema global se propone un sistema de sincronización de la plataforma de seguimiento (Web Saft) con la plataforma LMS: Desde la aplicación web de gestión y seguimiento de las acciones formativas, también se permitirá enviar esta información de acciones formativas, alumnos y matriculaciones directamente a la plataforma Moodle (solo la información que requiere la plataforma Moodle). De esta forma se evita tener que realizar estos procesos de alta y mantenimiento de información por duplicado en ambas plataformas.  Para ello puede usarse el sistema de servicios web que integra la propia plataforma Moodle y desde la plataforma de seguimiento se invocarían estos 26 servicios en los procesos de alta y modificación de estas entidades con lo cual tendríamos la información disponible en ambas plataformas.  Otra posibilidad es desarrollar procesos de exportación con formato predefinido de acuerdo a al formato de ficheros que suministra Moodle para la carga masiva de datos de estas entidades (ficheros Excel con determinado formato). Como conclusiones del proyecto destacar como aspecto de interés la integración de un sistema compuesto por varios subsistemas teniendo en cuenta los distintos aspectos y posibilidades a distintos niveles (hardware, tecnologías, lógico, …). También remarcar la relevancia y interés que están tomando los sistemas o arquitecturas abiertas, arquitecturas orientadas a servicios, desarrolladas mediante servicios web que permiten suministrar sistemas abiertos y estandarizados hacia múltiples posibles clientes. Se requiere realizar un esfuerzo de estandarización de servicios y formatos que ya se está haciendo en muchos sectores como en seguros, hostelería, banca, … 7 ReferenciasBibliográficas Para obtener más información acerca de XML, SOAP, WSDL, el W3C, servicios Web y otras tecnologías relacionadas con el proyecto, recomendamos los siguientes sitios Web: Para saber más sobre … Sitio Web Orientación, mejores prácticas y recursos para el desarrollo de soluciones con servicios Web http://www.ws‐i.org InformaciónacercadeXMLysus componentes,talescomoXSLT,XLink, esquemaXML,incluyendotutoriales http://www.w3c.org/XML/Schema Informaciónacercadelosproveedoresde serviciosWeb,noticiasdelaindustriaylos artículos,yeldesarrollodeserviciosWeb http://www.webservices.org Información sobre los grupos de trabajo para la arquitectura, protocolos, descripciones de servicios web, WSDL, SOAP. http://www.w3c.org Información sobre el WSDL y Microsoft .NET Framework desde el centro de desarrolladores http://msdn.microsoft.com/netframework  Descargas de herramientas de Microsoft .NET Framework, incluyendo el SDK, Visual Studio y ejemplos de código http://msdn.microsoft.com/downloads  27 Web oficial del lenguaje Php http://php.net Web oficial de la base de datos Mysql http://www.mysql.com/ 8 AnexosTécnicos 8.1 Anexo1‐Definicióndeinterfazdeusuario Para la aplicación de seguimiento de acciones formativas se realiza la especificación del interfaz de usuario realizando directamente el diseño de las pantallas que se desarrollarán en la siguiente fase. En el modelo lógico de datos se describen las entidades y estructura de datos que componen el sistema de seguimiento de acciones formativas Describimos el sistema nivel funcional en base a las distintas pantallas de la aplicación que gestionan la información Pantalla especialidades Imagen de la interfaz de usuario Muestra los datos de especialidades disponibles en el sistema. Las especialidades están clasificadas en áreas y las áreas en familias. Cada especialidad principal está compuesta por un conjunto de especialidades secundarias. Podremos filtrar por estos criterios y mostrar los datos de especialidades y especialidades secundarias disponibles en el sistema Pantalla de consulta de acciones formativas Permite buscar acciones formativas por los distintos datos que las identifican y tipifican (área, familia, especialidad principal, especialidad secundaria, código, estado, fechas). Muestra el listado de resultados y podremos editar las acciones formativas. 28 Pantalla de edición de acciones formativas Muestra todos los datos de cabecera de una acción formativa. Podremos editar y modificar los datos que estén disponibles para modificación. Muestra un listado de las especialidades que componen la especialidad principal. Podemos editar las especialidades existentes y dar de alta nuevas especialidades de la acción formativa Acceso al listado de participantes de la acción formativa. Pantalla de especialidad de acción formativa Muestra los datos de una especialidad de la acción formativa Muestra los datos estadísticos de uso de esa especialidad de la AF. Estos datos no son modificables, los genera el proceso de sincronización a partir de la actividad de los alumnos en la plataforma formativa Moodle. Este proceso se ejecuta en el servidor de forma periódica. Muestra el listado de los tutores de esa AF y permite su mantenimiento, alta, baja y modificación Muestra el listado de centros presenciales de la especialidad y permite su manteamiento, alta, baja y modificación.