Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas

25
Gestión del Directorio Activo Alumno: David Montero Gamero Director: Germán Rigau Claramunt Junio 2009 - FISS

description

Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas. Gestión del Directorio Activo. Alumno: David Montero Gamero Director: Germán Rigau Claramunt Junio 2009 - FISS. Índice. Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Diseño Arquitectónico - PowerPoint PPT Presentation

Transcript of Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas

PowerPoint Presentation

Proyecto Fin de Carrera

Ingeniera Tcnica en Informtica de SistemasGestin del Directorio Activo

Alumno: David Montero GameroDirector: Germn Rigau ClaramuntJunio 2009 - FISSndiceIntroduccinObjetivos del ProyectoMtodo de TrabajoFuncionalidadesDiseo ArquitectnicoTecnologa EmpleadaDiseoEjemplo de caso de uso: Mover Carpeta de UsuarioImplementacinPruebasGestin del ProyectoConclusionesDemo

29 de Junio de 20092Gestin del Directorio Activo2IntroduccinOrigen del proyecto: prcticas en la empresa Ibermtica Tecnologa y Conocimiento (verano 2008).

Antecedentes: Directorio Activo Qu es? base de datos implementada por Microsoft para almacenar todos los objetos que componen su estructura, como pueden ser, usuarios, grupos, servidores, puestos, etc. Qu es el CAU?

Objetivo: desarrollar una aplicacin que gestionar el Directorio Activo del banco sin que el CAU acceda a los servidores.

Cmo se hacia antes? Antes de la creacin de esta aplicacin, el agente del CAU se validaba en los servidores del cliente como administrador de dominio y realizaba modificaciones directamente en el Directorio Activo.

29 de Junio de 20093Gestin del Directorio ActivoEnfass en que l objetivo es que no accedan al DA.Explicar que es el CAU(Centro de Atencin a Usuarios)3Objetivos del ProyectoQue el CAU realice una serie de tareas sin tener que acceder directamente a los servidores ni tener que validarse como administradores. Ganar agilidad y rapidez, y garantizar la seguridad del DA y de los servidores.Que el acceso y la utilizacin de la aplicacin sean muy intuitivos. Estructura de ventanas sencilla.Implementar seguridad a la aplicacin. Accesos restringidos.Crear un registro con todos los pasos llevados a cabo por el usuario CAU, para llevar un control de las gestiones realizadas. 29 de Junio de 20094Gestin del Directorio Activo4Mtodo de TrabajoMtodo de desarrollo de software: Proceso Unificado de Desarrollo (PUD)Dirigido por casos de usoCentrado en la arquitecturaIterativo e incremental

Fases de cada iteracinImplementacinPruebas

Organizacin del trabajo:Trabajo de desarrollo (3 iteraciones).Reuniones con el director del proyecto, con el cliente y con la empresa. Seguir plan de contingencia y planificacin temporal para evitar problemas.

29 de Junio de 20095Gestin del Directorio ActivoFuncionalidades: Casos de Uso

29 de Junio de 20096Gestin del Directorio ActivoConsta de cuatro grandes grupos: Gestin de usuarios, de grupos, de puestos y de Carpetas de usuario.Explicar qu es un grupo, puesto, carpeta de usuario.6FuncionalidadesGestionar Usuario:Alta de usuario Deshabilitar usuarioEliminar usuarioDesbloquear usuarioReiniciar contraseaObtener datos usuarioModificar datos usuarioAgregar/Eliminar usuario a grupoMover Usuario

Gestionar Carpeta Usuario:Crear carpeta de usuarioEliminar carpeta usuarioMover carpeta usuario

Gestionar Grupo:Alta de grupoEliminar grupoAgregar/Eliminar grupoGestionar Puesto:Deshabilitar puestoEliminar puestoMover puesto

29 de Junio de 20097Gestin del Directorio ActivoDiseo ArquitectnicoArquitectura de 3 capasAplicacin Cliente/Servidor

29 de Junio de 20098Gestin del Directorio ActivoDiseo ArquitectnicoEleccin Tecnolgica:No ha habido eleccin tecnolgica.Diseo de 3 capas:Capa de Presentacin: Visual Basic

Capa de Dominio: Visual Basic

Capa de Base de Datos: Directorio Activo de Windows 2003 Server.Mediante consultas SQL

29 de Junio de 20099Gestin del Directorio ActivoTecnologa EmpleadaCapa de PresentacinDiseo de Ventanas: distribucin, botones, colores, fuentes, etc.Software: Visual Basic Studio 6.0 Professional y SkinBorder PRO

Capa de Gestin de Datos: Directorio Activo de Windows Server 2003

Capa de Dominio: Visual Basic Studio 6.0 Professional.

29 de Junio de 200910Gestin del Directorio ActivoDiseoCapa de DominioCasos de Uso Reales (demostracin)Pseudocdigo (memoria)Clases de DiseoComo se ha mencionado en la memoria las clases con las que trabaja la aplicacin son las que contempla el Directorio Activo de Windows Server 2003. Y lo que refleja la memoria no es ms que una simplificacin de la realidad, ya que el nmero de atributos de cada clase que existe en el DA es muy extenso.29 de Junio de 200911Gestin del Directorio ActivoDiseoVisin simplificada de los objetos que contempla el Directorio Activo.

29 de Junio de 200912Gestin del Directorio ActivoCaso de Uso: Mover Carpeta UsuarioCaptura de Requisitos

Mediante este caso de uso, se permite mover la Carpeta de un usuario de un servidor de datos a otro.

Anlisis

29 de Junio de 200913Gestin del Directorio Activo

Caso de Uso: Mover Carpeta UsuarioName: ElegirOrigenCarpeta(idCarpeta): origenResponsabilities: Permite seleccionar el origen de la carpeta.Preconditions: La carpeta existe en la ubicacin seleccionada.Postconditions: Se almacena en la variable origen la ubicacin origen de la carpeta.Salida:Name: SeleccionarDestinoCarpeta(idCarpeta):destinoResponsabilities:Permite seleccionar el origen de la carpeta Preconditions: Ubicacin destino vlida, es decir, que no exista otra carpeta con el mismo identificador en la ubicacin destino.Postconditions: Se almacena en la variable destino la ubicacin destino de la carpeta.Salida: Name: MoverCarpeta(idCarpeta,origen,destino):infoResponsabilities: Permite mover la carpetaPreconditions: Ubicacin destino vlida, es decir, que no exista otra carpeta con el mismo identificador en la ubicacin destino.Postconditions: Se mueve la carpeta y su contenido del origen al destino, comprueba si el usuario asociado a la carpeta ha sido movido de Unidad Organizativa y si ahora pertenece a Oficinas agregar en la ficha de seguridad un usuario que se encarga de hacer las copias de seguridad. Tambin se encargar de eliminar la carpeta origen.Salida:

29 de Junio de 200914Gestin del Directorio ActivoCaso de Uso: Mover Carpeta UsuarioDiseo

29 de Junio de 200915Gestin del Directorio ActivoIf usuario existe = true then If carpeta existe en la ubicacin origen then If existe otra carpeta perteneciente a ese usuario en el destino thenIndicar que ya existe una carpeta para ese usuario en el destino ElseIf op = SSCC a Oficinas thenMover carpeta origen a backup oficinasMover carpeta de backup oficinas a servidor oficinasEliminar carpeta origenElseif op = Oficinas a SSCC thenMover carpeta backup origen a destinoMover carpeta de backup destino a servidor destinoEliminar carpeta origen

Caso de Uso: Mover Carpeta UsuarioElseif op = Oficinas a Oficinas thenMover carpeta de backup origen a backup destinoMover carpeta de backup destino a servidor destinoEliminar carpeta en backup origenEliminar carpeta servidor origen Elseif op = SSCC a SSCC thenMover carpeta de origen a destinoEnd ifAsignar Permisos en la carpeta End if Else Indicar que no existe la carpeta Show Inicio End ifElseIndicar que el usuario no existe Show InicioEnd if29 de Junio de 2009Gestin del Directorio Activo16Implementacin//Caso de uso Desbloquear Usuario. Cdigo Formulario:If GestorUsuario.UserExists(strUser) Then GestorUsuario.Desbloquear strUser //Aqu llamamos al modulo de cdigo Else MsgBox "El usuario no existe", 0, "AdminTool" //Comunicacin con el usuarioEnd If//Caso de uso Desbloquear Usuario. Cdigo Mdulo:Sub Desbloquear(ByVal user)Set objuser = GetUser(user)If objuser.IsAccountLocked = True Then objuser.IsAccountLocked = Falseobjuser.SetInfo MsgBox "Cuenta desbloqueada", 0, "AdminTool"Else MsgboxLa cuenta ya estaba desbloqueada

29 de Junio de 2009Gestin del Directorio Activo17Por poltica de privacidad de la empresa en la cual he desarrollado esta aplicacin, no he podido adjuntar el cdigo del proyecto. Por ello explicar a grandes rasgos como se ha realizado la implementacin de dicha aplicacin y he adjuntado parte del cdigo para aclarar mejor algunos conceptos.La idea ha consistido en que la parte que interacciona con el usuario exponga y recoja los datos y llame a los mdulos de cdigo que son los que gestionan realmente las operacionesjor los conceptos.

17ImplementacinConexin al Controlador de Dominio:Set objSWbemLocator = CreateObject ("WbemScripting.SWbemLocator")Set objWMIService = objSWbemLocator.ConnectServer(Inicio.strComputer, "root\directory\LDAP", Inicio.USUARIO_AUTH, Inicio.PASSWORD_AUTH)

Ejemplo de Consulta SQL:Set colItems = objWMIService.ExecQuery("SELECT * FROM ds_user WHERE ds_samaccountname= '" & strUser & "'", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

Llamada a la funcin Registrar Evento :LogEvent EVENT_ERROR, vbTab & "Error al desbloquear la cuenta del usuario " & strUser

29 de Junio de 2009Gestin del Directorio Activo18PruebasPruebas Unitarias: funcionamiento de un mdulo de cdigo

Pruebas de integracin: fase del testeo de software en la cual mdulos individuales de software son combinados y testeados como un grupo.

Pruebas de validacin:Es esto lo que el cliente quiere?

Pruebas del sistema: periodo de pruebas en real

29 de Junio de 2009Gestin del Directorio Activo19Gestin: Planificacin Temporal Diagrama de GanttLa planificacin temporal const de 8 fases:

Fase 1: DOPFase 2: Captura de requisitosFase 3: AnlisisFase 4: Diseo Fase 5: Primera iteracin + PruebasFase 6: Segunda iteracin + PruebasFase 7: Tercera iteracin + MemoriaFase 8: Presentacin pblica29 de Junio de 200920Gestin del Directorio ActivoGestin: Planificacin Temporal Diagrama de Gantt

29 de Junio de 200921Gestin del Directorio Activo

Horas Planificadas vs Horas Reales29 de Junio de 200922Gestin del Directorio ActivoNo son las horas reales de la aplicacin real sino una estimacin para el proyecto. Aqu por ejemplo no tenemos en cuenta las horas empleadas para las pruebas.22Relacin de Procesos29 de Junio de 200923Gestin del Directorio ActivoConclusionesGestin del Proyecto:Dificultad para la estimacin temporal de las fases del proyecto (horas de trabajo)Mala estimacin del coste de la tercera iteracin (Memoria): 44 horas en lugar de las 24 planificadasDesarrollo de la Aplicacin:Implementacin modular.Gran importancia del anlisis y diseo para facilitar la implementacin.Aportacin:Experiencia en el desarrollo completo de una aplicacin:Paso por todas fases: captura de requerimientos implementacinTrato con clientes reales y por lo tanto con problemas reales.Descubrimiento del desarrollo de software (organizacin, creacin y programacin)Valoraciones Personales:Uno de los motivos de la eleccin de este proyecto fue la asignatura de Ingeniera del Software.Principal dificultad: escasa experiencia en la programacin de aplicaciones grandes.Experiencia enriquecedora y satisfactoria.

29 de Junio de 200924Gestin del Directorio ActivoIntroduccinDirectorio ActivoCatlogo global del DA

29 de Junio de 2009Gestin del Directorio ActivoLDAP: Protocolo Ligero de Acceso a Directorios: Es un protocolo a nivel de aplicacin que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa informacin en un entorno de red. Es considerado como una BBDD.DA: Implementacin LDAPv3, realmente es un esquema.Las OUs dan al dominio una jerarqua, facilita la administracin y proporciona una imagen de la compaa en trminos organizativos y geogrficos.Curiosidad: Otras adaptaciones del protocolo LDAP: Red Hat Directory Server o Apache Directory Server.25