Idioma: Español
Fecha: Subida: 2022-12-22T00:00:00+01:00
Duración: 25m 23s
Lugar: Videotutoriales
Visitas: 716 visitas

Formacion1. Arquitectura, repositorios de GitHub y estructura del código.

Contiene un ejemplo de la creación de un proceso

Descripción

o 00:00 Introducción
o 00:43 Comunicación orquestador - robot
o 01:11 Robot
o 01:59 CDN
o 02:20 Datalake
o 03:11 Resumen de la arquitectura
o 03:51 Arquitectura de Kubernetes (despliegue)
o 06:31 Introducción estructura del código
o 08:10 Explicación del contenido del repositorio de GitHub de robot
o 10:30 Explicación del contenido del repositorio de GitHub de orquestador
o 12:25 Creación de un nuevo proceso
o 17:40 Explicación del contenido del repositorio de GitHub de librería de módulo de tecnologías cognitivas
o 18:43 Explicación del contenido del repositorio de GitHub de API de módulo de tecnologías cognitivas

Transcripción (generada automáticamente)

Buenos días. Vamos a llevar a cabo la formación y explicación del proyecto, que es 1 de los módulos que viene a intentar ayudar con tareas, con tareas de automatización a lo usuario encargado, ya sea tanto de las convocatorias como a los propios investigadores, que le ayude y les facilite ahora a la hora de encontrar convocatoria y realizarse vale, voy a compartir pantalla y cómo explicar un poquito la arquitectura de este proyecto. Este proyecto se divide en 3 componentes principales, donde por un lado tenemos al orquestador. Por otro lado, tenemos al robo y, por otro, a los procesos, el orquestador y los robos. Mantienen una comunicación completamente bidireccional mediante mensajes AM, y es que están completamente desacoplados, el que todo es una entidad que puede estar en cualquier sitio, y el robot puede estar en un sitio completamente diferente. Por otro lado, el robot, que es el encargado de ejecutar los procesos, siempre va a ser siempre pueda poder ejecutar cualquier tipo de proceso, ya que es una arquitectura completamente modular, y el orquestado va a ser el encargado de determinar si un robot es capaz de ejecutar una tarea. Ya que el robot tiene una base de datos en la que se almacena los robo, el Estado tiene una base de datos en la que almacena los robots, con todas las librerías que los robots dispone. Por lo tanto, si al orquestador le entra por una llamada a la que quiere ejecutar, por ejemplo, un sexenio de un investigador, el orquestador, sabe qué robo tiene esa librería disponible para poder realizar ese proceso? Por otro lado, cuando un robot ejecuta un proceso, ese proceso puede tener como como salida a un fichero, por ejemplo, y ese fichero se podrá almacenar en el que podrá estar disponible a través de la red, o o desde el fronte, y, por lo tanto, cualquier otro proyecto de tele se puede llamar y puede pedir esa información que está almacenada por otro lado. Se alma se mantiene con un total, es decir, todo lo que pase por el sistema. Se están, se están monitorizando para tenerlo unos cuadros de mando y una estadística del sistema de, por ejemplo, la, el uso de CP o memoria de los robots, cuántos procesos se han ejecutado, etcétera. Todo esto es almacenar, una base de datos, que sería la talla y, por otro lado, el orquestador, también sirve de repositorio hacia los robos para mantenerlos completamente actualizados, sin tener que hacerlo como una tarea manual, y esto sería un poquito la arquitectura, resumiendo, pero no tenemos un usuario que puede, que sería un usuario administrador, por ejemplo, que puede programar tareas, que esa tarea son los procesos. Estos son recogidos por el orquestador y en los que estaban ya, como su nombre indica, orquestal o robot para que ejecutan esa tarea y se va y se van a ir propagando a los diferentes a los diferentes módulo base de datos. Todos estos son módulos que están desacoplados excepto el repositorio que está dentro. Vale, esto sería un poco la arquitectura de él, el proyecto por otro lado, tenemos la arquitectura, el despliegue. Qué muy parecido, porque al final son componentes. Por un lado tendríamos el módulo o el contenedor del rabil, que contiene el que hace la comunicación entre el robot y el orquestador que se hace mediante donde se tienen. Por otro lado, tenemos un donde se almacena la información y la resistencia del sistema Casandra, que sería el donde se mantiene; para la minería de datos, donde hay un montón de datos, que se estaban almacenando, se almacenarán, porque eso hace que no relacional que está destinado a eso. Por otro lado del CDN, que donde almacenar haremos cualquier fichero que se necesite almacenar, por ejemplo, si un investigador pide su sexenios, una acreditación, pues se va a almacenar o cualquier historia por ejemplo de convocatorias por otro lado tenemos los lo esto son este Punset estoy fuese, significa que queremos mantener la persistencia. Por eso aquí aparece el traje claras, con el sexto volumen. Que todo esto. Si se cayese, pues mantendría la persistencia en el caso de, por ejemplo, de Vaquer fronte no existe una persistencia como tal. Por tanto, no nos interesa mantenerla. Básicamente todo esto tendría un ingreso para que fuera accesible, donde realmente accesible, que eso lo haremos posteriormente, será el vaquero -el no y si el vaquero fronte y ceder no será más fácil y, por otro lado, pues los robot también tendrán acceso a la piedra de y de vale. Esto en cuanto a arquitectura del proyecto, ahora mi compañero Eduardo creo que va a enseñar un poquito lo que viene siendo el código de del proyecto correcto. Vale. Voy a compartir pantalla. Vale, lo estáis viendo, se ve la pantalla, no sé si vale de acuerdo. Aquí tenemos la el proyecto de RPA, donde se encuentran todos los repositorios que van a ser, que corresponden a la arquitectura que hemos visto previamente. En el. En el repositorio se encuentra 1 para los robos. Este es el código que van a tenerlo, los robots que utilicemos. Por otro lado está el repositorio con el despliegue de los que nos ha enseñado José la arquitectura, el código del orquestador por otro lado tenemos el TAS Board, que es el front, lo que vamos a tener visible para los administradores que tengan que administrar la plataforma, y, por otro lado, el módulo de tecnologías cognitivas que se componen de una librería hecha en Pakistán, donde se pueden instalar y ejecutar esa, funciona de la librería, y, por otro lado, tenemos una pic. En él se puede también levantar una pizza a partir de esta librería, en la que podemos hacer llamada a la para ejecutar esto eso eso procedimiento de acuerdo entonces el bueno como empezar por la parte más importante de los repositorios, qué son por ejemplo en el robo? Una, de las de la parte más importante que aquí está lo los unitarios vale. Aquí en el en rebotes y en cada carpeta lo proceso se va, se se han subido todos los unitarios que se han, que se han ido haciendo para la, para la paz, el desarrollo de la aplicación desarrollo del viento vale, y por otro lado tendremos el de la parte también importante, el modelo del que se encuentran todas las entidades. Si nos metemos a la carpeta de proceso, tendremos todos lo para cada 1 de los procesos todas las entidades, por ejemplo en el proceso 1. Tenemos artículo autores, oferta tecnológica, noticia, etc. Y entonces ni más ni menos que el modelo de cómo, cómo se modela un artículo, cómo se modelo tanto una noticia, etc. En él en cada proceso también a parte de la entidad tendremos los procesos que se las operaciones que se llevan a cabo, porque en cada proceso, por ejemplo, en este proceso que el proceso 1, vamos a tener su proceso en el que se traen artículo se traen invención es noticia proyecto sí etc entonces en cada 1 de esos su proceso componen al proceso en su totalidad. Vale? Venir, aquí podríamos ver la. En el repositorio podemos acceder y ver cómo cómo se se compone de proceso. Vale, vale. Por otra parte, de aquí lo: los procesos no hay del robo, podemos. Y a la parte del orquestado? . 156 00:10:34,525 --> 00:10:39,500 La vale la parte más importante de del orquestador vamos a tener la la dónde en el la vamos hay una del orquestador donde se van a hacer todas las llamadas donde ahí va a ser fronte o cualquier aplicación que quiera consumir nuestro orquestado se van a hacer todas las llamadas hacia ETA hacia ETA. Entonces, en esta carpeta, donde está la tenemos todos los recursos a los que podemos hacer. En ellos se encuentran la recuperación de fichero lo lo la recuperación de los, el, la toda la información de los robos, como se accede a la base de datos, se recupera la información y se la ELA, etc. Aquí está en esta carpeta podremos ver todas las llamadas que tenemos, por ejemplo, pues una llamada a la llamada para acoger la lista de los robos en la que una clase, para que para representar la gestión del problema pero eso es lo que va a ver por aquí tendríamos aquí tendríamos la llamada en la que recuperamos la lista de los robos de cooperamos, listas de problemas. El recuperamos, el robot. Si con todos su atributo. Vale, y por otra parte lo más importante sería ver cómo si tenemos un proceso, un escribe en cualquier creéis que nosotros tengamos como añadirlo al sistema, vale como añadirlo al sistema como un proceso para que más adelante si necesitamos meter cualquier tipo de proceso que se pueda hacer como un como escribe, pues se puede añadir al sistema. Para qué? Para para ver lo más fácil posible. Tenemos creado un proceso fue lo de los primeros que se crearon en la arquitectura que se llama Hola mundo. Cuál es su mujer y de cómo ve cómo era un proceso? Entonces él habría que hacer un. Tenemos una arquitectura de proceso en el que se en el que se habría que heredar, de la clase vale, y entonces deberíamos darle el nombre y la descripción del proceso, también los requerimientos que tiene cada proceso, porque los requerimientos básicamente son las librerías que necesita el proceso para ejecutar el acuerdo. Entonces, todo esto, todo requerimiento lo que va a hacer es que si un robot, por ejemplo, no tiene instalado, la librería, que utiliza ese proceso, por ejemplo, sea el enemigo. Cualquier cosa no va a poder ejecutarlo. Acuerdo luego también le asigna, haremos una idea al proceso para tener un proceso y entonces, bueno, la de esta clase vamos a tener que vamos a tener que implementar varias funciones para que el proceso se pueda ejecutar correctamente en el sistema. Tenemos la la funciones de pausa, otra para matar al proceso y otro para para, para hacer un resumen, para, para volver a volver a seguir con la ejecución. No. Una vez que sea pausado, vale todo método normalmente se van, se se van a utilizar los de la clase Padre, vale, pero el que sí que nos interesa es el método de seguir. Yo valen el método donde se va a poner el código que realmente queremos ejecutar. Si nosotros tuviéramos una crisis directamente lo metiéramos aquí en esta clase funcionaría. Entonces lo único que tendríamos que hacer sería poner el estado del proceso a a Running, vale? Porque aquí va a empezar la ejecución, tendríamos que está por el proceso. El Estado ha estado del lo vale porque por cada proceso se va a ir creando un look de información. Se va ir creando un reporte de información por cada proceso, con cava, con cada evento que ocurra se pondríamos un tiempo a por poner un tiempo de inicio, vale, y entonces empezaríamos a hacer de acuerdo. Entonces, en este proceso solo se va por ejemplo, a imprimir en primero la mundo se va solo, se va a imprimir por pantalla cada equis tiempo de; por ejemplo, 5 segundos de Sleep se van a ir imprimiendo cosa por pantalla. Entonces, en el lo que vamos haciendo conecta funcione de lo que vamos haciendo, el actualizando en los que se va generando. Por lo tanto, luego al final vamos a tener un look que ya lo veremos en el fronte. Por ejemplo, se ha imprimido o montó para Google se imprimido cada 3 segundos. Tras 3 segundos de espera. Entonces, eso es lo que nosotros vamos a ver. Luego, por otra parte, tendremos el según vayan surgiendo evento. Pues vamos completando el, se va completando, el, la barrita de, lo vamos añadiendo el progreso. Vale? Y por último, metería una marca de tiempo para, para que finalice el proceso y pondríamos el estado del proceso. Ha finalizado. Vale la partida más importante para para ejecutar un proceso? Vale y vale de acuerdo el controlador, de acuerdo, y ahora vale. Como hemos, como hemos dicho antes, el módulo de tecnologías cognitiva tenemos la, la librería, donde se encuentran. En cada 1 de estos 4. De estos 4 ficheros encontramos la funciones que se utilizan, una parada minada, todo para la extracción de extracción de parámetros como la obtención de documentos de no diccionario, etc. Entonces todo eso está en la esta parte Meteorología comitiva y luego también La librería que tenemos, por ejemplo, para, para pasar pdf a tabla para otra, para hacer huevos, etc. Aquí estamos. Aquí están todas las funciones que se pueden utilizar en la librería para obtener datos de la OMS, o tener el dato de la B de ese pasado como fichero, etc. Y por otra parte tenemos la la. Si me llegaba a meter aquí ya aquí tenemos la donde, donde están todas la llamada directa a esta librería. Aquí si nos damos cuenta, importamos la librería pdf. Iml y aquí utilizamos la llamada con un post para, por ejemplo, en este pasamos a una imagen o un documento pdf y nos devuelve una tabla en este devuelve lo no de 1 de 1 que me le daba la URL y el fichero. Vale. Aquí estarían todas las llamadas, se puede, se puede levantar un servidor y utilizar esta librería, totalmente independiente al proyecto de tecnologías cognitivas. Vale, y ya por otra parte, mi compañero José va a explicar un poco el despliegue de la arquitectura, cómo se realizaría un despliegue y finalmente acabaremos con él con el fronte donde ya veremos toda toda la toda la aplicación en sí pajín. Muchas gracias Eduardo. Comparte pantalla otra vez y vamos a ver un poquito el código del pliegue que tenemos. Se creó un repositorio en que básicamente es un repositorio para que no facilita los despliegue. Vale? No facilita los despliegues porque podemos completamente hacerlo con parámetro y variable, por lo que cualquier. Si en cualquier entorno diferente pues se puede esas variables se puede modificar. Qué es el caso que pasaba entonces? Por ejemplo, si nos metemos dentro de encontraremos lo que hemos hablado antes de los diferentes de los diferentes módulos que tenemos diferentes componentes, por ejemplo, de Travis y cada servicio expuesto, no del todo, no no, expuesto cómo la palabra dice, sino que puede ser perfectamente un servicio expuesto, pero de forma interna, donde, por ejemplo, las bases de datos solo son accesible de los propios contenedores, es decir, desde el Vaqué son. Se pueden acceder a mejor, Vaqué a la base de datos vale, el el no me podía meter muy en detalle, pero básicamente cada tienen quienes, como he dicho, sus variables para que sea completamente configurado. Esta variable se pueden configurar dentro de fichero, Inés Montoya, perdón, dentro del fichero Palo. Es que lo encontramos en este fichero, encontraremos cada 1 de los componentes que son prácticamente son todos considerable. Por ejemplo, lo puedo creer. Le podemos decir que tamaño queremos, que utilice de espacio, cuánto de U, de memoria, etcétera. Así como la imagen que se está utilizando y la dirección local con la que se ponen los distintos canciones podrán acceder a ella, vale. Todo, como he dicho antes, todos los componentes que deben ser puestos pero expuestos al exterior tienen un ingreso. Ese interés nos permite acceder de forma externa a los contenedores, que deben ser accesibles, por ejemplo, el fronte y el vaquero. Esto lo podemos ver mejor si nos vamos a Ingres, aquí podemos ver. Estamos poniendo, por ejemplo. Aquí se expone la parte de Rábita, se se pone para el tema del mar; por otro lado, aquí estamos exponiendo el CDN y aquí estamos poniendo el parque, y aquí en fronte vale. Todo es todo este pliegue; aquí podría venir cualquier, pero no tan sencillo. Entonces necesita también 1 Sicre. Esto sí que se le ha proporcionado, Ática y básicamente para hacer un resumen, pero sin mostrar demasiado, esto sí que se vendrían a ser algo como esto, donde se necesitan en concreto lo que lo que dice que necesitamos un Sicre para un siquiera para Gabi un y un Sicre, hará el Baquet vale, es bastante importante. Yo sí que le parece bastante importante esto porque, pero ahí expresó porque, si no, nuestro desplieguen no va a funcionar. Esto, si crees, básicamente, contendrá el usuario y la contraseña de rabito, pero además el va que va a contener la información necesaria para que pueda funcionar y para poder tener acceso a otros servicios de los que forma parte, RPA, como hemos dicho, forma parte del proyecto Hércules, que ahí tenemos, ha sido Emma etc. Por tanto, por ejemplo, este Sicre contiene la información para acceso a la y acceso a. Pero qué más no hace falta ahora mismo no lo recuerdo bien, pero bueno, no quiero dar tampoco mucho texto y lo importante sobre todo esta parte que decirle al orquestador cuál es su base de datos, cómo acceder a ella, porque es necesario para luego para que todo el sistema funcionando al fin y al cabo esta información aquí también forma parte de orquestador, y esta información aquí forma parte de los servicios externos que queremos hacer. Vale? Y por otro lado ya tendríamos dentro de este mismo Sicre tendríamos el usuario con el que se puede acceder al sistema.

Propietarios

Proyecto Hércules

Comentarios

Nuevo comentario

Serie: Formacion RPA (+información)

RPA

Descripción

RPA