El uso de productos fitosanitarios para los cultivos es de vital importancia si queremos asegurar la integridad de los mismos. Siendo España uno de los países con uno de los sectores agroalimentarios más potente del mundo, no es una sorpresa saber que también es uno de los que más invierte en fitosanitarios.
La integración con SAP Business One, asegura a las PYMEs una ventaja competitiva en el sector. Cada día más empresas dedicadas a la venta de fitosanitarios invierten en el desarrollo de Terminales Punto de Venta (TPV) para agilizar estos procesos de venta.
Este Trabajo Fin de Grado pretende crear un TPV que se integre completamente con SAP Business One, probablemente el mejor ERP para las PYMEs. Este proyecto se desarrolla con metodologías AGILE y siempre orientado al cliente, ya que dispone de uno real desde el inicio.
Como resultado final se obtiene un producto totalmente solvente y seguro ante una diversidad de ataques estudiados durante la carrera. Este producto actualmente se encuentra desplegado y a falta de últimos retoques para ser lanzado a productivo en el cliente que lo solicitó.
Algunas de las tecnologías utilizadas para este proyecto son:
Puesto que se trata de un proyecto real y tiene cliente final, la metodología de desarrollo que se sigue es un modelo de desarrollo enfocado al cliente adaptado a nuestro modelo de empresa.
Modelo de desarrollo enfocado al cliente
Un buen profesor de seguridad me dijo un día: “Existen dos tiempos de empresas, las que han sido hackeadas y las que todavía no lo saben”, por esto mismo en este proyecto se exploran formas de hacer la herramienta lo más segura posible.
Cada día más el sector de las PYMEs se encuentra amenazado por los ataques cibernéticos (casi un 70% (maestro 2018)). Desde el secuestro de datos hasta la venta de los mismos a la competencia. Esto puede resultar tanto en pérdidas enormes para las mismas como incluso su propio cierre.
Debido a que está aplicación está orientada a las PYMEs y los recientes ataques que se han detectado en otros clientes de la empresa en la que se realiza este TFG, propuse añadir una serie de medidas de seguridad a este proyecto, las cuales fueron aceptadas por la empresa y paso a detallar a continuación.
Esas medida de seguridad son:
Si quieres saber más sobre las medidas de seguridad, te recomiendo que leas la memoria del proyecto.
El Frontend es la cara visible del TPV, desarollado en su totalidad con SAP ui5, este busca tener un diseño agradable, así como ser full-responsive, ya que de esta forma garantizamos que pueda ser accesible desde cualquier tipo de dispositivo.
Otra parte vital de este desarrollo es garantizar la accesibilidad del mismo, por ello se sigue el patron de desarrollo de SAP Fiori garantizando así un diseño accesible.
También con el fin de combatir con problemas relacionados con la visión, se implementan una serie de temas que además de permitir la personalización del sistema permite poner la aplicación en modo daltónico y alto contraste.
Temas soportados por la aplicación
La arquitectura seguida para este proyecto es una ampliación del famoso MVC.
Modelo MVC extendido
Algo importante es que todo el desarrollo se hace siempre pensando y cumpliendo los principios S.O.L.I.D, con el fin de lograr un resultado más sólido.
Con el fin de mejorar los tiempos de carga de la aplicación, se implementa una IndexDB (DB que se almacena en el navegador, siempre del lado del cliente), para de esta forma cachear los datos y así mejorar los tiempos de carga.
Arquitectura IndexDB
El en Backend es donde reside toda la lógica de la aplicación.
Para la arquitectura del Backend, se ha realizado una adaptación del famoso modelo MVC (utilizado para el Frontend). Gracias a esta adaptación se consigue integrar el MVC al Backend y por tanto garantizar tanto la modularidad como la robustez del proyecto.
Estructura del Backend
Como sucede en el Frontend el desarrollo se realiza también siguiendo los principios S.O.L.I.D
El diseño de la arquitectura de servidores es el siguiente. Está inspirado en una DMZ (Zona desmilitarizada) y su principal premisa es garantizar la funcionalidad de otras partes del sistema si alguna otra se ve comprometida, ya sea por una vulnerabilidad o por un fallo en el sistema.
Arquitectura de servidores
Si necesitas más información no dudes en contactarme