1 00:00:00,050 --> 00:00:22,870 Bueno, buenas tardes, Roberto. Hoy, día 7 de mayo, a las 16, estamos convocados a través de Jefatura del Departamento para la Defensa del Módulo Profesional del Proyecto de Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en Red, más conocido como ASIC. 2 00:00:23,710 --> 00:00:32,149 Te informo que esta defensa está siendo grabada y que esta grabación se usará en el entorno cerrado de EducaMadrid con fines educativos 3 00:00:32,149 --> 00:00:39,649 y sólo estará a disposición de los profesores evaluadores en el aula virtual para llevar a cabo la evaluación y calificación de la defensa del proyecto. 4 00:00:40,289 --> 00:00:45,770 En el aula virtual de proyectos habéis sido informados de los criterios y rúbrica de calificación. 5 00:00:45,770 --> 00:00:55,789 El orden de la presentación del proyecto es el siguiente, 15 minutos máximo para que defiendas este proyecto y 15 minutos máximo para preguntas por mi parte. 6 00:00:56,909 --> 00:01:01,350 Dicho esto, tu tiempo de exposición comienza a partir de ya. Adelante y suerte. 7 00:01:01,890 --> 00:01:14,810 Muchas gracias. Pues comparto la pantalla y arrancamos la presentación. 8 00:01:14,810 --> 00:01:21,750 Vale, pues eso, el proyecto se llama Gestión de Usuario Centralizada 9 00:01:21,750 --> 00:01:28,069 y el proyecto busca diseñar un sistema eficiente para gestionar empleados 10 00:01:28,069 --> 00:01:29,930 integrando distintas tecnologías 11 00:01:29,930 --> 00:01:34,290 Con ello buscamos aplicar los conocimientos adquiridos 12 00:01:34,290 --> 00:01:38,790 y demostrar la utilidad en un entorno práctico 13 00:01:38,790 --> 00:01:45,709 Vale, pues tenemos un objetivo general que es crear un sistema 14 00:01:45,709 --> 00:01:48,650 para administrar empleados de forma centralizada. 15 00:01:49,489 --> 00:01:52,109 Y además tenemos distintos servicios más específicos 16 00:01:52,109 --> 00:01:54,030 que es dotar de servicios adicionales 17 00:01:54,030 --> 00:01:55,790 como son los servicios de directorio activo, 18 00:01:56,150 --> 00:01:57,209 de correo electrónico, 19 00:01:57,670 --> 00:01:59,290 un portal para el cambio de contraseñas, 20 00:01:59,810 --> 00:02:01,329 un portal para la administración web. 21 00:02:02,329 --> 00:02:05,870 En la metodología hemos utilizado las siguientes tecnologías. 22 00:02:06,010 --> 00:02:07,829 Hemos utilizado sistemas operativos Windows 23 00:02:07,829 --> 00:02:18,810 porque es su gran uso en el mercado y la gran implantación. 24 00:02:18,810 --> 00:02:22,889 Para virtualización hemos utilizado el software de Oracle. 25 00:02:24,409 --> 00:02:28,969 Como base de datos hemos utilizado MariaDB empleando el paquete de SAM. 26 00:02:29,409 --> 00:02:33,310 Como sistema de gestión de información hemos utilizado Active Directory de Microsoft. 27 00:02:33,310 --> 00:02:48,110 Para mensajería hemos utilizado HTML Server, es un servidor de correo gratuito y como cliente de correo Thunderbird, como servicios web hemos utilizado los de Microsoft, los de Internet Information Server y el Apache de XAMPP. 28 00:02:48,569 --> 00:02:56,069 Y luego para el desarrollo de aplicaciones hemos utilizado como IDE Visual Studio con distintos módulos y Python. 29 00:02:56,069 --> 00:03:05,729 el funcionamiento pues de la aplicación como tal como vemos en la pantalla pues un gestor envía 30 00:03:05,729 --> 00:03:10,349 una consulta a través de la aplicación en un principio buscaríamos por por dni 31 00:03:12,129 --> 00:03:19,129 dentro de la aplicación pues ya se vería si se vería el estado si está de alta o está de baja 32 00:03:19,129 --> 00:03:39,129 Y en caso de existir, pues nos mostraría los datos que tenemos del usuario en el formulario. En el caso de no existir, pues tendríamos un mensaje para dar de alta al usuario en la base de datos y además en el directorio activo de forma simultánea. 33 00:03:39,129 --> 00:03:44,949 generaríamos un correo indicando que se ha procedido del alta del usuario y mandaríamos 34 00:03:44,949 --> 00:03:50,310 la contraseña en este caso está configurado para mandar a un usuario administrador ya que 35 00:03:50,310 --> 00:03:59,650 el usuario como tal no tiene correo todavía pues accederemos al correo y esos datos del correo se 36 00:03:59,650 --> 00:04:03,849 lo facilitaremos al usuario para que pueda cambiar la contraseña en su primer inicio de sesión a 37 00:04:03,849 --> 00:04:10,270 través de un portal que hemos que hemos creado utilizando la tecnología de microsoft de páginas 38 00:04:10,270 --> 00:04:22,199 web a s&p vale ahora vamos a la demostración práctica vale para ello tenemos tenemos un 39 00:04:22,199 --> 00:04:28,360 servidor windows 2022 donde tenemos instalado el está como el controlador de dominio y tenemos 40 00:04:28,360 --> 00:04:36,600 instalado sam el servidor de correo el servidor de correo que lo tenemos aquí con los dominios 41 00:04:36,600 --> 00:04:46,639 configurados el directorio activo y luego tenemos tenemos otra máquina que digamos que es 42 00:04:49,079 --> 00:04:53,360 bueno simplemente simplemente es un es un cliente yo lo voy a lanzar 43 00:04:53,360 --> 00:05:18,449 Vamos a arrancar. Aquí tenemos el código que hemos utilizado, pero bueno, hemos hecho un ejecutable para poder portar esta aplicación a cualquier equipo. 44 00:05:18,449 --> 00:05:42,240 Este es el ejecutable, que nos abriría un formulario. Estos campos los hemos metido en código simplemente para facilitar el hacer la prueba, pero estos, los campos, pues, o sea, aquí simplemente podríamos apuntar a otro servidor, a otra base de datos, lo que quisiésemos. 45 00:05:42,240 --> 00:06:02,560 Tenemos aquí dos botones de validación para comprobar que la cuenta está validada, en este caso en SQL, y aquí validaríamos la cuenta del directorio activo y vamos a probar simplemente a meter un usuario que ya existe, ¿vale? 46 00:06:02,560 --> 00:06:24,699 Nos daría que el usuario se ha dado de alta en el sistema y nos mostraría. Hemos cogido justamente uno que tiene un muy feo. A ver. Bueno, en el caso de que el usuario no existiese, pues nos generaría un código de empleado y nos mostraría las unidades organizativas donde está. 47 00:06:24,699 --> 00:06:48,319 O sea, que posibles para darle de alta. Le daríamos de alta. Vamos a poner un nombre común. Generaríamos el correo con el botón. En este caso, nos mete un secuencial porque ya tenemos un Gonzalo.Gonzalez1. 48 00:06:48,319 --> 00:06:57,199 y procederíamos a dar de alta al usuario en la base de datos y también en el directorio 49 00:06:57,199 --> 00:07:05,180 activo asignándole habilitando la cuenta y asignándole una contraseña también mandaríamos 50 00:07:05,180 --> 00:07:17,199 un correo vale podemos irnos ahora mismo al directorio activo donde actualizamos vemos 51 00:07:17,199 --> 00:07:35,040 que hemos creado el usuario, Gonzalo González, con el DNI que le hemos asignado, en SQL, también lo tenemos, 52 00:07:35,160 --> 00:07:50,829 hemos dicho que no, 11, 11, 16, con su estado de alta, ¿vale? Y además recibiríamos un correo con el número, 53 00:07:50,829 --> 00:07:53,209 el empleado y la contraseña que hemos generado. 54 00:07:54,290 --> 00:07:59,589 Estos datos, el usuario tendría que ir al portal que tenemos 55 00:07:59,589 --> 00:08:03,829 creado para cambiar la contraseña la primera vez. 56 00:08:03,930 --> 00:08:07,250 O sea, el administrador o el gestor o la persona 57 00:08:07,250 --> 00:08:09,870 informática se pondría en contacto del usuario para que 58 00:08:09,870 --> 00:08:15,750 accediese y cambiase la contraseña que si nos deja 59 00:08:15,750 --> 00:08:19,209 copiar, lo hacemos fácilmente. 60 00:08:20,829 --> 00:09:09,539 y no lo copia entonces vamos a ponerlo a mano o intentarlo como tenemos un certificado 61 00:09:09,539 --> 00:09:21,100 autoafirmado pues tenemos las advertencias vale pues he puesto la contraseña si es que 62 00:09:21,100 --> 00:09:30,820 es un poco por buscar un poquitín de seguridad hecho un este demasiado largo para una demo 63 00:09:30,820 --> 00:10:48,740 y este 16 pues sí vale me quedo con la función sí vale 64 00:10:51,259 --> 00:11:05,000 a ver que me he perdido un poquillo ya con esto del vale bueno pues esto en el caso de dar de 65 00:11:05,000 --> 00:11:10,980 alta hemos hemos visto ya que estaba de alta en el sql en el en el directorio activo ahora mismo 66 00:11:10,980 --> 00:11:17,039 ya vamos a coger este mismo este mismo usuario para no para no estar eso y así comprobaremos 67 00:11:17,039 --> 00:11:25,600 ya nos daría el usuario está de alta nos daría los datos que tenemos de él y el estado y aquí 68 00:11:25,600 --> 00:11:33,100 ya tendríamos la opción de darle de baja al usuario le daríamos de baja en sql y también 69 00:11:33,100 --> 00:11:41,860 deshabilitaríamos la cuenta en directorio activo para con posterioridad pues dejarlo dejarlo un 70 00:11:41,860 --> 00:11:48,860 tiempo prudencial y una vez que ya sepamos que es una baja definitiva por lo borraríamos y el 71 00:11:48,860 --> 00:11:56,200 sql lo mantendríamos en estado de baja para tener pues es un histórico de los usuarios que tenemos 72 00:11:56,200 --> 00:12:04,879 que hemos que hemos tenido y en directorio activo pues en este caso lo que hacemos es en la 73 00:12:04,879 --> 00:12:10,659 descripción le indicamos que es baja y le marcamos la fecha de la baja para luego tenerlo en cuenta 74 00:12:10,659 --> 00:12:26,279 a la hora de eliminarlo o cualquier o cualquier otro movimiento vale y en un principio pues 75 00:12:26,279 --> 00:12:34,159 es que ya pasamos a la parte de dudas o de consultas porque yo creo que ya... 76 00:12:34,159 --> 00:12:43,860 Sí, es que he ido un poquitín ya. 77 00:12:43,860 --> 00:12:54,679 No, no te preocupes. Si el tema está claro, veo que lo tienes... Sí que ha sido un pelea inicial de ruido. 78 00:13:01,110 --> 00:13:13,639 He visto que lo has hecho en Python. No sé si lo has hecho por alguna razón en especial, simplemente porque conoces más Python. 79 00:13:13,639 --> 00:13:31,240 No, la verdad es que empecé con él, me gustó, vi que tenía los módulos para integrar tanto con SQL como con, o sea, con la base de datos como con directorio activo y vi que más o menos era asequible y me puse con él. 80 00:13:31,240 --> 00:13:46,220 No hubo ningún motivo tampoco en particular, porque intenté al principio, intenté hacerlo con PowerShell y tenía algún problemilla con la integración con SQL, con la base de datos. 81 00:13:46,539 --> 00:13:53,740 Con la parte de Microsoft, sin problema, porque podía hacer todo lo que quería, pero no acabo de convencerme. 82 00:13:53,740 --> 00:14:24,059 A ver, sí, yo creo que para más, pues ya sabes, en la gestión de bases de datos y cosas de estas, pero no... 83 00:14:25,559 --> 00:14:35,039 Y mira, pues así, para empezar, ¿qué te ha resultado más difícil a la hora de construir este proyecto, por ejemplo? 84 00:14:35,039 --> 00:14:58,539 Pues sobre todo la parte de la generación de, o sea, la parte, o sea, en lo que me quedé encallado completamente fue en habilitar la cuenta en directorio activo simplemente a nivel de puertos. 85 00:14:58,539 --> 00:15:27,379 Porque no me daba ningún error y sin embargo, el problema, o sea, yo llegaba, le decía que me habilitase la cuenta, yo creaba la cuenta, pero no me la habilitaba y no daba ningún error en ningún sitio. Y era simplemente porque yo estaba yendo por el puerto 389 en lugar de ir por el 636, por lo que me tuve que importar, cuando me importé el módulo de LDAP seguro y fui por el 636, metí el certificado y todo, ahí ya tiré para adelante. 86 00:15:27,379 --> 00:15:29,679 Pero ahí eché bastantes horas. 87 00:15:30,159 --> 00:15:44,009 Te refieres también un poco cuando ya... 88 00:15:44,009 --> 00:15:51,289 Sí, la activación de la cuenta en Active Directory, la habilitación. 89 00:15:51,710 --> 00:15:54,649 O sea, yo creaba la cuenta, hacía absolutamente todo, 90 00:15:54,789 --> 00:15:59,389 pero no era capaz de habilitarle porque no podía ponerle una contraseña 91 00:15:59,389 --> 00:16:06,049 porque Microsoft te exige que esa opción la hagas por el 636, 92 00:16:06,049 --> 00:16:14,340 y se lo haga por el edad seguro por el edad firmado más que seguro si tú tuvieras que 93 00:16:14,340 --> 00:16:30,269 evolucionar como lo harías o que cambiarías o que sería lo primero que planificó pues en un 94 00:16:30,269 --> 00:16:41,269 principio intentaría usar una vez que viese ya cómo funciona la la casa pues miraría pues que 95 00:16:41,269 --> 00:16:43,570 se necesita, qué redundancia 96 00:16:43,570 --> 00:16:45,529 se quiere dar a la plataforma, 97 00:16:46,149 --> 00:16:47,389 qué funcionalidad realmente 98 00:16:47,389 --> 00:16:48,769 quieres dar, si quieres también 99 00:16:48,769 --> 00:16:51,529 ampliarlo con proveedores, 100 00:16:51,649 --> 00:16:53,690 si quieres... 101 00:16:53,690 --> 00:16:55,169 No sé. 102 00:16:55,889 --> 00:16:57,149 Sí, yo me refería... 103 00:16:57,149 --> 00:16:58,990 Suponte que has hecho 104 00:16:58,990 --> 00:17:04,549 una prueba 5-10 y tal... 105 00:17:10,200 --> 00:17:11,380 Sí. Pues es que 106 00:17:11,380 --> 00:17:13,319 para toda la empresa, ahora mismo, yo trabajo 107 00:17:13,319 --> 00:17:15,440 en la Seguridad Social. Ahora mismo 108 00:17:15,440 --> 00:17:17,579 nosotros, la dirección 109 00:17:17,579 --> 00:17:25,559 smtp de los de los usuarios la lleva un centro pero las direcciones smtp de los de los buzones 110 00:17:25,559 --> 00:17:34,019 de los buzones compartidos las vamos a asumir nosotros entonces la parte por ejemplo de 111 00:17:34,019 --> 00:17:50,099 generación de smtp la me la voy a llevar de aquí lo que sería digamos vosotros haríais digamos 112 00:17:50,099 --> 00:18:24,930 Sí, ahí cambiaría porque esas cuentas van deshabilitadas porque son buciones compartidos que se accede con la propia cuenta al usuario, no se accede con la cuenta aquí como tal, pero bueno, la base es la misma, es más sencillo todavía porque no tengo que habilitar esa cuenta en directorio activo ni asignarle una password. 113 00:18:24,930 --> 00:18:29,930 Claro, lo que pasa es que entiendo, no sé si estás usando... 114 00:18:34,269 --> 00:18:35,470 Eso es, sí. 115 00:18:35,509 --> 00:18:41,390 Pero entiendo que tendrás que... 116 00:18:41,390 --> 00:18:48,349 Sí, sí, correcto, sí, vamos a crear una base de datos bastante más amplia para esto. 117 00:18:49,210 --> 00:18:51,009 ¿Qué se te ocurre que podríais usar entonces? 118 00:18:53,220 --> 00:18:56,700 Pues en un principio tenemos pensado utilizar MySQL directamente. 119 00:18:56,880 --> 00:18:57,599 MySQL, vale. 120 00:18:57,660 --> 00:18:57,859 Sí. 121 00:18:58,859 --> 00:19:04,200 Muy bien, vale, sí, al final es... 122 00:19:04,200 --> 00:19:10,859 Y claro, los requerimientos para esta gestión no requieren muchos recursos. 123 00:19:11,619 --> 00:19:16,700 No, no, lo único más que nada, pues el tema de copia de seguridad y buscar una redundancia. 124 00:19:16,700 --> 00:19:34,839 Tenemos dos CPDs, entonces pues tendremos al menos una máquina en cada uno de los CPDs, active directo, o sea, a nivel de controlador de dominio tenemos 10 en dos CPDs con máquinas virtuales, máquinas físicas, etc. 125 00:19:34,839 --> 00:19:49,359 Entonces, no, pero la base de datos no necesita nada, es que no tiene una gran, no tiene, son, o sea, pues son cuatro campos y poco más. 126 00:19:49,700 --> 00:19:53,539 ¿Y la gestión del correo en sí también la haríais vosotros? 127 00:19:53,539 --> 00:20:14,640 Sí, sí, la gestión del correo la vamos a hacer nosotros. Tenemos que importarnos ahora mismo los datos que tienen para evitar duplicidades, pero ya a partir de ahora la generaremos nosotros, porque nosotros llevamos la parte de correo y directorio activo y había otra parte que llevaba la identidad, 128 00:20:14,640 --> 00:20:24,819 Y van a seguir llevando la identidad de los usuarios, pero no quieren llevar la identidad de los buzones compartidos porque para ellos no es una identidad de un usuario. 129 00:20:27,099 --> 00:20:33,460 ¿Y en qué sistema lo vais a...? 130 00:20:33,460 --> 00:20:35,400 El correo tenemos en Microsoft Exchange. 131 00:20:35,759 --> 00:20:37,880 Tenemos Exchange, sí, en 365, en la nube. 132 00:20:39,259 --> 00:20:41,559 Tenemos algunos buzones de aplicaciones. 133 00:20:41,740 --> 00:20:43,259 O sea, tenemos un sistema híbrido. 134 00:20:43,740 --> 00:20:47,559 Tenemos algunos buzones que utilizan aplicaciones porque 135 00:20:47,559 --> 00:20:51,000 tenemos un poquitín todo capado. 136 00:20:51,099 --> 00:20:54,900 Entonces, no se puede conectar desde una aplicación a 365. 137 00:20:54,900 --> 00:20:59,000 Entonces, tenemos buzones en local para esas aplicaciones y 138 00:20:59,000 --> 00:21:01,799 luego tenemos otros buzones en 365. 139 00:21:01,799 --> 00:21:20,819 Es independiente de esto porque realmente nosotros el sistema lo llevamos abajo, o sea, arriba tenemos una sincronización en una sola dirección y no sincronizamos los datos. Si hay un cambio arriba, no se baja a nuestra plataforma. 140 00:21:21,380 --> 00:21:29,480 O sea, que de alguna manera sería independiente de la gestión. 141 00:21:29,480 --> 00:21:50,609 Sí, pero nos llevamos esos buzones o como contactos estarían arriba también. O sea, estarían arriba al mínimo el contacto. Aunque tengamos un buzón abajo, desde arriba tienes que poder enviar correo a ese buzón de abajo. 142 00:21:50,609 --> 00:22:06,650 Entonces tenemos un sistema híbrido, lo que utiliza Microsoft es una especie de alias de dirección, le mete un dominio suyo para saber que la cuenta está arriba y si no está arriba porque no encuentra esa cuenta, digamos que por desbordamiento la manda abajo. 143 00:22:06,650 --> 00:22:44,230 Me parece un proyecto muy interesante que además toca a muchos. Bueno, pues concluyo con esto por finalizar el ciclo, porque yo entiendo que también es un final. 144 00:22:44,230 --> 00:23:10,230 Y bueno, recordarte que nosotros la evaluación la haremos internamente, como te he comentado, lo que se hace es grabarlo, se compara con los compañeros, pero la comunicación definitiva no se va a hacer hasta la junta de evaluación de junio de la extraordinaria. 145 00:23:10,230 --> 00:23:12,430 pero bueno, en ese sentido yo creo que 146 00:23:12,430 --> 00:23:13,789 te puedo decir más que tranquilo 147 00:23:13,789 --> 00:23:15,309 que has hecho un buen trabajo 148 00:23:15,309 --> 00:23:17,670 así que lo que te digo 149 00:23:17,670 --> 00:23:18,750 Muchas gracias 150 00:23:18,750 --> 00:23:25,470 Voy a cerrar con esto la grabación