E3.1 PROTOTIPO DE MATERIALES - INESCOP · E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE...
Transcript of E3.1 PROTOTIPO DE MATERIALES - INESCOP · E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE...
EXPEDIENTE IMDEEA/2019/31
ACRÓNIMO PAWIMAC
PROGRAMA Proyectos de I+D de carácter no económico en el ámbito de la
industria 4.0 en cooperación con empresas
TÍTULO DEL PROYECTO
PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES EN CALZADO
Entregable E3.1 PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE
MATERIALES DIGITALES REALISTAS
ÍNDICE 1. Descripción del entregable ...................................................................................... 3 2. Trabajo realizado y herramientas utilizadas ............................................................ 4 2.1 Desarrollo del software del prototipo ................................................................... 4 2.2 Hardware para el despliegue del prototipo .......................................................... 7
3. Interfaces del prototipo ......................................................................................... 10 4. Acceso al prototipo ................................................................................................ 17
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
3
1. Descripción del entregable Este documento sintetiza y recopila los resultados del trabajo realizado dentro del paquete de trabajo PT3 del proyecto PAWIMAC. En primer lugar, se realiza un breve resumen del proceso y las tecnologías que se han utilizado durante la fase de desarrollo e implementación de software que se ha realizado para dar lugar al prototipo funcional de la plataforma y a continuación, se detalla el hardware que ha sido necesario utilizar para el despliegue de este.
En segundo lugar, se muestra mediante una serie de capturas, el diseño final en el prototipo que es el objetivo de este entregable, de las principales secciones del sitio web. Estas secciones se han desarrollado e implementado siguiendo las directrices base que se definieron en el PT2 las cuales pueden consultarse en el documento “E2.1 – Informe de especificación de la arquitectura.” Hay que destacar que al implementar las funcionalidades descritas, se han detectado y corregido ligeras desviaciones que afectan sobre todo a la interfaz para cumplir con los requerimientos que fueron definidos en el PT1 y que pueden consultarse en “E1.1– Informe del estado del arte e identificación de requerimientos.” Este proceso de refinamiento iterativo es lógico y habitual en cualquier desarrollo de un sistema software como el planteado y es por ello, fundamental la implementación, el despliegue y las pruebas de la arquitectura definida en un prototipo funcional que sea validado en un entorno de uso real. En tercer y último lugar, se presentan los datos de acceso al prototipo funcional de la plataforma de intercambios de materiales que implementa la arquitectura del sistema definido en el proyecto PAWIMAC.
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
4
2. Trabajo realizado y herramientas utilizadas 2.1 Desarrollo del software del prototipo Mediante el cumplimiento de esta tarea se ha abordado el desarrollo de la parte front‐end y de la pate back‐end del prototipo de arquitectura de plataforma colaborativa para el intercambio de materiales digitales. El proceso que se ha seguido en esta labor ha sido trasladar a lenguaje informático todas las especificaciones que fueron establecidas en las tareas de los paquetes de trabajo PT1 y PT2 y de forma iterativa, refinar aquellos detalles que se han observado erróneos o mejorables al realizar la implementación. A continuación, se detallan los distintos componentes que han sido utilizados para el desarrollo junto con las herramientas, entornos de programación y lenguajes que fueron utilizados para su implementación, así como las características básicas del servidor utilizado en el prototipo. La aplicación web utiliza para su funcionamiento el servidor web Apache. El sistema gestor de base de datos utilizado para el almacenamiento y acceso a la información es el MariaDB, un sistema derivado de MySQL. Ambas decisiones de tecnología se han tomado por su estabilidad, uso extendido en la comunidad web y por ser alternativas de software libre, facilitando y demostrando que cualquier empresa interesada en realizar una implementación comercial de la arquitectura no encuentre obstáculos incurriendo en costes excesivos con la tecnología a utilizar. Para el desarrollo software la aplicación web, se ha utilizado el entorno de desarrollo PhpStorm, el cual permite la programación mediante lenguaje PHP en su versión 7.3. Además, se ha utilizado el framework web Symfony, el cual facilita el desarrollo de este tipo de aplicaciones por diferentes motivos detallados en anteriores paquetes de trabajo PT1 y PT2. Los principales consisten, en primer lugar, en que se basa en el modelo MVC (modelo, vista y controlador), de manera que permite efectuar el desarrollo diferenciando y separando las distintas capas. Además, dispone de un mapeador de objetos relacional (ORM) que permite abstraerse del uso de la base de datos relacional y utilizarla como simples objetos del lenguaje de programación utilizado. Por último, el sistema de enrutamiento utilizado lo hace conveniente para la implementación de páginas web personalizadas por cliente/empresa y servicios web, en los que cada recurso o funcionalidad se encuentra accesible a través de una ruta diferente.
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
5
Entorno PHPStorm con proyecto del prototipo PAWIMAC
La implementación de las diversas páginas web que componen el sistema definido en PAWIMAC se ha realizado utilizando el lenguaje de creación de plantillas Twig, que permite, en el nivel de la capa de Vista, la creación dinámica de contenido web mediante HTML 5. Como lenguaje de programación en el lado del cliente, se ha utilizado Javascript, el cual, enriquecido con el uso de Ajax mediante el uso de la librería JQuery, permite interactuar con el servidor sin necesidad de recargar la totalidad de una página web desde el navegador. Además, los estilos de la página se han definido utilizando el lenguaje de creación de hojas de estilo en cascada CSS y mediante la librería Bootstrap que es una biblioteca multiplataforma o conjunto de herramientas de código abierto para diseño de sitios y aplicaciones web responsive (multidispositivo). Contiene plantillas de diseño con tipografía, formularios, botones, cuadros, menús de navegación y otros elementos de diseño basados en HTML y CSS, así como extensiones de JavaScript adicionales. Además provee de un sistema de rejillas o grids que se adaptan a múltiples resoluciones de pantalla lo que facilita el diseño de formularios web adaptables a dispositivos móviles, tablets, PCs, etc.… En el trabajo de desarrollo del código fuente, se han realizado diversas pruebas de unidad, de integración y de sistema para garantizar el funcionamiento óptimo del prototipo. Además, se ha contado con un servicio externo con la consultora software CLAVEI para analizar, en varias fases del proceso de desarrollo, el código fuente del prototipo de plataforma web de intercambio de materiales desarrollado por INESCOP.
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
6
Por otro lado, los formularios web han sido validados durante la fase de desarrollo a través de herramientas y emuladores de dispositivos móviles y a través del acceso desde diferentes dispositivos reales: móviles Android, IPad, IPhone, etc.
Depuración del código fuente en emulador móvil y validación de adaptabilidad de los formularios web
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
7
2.2 Hardware para el despliegue del prototipo En primer lugar, se ha configurado una máquina virtual (MV) sobre un host operado por VMware vSphere con las características que se muestran a continuación.
Características técnicas del HOST de INESCOP utilizado
Hardware
Marca y modelo Fujitsu NEU10960866 PY RX2530 M2
Procesador Intel Xeon E5‐2640V4 10C/20T 2.40 GHz Memoria 4 Módulos de 32GB DDR4‐2400
Almacenamiento 2 Discos Duros SAS 12G 1.8TB 10K 512e HOT PL 2.5'EP
Controladora 1 Controladora RAID PRAID CP400i
Red Tarjeta multipuerto 4 x 1 Gbit GigaEthernet
Almacenamiento (para las MV)
Se realiza en una cabina de discos SAS con redundancias en diferentes elementos HW y es accesible mediante protocolos NFS y CIFS.
Software
Sistema operativo
VMware vSphere v5.5
Por otro lado, para el despliegue del la máquina virtual configurada para alojar el prototipo del proyecto, se han realizado diversas configuraciones a nivel de hardware y finalmente se ha optado por la configuración se refleja en la siguiente tabla.
Características técnicas de la máquina virtual para PAWIMAC
Hardware
CPU 4 núcleos / 8 hilos de ejecución (2 sockets con 2 cores cada socket)
Memoria 16 GB de RAM Discos 4 Módulos de 32GB DDR4‐2400 Almacenamiento 5 discos asignados a diferentes particiones del
SO guest (Linux Debian). Disco inicial para datos de 32 GB.
Software
Sistema operativo (guest) Linux Debian v9
Servidores implicados Servidor web: Apache2 Scripting: PHP 7.3 Motor BBDD: MariaDB v15
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
8
Por último hay que resaltar que se ha optado por alojar la máquina virtual en los servidores propios de INESCOP, ya que esto nos permite tener una mayor flexibilidad en el diseño de diferentes configuraciones hardware en el servidor con el objetivo de evaluar diferentes entornos de producción y conocer mejor la respuesta del servidor ante diferentes tipos de carga en el software. Por razones económicas, de eficiencia y eficacia, es preferible alojar el servidor en el sistema de virtualización propio, en lugar de subcontratar un hosting externo. Esto también nos permite, de cara al futuro, escalar las características hardware de la máquina virtual de una manera sencilla, ágil y económica en caso de que las bases de datos de materiales digitales crezcan o el volumen de peticiones y usuarios aumente de forma considerable.
A continuación se ilustra de forma gráfica las características del despliegue y configuración realizada en el servidor VMware vSphere para poder alojar el prototipo de aplicación desarrollada en PAWIMAC.
Información en el sistema VMware vSphere de la MV configurada para el despliegue del prototipo (I)
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
9
Información en el sistema VMware vSphere de la MV configurada para el despliegue del prototipo (II)
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
10
3. Interfaces del prototipo
A continuación se muestran capturas de cómo se ha implementado en el prototipo funcional, el diseño de las principales secciones de la plataforma web de intercambio de materiales digitales realistas a partir de la definición de la arquitectura y mockups realizados en el “PT2. Determinación de la arquitectura de la plataforma y elementos que la componen” y que fueron reflejados en el documento “E2.1 – Informe de especificación de la arquitectura.” Como puede observarse, la funcionalidad y las características descritas y definidas a lo largo del proyecto están disponibles y se cumple con la totalidad de los requerimientos si bien, como ya se ha mencionado anteriormente, algunos de los formularios web han sufrido ligeros cambios de diseño.
Autenticar usuarios y restablecer contraseñas
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
11
Navegador categorizado de materiales
Visor de materiales – Vista general, mapas y materiales relacionados
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
12
Visor de materiales – Propiedades
Visor de materiales – Visualización realista 2D
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
13
Comentarios – Alta de comentarios
Comentarios – Visualización y borrado de comentarios
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
14
Gestión de contenidos
Alta de materiales sin archivo mtw, desde mapas, texturas y datos
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
15
Gestión de categorías y etiquetas
Gestión de usuarios
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
16
Gestión de preferencias
E3.1 – PROTOTIPO DE PLATAFORMA WEB DE INTERCAMBIO DE MATERIALES DIGITALES REALISTAS
17
4. Acceso al prototipo
El objetivo principal de este entregable es proporcionar acceso a las empresas interesadas a un prototipo funcional que se base en la definición de la arquitectura llevada a cabo en el proyecto. En la siguiente dirección web o URL, se encuentra el prototipo operativo con las principales características, funcionalidades y requerimientos que han sido identificadas, estudiadas, desarrolladas e implementadas en el proyecto.
https://cadmaterialsdev.inescop.es/es/pawimac La personalización del cliente de la plataforma de ejemplo del prototipo se ha realizado con los colores y la imagen corporativa de INESCOP.
Personalización básica de la plataforma de ejemplo
Se han definido los siguientes roles para posibilitar la prueba de las empresas interesadas de las funcionalidades del sistema:
Acceso anónimo
Usuario: ‐ Contraseña: ‐
Acceso con usuario con permisos de visualización de materiales
Usuario: francisco Contraseña: francisco
Acceso con usuario con permisos de gestión de contenidos,
categorías y preferencias
Usuario: carlos Contraseña: carlos
Acceso con usuario con permisos de administración total
Usuario: admin Contraseña: pawimac
Se prevé que aquellas empresas especialmente interesadas en la prueba del prototipo soliciten una sección propia para poder tener su experiencia personalizada en base a su imagen y sus colores representativos así como a su sistema de categorización utilizado en su lógica de negocio. Este tipo de pruebas serán reflejadas en el entregable del “PT4 Análisis y validación de resultados y conclusiones”, en el que se presentarán pruebas de la validación de la arquitectura con casos de uso reales.