martes, 16 de enero de 2007

Primer paso: un Servicio de Directorio .

O LDAP, o como se quiera llamar. Existen varias soluciones muy maduras y expandidas, como LDAP o el Active Directory de Windows, y otras novedosas y prometedoras, como Fedora Directory Server -mirar estos pantallazos-.

Desconozco cuánto puede aportar cada uno, pero podemos hacer una lista de requisitos que un equipo de desarrollo de software de tamaño pequeño a mediano (5-7 personas) pueda tener, en cuánto a servicios de directorios se refiere:
  • Autentificación centralizada y segura.
  • Creación de usuarios, grupos.
  • Hacer árboles de recursos de red y personas y poder otorgar permisos con diferentes granularidades (a nivel recurso, persona, departamento, proyecto, etc...)
  • Facilidad para autentificarse en servicios web
  • Ligereza
  • Integración con otros servicios de la empresa, como el correo, calendarios, portales (de proyectos, corporativos).
  • Permita una movilidad total del usuario en la empresa: pueda pertenecer a un departamento pero estar (habría que definir 'estar') en otro, pueda tener varios roles en varios proyectos y ser capaz de administrar cambios con facilidad y simpleza.
  • Lo que metamos en los comentarios
La mayoría de los requisitos anteriores se cumplen ya en soluciones existentes como OpenLDAP y Fedora Directory Server. La autentificación para servicios web distribuidos es la que más dudas puede dar. Haría falta un servicio del directorio que fuese capaz de hacer árboles de servicios web en la empresa, de manera que los usuarios puedan descubrir y utilizarlos automáticamente dependiendo, otra vez, de dónde están localizados dichos usuarios (departamento, proyecto...).

Por qué servicios web? Porque cualquier integrante de proyecto está continuamente ejerciendo 'pequeñas acciones', como crear una nueva tarea de proyecto y asignarla, guardar una revisión de un documento, guardar un poco de código fuente, etc... que son parte del flujo de trabajo del proyecto y hay que centralizarlos en un 'servidor del proyecto'. Aparte de la interoperabilidad, seguridad, el hecho de que usan XML, la apuesta de muchas compañías por ellas...

En definitiva, un proyecto de software necesita de un directorio central que ofrezca autentificación centralizada, seguridad, movilidad e integración con las herramientas de trabajo comunes de todos los integrantes del equipo y varias otras que no se han citado. En un entorno GNU-Linux, estos servicios de directorio los ofrecen OpenLDAP y Fedora Directory Server.

No hay comentarios: