Entorno de ejecución - RaulGF92/UniApi GitHub Wiki
#Introducción
El entorno de ejecución es una capa de la aplicación cuyo principal objetivo es ejecutar los diversos proyectos de los usuarios. Empleando para ello unas entradas (prefijadas o no prefijadas) y devolviendo unas salidas. Esta capa solo se centra en la ejecución de los proyectos, obviando las creaciones, gestiones o jerarquias de los mismos. La aplicación si debera centrarse en la ejecución multisistema. Permitiendo el uso de la aplicación en cualquier sistema operativo.
#Descripción del diseño
Para el diseño de la capa debemos entender que es un proyecto. Ya que se ha usado su concepto para realizar el diseño de esta capa. La aplicación permitira la ejecución de diversos tipos de proyectos, los cuales, contienen diferentes tipos de ordenes que debén de ser interpretradas. Es por eso que se crea el concepto de servicio. Los servicios de diferente indole utilizaran el concepto de ejecución que sera toda llamada al bash del servidor. Es por eso que cada tipo de servicio y de ejecución (posteriormente explicados) contendrán un proyecto que genera un ticket de ejecución el cual contienen las entradas, las salidad, la ubicación del proyecto y su archivo principal de ejecución. Tras su ejecución el servicio podrá conseguir el resultado de la ejecución.
Dibujo del diseño
El dibujo mostrado es la descripción grafica del diseño de la Capa del Entorno de Ejecución. El Entorno de ejecución esta comunicado entre la capa superior y la inferior. La capa inferior es la ultima capa de nuestra aplicación y se conecta con el sistema operativo, la conexión sirve para varios Sistemas operativos tanto windows como linux. La capa superior comunica con la gestión de servicios llamada Gestion Services de la capa de negocio. Mediante la distribución de servicios a partir de un proyecto de un tipo, utilizando un diseño propio (factoria abstracta).
El diseño utilizado sera el siguiente descrito en la posterior imagen. Dicha capa se comunicara por dos vias por la cara superior y por la cara inferior, ambos utilizando una interfaz para ello. La primera sera un provedor de servicios (factoria abstracta)