DEFENSA SERGIO ESCRIBANO PEÑA
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Buenos días, Sergio. Hoy, día 21 de enero, a las 1 y 45, estamos convocados a través de la Jefatura del Departamento para la defensa del modo profesional del ciclo formativo de grado superior de ASIR.
00:00:02
Informo de que esta grabación se utilizará en el entorno de EducaMadrid con fines educativos
00:00:18
y sólo estará a disposición de los profesores en el aula virtual para llevar a cabo la evaluación
00:00:25
y la calificación de la defensa del proyecto. En el aula virtual de proyectos habéis sido
00:00:30
informados de los criterios y la rúbrica de calificación. El orden de presentación del
00:00:36
proyecto es el siguiente. 15 minutos para defender el proyecto y 5 minutos para preguntas
00:00:42
por parte del tribunal. Dicho esto, tu tiempo de exposición comienza a partir de este momento.
00:00:48
Adelante y mucha suerte.
00:00:55
Bueno, pues empezamos. Mi proyecto consiste en una aplicación para la gestión de inventarios
00:00:59
de RACS. Esta aplicación básicamente es un entorno gráfico de sistema gestor de bases
00:01:04
de datos mediante una aplicación web en el cual vamos a poder a través de esta aplicación
00:01:15
crear bases de datos
00:01:24
y gestionarlas
00:01:27
la motivación del
00:01:28
proyecto viene
00:01:33
dada sobre todo porque
00:01:35
yo cuando hice las prácticas
00:01:36
uno de los problemas que había
00:01:38
a la hora de
00:01:43
llevar a cabo
00:01:45
los mantenimientos de los racks
00:01:49
era que no había
00:01:50
nada guardado acerca de la información de los componentes que tenía cada rack.
00:01:52
Entonces, a raíz de aquello, pues se me ocurrió desarrollar una aplicación
00:02:01
en la que guardar toda esa información, porque si bien es verdad que hay empresas
00:02:07
que lo que hacen es utilizar archivos PDF, o sea, archivos Excel,
00:02:13
a la hora de
00:02:18
agregar información y demás, a la hora de gestionar la información que contiene
00:02:21
muchas veces
00:02:29
o esos Excel los perdían
00:02:32
o los habían modificado demasiado
00:02:36
no los habían actualizado y bueno, esta aplicación
00:02:41
la idea de esta aplicación es un poco solucionar ese inconveniente
00:02:45
y dar una metodología más actual a lo que se está utilizando hasta ahora.
00:02:50
¿En qué consiste? Pues una aplicación web mediante la cual podemos gestionar inventarios de RACs
00:03:01
guardando toda la información sobre los distintos RACs que gestiona un departamento de IT.
00:03:08
El funcionamiento es a través de un frontend basado en HTML, CSS y JavaScript que hacen peticiones a un backend que funciona con Python y este a su vez conecta con un sistema gestor de bases de datos MySQL
00:03:12
que es desde donde extrae la información de las bases de datos y en donde las guarda.
00:03:37
Luego, las tecnologías y herramientas utilizadas, como ya he dicho, HTML5 para darle el aspecto a la, bueno, HTML5 y CSS para darle el aspecto a la interfaz web
00:03:47
y JavaScript que va a ser lo que va a componer el frontend y que va a ser lo que interactúa con el backend, con Python, para poder mostrar las peticiones que le haga en la interfaz de Word.
00:04:05
En el backend, como ya he dicho, tenemos Python. Python se encargará de enviar las peticiones al sistema gestor de bases de datos y antes de nada, Python va a requerir una serie de librerías.
00:04:23
Entre ellas está Flask. Flask es un framework para el desarrollo de aplicaciones web. Será necesario MySQL Connector Python, que es otro framework que permite conectar con sistemas gestores de bases de datos basados en MySQL.
00:04:45
Requiere también Pandas, que Pandas lo que hace, bueno eso es Pandas y OpenPixel son los frameworks que se utilizan para extraer datos en formatos XLS, para poder extraer datos en Excel y también para manipular datos en Excel a través de Python.
00:05:06
Y luego también la última librería es Blueprint porque como el código de Python acabó siendo muy extenso, la manera de poder trabajar cómodamente con el código al final fue a través de dividir, fragmentar el código en distintos ficheros y se unen todos a través de Blueprint.
00:05:33
Como ya he dicho, el sistema gestor de bases de datos que utiliza por detrás es MySQL y las hojas de cálculos las dará en XLS.
00:06:03
El funcionamiento, bueno, el usuario hace una petición al frontend mediante la interfaz web.
00:06:16
JavaScript le envía esa petición al backend, el backend procesa la información y o bien extrae o bien almacena la información
00:06:26
en el sistema gestor de bases de datos para después devolverse al frontend y el frontend a su vez se la devuelve al usuario.
00:06:39
En cuanto al uso profesional, bueno, como ya he dicho, en cualquier tipo de empresa de soporte informático,
00:06:46
que es donde hice yo las prácticas, va a ser bastante útil porque va a poder ayudar al departamento de IT
00:06:59
a mantener organizados todos los inventarios.
00:07:06
Luego también empresas proveedoras de servicios de cloud computing. Al final, como no deja de ser un sistema gestor de base de datos, cualquier tipo de empresas de servicios de cloud computing van a necesitar el uso de bases de datos.
00:07:12
ocurre lo mismo con operadores de centros de datos
00:07:33
y en una pyme tecnológica va a ser bastante útil
00:07:37
ya que al ser una interfaz bastante intuitiva
00:07:43
no será necesario que los técnicos tengan grandes conocimientos en SQL
00:07:49
con lo cual para una pyme le va a venir bien
00:07:55
ya que no tendrá que contratar a gente experta en bases de datos.
00:08:00
Luego, usos en otros posibles sectores, pues en cualquier empresa de logística,
00:08:07
si además le agregamos funciones como puede ser la lectura de códigos de barra o códigos QR,
00:08:12
va a facilitar mucho la logística, por ejemplo, de un almacén.
00:08:20
Ocurre lo mismo en el sector secundario de manufactura y producción, en donde haciéndole unas pequeñas modificaciones al código van a poder sacarle bastante provecho a una aplicación como esta.
00:08:24
Y con la industria energética igual. En estos tres sectores lo que podemos utilizar esta aplicación, pues por ejemplo para crear inventarios sobre la maquinaria que hay, el personal, como ya he dicho agregar funcionalidades como incluir códigos QR,
00:08:42
Puede incluir también, en caso de tener que gestionar el personal, se pueden agregar funcionales para gestionar los usuarios a través de las tarjetas de identificación de empresa que suelen dar y demás.
00:09:07
Los pros y contras
00:09:27
Pros, que es una interfaz sencilla e intuitiva
00:09:30
Permite varias funcionalidades
00:09:33
Permitiría el acceso a varios usuarios
00:09:37
En caso de subir la aplicación a un servidor
00:09:40
En mi caso no me ha sido posible subirla a un servidor
00:09:44
Pero el objetivo sería ese
00:09:46
Y para utilizarla simplemente hace falta un navegador
00:09:48
con lo cual cualquier persona de la intranet de la empresa lo va a poder utilizar.
00:09:53
Contras, es necesario instalar MySQL y Python y sus librerías.
00:10:00
Sería necesario un servidor para utilizarlo a un nivel profesional.
00:10:06
No permite hacer búsquedas demasiado complejas.
00:10:13
Las búsquedas que hace son select simples de momento
00:10:16
y tampoco permite gestionar usuarios ni permisos.
00:10:20
En caso de que queramos gestionar los usuarios y los permisos,
00:10:24
ya tendríamos que hacerlo a través de MySQL.
00:10:27
Luego, como conclusión final, pues considero que esta es una web funcional
00:10:32
puesto en práctica con esta aplicación los conocimientos adquiridos,
00:10:37
sobre todo en la asignatura de base de datos y de lenguaje de marcas.
00:10:42
y gracias al desarrollo de esta aplicación
00:10:47
he adquirido nuevos conocimientos en JavaScript y Python
00:10:52
que creo que me vendrán bien en el futuro.
00:10:55
Y vamos a proceder a las pruebas de funcionamiento.
00:11:00
Bueno, yo lo tengo en una máquina virtual.
00:11:14
En primer lugar lo que hacemos es abrir el ejecutable
00:11:20
Se nos abre la consola de Python y tenemos que copiar y pegar esta IP en el navegador.
00:11:26
Bueno, como ya he dicho, la idea de esto en un entorno profesional sería tenerlo en el propio servidor de la empresa.
00:11:39
En mi caso no he conseguido hacer algo parecido, así que tengo que utilizar la propia IP de desarrollo de Python.
00:11:46
Lo primero que vemos aquí es un login. En mi caso intenté hacer que el login se hiciese a perfiles creados en los perfiles de administración de la propia base de datos MySQL.
00:11:55
No me fue posible, así que tuve que buscar una pequeña solución que fue crear una nueva base de datos a la que le incluyo una tabla en donde puse tres tipos de usuarios. Esos tres tipos de usuarios son los que, con los que puedo loguearme. En este caso me voy a loguear con Técnico 1.
00:12:19
El inconveniente de esto es que como no son usuarios reales como tal del sistema gestor de base de datos, no le he podido dar permisos para según qué cosas, para limitar los permisos a uno o concederle todos los permisos a otro.
00:12:40
Pero bueno, la idea de esta solución es mostrar un poco cómo quedaría ante el usuario. Entonces entraríamos, nos salta un mensaje de bienvenida y aquí tendríamos un buscador.
00:13:01
Aquí podemos buscar las bases de datos, una vez que las buscamos en el apartado de filtro nos aparecen las tablas que hay
00:13:19
Y aquí al darle a la tabla nos hace un select de la tabla
00:13:33
Si mantenemos el cursor encima del nombre del inventario, bueno, aquí he estado teniendo ciertos problemas con eso.
00:13:42
porque cuando refrescaba la tabla, cuando hacía un select de la tabla, no sé por qué,
00:14:00
pero no me permite hacer la descripción de las tablas.
00:14:18
Si ponemos el cursor encima del nombre de la base de datos,
00:14:24
se nos abre este desplegable y al darle podemos hacer un descript de la tabla en cuestión.
00:14:33
Como vemos, en la web distinguimos varias partes, el buscador,
00:14:42
tres botones para poder crear inventarios, eliminarlos y editarlos
00:14:46
y un apartado de filtros que es donde nos aparecen las tablas
00:14:52
para poder hacerle select.
00:14:56
Luego en crear inventario podemos crear un inventario.
00:15:00
Nos salta un mensaje y este inventario ya está creado correctamente.
00:15:06
Podemos comprobarlo también en MySQL.
00:15:11
que como vemos se la veamos y está creado correctamente, también lo podemos eliminar y si hacemos de nuevo ya ha dejado de aparecer, con lo cual estas dos funcionalidades van correctamente.
00:15:16
Luego tenemos el botón de editar inventario. La idea sería en primer lugar crear el inventario, crear la base de datos y a continuación ya rellenarla. Aquí tenemos un apartado de crear tabla, en donde podemos crear una tabla cualquiera.
00:15:55
Bueno, aquí primero tenemos que seleccionar el inventario en donde lo vamos a crear.
00:16:18
Le damos un nombre de tabla y aquí al añadir las columnas podemos escoger si es una clave primaria, si es una clave foránea.
00:16:29
En caso de que sea una clave foránea, nos pide asociarla a una de las tablas. Escogemos la tabla y la columna a la que la queremos asociar.
00:16:48
le damos un nombre y podemos darle un tipo de dato.
00:17:06
También nos permite seleccionar inventarios como puede ser este y alguna de sus tablas para poder renombrarla.
00:17:15
Aquí podríamos poner el cols1, si guardamos los cambios y vamos a mysql, vemos, vale,
00:17:27
le di a renombrar. Se lo ha renombrado y si lo vemos ahora, Firewalls lo ha renombrado
00:18:11
correctamente. Y bueno, también nos permite agregar columnas, nos permite editar las columnas
00:18:22
que ya tenemos. Podemos también quitar claves foráneas y claves primarias en caso de que
00:18:31
lo tenga y también eliminar columna y eliminar las tablas. Y bueno, esas serían todas las
00:18:46
funcionalidades de esta aplicación web. La parte de exportar a Excel al final no la he
00:18:57
conseguido, no la he conseguido salvar
00:19:03
y ya estaría
00:19:05
todo. Bien
00:19:07
llega la fase
00:19:08
de preguntas de defensa
00:19:11
entonces la primera pregunta es
00:19:12
¿Qué retos has encontrado al integrar la base
00:19:14
de datos MySQL con
00:19:17
Flash y cómo los has
00:19:19
resuelto? Pues retos
00:19:20
bastante, a ver
00:19:26
al final
00:19:28
lo he resuelto a base de
00:19:30
buscar mucho
00:19:32
por internet, a base de
00:19:34
de estar viendo vídeos constantemente y sobre todo a base de pruebas de ensayo y error.
00:19:36
Evidentemente cada vez que intentaba agregar algún tipo de funcionalidad me estaba dando errores al principio.
00:19:47
Luego en muchas ocasiones he tenido que o bien quitar esa funcionalidad que le quería dar
00:19:55
o bien hacer algo similar de otra manera, pero bueno, sobre todo a través de búsqueda de información en Internet.
00:20:03
¿Cómo garantizarías la seguridad en los datos que has almacenado en los RAC mediante tu aplicación?
00:20:19
¿Cómo garantizas la seguridad de los datos almacenados en la aplicación?
00:20:26
Bueno, en primer lugar
00:20:31
la idea sería un poco lo que comenté al principio
00:20:36
poder loguearme a través de usuarios
00:20:40
del sistema gestor de bases de datos
00:20:44
que bueno, en mi caso no lo he conseguido
00:20:46
estuve mirando información y vi que
00:20:50
MySQL eso lo tiene capado
00:20:53
para que desde aplicaciones externas
00:20:56
no se puede acceder a los usuarios guardados en la carpeta MySQL, entonces la única que yo conozco sería esa.
00:21:00
Luego, en caso de un entorno profesional, si guardamos la aplicación en un servidor de la compañía, imagino que ya tendrían sistemas de ciberseguridad para evitar corrupción de datos y robo de información.
00:21:12
De qué manera podrías optimizar el rendimiento del sistema si el número de racks a gestionar aumenta significativamente?
00:21:36
Bueno, podríamos, si el número de racks aumenta significativamente ya de por sí cuenta con un buscador para buscar el rack concreto
00:21:49
aunque también le podríamos añadir menús desplegables que muestren todo el listado de racks que haya
00:22:09
y así facilitar un poco al usuario el escoger el rack con el que quiere trabajar y que quiere visualizar.
00:22:19
Creo que sería una de las opciones.
00:22:31
¿Me refiero a si es escalable la aplicación?
00:22:33
Me refiero a si es escalable
00:22:43
Si tuvieras que gestionar
00:22:53
Muchas empresas
00:22:55
Y muchos racks
00:22:56
¿Cómo escalarías la aplicación
00:22:57
Para llevarla a un entorno
00:23:01
Donde
00:23:02
Se pudiera gestionar esto?
00:23:03
Bueno, a ver
00:23:10
Siempre se le pueden ir añadiendo
00:23:11
Nuevas funcionalidades
00:23:13
Además, siendo un sistema gestor de base de datos, creo que se podrían hacer agregados en el cual esta aplicación web gestionara,
00:23:14
le diera perfiles independientes a los distintos clientes
00:23:37
y en base al tipo de cliente que sea
00:23:46
se le podrían dar unas funcionalidades u otras.
00:23:50
¿Y cuáles serían los pasos para desplegar esta aplicación
00:23:54
en un entorno de producción real?
00:23:58
Bueno, en primer lugar tendríamos que instalar un servicio MySQL en un servidor. Si la empresa cuenta con un servidor local, se instalaría ahí y también instalaríamos ahí Python.
00:24:01
Sería similar a lo que he hecho yo aquí en esta máquina virtual. Una vez tengamos instalado tanto el servidor de Python como el sistema gestor de base de datos, podríamos subir la aplicación a la nube de la empresa para que todos los usuarios de la empresa tengan acceso a la aplicación.
00:24:24
Entiendo. Bueno, pues con esto queda terminada la presentación.
00:24:54
- Etiquetas:
- Gestión de proyectos
- Subido por:
- Pedro Jose M.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 1
- Fecha:
- 23 de enero de 2025 - 13:00
- Visibilidad:
- Clave
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 25′ 08″
- Relación de aspecto:
- 16:9 Es el estándar usado por la televisión de alta definición y en varias pantallas, es ancho y normalmente se le suele llamar panorámico o widescreen, aunque todas las relaciones (a excepción de la 1:1) son widescreen. El ángulo de la diagonal es de 29,36°.
- Resolución:
- 1536x868 píxeles
- Tamaño:
- 60.84 MBytes