ESIME

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 100

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y Eléctrica


“Unidad Culhuacán”

Proyecto de Titulación:
“SISTEMA DE INFORMACIÓN PARA ADMINISTRACIÓN DE USUARIOS
Y CONTROL DE APLICACIONES EN EL LABORATORIO DE
COMPUTACIÓNPARA DETERMINAR POR QUE CALLES CIRCULAR,
ENCIRCULAR, EN CASO DE CONGESTIONAMIENTO VIAL POR EL
CIERRE DE CALLES ”

Para obtener el título de:


Ingeniero en Computación

Alumno(s):
Ruiz Garcés Paolo
Beltrán Quiñonez Luis Fernando
Rodríguez Ramírez Jorge Ángel
Rosas Ortiz José Juan
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

ProfesorAsesores:
M. en T.I. Eduardo Martínez Corona
Ing. Miguel Ángel Miranda Hernández

APROBACIÓN DE TESINA
SISTEMAS DE INFORMACIÓN

“Sistema de información para administración de usuarios y control de aplicaciones en el laboratorio de


computación”

Que como prueba escrita de su Titulación Curricular para obtener el Título de Ingeniero en Computación,
desarrollaron los C.C.

LUIS FERNANDO BELTRAN QUIÑONEZ JORGE ANGEL RODRIGUEZ RAMIREZ

JOSE JUAN ROSAS ORTIZ

Sistema de información para administración de usuarios y control de aplicaciones en el laboratorio de


computación

MÉXICO D.F. A 11 DE JUNIO de 2013

ASESOR ASESOR
ING. MIGUEL ANGEL MIRANDA
M. EN T.I. EDUARDO MARTÍNEZ CORONA
HERNÁNDEZ

PROFESOR DE PROYECTO DE INGENIERÍA PROFESORA DE PROYECTO DE INGENIERÍA

LIC. NANCY NAXELLY


DR. PEDRO GUEVARA LOPEZ
HERNANDEZ LOYOLA

Página | ii
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

__________________________
ING. HAYARI LIZET CRUZ GONZALEZ

Índic
Introducción v
Planteamiento del problema vii
Problema vii
Objetivo vii
Justificación vii
Capítulo 1 Estado del Arte 9
1.1 Oracle Identity Management 9
1.1.1 Oracle Role Manager 9
1.1.2 Gestión de Acceso 10
1.1.3 Oracle Adaptive Access Manager 10
1.1.4 Oracle Entitlements Server 10
1.1.5 Oracle Enterprise Single Sign-On 11
1.1.6 Oracle Authentication Services para Sistemas Operativos 11
1.2 IDM Novell 11
1.2.1 Administración y funcionamiento de LDAP Novell 15
Capítulo 2 Marco Teórico 18
2.1 Sistemas de información 18
2.1.2 Actividades de un Sistema de Información18
2.1.3 Tipos de Sistemas de Información 19
2.1.4 Principales Sistemas de Información 20
2.2 Sistemas Distribuidos 21
2.2.2 Aplicaciones 21
2.2.3 Características de los Sistemas Distribuidos 22
2.2.3.1 Arquitectura Cliente-Servidor22
2.2.3.2 El Modelo Cliente-Servidor 22
2.2.3.3 Características de la arquitectura Cliente/Servidor 24
2.3 Sistemas Operativos 25
2.3.1 Windows 7 25
2.3.1.1 Características generales 25
2.3.1.2 Compatibilidad 26
2.3.1.3 Ediciones 26
2.3.2 OpenSUSE 27
2.3.2.1 Distribuciones de Linux 27
2.3.2.2 Utilidades de configuración 29
2.4 Procesos de un Sistema Operativo 29
2.4.1 Trazado de procesos 30
2.4.2 Información del BCP 32
2.5 Tecnologías para implementación y desarrollo 33
2.5.1 Gestión de Identidad 33
2.5.1.1 Identidad 34
2.5.1.2 Verificación 34

Página | iii
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

2.5.1.3 Autenticación 34
2.5.1.4 Revocación 34
2.5.1.5 Aprovisionamiento de cuentas 35
2.5.1.6 Aprovisionamiento de Recursos 35
2.5.2 Servicio de directorios 36
2.5.2.1 Características de servicio de directorios 36
2.5.2.2 Características técnicas de la base de datos del Directorio 37
2.5.2.3 Diferencia con otros repositorios de datos 39
2.5.3 Conceptos y Arquitectura LDAP 40
2.5.3.1 Arquitectura Cliente-Servidor del servicio de Directorio 41
2.5.3.2 Seguridad del directorio 42
2.5.4 Metodología RBAC 44
2.5.4.1 Sistemas basados en roles 44
2.6 Java 47
2.6.1 El compilador de Java 47
2.6.2 La Java Virtual Machine 47
2.7 Threads 48
2.7.1 Ventajas de los hilos frente a los procesos. 49
2.7.2 Estados de un hilo 49
Capítulo 3 Desarrollo del sistema de información 52
3.1 Propuesta de solución 53
3.2 Metodología de desarrollo 53
3.2.1 Análisis de requerimientos 54
3.3.2 Módulo del servidor de servicio de directorios 54
3.3.3 Módulo de instalación y configuración del servicio de directorios 57
3.3.4 Módulo de metodología de asignación de roles y permisos 63
3.3.5 Módulo de configuración del árbol OpenLDAP 69
3.3.6 Módulo de monitoreo de procesos 89
3.3.7 Módulo de codificación y diseño de interfaz de los clientes 91
3.3.8 Módulo de codificación y diseño de interfaz del servidor del sistema 97
3.4 Implementación del sistema de información 108
3.5 Pruebas 111
Conclusiones 112
Trabajo a futuro 113
Bibliografía 114
Referencias 114
Índice de tablas115
Índice de figuras 115

Página | iv
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Introducción
El sistema de información para administrar usuarios y controlar aplicaciones es una
herramienta desarrollada para ayudar al encargado del laboratorio de Ingeniería en
Ccomputación de la ESIME Unidad Culhuacán del IPN, en sus tareas diarias para el
control de los registros de usuarios y las aplicaciones que se ofrecen dentro de este.

En el capítulo 1 se trata del estado “redacción”del arte integrado por herramientas


como Oracle Identity Manager e IDM Novell, las cuales son aplicaciones web de
identificación digital capaces de manejar conexiones hacia otras aplicaciones para tener
control de los recursos de la empresa.

En el capítulo 2 se establecen conceptos teóricos como lo que es un sistema de


información, el manejo de un sistema distribuido, la arquitectura cliente-servidor,
definición de un servicio de directorios, el protocolo LDAP para acceso a los repositorios
de datos, los procesos dentro de los sistemas operativos y la descripción de los
sistemas operativos. Con estos temas abordaremos la realización del proyecto.

En el último capítulo se muestra el desarrollo del sistema con las herramientas


utilizadas así como la implementación de un servicio de directorios, la configuración del
servidor con un sistema operativo OpenSUSE 12.2, la herramienta OpenLDAP, la
programación para el registro electrónico, interfaces de usuarios y la generación de
reportes del laboratorio de computación en Java para la realización de este proyecto.

Página | v
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Página | vi
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Planteamiento del problema

Problema

En el laboratorio de Ingeniería en Ccomputación de la ESIME Culhuacán, el


proceso de control de ingreso de usuarios se llevan de manera manual de tal manera
que el actual sistema de registro de acceso a usuarios, asignación de recursos de
hardware y software y reportes realizados en el área se realizan de forma igual forma.
Corregir redacción
No existe una asignación de permisos por status de usuario, problemática que se
atenderá con el siguiente trabajo.En el pueblo de San Antonio Tecomitl de la Alcaldía
de Milpa-Alta, una zona semi rural, presenta problemas de circulación vial ya que se
cierran calles sin previo aviso, debido a sus usos y costumbres, así como también obras
viales, y en algunas horas pico, lo cual contribuye a la contaminación atmosférica
debido a la quema de combustible de los automovilistas.

Objetivo
Implementar un sistema de información que realice un registro electrónico de
accesos al laboratorio, asignando recursos de hardware y software para controlar el
servicio dentro del laboratorio de computación. en el cual se establezcan que calles y
avenidas, se puede circular debido al tráfico, y al cierre inesperado de calles,

Justificación
Con el fin de que los alumnos conductores tengan disponibilidad vías alternas para
poder circular en la demarcación de uso de los programas y equipos de cómputo en el
laboratorio, así como automatizar gestionar el cierre de calles y vialidades el proceso de
registro dentro del aula, se desea implementar un sistema de información que realice
los registros registre que calles se encuentran cerradas.de uso de las computadoras de
forma automática. También se busca resolver con el sistema la falta de disponibilidad el
congestionamiento vial lo cual causa estrés, contaminación auditiva y atmosférica. de
las aplicaciones y la lentitud con la que trabajan algunas computadoras, permitiendo

Página | vii
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

ejecutar únicamente los programas que la carrera tiene contemplados para el desarrollo
de prácticas durante los semestres. Con esto el encargado del laboratorio
tendráautomovilista tendrá vías alternas por la cual circular así como aprovechar
eficazmente su combustibleuna ayuda para que la administración se haga de una forma
más rápida y fácil.

Página | viii
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Capítulo 1 Estado del Arte

UPS COMPITE EN FORMA GLOBAL CON TECNOLOGÍA DE LA INFORMACIÓN

El servicio de paquetería United Parcel Service (UPS) empezó en 1907, en una oficina del tamaño de un
clóset, ubicada en un sótano. Jim Casey y Claude Ryan (dos adolescentes de Seattle con dos bicicletas y
un teléfono) prometieron “el mejor servicio y las menores tarifas”. UPS ha utilizado esta fórmula con
éxito durante más de 100 años para convertirse en la empresa de entrega de paqueterías por tierra y por
aire más grande del mundo. Es una empresa global con más de 408 000 empleados, 96 000 vehículos y la
novena aerolínea más grande del mundo.
En la actualidad, UPS entrega más de 15 millones de paquetes y documentos a diario en Estados Unidos y
más de 200 países y territorios. La empresa ha podido mantener el liderazgo en los servicios de entrega
de pequeños paquetes, a pesar de la dura competencia de FedEx y de Airborne Express, para lo cual ha
invertido mucho en tecnología de información avanzada. UPS invierte más de $1 mil millones al año para
mantener un alto nivel de servicio al cliente, al tiempo que mantiene los costos bajos y aumenta la
eficiencia de sus operaciones en general.
Todo empieza con la etiqueta de código de barras que se pega a los paquetes, la cual contiene
información detallada sobre el remitente, el destino y cuándo debe llegar el paquete. Los clientes
pueden descargar e imprimir sus propias etiquetas mediante el uso de software especial proporcionado
por UPS, o también pueden acceder al sitio Web de la compañía. Incluso antes de que se recoja el
paquete, la información de la etiqueta “inteligente” se transmite a uno de los centros de cómputo de
UPS en Mahwah, Nueva Jersey, o en Alpharetta, Georgia, y se envía al centro de distribución más
cercano a su destino final. Los despachadores en este centro descargan los datos de la etiqueta y utilizan
software especial para crear la ruta de entrega más eficiente para cada conductor, en la que se toma en
cuenta el tráfico, las condiciones del clima y la ubicación de cada escala. UPS estima que sus camiones de
entrega ahorran 28 millones de millas y queman 3 millones de galones menos de combustible cada año,
gracias al uso de esta tecnología. Para aumentar todavía más los ahorros en costos y la seguridad, los
conductores se capacitan para usar “340 Métodos” desarrollados por ingenieros industriales para
optimizar el desempeño de cada tarea, desde levantar y cargar cajas hasta seleccionar un paquete de
una repisa en el camión. Lo primero que recolecta un conductor de UPS cada día es una computadora
portátil llamada Dispositivo de Adquisición de Información de Entrega (DIAD), el cual puede acceder a
una de las redes de las que dependen los teléfonos celulares. Tan pronto como el conductor inicia sesión,
se descarga su ruta del día en el dispositivo portátil. El DIAD también captura de manera automática las
firmas de los clientes, junto con la información
de recolección y entrega. Después, la información de rastreo de los paquetes se transmite a la red de
computadoras de UPS para su almacenamiento y procesamiento. De ahí, se puede acceder a la
información desde cualquier parte del mundo para proveer una prueba de entrega a los clientes, o
responder a sus dudas. Por lo general se requieren menos de 60 segundos desde el momento en que un
conductor oprime “complete” (completo) en un DIAD para que la nueva información esté disponible en
Web. Por medio de su sistema de rastreo de paquetes automatizado, UPS puede supervisar e incluso
cambiar la ruta de los paquetes durante el proceso de entrega computadora central o teléfonos móviles.

Página | 1
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Waze

Waze es una aplicación social de tránsito automotor en tiempo real y navegación asistida


por GPS desarrollada por Waze Mobile.3 El 11 de junio 2013, Google completó la adquisición de
Waze en $966 millones de dólares.
Waze Ltd fue fundada en 2008 en Israel por Uri Levine, Ehud Shabtai y Amir Shinar, llamando
inicialmente al servicio Linqmap. En diciembre de 2011, Waze contaba con una plantilla de
trabajadores de 80 personas, 70 en Ra'anana, Israel, y 10 en Palo Alto, California. 5
En noviembre de 2012 Waze era utilizado por 4.8 millones de usuarios en el continente americano 6 y
por más de 30 millones de usuarios a nivel mundial. 7 En junio de 2013, la base de datos de usuarios
de Waze se encontraba cerca de los 50 millones. 8
Google adquiere Waze

Facebook había mantenido conversaciones para adquirir Waze en $1,000 millones de dólares, sin
embargo, las dos partes no pudieron llegar a un acuerdo sobre las operaciones de reubicación. 9
10
 Google y otras empresas también se habían acercado a Waze después de que sus
conversaciones con Facebook se hicieron públicas. 11
El 11 de junio de 2013, Google adquirió Waze Limited, sin embargo, los términos de la negociación,
así como la cantidad exacta de la compra no se dieron a conocer públicamente al momento de la
adquisición.1213 No obstante, en el mismo mes de que la compra se llevara a cabo, la Federal Trade
Comission de Estados Unidos, estaba considerando que la compra de Waze por parte de Google
podría violar la ley de competencia, ya que Waze era uno de los pocos competidores en ese
sector.14 Más tarde, en julio del mismo año, debido a un documento regulatorio que debió presentar
Google ante la SEC, se hizo pública la cantidad de la transacción, valorada en $966 millones de
dólares, de los cuales $847 millones de dólares fueron en efectivo, más $188 millones en activos
intangibles, menos los $69 millones en los pasivos netos que Waze tenía hasta el momento. 15

Características
Los usuarios de Waze son denominados Wazers, y, a diferencia de los softwares de navegación
asistida por GPS tradicionales, este es mantenido por los usuarios y aprende de las rutas recorridas
por sus usuarios para proveer información de enrutamiento y actualizaciones de tráfico en tiempo
real. Las características que Waze ofrece incluyen: 16

 Indicaciones giro por giro habladas (síntesis de voz).


 Nombres de calles habladas.
 Reportes de tráfico en tiempo real.
 Precios de gasolina en tiempo real.
 Posibilidad de evitar peajes.
 Actualizaciones regulares y gratuitas al mapa instaladas y mostradas automáticamente.
 Búsqueda de destino por dirección completa, categoría, nombre del lugar, puntos de interés,
o utilizando la información de los contactos.
 Búsqueda integrada de destino: Google, Foursquare, Bing y Contactos.
 Soporte para insertar destinos mediante aplicaciones externas.
 Soporte multilenguaje.
 Integración con redes sociales (Twitter, Facebook).
 Integración con Spotify.

Página | 2
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Aviso de cámaras de seguridad.


 Se puede poner un ícono publicitario de su negocio gracias a Waze Advertize.
La colaboración abierta en este servicio permite a los usuarios poder reportar accidentes,
congestiones de tráfico, controles de velocidad, puntos de interés entre otros. El programa requiere
una conexión de datos en el dispositivo móvil.

Durante este capítulo se mencionan dos sistemas desarrollados por empresas de


identificación digital >Heeeee ¡!!! capaces de manejar recursos y aplicaciones de una
empresa mediante accesos y permisos. Este tipo de sistemas son implementados para
realizar una unificación de los servicios empresariales por medio de identificaciones
digitales para autentificaciones de usuarios sobre permisos otorgados a aplicaciones
determinadas por la empresa hacia el usuario.

1.1 Oracle Identity Management


Oracle Identity Manager es un sistema de gestión de identidades empresariales
altamente flexible y escalable desarrollado por Oracle que controla centralmente el ciclo
de vida de las cuentas de los usuarios y los privilegios de acceso dentro de los recursos
empresariales [ CITATION Int08 \l 2058 ]. Oracle Identity Manager ofrece la integración para
trabajar con las tecnologías de infraestructura y aplicaciones empresariales más
comúnmente implementadas. Asimismo, Identity Manager se presenta con una
herramienta gráfica que permite integrarse con otras aplicaciones.

1.1.1 Oracle Role Manager


Oracle Role Manager es una solución de autoridad véase glosario para la
administración de roles construida sobre una arquitectura J2EE * escalable. Oracle Role
Manager ofrece un grupo de características completas para la administración del ciclo
de vida de los roles empresariales y la administración de relaciones y de la empresa de
múltiples dimensiones.
Al utilizar los roles para extraer recursos y derechos, Oracle Role Manager permite
a los usuarios de negocio definir el acceso de los usuarios conforme a la política de
negocios, así como revisar los derechos de acceso del usuario en términos de
negocios. Al incorporar a los usuarios de negocio en el proceso de gestión de identidad,

Página | 3
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Oracle Role Manager incorpora la escalabilidad en los procesos de cumplimiento y


seguridad relacionados con la identidad.

1.1.2 Gestión de Acceso


Oracle Access Manager ofrece control de acceso escalable para los entornos
heterogéneos con una solución integrada, basada en estándares para la autenticación,
el inicio de sesión web única y la creación y cumplimiento de las políticas [ CITATION
Int08 \l 2058 ]. Soporta todos los servidores web, servidores de aplicaciones y servidores
de directorios más importantes. Ayuda a asegurar las aplicaciones empresariales, J2EE
y de web mientras se reducen los gastos administrativos, la complejidad y los costos.

1.1.3 Oracle Adaptive Access Manager


Oracle Adaptive Access Manager brinda protección de nivel superior para las
empresas y sus clientes a través de la sólida seguridad de autenticación de múltiples
factores que puede ajustarse dinámicamente sobre la base del contexto de acción del
usuario y de la prevención anticipada y en tiempo real ante cualquier situación
fraudulenta. Ofrece aplicaciones online con sólida autenticación libre de dispositivos.
También ofrece una calificación de riesgos en tiempo real para identificar cualquier
posible situación de fraude en las distintas etapas de una transacción.

1.1.4 Oracle Entitlements Server


A medida que las empresas van adquiriendo exitosamente el control de sus
requerimientos de administración de acceso, muchas de ellas buscan centralizar la
administración de las minuciosas políticas de autorización incorporadas en las
aplicaciones mismas. Los nuevos estándares ayudan a que esto sea posible para
todos los entornos de proveedores. Oracle Entitlements Server ofrece administración
centralizada de políticas basadas en estándares y cumplimiento de políticas
distribuidas en todas las aplicaciones empresariales dando como resultado un entorno
empresarial más seguro, mejor facilidad de administración, cumplimiento consistente
de políticas y cumplimiento optimizado.

Página | 4
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

1.1.5 Oracle Enterprise Single Sign-On


Oracle Enterprise Single Sign-On brinda a los usuarios autenticación e inicio de
sesiones unificadas para todos sus recursos empresariales, con inclusión de las
aplicaciones de mainframe personalizadas o basadas en host, servidores-cliente y
desktops.
Los usuarios pueden autenticarse una sola vez con una credencial única como un
nombre de usuario/contraseña, smartcard, o un dispositivo biométrico y luego tener
acceso seguro a todas sus aplicaciones empresariales sin tener que registrarse
nuevamente.

1.1.6 Oracle Authentication Services para Sistemas Operativos


Los servidores Unix y Linux están ampliamente implementados en la mayoría de
las organizaciones empresariales y generalmente se encargan de mantener la
información importante de la empresa. Cada uno de estos sistemas puede suministrar
su propia administración de cuentas local, pero esto puede desencadenar desafíos
administrativos como por ejemplo, posibles conflictos de seguridad debido a la
aplicación de políticas de seguridad inconsistentes. Oracle Authentication Services
para los Sistemas Operativos brinda a estos entornos de Linux y Unix una
infraestructura de autenticación de usuarios centralizada, segura y sin defectos. Ahora,
el acceso a los sistemas operativos puede administrarse, imponerse y auditarse
centralmente, prestando así un verdadero servicio de seguridad.

1.2 IDM Novell


La aplicación de usuario del Gestor de identidades es una potente aplicación
Web ???? cuyo objetivo es proporcionar una experiencia de usuario plena, intuitiva,
fácilmente configurable y administrable en un marco de trabajo de sofisticados servicios
de identidad. Cuando se utiliza junto con el módulo de provisión del Gestor de
identidades y con Novell Audit, la aplicación de usuario del Gestor de identidades
proporciona una solución de provisión completa de extremo a extremo que es segura,
escalable y fácil de gestionar. [ CITATION Nov005 \l 2058 ]
La aplicación de usuario proporciona las siguientes funciones de usuario final
basadas en Web:

Página | 5
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Páginas blancas.
 Organizational charts, En español o Inglés ?Organigramas corporativos
Búsqueda de usuarios (con la capacidad de guardar las configuraciones de
búsqueda personalizadas).
 Autoservicio de gestión de contraseñas.
 Herramientas ligeras de administración del usuario.
 Iniciación y monitorización de flujos de trabajo (si el módulo de provisión está
instalado).
 Gestión de tareas personales y/o del equipo (si el módulo de provisión está
instalado).
En el caso del administrador del sistema, la aplicación de usuario brinda una
amplia variedad de posibilidades de configuración y administración, entre las que
figuran:
 Una interfaz que permite configurar y gestionar los derechos de apoderado
y de delegación.
 Acceso a herramientas de registro y Crystal Reports personalizados.
 Configuración de flujos de trabajo basada en asistente (si el módulo de
provisión está instalado).
 Gestión de flujos de trabajo (si el módulo de provisión está instalado),
incluida la capacidad de reasignar o terminar flujos de trabajo en curso.
 Diseñador basado en Eclipse para crear definiciones y relaciones de
abstracción del directorio personalizadas.

En la tabla siguiente se muestra una lista completa de las funciones y descripción


de ellas.

Página | 6
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Tabla I. Tabla de funciones y posibilidades de IDM 1

Función Descripción
Entorno de interfaz de usuario Web El administrador puede cambiar los
ampliable, basado en estándares, e diseños de página, la página por
independiente del navegador defecto (principal), añadir nuevas
utilizado páginas y modificar el aspecto
general (temas).
Flujos de trabajo de provisión (con el El administrador puede crear flujos
módulo de provisión instalado) de trabajo a medida para procesar
las peticiones de provisión.
Además, los usuarios finales que
dispongan de los derechos
pertinentes, pueden iniciar dichos
flujos de trabajo.
Flujos de trabajo basados en eventos Además de los flujos de trabajo
(con el módulo de provisión iniciados por el usuario, el
instalado) administrador puede configurar
flujos de trabajo para que se inicien
automáticamente cuando los
eventos especificados se
produzcan en el repositorio seguro
de identidades.
Páginas blancas mejoradas Permiten mostrar la información
del usuario alfabéticamente,
geográficamente, por conjuntos de
habilidades, etc.
Organigrama corporativo La aplicación de usuario incluye un
portlet de creación de
organigramas corporativos
avanzado que aprovecha AJAX
para proporcionar una amplia
experiencia interactiva.
Búsqueda de usuarios El usuario puede realizar
búsquedas en identidades y
guardar definiciones de búsquedas
personalizadas para volverlas a
utilizar más tarde.
Autoservicio de contraseñas Gracias a esta aplicación los
usuarios finales pueden acceder a
las funciones de gestión de
contraseñas, con lo que se elimina,

1
“Aplicación de usuario del Gestor de Identidades: Guía de administración” (2005), Recuperado el 25 de febrero del 2013, de
http://www.novell.com/es-es/documentation/idm/pdfdoc/agpro/agpro.pdf.

Página | 7
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

por tanto, la necesidad de llamar al


servicio de asistencia técnica.
Administración de usuarios ligera La aplicación de usuario permite
que los usuarios finales que no
sean administradores de TI puedan
realizar un conjunto limitado de
tareas de gestión de identidades.
Nivel de abstracción del directorio La estructura del tiempo de
ejecución aísla la lógica de la
aplicación Web de la mecánica de
bajo nivel del acceso al repositorio
seguro de identidades y del flujo de
trabajo a fin de obtener una
arquitectura de abstracción de
directorio sólida y segura. El
aislamiento se consigue mediante
una capa intermedia conocida
como nivel de abstracción del
directorio (o sólo nivel de
abstracción).
Control de acceso en toda la El nivel de abstracción (que
información orientada a usuario aprovecha el sofisticado modelo de
derechos vigentes de eDirectory)
limita automáticamente tanto la
visibilidad de los flujos de trabajo y
de los datos de identidad, así como
el derecho del usuario a modificar
los datos, de modo transparente al
usuario e incluso a los mismos
portlets.
Verificación de los datos de identidad La aplicación de usuario
del usuario final proporciona un medio para que los
usuarios vean y validen/actualicen
su propia información de identidad,
tal como está representada en el
repositorio seguro de identidades.
Registro flexible Registre fácilmente una amplia
variedad de eventos en un registro
del servidor (mediante log4j) o en
Novell Audit, o en ambos
Informes de Novell Audit El producto incluye plantillas
predefinidas de Crystal Reports
que reflejan las tareas de
generación de informes más
comunes relativas a la provisión.

Página | 8
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Alta disponibilidad Los elementos del flujo de


aprobación y la aplicación de
usuario se pueden agrupar en
clúster para facilitar la
escalabilidad.

1.2.1 Administración y funcionamiento de LDAP Novell


El administrador de LDAP es la persona que posee los máximos derechos y
configuración del sistema en relación con el repositorio de identidades seguro
(eDirectory 8.7.x o 8.8). ¿ Cuál es el contexto de este párrafo ??Se trata de una función
lógica que también puede compartir el administrador de la aplicación a un usuario, que
es la persona o entidad que posee los derechos del sistema sobre el servidor de
aplicación (JBoss), la base de datos (por ejemplo, MySQL) y/o la misma IU Web basada
en el portal.
El administrador de LDAP puede elegir entre dos tipos de herramientas para
realizar su tarea: el diseñador basado en Eclipse para las tareas poco frecuentes del
Gestor de identidades (posiblemente puntuales) y las herramientas de iManager para
las tareas de administración diarias.
A continuación, se presentan distintos ejemplos de tareas poco frecuentes que se
pueden realizar con el diseñador para el Gestor de identidades:
 Configurar las definiciones, los atributos y las relaciones del nivel de
abstracción que se pueden utilizar en la aplicación de usuario del Gestor de
identidades.
 Validar las definiciones del nivel de abstracción del directorio.
 Introducir cambios en los valores del controlador de la aplicación de
usuario.
 Localizar el texto de visualización de las etiquetas de visualización de
atributos y entidades, los nombres de las relaciones del organigrama
corporativo y los elementos de la lista global y local.
 Importar o exportar el controlador de la aplicación de usuario y sus valores.
 Otros tipos de tareas realizadas sin conexión.

Página | 9
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

En entornos de trabajo en red es de vital importancia el poder acceder de forma


rápida y estructurada a la información que se necesita. Los datos desorganizados no
sólo influyen negativamente en el uso de Internet???????, sino también pueden
dificultar los procesos de búsqueda en la intranet de la empresa. Los servicios de
directorio son la respuesta a este problema. De manera semejante a las páginas
amarillas (Yellow Pages) en la vida ordinaria, dichos servicios contienen toda la
información necesaria de forma estructurada y accesible. En el caso ideal, un servidor
central guarda los datos en un directorio y los distribuye a los clientes de la red a través
de un protocolo determinado.
Los datos han de estar estructurados de tal forma que un máximo número de
aplicaciones pueda acceder a ellos. De este modo no es necesario que cada aplicación
de calendario o cliente de correo electrónico disponga de una base de datos propia,
sino basta con que puedan recurrir al depósito central, lo que reduce
considerablemente el esfuerzo de administración de la información. El uso de un
protocolo estandarizado y abierto como LDAP garantiza que el mayor número posible
de aplicaciones de clientes tenga acceso a la información [ CITATION Nov005 \l 2058 ].
En este contexto un directorio es una especie de base de datos optimizada para
poder ser examinada y leída muy fácil y rápidamente:

 Para permitir un alto número de accesos de lectura (simultáneos), los permisos


de escritura están limitados a unas pocas actualizaciones por parte del
administrador. Las bases de datos tradicionales están optimizadas para recoger
en poco tiempo el mayor volumen de datos posible.

 Debido a que los permisos de escritura sólo pueden ejercerse de forma muy
limitada, el servicio de directorio administra información estática que cambia
rara vez. En contraposición, los datos en una base de datos convencional se
modifican con mucha frecuencia (se trata de información dinámica).

Página | 10
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 En la gestión de datos estáticos, los registros de datos se actualizan con muy


poca frecuencia. En cambio, cuando se trabaja con datos dinámicos,
especialmente en el terreno de cuentas bancarias y datos de contabilidad, la
coherencia de los datos es primordial. Si una cantidad ha de restarse de un sitio
para ser añadida a otro, ambas operaciones han de ejecutarse
simultáneamente en una “transacción” para garantizar la concordancia del
conjunto de los datos. Las bases de datos soportan estas transacciones,
mientras que los directorios no lo hacen. En estos últimos, la falta de
concordancia de los datos resulta aceptable durante breves periodos de tiempo.

El diseño de un servicio de directorio como LDAP no está concebido para soportar


complejos mecanismos de actualización o consulta. Todas las aplicaciones que
accedan a este servicio han de poder hacerlo de la forma más fácil y rápida posible.
Han existido y existen numerosos servicios de directorio, no sólo en el mundo
Unix, sino también, por ejemplo, Novells NDS, Microsofts ADS, Banyans Street Talk y el
estándar OSI X.500. [ CITATION Nov005 \l 2058 ]
En la figura 1 se muestra el esquema de conectividad del repositorio de datos con
otros sistemas y las funciones que manejan dentro de la interfaz web de Oracle Identity
Manager.

Figura 1. Diagrama de funciones y conectividad de la interfaz web 2


Figura 6. Estructura LDAP

2
“Aplicación de usuario del Gestor de Identidades: Guía de administración” (2005), Recuperado el 25 de febrero del 2013, de
http://www.novell.com/es-es/documentation/idm/pdfdoc/agpro/agpro.pdf.

Página | 11
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Capítulo 2 Marco Teórico

Durante este capítulo se abarcan temas de fundamentos teóricos enfocados


a comprendera comprender el sistema de información para administrar usuarios y
controlar aplicaciones tales como los sistemas de información, sistemas
distribuidos, características de sistemas operativos, los procesos de un sistema
operativo, programación en Java y temas sobre tecnologías de implementación como
el servicio de directorios, protocolo LDAP, gestión de identidades y la metodología
RBAC.

2.1 Sistemas de información

Un sistema de información es un conjunto de componentes


interrelacionados que reúne (u obtiene), procesa, almacena y distribuye
información para apoyar la toma de decisiones y el control en una organización.
[ CITATION Kos06 \l 2058 ]
La información se obtiene luego de procesar los datos, en donde las
principales actividades del sistema de información son: entrada, procesamiento y
salida de datos las cuales por medio de la retroalimentación sirve para mejorar o
controlar su funcionamiento. Los sistemas de información pueden ser formales
(hay procedimientos) e informales.

2.1.2 Actividades de un Sistema de Información

Hay tres actividades en un sistema de información que producen la


información que las organizaciones necesitan para toma de decisiones, controlar
operaciones, analizar problemas y crear nuevos productos o servicios. Estas
actividades son:

 Entrada: captura o recolecta datos en bruto tanto del interior de la


organización como de su entorno externo.
 Procesamiento: convierte esa entrada de datos en una forma más
significativa.

Página | 12
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Salida: Transfiere la información procesada a la gente que la usará o a las


actividades para las que se utilizará.

Los sistemas de información también requieren retroalimentación, que es la


salida que se devuelve al personal adecuado de la organización para ayudarle a
evaluar o corregir la etapa de entrada.

2.1.3 Tipos de Sistemas de Información

Un sistema de información no solamente proporciona toda la información


que una empresa necesita existen diferentes tipos de sistemas como:

 Sistemas a nivel operativo:


Apoyan a los gerentes operativos en el seguimiento de actividades y
transacciones elementales de la organización como ventas, ingresos, depósito
en efectivo, nómina, decisiones de crédito y flujo de materiales en una fábrica.
Tienen como objetivo responder a las preguntas de rutina y seguir el flujo de las
transacciones a través de la organización.
 Sistemas a nivel del conocimiento:
El propósito de estos sistemas es ayudar a las empresas comerciales a
integrar el nuevo conocimiento en los negocios y ayudar a la organización a
controlar el flujo del trabajo de oficina. Estos tipos de sistemas están entre las
aplicaciones de crecimiento más rápidas en los negocios actuales.
 Sistemas a nivel administrativo:
Sirven a las actividades de supervisión, control, toma de decisiones, y
administrativas de los gerentes de nivel medio. La pregunta principal que
plantean estos sistemas es: ¿Van bien las cosas? Por lo general, este tipo de
sistemas proporcionan informes periódicos más que información instantánea de
operaciones. Apoyan a las decisiones no rutinarias y tienden a enfocarse en
decisiones menos estructuradas para las cuales los requisitos de información no
siempre son claros.
 Sistemas a nivel estratégico:

Página | 13
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Ayudan a los directores a enfrentar y resolver aspectos estratégicos y


tendencias a largo plazo, tanto en la empresa como en el entorno externo. Su
función principal es compaginar los cambios del entorno externo con la
capacidad organizacional existente. [ CITATION Lau04 \l 2058 ]
En la figura 2, se muestra la pirámide organizacional evaluada sobre los
niveles de una empresa con sistemas de información.

Figura 2. Sistemas de Información en la Pirámide Organizacional de una Empresa 3

2.1.4 Principales Sistemas de Información


En las organizaciones cuentan con Sistemas de Apoyo a Ejecutivos (ESS por
sus siglas en inglés Executive Support System) en el nivel estratégico; Sistemas
de Información Gerencial (MIS por sus siglas en inglés Managment Information
System); Sistemas de Apoyo a la Toma de Decisiones (DSS por sus siglas en
inglés Decision Support System) en el nivel administrativo; Sistemas de Trabajo
del Conocimiento (KWS por sus siglas en inglés Knowledge Work Systems),
Sistemas de Oficina en el nivel de Conocimiento y Sistemas de Procesamiento de

3
“Pirámide Organizacional de una empresa” (2004), Recuperado el 3 de diciembre del 2012 de
http://biblioteca.itson.mx/oa/dip_ago/introduccion_sistemas/p6.htm

Página | 14
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Transacciones (TPS por sus siglas en inglés Transaction Processing System) en


el nivel operativo. A su vez, los sistemas de cada nivel se especializan en apoyar
a cada una de las principales áreas funcionales.

 Sistemas de Automatización de Oficinas (OAS)


Es una aplicación de Tecnología de información diseñada para aumentar la
productividad de los trabajadores de datos en la oficina, apoyando las
actividades de coordinación y comunicación de la oficina típica.
Coordinan a diversos trabajadores de información, unidades geográficas y
áreas funcionales, manejan y controlan documentos, programan actividades y
comunican.
o Sirven a las necesidades de información en los niveles de
conocimientos en la institución.
o Coordinan y administran.
o Enlazan el trabajo.
o Acoplan a la institución.
Para cumplir con las funciones ya descritas, las oficinas en general llevan a
cabo cinco actividades de oficinas principales:
o Administración de documentos.
o Programación de las actividades de las personas y grupos.
o Comunicación con personas y grupos.
o Administración de los datos.
o Administración de proyectos. [ CITATION Sen92 \l 2058 ]

2.2 Sistemas Distribuidos

Un sistema distribuido se define como una colección de computadoras


autónomas conectado por una red, y con el software distribuido adecuado para
que el sistema sea visto por los usuarios como una única entidad capaz de
proporcionar facilidades de computación. Este software permite a los

Página | 15
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

ordenadores coordinar sus actividades y compartir los recursos del sistema –


hardware, software y datos [ CITATION Tan09 \l 2058 ]

2.2.2 Aplicaciones
Las aplicaciones de los sistemas distribuidos varían desde la provisión de
capacidad de cómputo a grupos de usuarios, hasta sistemas bancarios,
comunicaciones multimedia y abarcan prácticamente todas las aplicaciones
comerciales y técnicas de los ordenadores. Los requisitos de dichas aplicaciones
incluyen un alto nivel de fiabilidad, seguridad contra interferencias externas y
privacidad de la información que el sistema mantiene. Se deben proveer accesos
concurrentes a bases de datos por parte de muchos usuarios, garantizar tiempos
de respuesta, proveer puntos de acceso al servicio que están distribuidos
geográficamente, potencial para el crecimiento del sistema, determinar la
expansión del negocio y un marco para la integración de sistema usados por
diferentes compañías y organizaciones de usuarios. [CITATION Ten98 \l 2058 ]

2.2.3 Características de los Sistemas Distribuidos


Una de las características más definidas en un sistema distribuido es como
está constituida su arquitectura, al definir la arquitectura del sistema se identifica
el funcionamiento que tendrá esta durante su implementación.

2.2.3.1 Arquitectura Cliente-Servidor

En el mundo de TCP/IP las comunicaciones entre computadoras se rigen


básicamente por lo que se llama modelo Cliente-Servidor, éste es un modelo que
intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad
enescalabilidad en las comunicaciones.

Su funcionamiento es sencillo ya que se tiene una computadora cliente, que


requiere un servicio de una computadora servidor, y éste realiza la función
parafunción para la que está programado.

Página | 16
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

2.2.3.2 El Modelo Cliente-Servidor

Desde el punto de vista funcional, se puede definir la computación


Cliente/Servidor como una arquitectura distribuida que permite a losa los
usuarios finales obtener acceso a la información en forma transparente aún en
entornos multiplataforma.

En el modelo cliente servidor, el clienteel cliente envía un mensaje solicitando


un determinado servicio a un servidor (hace una petición), y este envía uno o
varios mensajes con la respuesta (provee el servicio) (Ver Figura 3). En un
sistema distribuido cada computadora puede cumplir el rol de servidor para
algunas tareas y el rol de cliente para otras.

Figura 3. Modelo Cliente/Servidor 4

La idea es tratar a una computadora como un instrumento, que por sí sola


pueda realizar muchas tareas, pero con la consideración de que realice aquellas
que son más adecuadas a sus características. Si esto se aplica tanto a clientes
como servidores se entiende que la forma más estándar de aplicación y uso de
sistemas Cliente/Servidor es mediante la explotación de las PC’s a través de
interfaces gráficas de usuario; mientras que la administración de datos y su
seguridad e integridad se deja a cargo de computadoras centrales tipo
mainframe.
Usualmente la mayoría del trabajo pesado se hace en el proceso llamado
servidor y el o los procesos cliente sólo se ocupan de la interacción con el
usuario (aunque esto puede variar). En otras palabraspalabras, la arquitectura

4
“Cliente-Servidor” (2013). Recuperado el 9 de enero del 2013, de http://www.leobravo.cl/?p=1290.

Página | 17
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Cliente/Servidor es una extensión de programación modular en la que la base


fundamental es separar una gran pieza de software en módulos con el fin de
hacer más fácil el desarrollo y mejorar su mantenimiento.
Esta arquitectura permite distribuir físicamente los procesos y los datos en
forma más eficiente lo que en computación distribuida afecta directamente el
tráfico de la red, reduciéndolo grandemente.

2.2.3.3 Características de la arquitectura Cliente/Servidor

Las características básicas de una arquitectura Cliente/Servidor son:

 Combinación de un cliente que interactúa con el usuario, y un servidor


que interactúa con los recursos compartidos. El proceso del cliente
proporciona la interfaz entre el usuario y el resto del sistema. El
proceso del servidor actúa como un motor de software que maneja
recursos compartidos tales como bases de datos, impresoras,
módems, etc.
 Las tareas del cliente y del servidor tienen diferentes requerimientos
en cuanto a recursos de cómputo como velocidad delvelocidad del
procesador, memoria, velocidad y capacidades del disco e input-
output devices.
 Se establece una relación entre procesos distintos, los cuales pueden
ser ejecutados en la misma máquina o en máquinas diferentes
distribuidas a lo largo de la red.
 Existe una clara distinción de funciones basada en el concepto de
"servicio", que se establece entre clientes y servidores.
 La relación establecida puede ser de muchos a uno, en la que un
servidor puede dar servicio a muchos clientes, regulando su acceso a
recursos compartidos.

Página | 18
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Los clientes corresponden a procesos activos en cuanto a que son


éstos los que hacen peticiones de servicios a los servidores. Estos
últimos tienen un carácter pasivo ya que esperan las peticiones de los
clientes.
 No existe otra relación entre clientes y servidores que no sea la que se
establece a través del intercambio de mensajes entre ambos. El
mensaje es el mecanismo para la petición y entrega de solicitudes de
servicio.
 El ambiente es heterogéneo. La plataforma de hardware y el sistema
operativo del cliente y del servidor no son siempre la misma.
Precisamente una de las principales ventajas de esta arquitectura es la
posibilidad de conectar clientes y servidores independientemente de
sus plataformas.
 El concepto de escalabilidad tanto horizontal como vertical es
aplicable a cualquier sistema Cliente/Servidor. La escalabilidad
horizontal permite agregar más estaciones de trabajo activas sin
afectar significativamente el rendimiento. La escalabilidad vertical
permite mejorar las características del servidor o agregar múltiples
servidores. [ CITATION Cli09 \l 2058 ]

2.3 Sistemas Operativos


El funcionamiento del cliente o el servidor va a establecerse mediante la
plataforma con la que opera su sistema operativo, este software va a ser el encargado
de gestionar procesos y recursos de una computadora por lo que trata las
características de las plataformas implementadas en el sistema.

2.3.1 Windows 7
Windows 7 es una versión lanzada en 2009 de Microsoft Windows, un sistema
operativo para uso en computadoras personales, incluyendo equipos de escritorio en
hogares y oficinas, notebooks y equipos Media Center [ CITATION Mar2009 \l 2058 ]. El
desarrollo de este sistema operativo comenzó inmediatamente después del lanzamiento

Página | 19
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

de Windows Vista. Microsoft habilitó soporte de Windows 7 para plataformas de 32 bits


y 64 bits, aunque la versión para servidor será exclusivamente de 64 bits. Cuál es el
aporte ?????

2.3.1.1 Características generales


A diferencia de Windows Vista, Windows 7 es una actualización incremental del
núcleo NT 6.0, con la finalidad de mantener un grado de compatibilidad con
aplicaciones y hardware en los que Windows Vista ya era compatible. De esta forma se
minimiza el problema de las incompatibilidades con software y hardware, tanto
actualizando desde Windows XP, como actualizando desde Windows Vista.
Este sistema presenta una interfaz rediseñada junto con una nueva barra de
tareas y un sistema de redes domésticas denominado Grupo Hogar, además de
mejoras en el rendimiento. Incluye nuevas prestaciones respecto a Windows Vista,
entre las que se encuentran avances en reconocimiento de voz, táctil y escritura,
soporte para discos virtuales, mejor desempeño en procesadores multinúcleo, mejor
arranque y mejoras en el núcleo. Además, varias características novedosas se
agregaron al panel de control, como aceleradores, gadgets, infrarrojo, solución de
problemas, localización y otros sensores, administrador de credenciales, Windows
Solution Center, entre otros.

2.3.1.2 Compatibilidad
Las versiones de Windows 7 se lanzaron en versiones para arquitectura 32 bits y
64 bits en las ediciones Home Basic, Home Premium, Professional y Ultimate. No
obstante, las versiones servidor de este producto fueron lanzadas exclusivamente para
arquitectura 64 bits.
Esto significa que las versiones cliente de 32 bits aún soportan programas
Windows 16 bits y MS-DOS. Y las versiones 64 bits (incluidas todas las versiones de
servidor) soportan programas tanto de 32 como de 64 bits.

2.3.1.3 Ediciones
Existen seis ediciones de Windows 7, construidas una sobre otra de manera
incremental, aunque solamente se centrarán en comercializar dos de ellas para los

Página | 20
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

usuarios comunes: la edición Home Premium y Professional. A estas dos, se suman las
versiones Starter, Home Basic, y Ultimate, además de la versión Enterprise, que está
destinada a grupos empresariales que cuenten con licenciamiento Open o Select de
Microsoft.

 Starter: Es la versión de Windows 7 con menos funcionalidades. Posee una


versión incompleta de la interfaz  Aero que no incluye los efectos de
transparencia Glass, Flip 3D o las vistas previas de las ventanas en la barra
de inicio y además no permite cambiar el fondo de escritorio. Está dirigida
a PC de hardware limitado —como netbooks—, siendo licenciada
únicamente para integradores y fabricantes  OEM.
 Home Basic: Versión con más funciones de conectividad y personalización,
aunque su interfaz seguirá siendo incompleta como en la edición  Starter.
Sólo estará disponible para integradores y fabricantes  OEM en países en
vías de desarrollo y mercados emergentes.
 Home Premium: Además de lo anterior, se incluye  Windows Media Center,
el tema Aero completo y soporte para múltiples  códecs de formatos de
archivos multimedia.
 Professional: Incluye todas las funciones de la versión  Home Premium más
protección de datos con copia de seguridad avanzada, red administrada
con soporte para dominios, impresión en red localizada mediante  Location
Aware Printing y cifrado de archivos.
 Ultimate: Añade características de seguridad y protección de datos
como BitLocker en discos duros externos e internos, Applocker, Direct
Access, BranchCache, soporte a imágenes virtualizadas de discos duros
(en formato VHD) y el paquete de opción multilenguaje.
 Enterprise: Esta edición provee todas las características de Ultimate, con
características adicionales para asistir con organizaciones IT. Únicamente
se vende por volumen bajo contrato empresarial  Microsoft software
Assurance.

Página | 21
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

2.3.2 OpenSUSE

OpenSUSE ha sido desarrollado bajo el concepto de Software libre y de código


abierto (con las siglas en inglés FOSS de Free and Open Source Software), que se
refiere al software al que se ha liberado su licencia para garantizar el derecho de los
usuarios a usarlo, estudiarlo, cambiarlo y mejorar su diseño a través de la
disponibilidad de su código fuente.
Las licencias de código libre y código abierto se utilizan en muchos paquetes de
software. Mientras que las propias licencias son en la mayoría de los casos lo mismo,
los dos términos surgieron a partir de diferentes filosofías y se utilizan a menudo para
indicar las diferentes metodologías de distribución. [ CITATION Con13 \l 2058 ]

2.3.2.1 Distribuciones de Linux


El sistema operativo completo es lo que se llama distribución de Linux (también
llamado GNU/Linux por parte de algunos proveedores y usuarios) por lo general
construido sobre el kernel de Linux, y con herramientas y utilidades del proyecto GNU,
que incluye soporte para gráficos con el sistema de ventanas X, una gran colección de
aplicaciones de software y documentación completa.
La distribución openSUSE es estable, sencilla de usar, completa y de propósito
general. Está orientada a usuarios y desarrolladores que trabajen tanto en escritorio
como en servidores. Es creada ya sea para principiantes, para usuarios
experimentados o para expertos por lo que es buena para todos los usuarios.
El último lanzamiento, openSUSE 12.2, se caracteriza por las nuevas versiones
masivamente mejoradas de todas las aplicaciones de servidor o de escritorio. Así,
incluye más de 1.000 aplicaciones de código abierto. [ CITATION Bie13 \l 2058 ]

 Rendimiento 
Desde el núcleo hasta el escritorio, openSUSE 12.2 te proporciona rapidez: Linux
3.4 tiene una capa de almacenamiento más rápida para evitar bloqueos en las grandes
transferencias de datos; glib 3.15, la librería básica, mejora el rendimiento de muchas
funciones, especialmente en sistemas de 64 bits; systemd 44 permite un arranque aún

Página | 22
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

más rápido; y KDE 4.8.4 construido con Qt 4.8.1 hace que sus aplicaciones sean más
receptivas.

 Evolución 
OpenSUSE adopta los últimos desarrollos de la tecnología en cuanto cambian. El
cargador de arranque GRUB2 viene ahora por defecto, con los binarios en /usr/bin, y
durante el arranque y parada del sistema Plymouth permite eliminar molestos
parpadeos además de proporcionar animaciones amigables.

 Acicalado  ?????
GNOME 3.4 introduce desplazamiento suave (smooth scrolling), una aplicación de
configuración del sistema y un gestor de contactos mejorado. Xfce 4.10 tiene un
buscador de aplicaciones mejorado y permite paneles verticales. El gestor de archivos
Dolphin es tan rápido como atractivo.

 Innovación 
XOrg 1.12 introduce el soporte para dispositivos multitáctil, y despliegues de
sistemas multipuesto. Mozilla Firefox añade soporte para las últimas tecnologías web.
El software de renderizado 3D LLVMpipe permite que Gnome Shell y las máquinas
virtuales puedan usar composición 3D incluso cuando no hay hardware capacitado para
3D. GIMP 3.8 y Krita 3.4 hacen de la edición de imágenes y la pintura de medios
naturales software libre muy competitivo frente a las herramientas privativas. El
reproductor Tomahawk hacer el escuchar música en tu computadora una buena
experiencia. [ CITATION Ope13 \l 2058 ]

2.3.2.2 Utilidades de configuración


Las utilidades de configuración especiales de openSUSE se nombran
normalmente como "YaST", ya que la mayoría realizan su trabajo a través de YaST;
pero hay muchas utilidades independientes.
 YaST

Página | 23
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

YaST es la herramienta de instalación y configuración de openSUSE y la


distribución SUSE Linux Enterprise. Es popular por su facilidad de uso y la interfaz
gráfica atractiva junto con la capacidad de personalizar su sistema de forma rápida
durante y después de la instalación. YaST es un acrónimo del inglés de Yet another
Setup Tool lo que se podría traducir como: otra herramienta de configuración. Se puede
utilizar para configurar todo el sistema, la configuración de hardware, configurar la red,
los servicios del sistema y ajustar la configuración de seguridad. A todas estas tareas
se puede llegar desde el centro de control YaST. [ CITATION Por11 \l 2058 ]

 Zypper
Zypper, el gestor de paquetes de software desde la línea de comandos, que utiliza
la librería Libzypp. [ CITATION zyp13 \l 2058 ]

2.4 Procesos de un Sistema Operativo


Un concepto clave en todos los sistemas operativos es el proceso. Un proceso es
básicamente un programa en ejecución. Cada proceso tiene asociado un espacio de
direcciones: una lista de posiciones de memoria desde algún mínimo (normalmente 0)
hasta algún máximo, que el proceso puede leer y en las que pude escribir. El espacio
de direcciones contiene el programa ejecutable, sus datos y su pila. Cada proceso está
asociado también con algún conjunto de registros, incluido el contador de programa, el
apuntador de pila y otros registros de hardware, así como toda la demás información
necesaria para ejecutar el programa. Por ejemplo un sistema de tiempo compartido,
periódicamente, el sistema operativo decide dejar de ejecutar un proceso y comenzar a
ejecutar otro o porque el primero acaparó la CPU durante más de su porción equitativa
de tiempo en el último segundo.

Cuando un proceso se suspende de manera temporal en esta situación, más


adelante se le deberá reiniciar en el mismo estado que tenía cuando se paró. Esto
implica que toda la información acerca del proceso debe guardarse en forma explícita
en algún lado durante la suspensión. Por ejemplo, el proceso podría tener varios
archivos abiertos para lectura en forma simultánea.

Página | 24
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

En muchos sistemas operativos, toda la información acerca de cada proceso,


salvo el contenido de su propio espacio de direcciones, se guarda en una tabla del
sistema operativo llamada tabla de procesos, que es un arreglo (o listas enlazadas) de
estructuras, una para cada uno de los procesos existentes en ese momento. Los
procesadores sólo pueden ejecutar un sólo proceso a la vez, turnándolos para el uso de
éste. Existen procesos apropiados que básicamente ocupan todo el tiempo del
procesador hasta que ellos deciden dejarlo.

2.4.1 Trazado de procesos


La misión principal del procesador es ejecutar las instrucciones de la máquina que
residen en la memoria principal. Estas instrucciones se dan de forma de programas que
contienen secuencias de instrucciones. De este modo, desde el punto de vista del
procesador, éste ejecutara las instrucciones de entrada a un repertorio de una
secuencia dictada por los valores cambiante de un registro conocido como el contador
de programas o puntero a las instrucciones. Desde el punto de vista de un programa
individual su ejecución involucra una secuencia de instrucciones del programa. La
ejecución de un programa individual se conoce como proceso o tarea.
El comportamiento de un proceso individual puede caracterizarse por el listado de
la secuencia de instrucciones que se ejecutan para dicho proceso dicho listado se llama
traza del proceso. [ CITATION Sta97 \l 2058 ]

Página | 25
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 4. Ejemplo de traza de procesos 5

Una parte muy importante de información se encuentra en el llamado bloque de


control del proceso (BCP). El sistema operativo mantiene una tabla de procesos con
todos los BCP de los procesos. Por razones de eficiencia, la tabla de procesos se
construye normalmente como una estructura estática, que tiene un determinado número
de BCP, todos ellos del mismo tamaño.
Se puede decir que la información que compone un proceso es la siguiente:
 Contenido de los segmentos de memoria en los que residen el código y los
datos del proceso. A esta información se le denomina imagen de memoria.
 Contenido de los registros del modelo de programación.
 Contenido del BCP.

Es de destacar que el proceso no incluye información de entrada y salida, puesto


que ésta suele estar reservada al sistema operativo. En la figura 4 se muestra un
ejemplo de la traza de procesos controlados en el sistema operativo.

2.4.2 Información del BCP


El BCP contiene la información básica del proceso, entre la que cabe destacar la
siguiente: Información de identificación. Esta información identifica al usuario y al
proceso. Como ejemplo, se incluyen los siguientes datos:
• Identificador del proceso.

5
Díaz, Eduardo, Navarrete Linares, Rodríguez Alfredo (2011), Front-End DILIA. México: Escuela Superior de Ingeniería
Mecánica y Eléctrica, Ingeniería en Computación.

Página | 26
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

• Identificador del proceso padre, en caso de existir relaciones padre-hijo como


en UNIX.
• Información sobre el usuario (identificador de usuario. identificador de grupo).

Figura 5. Estados básicos de un proceso 6

Como se observa en la figura 5, no todos los procesos activos de un sistema


multitarea están en la misma situación. Se diferencian, por tanto, tres estados básicos
en los que puede estar un proceso, estados que se reconocen como:

• Ejecución: En este estado está el proceso que está siendo ejecutado por el
procesador, es decir, que está en fase de procesamiento. En esta fase el
estado del proceso reside en los registros del procesador.
• Bloqueado: Un proceso bloqueado está esperando a que ocurra un evento y no
puede seguir ejecutando hasta que suceda el evento. Una situación típica de
proceso bloqueado se produce cuando el proceso solicita una operación de
entrada o salida. Hasta que no termina esta operación, el proceso queda
bloqueado. En esta fase, el estado del proceso reside en el BCP.
• Listo: Un proceso está listo para ejecutar cuando puede entrar en fase de
procesamiento. Dado que puede haber varios procesos en este estado, una de
las tareas del sistema operativo será seleccionar aquel que debe pasar a
ejecución. El módulo del sistema operativo que toma esta decisión se denomina
planificador. En esta fase, el estado del proceso reside en el BCP.

6
Díaz, Eduardo, Navarrete Linares, Rodríguez Alfredo (2011), Front-End DILIA. México: Escuela Superior de Ingeniería
Mecánica y Eléctrica, Ingeniería en Computación.

Página | 27
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

La figura 5, representa estos tres estados, indicando algunas de las posibles


transiciones entre ellos. Puede observarse que sólo hay un proceso en estado de
ejecución, puesto que el procesador solamente ejecuta un programa en cada instante.
Del estado de ejecución se pasa al estado de bloqueado al solicitar, por ejemplo, una
operación de entrada o salida. También se puede pasar del estado de ejecución al de
listo cuando el sistema operativo decide que ese proceso lleva mucho tiempo en
ejecución. Del estado de bloqueado se pasa al estado de listo cuando se produce el
evento por el que estaba esperando el proceso. Todas las transiciones anteriores están
gobernadas por el sistema operativo, lo que implica la ejecución del mismo en dichas
transiciones.
Además de los tres estados básicos de ejecución, listo y bloqueado, los procesos
pueden estar en los estados de espera y de suspendido. Los procesos entran en el
sistema porque lo solicita un proceso de usuario o porque está prevista su ejecución . Es
frecuente tener una lista de procesos en espera para ser ejecutados cuando se pueda.

2.5 Tecnologías para implementación y desarrollo


Las herramientas de TI hacen de los sistemas mejoren su funcionamiento y sean
eficientes para sus fines es el caso del manejo de tecnologías para el desarrollo de
sistemas.

2.5.1 Gestión de Identidad


La gestión de identidad o Identity Management en inglés es el conjunto de
procesos de negocio, y una infraestructura de apoyo para la creación, mantenimiento y
uso de identidades digitales. Es una solución que combina estrategia, procesos,
políticas, prácticas y tecnologías para proporcionar acceso a los recursos e información
a los empleados, socios, clientes y proveedores, basado en reglas de
negocios asociadas con roles y perfiles dentro de la organización, de una manera
segura y continua. Implica, además, ganar eficiencia operativa en la administración de
identidades, roles, grupos, e información organizacional de recursos. [ CITATION Int08 \l
2058 ]

Página | 28
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

2.5.1.1 Identidad
La identidad es el concepto fundamental de la identificación exclusiva de un objeto
(persona, equipo, etc) dentro de un contexto. Una vez que se establece la identidad,
una amplia variedad de atributos y objetos pueden estar asociados a ella.

2.5.1.2 Verificación
La verificación es el proceso de establecer la identidad antes de la creación de
una cuenta que luego puede usarse como una afirmación de identidad. Se observa que
los procesos de verificación varían ampliamente, ya que puede ser tan simple como
permitir a un usuario para seleccionar un identificador no utilizado (por ejemplo,
Hotmail), o pueden ser tan estrictas como requiere el aspecto personal y la posesión de
identificación oficial con foto.

2.5.1.3 Autenticación
La autenticación es el proceso de ganar confianza en una identidad declarada.
Una vez que las identidades se emiten, cada vez que se utilizan, está el requisito de
que la persona que utiliza la identidad es la persona que está calificada para usarlo.
Esto es para minimizar el robo de identidad.

2.5.1.4 Revocación
La revocación es el proceso de derogación de una identidad que ha sido
concedida. Este es un proceso que debe ser debidamente registrada a efectos de
auditoría. Todos los sistemas y procesos de identidad con la que se ha establecido
ahora deben ser notificados de que la identidad fue revocada. Esto es necesario para
evitar el uso continuo de la identidad en contextos potencialmente falsos e inseguros.

2.5.1.5 Aprovisionamiento de cuentas


El aprovisionamiento de cuentas tiene una serie de funciones básicas que se
pueden realizar durante el ciclo de vida de una identidad.

 Adición de una identidad: En un principio, la identidad nunca haya existido.


Como credenciales de la identidad se conocen y se recoge, la identidad se

Página | 29
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

añade entonces, comprueba con la fuente autorizada, y la identidad es


entonces aprovisionada a los sistemas y servicios requeridos.
 Modificación de una identidad: Cuando existe una identidad dentro de una
organización en la que ha sido dotado y un cambio (por ejemplo, la fusión /
adquisición) se produce, las credenciales de la identidad puede requerir
revisión y ajuste a virtud de los cambios en el flujo de trabajo del sistema de
aprovisionamiento.
 Eliminación de una identidad: Cubierto por de-aprovisionamiento.
 La suspensión de la identidad: La suspensión de la identidad representa
básicamente la interrupción temporal del acceso a los sistemas y servicios
aprovisionados a la identidad. Un ejemplo de esto puede ser que la
identidad está de licencia o de un grupo de identidades, lo que representa
un equipo, está cambiando de un proyecto a otro. La identidad se suspende
luego, suspendiendo así el acceso a los respectivos sistemas y servicios.
 Reanudación de la Identidad: Una vez que la identidad se vuelve de
inactiva o de un nuevo equipo se une al proyecto, el estado de la identidad
se reanudará y sus recursos adecuados reasignados.

2.5.1.6 Aprovisionamiento de Recursos


El aprovisionamiento permite que los recursos manejados por el servicio de
directorios puedan tener acceso o sean otorgados al perfil de acuerdo al manejo de
configuración del administrador.

2.5.2 Servicio de directorios

El Servicio de Directorio o simplemente el Directorio es un término ambiguo, que


se utiliza para referirse tanto a la información contenida, el conjunto hardware/software
que gestiona dicha información, las aplicaciones cliente/servidor que utilizan esta
información [ CITATION Raf12 \l 2058 ]. El Servicio de Directorio es un conjunto complejo de
componentes que trabajan de forma cooperativa para prestar un servicio.

Página | 30
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Los directorios permiten localizar información, para ello definen que información se
almacenará y en qué modo se organizará. Sin embargo, los directorios electrónicos
difieren de estos directorios clásicos (que utilizan el papel como medio de transmisión).

2.5.2.1 Características de servicio de directorios

Una de las características del servicio de directorios es que es dinámico, uno de


los principales problemas de los directorios clásicos se encuentra en que son estáticos,
esto es, la información que contienen no es actualizada frecuentemente, por ejemplo, la
guía telefónica suele editarse anualmente, esto implica que para conocer el número de
teléfono de una persona que ha contratado el servicio telefónico después de la edición
en curso, deberemos llamar a la compañía telefónica para que un operador consulte la
base de datos y nos proporcione el número buscado. Los directorios electrónicos
pueden ser consultados/actualizados en tiempo real y su fiabilidad es por lo tanto
mucho mayor.

Otra es la flexibilidad del Directorio electrónico la cual se puede contemplar desde


dos aspectos:

 Contenido. Los datos almacenados en el Directorio son cualquier tipo de


información que pueda se almacenada en un fichero. Esto permite ampliar la
información almacenada sin muchas repercusiones, por ejemplo, podemos
incluir la foto de la persona junto con su número de teléfono.

 Organización. La ventaja de los directorios electrónicos es que la


organización de la información permite localizarla de diferentes maneras,
incluso puede realizar búsquedas aproximadas, algo que es imposible con los
directorios clásicos.

La seguridad del servicio del directorio, con directorios electrónicos, puede ser
controlado el acceso a los datos en función de diferentes criterios, por ejemplo que los
datos domiciliarios solo sean accesibles por los vecinos del mismo bloque, etc.

La configuración, los directorios electrónicos permiten la personalización de los


datos que se muestran a los distintos usuarios en los directorios electrónicos, se puede

Página | 31
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

establecer la información que recibe una persona en función de sus necesidades y qué
personas pueden acceder a dicha información. [CITATION Raf12 \l 2058 ]

2.5.2.2 Características técnicas de la base de datos del Directorio

Un directorio puede verse como una base de datos especializada, las diferencias
entre una base de datos de propósito general y un directorio son las siguientes:

 Relación entre lecturas y escrituras

En un directorio se espera un número muy alto de lecturas frente a escrituras, esto


se debe a que generalmente la información contenida en el directorio cambia
raramente, por ejemplo cuántas veces cambiamos el número de teléfono y cuántas
veces alguien busca nuestro teléfono en el directorio para llamarnos.

Este es un aspecto importante, ya que mientras que en una base de datos de


propósito general, las optimizaciones se realizan tanto en las lecturas como en las
escrituras, al crear un directorio, los esfuerzos de optimización se concentran en las
búsquedas y lecturas, mientras que no importa que por ello se penalicen las
actualizaciones.

 Extensibilidad
El término directory schema se refiere a los tipos de información que se
almacenan en el directorio, qué reglas debe cumplir dicha información y cómo se
realizan las operaciones de búsqueda sobre estos datos. La ventaja que presentan los
directorios frente a las bases de datos tradicionales estriba en que dicho esquema de
puede modificar para cubrir las necesidades que vayan surgiendo en la organización.
Esta característica no suele encontrarse en las bases de datos de propósito general.

 Distribución de los datos


Algunas bases de datos de propósito general permiten la distribución de los datos,
pero generalmente esta distribución de datos permite únicamente almacenar una tabla
en un servidor y otra en otro servidor distinto (fragmentación vertical), y la distribución
de la información implica protocolos más complejos para la realización de
actualizaciones, por lo que generalmente no suelen utilizarse.

Página | 32
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Los directorios permiten que los datos referentes a toda una unidad organizativa
sean almacenados en un servidor controlado por esta unidad (fragmentación
horizontal). Este tipo de fragmentación simplifica las actualizaciones, ya que todos los
datos referentes a una persona se encuentran en el mismo servidor y permite a su vez
optimizar las búsquedas, ya que las consultas se pueden ejecutar en paralelo.

 Replicación de la información
Las bases de datos de propósito general que admiten replicación de datos, están
preparadas para replicar los datos en un número reducido de servidores, esto se debe a
que las copias deben ser consistentes y por lo tanto, las actualizaciones deben
realizarse de forma sincronizada entre las diferentes sedes.

En el caso de los directorios, es aceptable una inconsistencia temporal, por lo que


el protocolo de replicación/actualización es menos restrictivo.

Inherente a la replicación de la información, se encuentra el aumento en la


fiabilidad del sistema, ya que en caso de catástrofe, se puede utilizar el servidor
replicado. Además también se puede obtener una mejora en el rendimiento al situar las
réplicas en redes cercanas a los usuarios, optimizando el camino de acceso al
directorio y repartiendo la carga entre las distintas replicas.

La fiabilidad del directorio comienza a ser crítica en el momento en el que varias


aplicaciones lo utilizan para tareas como autenticación, control de accesos y gestión de
configuración.

 Rendimiento
Las necesidades de rendimiento de un directorio frente a una base de datos de
propósito general son considerablemente diferentes. Se espera que un servidor de base
de datos permita hasta cientos de transacciones por segundo, mientras el rendimiento
agregado del directorio se espera que sea del orden de miles de consultas por
segundo.

Página | 33
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Estos requerimientos de rendimiento se deben a que el directorio forma parte del


núcleo de muchas aplicaciones, y por lo tanto debe estar preparado para responder a
las múltiples consultas que estas aplicaciones pueden solicitarle.

 Estándares
El hecho de que las bases de datos de propósito general utilicen ligeras variantes
del estándar SQL no suele ser un problema de verdad??, ya que rara vez tienen que
interactuar dos bases de datos de diferentes fabricantes, sin embargo, dado que el
directorio es una base de datos accesible desde múltiples aplicaciones, el estricto
cumplimiento del estándar es un requisito indispensable.
Este aspecto es importante, ya que permite separar el desarrollo del cliente del
desarrollo del servidor, permitiendo que cada desarrollo este optimizado en el sentido
que sea conveniente.
Como valor añadido, el hecho de estar sujeto a un estándar permite que el
administrador no esté restringido a un único fabricante, pudiendo cambiar de proveedor
en el momento que lo considere conveniente, sin tener que cambiar el software que
utilizan los clientes.

2.5.2.3 Diferencia con otros repositorios de datos

 Directorio vs Bases de datos

Generalmente se describe un directorio como una base de datos, pero es una


base de datos especializada cuyas características la apartan de una base de datos
relacional de propósito general como se muestra en la tabla 2.

 Directorio vs Sistemas de ficheros


Los directorios están optimizados para almacenar pequeños fragmentos de
información que puede estructurarse como entradas con diferentes atributos, en
cambio, los sistemas de ficheros contienen archivos, a veces de tamaños superiores al
gigabyte. Además, los sistemas de ficheros permiten acceder a un fichero y
posicionarse dentro de él, sin embargo, los directorios a lo sumo permiten acceder a un

Página | 34
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

atributo, pero no hay forma de posicionarse dentro de dicho atributo, que por lo tanto
debe ser leído por completo.
Tabla II. Directorios contra las bases de datos 7
Directorios Bases de datos

Optimizado para lectura de datos Optimizado para lectura y escritura de datos

Optimizados para guardar información Optimizado para guardar información


estática dinámica
No soportan transacciones de Soportan transacciones de información
información
Utiliza un protocolo ligero para Utiliza SQL (Structured Query Language)
optimizar las consultas para realizar consultas
En un entorno no transaccional tanto El servidor de la base de datos debe ser
cliente y servidor pueden ser óptimo para realizar modificaciones y
optimizados y simplificados en consultas de la información
consultas.

 Directorio vs Web
Desde que apareció en escena el servicio de Web, se han desarrollado multitud de
aplicaciones sobre este protocolo. Pero el servicio de Web está centrado en
proporcionar un interfaz de usuario agradable, en ningún momento posee las
capacidades de búsqueda que posee el servicio de directorio. [CITATION Raf12 \l 2058 ]

2.5.3 Conceptos y Arquitectura LDAP

En 1988, la CCITT por sus siglas en inglés Consultative Committee for


International Telephony and Telegraphy creó el estándar X.500, sobre servicios de
directorio. En 1990 este estándar fue adoptado por la ISO, como ISO 9594, Data
Communications Network Directory, Recommendations X.500-X.521.

X.500 organiza las entradas en el directorio de manera jerárquica, capaz de


almacenar gran cantidad de datos, con grandes capacidades de búsqueda y fácilmente
escalable. X.500 especifica que la comunicación entre el cliente y el servidor de
directorio debe emplear el Directory Access Protocol (DAP). Pero DAP es un protocolo
a nivel de aplicación, por lo que, tanto el cliente como el servidor debían implementar
completamente la torre de protocolos OSI.

7
“Diferencias entre directorios y bases de datos”. Elaboración propia.

Página | 35
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

LDAP (Lightweight Directory Access Protocol) surge como una alternativa a DAP.
Las claves del éxito de LDAP en comparación con DAP de X.500 son:

 LDAP utiliza TCP/IP en lugar de los protocolos OSI. TCP/IP requiere menos
recursos y está más disponible, especialmente en computadoras de escritorio.

 El modelo funcional de LDAP es más simple y ha eliminado opciones raramente


utilizadas en X.500. LDAP es más fácil de comprender e implementar.

 LDAP representa la información mediante cadenas de caracteres en lugar de


complicadas estructuras ASN.1.

El esquema de interacción entre el cliente y el servidor LDAP sigue el siguiente


esquema:

 El cliente establece una sesión con el servidor LDAP. El cliente indica el


servidor y el puerto en el que el servidor LDAP está escuchando. El cliente
puede proporcionar información de autenticación o establecer una sesión
anónima con los accesos por defecto.

 El cliente efectúa las operaciones sobre los datos. LDAP proporciona


capacidades de búsqueda, lectura y actualización.

 Una vez finalizadas las operaciones, el cliente cierra la sesión

2.5.3.1 Arquitectura Cliente-Servidor del servicio de Directorio

Los servicios de directorio suelen implementarse siguiendo el modelo cliente-


servidor, de modo que una aplicación que desea acceder al directorio no accede
directamente a la base de datos, sino que llama a una función de la API (Application
Programming Interface), que envía un mensaje a un proceso en el servidor. Dicho
proceso accede al directorio y devuelve el resultado de la operación.

Algunas veces, el servidor puede convertirse en el cliente de otro servidor para


conseguir la información necesaria para conseguir procesar la petición que se le ha
realizado.
Siguiendo esta arquitectura de la figura 6 el cliente no depende de la arquitectura
del servidor y el servidor puede implementar el directorio de la forma más conveniente.

Página | 36
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 6. Arquitectura cliente-servidor del directorio 8

2.5.3.2 Seguridad del directorio


La seguridad de la información almacenada en el directorio es uno de los aspectos
fundamentales. Algunos directorios deben permitir el acceso público, pero cualquier
usuario no debe poder realizar cualquier operación. Cualquier usuario puede buscar la
dirección de correo de un empleado, pero solo el empleado o el administrador deben
tener permiso para modificarlo. El departamento de Organización y Recursos Humanos
debe tener permiso para buscar el número de teléfono privado de un empleado, pero
ninguno de sus compañeros debe tener acceso a esta información. La política de
seguridad define quién tiene qué tipo de acceso sobre qué información.
El directorio debe permitir las capacidades básicas para implementar la política de
seguridad. El directorio puede no incorporar estas capacidades, pero debe estar
integrado con un servicio de red fiable que proporcione estos servicios básicos de
seguridad. Inicialmente se necesita un método para autenticar al usuario, una vez que
se ha verificado la identidad del cliente, se puede determinar si está autorizado para
realizar la operación solicitada.
Generalmente las autorizaciones están enlazadas en ACL (Por sus siglas en
inglés Access Control List). Estas listas se pueden unir a los objetos y/o los atributos
contenidos en el directorio. Para facilitar la administración de estas listas, los usuarios
con los mismos permisos, son agrupados en grupos de seguridad.

8
“Introducción al Servicio de Directorio”, Recuperado el 3 de diciembre del 2012, de http://www.rediris.es/ldap/doc/ldap-
intro.pdf.

Página | 37
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

El directorio almacena y organiza la información en estructuras de datos


denominadas entradas. Cada entrada del directorio describe un objeto (una persona,
una impresora, etc.). Cada entrada tiene un nombre llamado Distinguished Name (DN),
que la identifica unívocamente. Un DN consiste en una secuencia de partes más
pequeñas llamadas Relative Distinguished Name (RDN), de forma similar a como el
nombre de un fichero consiste en un camino de directorios en muchos sistemas
operativos (UNIX, por ejemplo).
Las entradas pueden ser organizadas en forma de árbol basándose en los DN, a
este árbol de entradas de directorio se le conoce como Directory Information Tree (DIT).
Una clase de objeto es una descripción general de un tipo de objeto. El esquema define
que clases de objetos se pueden almacenar en el directorio, que atributos deben
contener, que atributos son opcionales y el formato de los atributos. [CITATION Raf12 \l
2058 ]
LDAP define primitivas de acceso y modificación de las entradas del directorio:

 Búsqueda siguiendo un criterio especificado por el usuario.

 Añadir una entrada.

 Borrar una entrada.

 Modificar una entrada.

 Modificar el DN de una entrada.

2.5.4 Metodología RBAC


En los sistemas informáticos de seguridad el control de acceso basado en roles
(RBAC) es un enfoque para restringir el acceso al sistema a usuarios no autorizados.
Es utilizado por la mayoría de las empresas con más de 500 empleados y se puede
implementar el control de acceso obligatorio (MAC por sus siglas en inglés Mandatory
Access Control) o el control de acceso discrecional (DAC por sus siglas en ingles
Discretionary Access Control). RBAC se refiere a veces como la seguridad basada en.

Página | 38
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Dentro de una organización, los roles se crean para diversas funciones laborales.
Los permisos para realizar ciertas operaciones se asignan a roles específicos. Los
miembros del personal (o de otros usuarios del sistema) se asignan funciones
específicas, y a través de las asignaciones de funciones adquieren los permisos de un
cliente para realizar determinadas funciones del sistema informático. Dado que los
usuarios no se les asignan permisos directamente, sino sólo a adquirir a través de su rol
(o roles), la gestión de los derechos de cada usuario se convierte en un asunto de
simplemente asignar roles apropiados a la cuenta del usuario, lo que simplifica las
operaciones comunes, como agregar un usuario, o cambiando departamento de un
usuario.
Se definen tres principales reglas para RBAC:
 Asignación de roles: un sujeto puede ejercer un permiso sólo si el sujeto ha
elegido o le ha asignado un papel.
 Autorización Papel: Un papel activo del sujeto debe ser autorizada por el
tema. Con la regla anterior, esta norma garantiza que los usuarios pueden
asumir papeles sólo para los que fueron autorizados.
 Autorización del permiso: Un sujeto puede ejercer un permiso si el permiso
está autorizado por el papel activo del sujeto. Con las reglas anteriores,
esta norma garantiza que los usuarios pueden ejercer permisos únicos para
los que estén autorizados.

2.5.4.1 Sistemas basados en roles


Los sistemas basados en roles eran relativamente simples y de aplicación
específica. Es decir, no existe un modelo de propósito general que define cómo el
control de acceso podría estar basado en roles, y poco análisis formal de la seguridad
de estos sistemas. Los sistemas fueron desarrollados por una variedad de
organizaciones, sin que de común acuerdo sobre la definición o reconocimiento en las
normas formales.
En 1992, el National Institute of Standards and Technology (NIST) inició un estudio
de las dos organizaciones comerciales y gubernamentales, y encontró que las
necesidades de control de acceso no estaban siendo satisfechas por los productos en

Página | 39
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

el mercado en ese momento, muchos de los cuales sólo TCSEC implementado


controles de estilo discrecionales, considerado por muchos organizaciones como el
"estándar de la diligencia debida".
En muchas empresas dentro de la industria y el gobierno civil, los usuarios finales
no eran los adecuados para manejar la información como se supone por el CAD. Para
estas organizaciones, la sociedad o agencia es el verdadero "dueño" de los objetos del
sistema y el control discrecional por parte de los usuarios no puede ser apropiado. MAC
convencional, centrada en la preservación de la confidencialidad, también es
inadecuado para estas organizaciones. A pesar de hacer cumplir la necesidad de
conocer la política es importante que la información clasificada es motivo de
preocupación, existía una necesidad general para apoyar las políticas basadas en tema
de seguridad, tales como el acceso basado en la competencia, el cumplimiento de las
normas de conflicto de intereses, o el acceso basado en un concepto estricto de
privilegios mínimos. Apoyando estas políticas requiere la capacidad de restringir el
acceso basándose en una función de usuario o rol dentro de la empresa. [ CITATION
Fer93 \l 2058 ]
Una solución para satisfacer estas necesidades fue propuesta en 1992 por
Ferraiolo y Kuhn, la integración de las funciones de los actuales enfoques específicos
de la aplicación en un modelo generalizado de RBAC. En este trabajo se describe, de
una manera sencilla formal, los grupos, las relaciones y correlaciones utilizado en la
definición de los roles y las jerarquías de roles, activación tema del rol y la mediación
entre sujeto y objeto, así como las restricciones a la afiliación del usuario rol y la función
set-activación.
La descripción formal del modelo se presenta en la figura 8. Una característica
clave de este modelo es que el acceso es a través de roles. Un rol es esencialmente un
conjunto de permisos, y todos los usuarios reciben permisos sólo a través de las
funciones a las que están asignados, como se muestra en la figura 7. Dentro de una
organización, las funciones son relativamente estables, mientras que los usuarios y los
permisos son numerosas y pueden cambiar rápidamente. El control de todos los
accesos a través de roles por lo tanto simplifica la gestión y revisión de los controles de
acceso.

Página | 40
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 7. Relaciones de RBAC 9

Figura 8. Descripción de RBAC por Ferraiolo y Kuhn 10

2.6 Java
Java surgió en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron
de diseñar un nuevo lenguaje de programación destinado a electrodomésticos. La
reducida potencia de cálculo y memoria de los electrodomésticos llevó a desarrollar un
lenguaje sencillo capaz de generar código de tamaño muy reducido.
Debido a la existencia de distintos tipos de CPUs y a los continuos cambios, era
importante conseguir una herramienta independiente del tipo de CPU utilizada.
Desarrollaron un código “neutro” que no dependía del tipo de electrodoméstico, el cual
se ejecutaba sobre una “máquina hipotética o virtual” denominada Java Virtual Machine
(Por sus siglas en ingles JVM). Era la JVM quien interpretaba el código neutro

9
Ferraiolo, D. a. (2007). Role-Based Access Control (Segunda Edición). Norwood: Artech House.
10
Ferraiolo, D. a. (2007). Role-Based Access Control (Segunda Edición). Norwood: Artech House.

Página | 41
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

convirtiéndolo a código particular de la CPU utilizada. Esto permitía lo que luego se ha


convertido en el principal lema del lenguaje: “Write Once, Run Everywhere”.

2.6.1 El compilador de Java


Se trata de una de las herramientas de desarrollo incluidas en el JDK. Realiza un
análisis de sintaxis del código escrito en los ficheros fuente de Java (con extensión
*.java). Si no encuentra errores en el código genera los ficheros compilados (con
extensión *.class). En otro caso muestra la línea o líneas erróneas. En el JDK de Sun
dicho compilador se llama javac.exe. Tiene numerosas opciones, algunas de las cuales
varían de una versión a otra.

2.6.2 La Java Virtual Machine


Tal y como se ha comentado al comienzo de JAVA, la existencia de distintos tipos
de procesadores y ordenadores llevó a los ingenieros de Sun a la conclusión de que era
muy importante conseguir un software que no dependiera del tipo de procesador
utilizado. Se planteó la necesidad de conseguir un código capaz de ejecutarse en
cualquier tipo de máquina. Una vez compilado no debería ser necesaria ninguna
modificación por el hecho de cambiar de procesador o de ejecutarlo en otra máquina.
La clave consistió en desarrollar un código “neutro” el cual estuviera preparado para ser
ejecutado sobre una “máquina hipotética o virtual”, denominada Java Virtual Machine
(JVM). Es esta JVM quien interpreta este código neutro convirtiéndolo a código
particular de la CPU utilizada. Se evita tener que realizar un programa diferente para
cada CPU o plataforma. La JVM es el intérprete de Java. Ejecuta los “bytecodes”
(ficheros compilados con extensión *.class) creados por el compilador de Java
(javac.exe). Tiene numerosas opciones entre las que destaca la posibilidad de utilizar el
denominado JIT (Just-In-Time Compiler), que puede mejorar entre 10 y 20 veces la
velocidad de ejecución de un programa.

2.7 Threads
De forma sencilla, un hilo es un único flujo de ejecución dentro de un proceso. Un
hilo es una secuencia de código en ejecución dentro del contexto de un proceso. Los

Página | 42
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

hilos no pueden ejecutarse ellos solos; requieren la supervisión de un proceso padre


para correr.
Dentro de cada proceso hay varios hilos ejecutándose. Por ejemplo, Word puede
tener un hilo en background chequeando automáticamente la gramática de lo que estoy
escribiendo, mientras otro hilo puede estar salvando automáticamente los cambios del
documento en el que estoy trabajando.
Como Word, cada aplicación (proceso) puede correr varios hilos los cuales están
realizando diferentes tareas. Esto significa que los hilos están siempre asociados con
un proceso en particular.
Los hilos a menudo son conocidos o llamados procesos ligeros. Un hilo, en efecto,
es muy similar a un proceso pero con la diferencia de que un hilo siempre corre dentro
del contexto de otro programa. Por el contrario, los procesos mantienen su propio
espacio de direcciones y entorno de operaciones. Los hilos dependen de un programa
padre en lo que se refiere a recursos de ejecución. La figura 9 muestra le relación entre
hilos y procesos.

Figura 9. Relación entre hilos y procesos 11

Java es un lenguaje de programación que incorpora hilos en el main del mismo


lenguaje. Comúnmente, los hilos son implementados a nivel de sistema, requiriendo
una interfaz de programación específica separada del núcleo del lenguaje de
programación.

2.7.1 Ventajas de los hilos frente a los procesos.


Si bien los hilos son creados a partir de la creación de un proceso, se puede decir
que un proceso es un hilo de ejecución, conocido como monohilo. Pero las ventajas de
los hilos se dan cuando hablamos de Multihilos, un proceso tiene múltiples hilos de

11
Inmaculada González Pérez, A. J. (Mayo de 2002). Java Threads (Hilos en Java). Obtenido de
http://zarza.usal.es/~fgarcia/docencia/poo/01-02/trabajos/S3T3.pdf

Página | 43
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

ejecución los cuales realizan actividades distintas, que pueden o no ser cooperativas
entre sí. Los beneficios de los hilos se derivan de las implicaciones de rendimiento y se
pueden resumir en los siguientes puntos:

 Se tarda menos tiempo en crear un hilo nuevo en un proceso existente que en


crear un proceso.
 Se tarda menos tiempo en terminar un hilo que un proceso, ya que cuando se
elimina un proceso se debe eliminar el PCB del mismo, mientras que un hilo se
elimina su contexto y pila.
 Se tarda menos tiempo en cambiar entre dos hilos de un mismo proceso.
 Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución.

En la mayoría de los sistemas en la comunicación entre procesos debe intervenir


el núcleo para ofrecer protección de los recursos y realizar la comunicación misma. En
cambio, entre hilos pueden comunicarse entre sí sin la invocación al núcleo. Por lo
tanto, si hay una aplicación que debe implementarse como un conjunto de unidades de
ejecución relacionadas, es más eficiente hacerlo con una colección de hilos que con
una colección de procesos separados.

2.7.2 Estados de un hilo


El comportamiento de un hilo depende del estado en que se encuentre, este
estado define su modo de operación actual, por ejemplo, si está corriendo o no
[ CITATION Inm020 \l 2058 ]. A continuación se establece la relación de estados en los que
puede estar un hilo Java.
 New
Un hilo está en el estado new la primera vez que se crea y hasta que el método
start es llamado. Los hilos en estado new ya han sido inicializados y están listos para
empezar a trabajar, pero aún no han sido notificados para que empiecen a realizar su
trabajo.
 Runnable
Cuando se llama al método start de un hilo nuevo, el método run es invocado y el
hilo entra en el estado runnable. Este estado podría llamarse “running” porque la

Página | 44
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

ejecución del método run significa que el hilo está corriendo. Sin embargo, debemos
tener en cuenta la prioridad de los hilos. Aunque cada hilo está corriendo desde el
punto de vista del usuario, en realidad todos los hilos, excepto el que en estos
momentos está utilizando la CPU, están en el estado runnable (ejecutables, listos para
correr) en cualquier momento dado. Uno puede pensar conceptualmente en el estado
runnable como si fuera el estado “running”, sólo tenemos que recordar que todos los
hilos tienen que compartir los recursos del sistema.
 Not running
El estado not running se aplica a todos los hilos que están parados por alguna
razón. Cuando un hilo está en este estado, está listo para ser usado y es capaz de
volver al estado runnable en un momento dado. Los hilos pueden pasar al estado not
running a través de varias vías.
A continuación se citan diferentes eventos que pueden hacer que un hilo esté
parado de modo temporal.

 El método suspend ha sido llamado


 El método sleep ha sido llamado
 El método wait ha sido llamado
 El hilo está bloqueado por Entrada/Salida

Para cada una de estas acciones que implica que el hilo pase al estado not
running hay una forma para hacer que el hilo vuelva a correr. A continuación
presentamos la lista de eventos correspondientes que pueden hacer que el hilo pase al
estado runnable.

 Si un hilo está suspendido, la invocación del método resume.


 Si un hilo está durmiendo, pasarán el número de milisegundos que se
ha especificado que debe dormir.
 Si un hilo está esperando, la llamada a notify o notifyAll por parte del
objeto por el que espera.
 Si un hilo está bloqueado por I/O, la finalización de la operación I/O en
cuestión.

Página | 45
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Dead
Un hilo entra en estado dead cuando ya no es un objeto necesario. Los hilos en
estado dead no pueden ser resucitados y ejecutados de nuevo. Un hilo puede entrar en
estado dead a través de dos vías:

 El método run termina su ejecución.


 El método stop es llamado.
 La primera opción es el modo natural de que un hilo muera. Uno puede
pensar en la muerte de un hilo cuando su método run termina la ejecución
como una muerte por causas naturales.

En contraste a esto, está la muerte de un hilo “por causa” de su método stop. Una
llamada al método stop mata al hilo de modo asíncrono.

Demasiado texto no hay diagramas que puedan ayudar a conceptualizar los conceptos.

Capítulo 3 Desarrollo del sistema de información

En este capítulo se muestra la forma que está compuesto el proyecto, todos los
componentes fundamentales que forman parte del desarrollo y que hacen que el
sistema sea funcional.

Aquí se presenta la utilidad, instalación y configuración de OpenSUSE y el servicio


que ofrece al conjuntar sus funciones con OpenLDAP el cual es configurado para
utilizarlo como repositorio de datos que se encarga de almacenar la información de los
usuarios del sistema. Empleando una metodología enfocada a roles, jerarquías y
permisos (RBAC) se realizó el modelo de la estructura del repositorio de datos
OpenLDAP con la herramienta de administración Apache Directory Studio se estructuro
el diseño y creación del árbol de jerarquías el cual sirve para definir el rol que ocupa
dentro del sistema cada uno de los usuarios, determinando la diferencia de los roles y

Página | 46
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

permisos que tiene un maestro o el administrador del laboratorio a los que tiene un
alumno.

Se realizo el ambiente grafico tanto para el usuario como para el administrador del
laboratorio, primero se manejaron los roles de los usuarios ya que al usar o correr las
aplicaciones a las cuales no tienen privilegios el sistema automáticamente las mata,
posteriormente se realizó la programación del ambiente de autentificación del usuario y
de administración del encargado del laboratorio, estos ambientes son conectados y
enlazados al repositorio de datos OpenLDAP para validar la información tanto de
consultas, altas o bajas de información haciendo que la comunicación del sistema
realizado, el servidor OpenSUSE y OpenLDAP sea sincronizada y efectiva en el
momento de almacenar, borrar y consultar información de usuarios.

Para el desarrollo del tipo de sistema fue basado en OAS el cual es un tipo de
sistema orientado a la ayuda del trabajo diario de personal administrativo en un área,
este sistema se enfocó a ayudar al encargado del laboratorio de computación para que
los registros de los alumnos se realizaran de manera digital y pudo generar los reportes
semestrales sobre los servicios del laboratorio, además que controlo las aplicaciones
que utilizaba cada usuario.
3.1 Propuesta de solución
La propuesta de solución se basó en desarrollar un sistema programado con
JAVA, por medio de un servicio de directorios se administran usuarios mediante el tipo
de jerarquías, la cual controla aplicaciones a través de la consulta de roles del
directorio.

Donde se definen los pasos del desarrollo??

En que parte se hace referencia al plan de trabajo ¿?

¿ Como se llego a la conclusión de que era necesario realizar este proceso ?

Página | 47
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 10. Diagrama general del sistema de asignación de recursos y aplicaciones 12

Como se muestra en la figura 10, el sistema estuvo conformado por la


identificación del usuario en el Sistema ACLC, el cual consulta en el servidor el rol y los
permisos para poder dar los privilegios de uso los cuales son regresados y otorgados al
cliente.
El Sistema ACLC está dividido en dos partes, el servidor (monitoreado por el
administrador) el cual otorga permisos de ejecución de acuerdo al rol de usuario, por
medio de consultas al repositorio de datos, y el cliente el cual es el usuario que realiza
la petición sobre los roles a los cuales tiene privilegios los cuales son otorgados por el.

3.2 Metodología de desarrollo


La metodología de desarrollo implementada en el sistema es la incremental, ya
que el desarrollador dispone de pequeños subsistemas que ayudan a perfilar mejor las
necesidades reales del sistema en su conjunto, el modelo produce entregas parciales
en periodos cortos de tiempo, comparados con el tiempo necesario para la construcción
del sistema en su conjunto e incorpora nuevos requisitos que pueden estar o no ser
reconocidos al iniciar el desarrollo. Esta metodología consiste en realizar un análisis de
requerimientos ya sean funcionales, no funcionales o de implementación para el
sistema en general y posteriormente con ello se determinan subsistemas sobre el
desarrollo que finalmente cada uno de estos se unirán para la obtención general del
sistema.

12
“Diagrama general del sistema para administrar usuarios y control de aplicaciones”. Elaboración propia.

Página | 48
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

La estructura de la metodología incremental consiste en que cada módulo


contiene un diseño y desarrollo sobre el subsistema, en algunos de estos se manejan
las pruebas y la implementación ya que podrían generarlas o no de acuerdo con lo que
se delimite a desarrollar en el módulo.

3.2.1 Análisis de requerimientos


El análisis de requerimientos de este sistema se identifican como funcionales de
acuerdo a las necesidades que se deben de cubrir para la aplicación los cuales
consisten en:
 Servidor con sistema operativo Linux que sea estable, fácil de utilizar y con
alta disponibilidad en la transacción de datos.
 Repositorio de datos para almacenar información básica de usuarios tal
como nombre, apellido, boleta, etc. Cabe mencionar que es información
que casi no va a cambiar de valor.
 Programa o sistema que sea capaz de conocer que aplicaciones se están
ejecutando en el sistema operativo y poder terminar los procesos que se le
indiquen.
 Conexión entre el Servidor Linux y las computadoras en red con Sistema
Operativo Windows 7 para enviar y recibir información.
 Interfaz gráfica para usuarios y administradores que sea fácil de utilizar,
funcional y siempre disponible.
 Sistema de reportes que muestre los usuarios que han utilizado el servicio
del laboratorio por rangos de hora y de forma automática.

De acuerdo con el análisis de requisitos funcionales se obtienen los siguientes


módulos como se muestra en la figura 11 en el siguiente orden:
Apartado de requerimietos funcionales donde ?

Página | 49
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 11. Diagrama de metodología incremental 13

3.2.2 Módulo del servidor de servicio de directorios


El modulo consiste en obtener el servidor con los requerimientos establecidos en
el análisis para que pueda operar de forma eficiente con el sistema de información ya
que este contemplara tanto peticiones en red del sistema como el servicio de directorios
de OpenLDAP.

Diseño del servidor


El servidor debe estar sobre un sistema operativo de licencia libre y código abierto,
este debe estar diseñado para el manejo de altas transacciones de datos la cual debe
manejar una interfaz gráfica que consuma pocos recursos para el buen funcionamiento
del sistema. Po lo tanto se determinan el servidor con las siguientes características:
 Sistema Operativo Linux OpenSUSE 12.2 a 32 bits
 Interfaz Gnome
 Particiones de disco duro:
o Partición swap sda1 de 20 MB
o Partición root sda2 de 2 GB
o Partición raíz sda3 de espacio sobrante o que se asignara
 Configuración de red
o Nombre del equipo
o Dirección IP

13
“Diagrama general de la metodología de desarrollo incremental del proyecto”. Elaboración propia.

Página | 50
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Desarrollo del servidor


Se instala el sistema operativo OpenSUSE, el Kernel se usó por default por lo cual
no se recompiló ni se configuró. Para la instalación del sistema operativo se descargó
la imagen del sistema como se muestra en la figura 12 desde la página oficial de
OpenSUSE donde seleccionaremos la versión 12.2 para instalarlo como servidor.

Figura 12. Descarga de sistema operativo OpenSUSE 14

Una vez descargado se procede a instalar el sistema de acuerdo con la


configuración conforme a la interfaz Gnome, las particiones:
 Partición Swap.
 Partición Root.
 Partición Home.

y las configuraciones de la red para el servidor en el laboratorio.


Inicializada la instalación del sistema operativo requiere de configuraciones como
el lugar de localización, la hora actual del lugar, lenguaje del sistema y lenguaje del
teclado, posteriormente nos mostrar la ventana para seleccionar la interfaz con la que
se manejara el sistema como en la figura 13, en este caso se selecciona la interfaz de
Gnome. Aportación ?????

14
“Descarga de la página oficial de SUSE el sistema operativo OpenSUSE 12.2”. Elaboración propia

Página | 51
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 13. Selección de interfaz gráfica Gnome 15

Después de haber seleccionado la interfaz se procederá a configurar como se


muestra en la figura 14 las particiones del sistema antes mencionadas con los valores
especificados.

Figura 14. Particiones del sistema operativo 16

Y por último se configura el servidor de acuerdo a la red establecida en el


laboratorio, la cual está definida en el segmento de red de 192.168.5.0 con una
máscara de red de 24 bits y en el caso de la puerta de enlace será la establecida en la
red y se configura en caso de que el servidor requiera de la conexión a internet.

Pruebas del servidor de servicio de directorios


Las pruebas consisten en que de acuerdo con el desarrollo del servidor este
trabaje de manera correcta para implementar el servicio de directorios tales funciones
consisten en:

15
“Menú de selección para la interfaz gráfica del sistema operativo”. Elaboración propia.
16
“Partición del disco duro sobre el sistema operativo”. Elaboración propia.

Página | 52
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 El servidor pueda iniciar sin ningún problema el sistema operativo.


 Se encuentren las particiones de disco sobre root, la raíz y swap en el
estado correcto.
 Se pueda conectar a la red asignando una dirección IP y poderse
comunicar con los otros equipos (pruebas con ping).
 Se puedan obtener recursos con la utilería zypper.
 Poder configurar los parámetros del sistema para el funcionamiento del
sistema de información. Necesario ??????

Integración del servidor del servicio de directorios


La integración de este módulo consiste en que se tenga una computadora
dedicada para que el sistema en general funcione de manera adecuada en cuanto con
el diseño realizado del servidor, se podrá manejar un servicio de directorios y un
servicio del sistema de información en red para este desarrollo. Por medio de esta parte
se obtiene un servidor en el cual se pueda operar un servicio de directorios y el
software de sistema de información a través de la programación en JAVA.

3.2.3 Módulo de metodología de asignación de roles y permisos


La metodología de asignación de roles y permisos consiste en la implementación
de una metodología de TI que determina la estructura del sistemas conforme a los
usuarios, los papeles que representan y los permisos que se le otorgaron de acuerdo al
papel que representen dentro del sistema de información.

Diseño de la asignación de roles y permisos


La asignación de permisos y roles estará basada en la metodología de RBAC para
determinan en este caso tres puntos importantes:
 Usuarios
 Roles
 Permisos
Estos conformaran la estructura del sistema para lograr el funcionamiento de este
referido al servicio que se le quiera otorgar a cada usuario dependiendo del papel que
represente en este sistema. Dentro de esta metodología se establecerán tipos de

Página | 53
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

usuarios de acuerdo con aquellos que utilizan el laboratorio de computación, los roles
que representan estos y los tipos de permisos que se les otorgaran cada uno de ellos.

Desarrollo de la asignación de roles y permisos


En RBAC se identifica el tipo de personas que manejan el sistema, el tipo de
jerarquía que tienen en la organización y que permisos se le asigna a cada persona o
rol sobre el sistema para que pueda ser manejado.
La manera en la que se asignaron roles y permisos se estructura de la manera
siguiente:
1. Identificación al personal que manejará el sistema.
2. Definición de los servicios que ofrecen.
3. Delimitación de los roles.
4. Definición de tipos de permisos que manejara el sistema.
5. Asignación de roles respecto al tipo de personal que se identificó.
6. Asignación de permisos de acuerdo al tipo de rol.

De acuerdo con estos pasos se realizarán las asignaciones de los permisos que
se delimitaron en cuanto al manejo del sistema con los servicios que se ofrecen y la
asignación de roles dependiendo del tipo de usuario al que se refiera.

Identificación de personal del sistema


El sistema de administración y control del laboratorio de computación se
implementara en la ESIME Unidad Culhuacán, se maneja al personal que utiliza esta
instalación de la escuela para la identificación de quienes son los que utilizan los
servicios, por lo que el personal se define como:
 Encargados: personal de la escuela encargado de la administración y
control del laboratorio de computación.
 Maestros de la carrera: personal de la escuela al cual es asignado la
instalación para impartir clases.
 Alumnos de la carrera: estudiantes de la escuela en la carrera de Ing. en
Computación que acuden para sesiones de clases o realizar trabajos
escolares.

Página | 54
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Maestros del CELEX: personal del Centro de Lenguas Extranjeras de la


escuela que acuden a los servicios básicos de computación.
 Alumnos del CELEX: estudiantes del Centro de Lenguas Extranjeras de la
escuela que acuden a los servicios básicos de computación.
 Otros: personal ajeno o no clasificado dentro de la carrera.

Es así como se identificó al personal que utiliza de las instalaciones del laboratorio
y que manejaran el sistema que se desea implementar en él.

Servicios del sistema


La delimitación de los servicios se enfocó a las aplicaciones que se clasifican en el
sistema y el servicio de control y administración del laboratorio, se determinaron de
acuerdo a una lista que tiene el laboratorio de computación de los que deben de
instalarse, los cuales son:
 Agro UML 3.8.
 JCreator LE.
 Microsoft Office 2010.
 Prolog 3.0.
 Putty.
 SWI-Prolog.
 Visual Prolog 5.3.
 Microsoft Visual Studio 2010.
 Cisco Packet Tracer 5.3.3.
 Free Mind 0.8.1.
 IHCM Cmap Tools v.5.
 Wamp Server 5.1.36.
 Netbeans 7.1.3.

En cuanto al aspecto de la administración del laboratorio se manejan apartados


especiales que administra el encargado del laboratorio el cual otorga reportes,
consultas y aspectos relacionados con el control del laboratorio.

Página | 55
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Delimitación de Roles
Los roles se asignaron en el sistema de acuerdo al personal que lo maneja en el
laboratorio de computación, por lo que de acuerdo con lo anterior se delimitaron los
siguientes roles:
 Administrador: es el rol que manejan los encargados del laboratorio de
computación.
 Maestro: es el rol que manejan los maestros de la escuela que imparten
clases dentro del laboratorio de computación.
 Alumno: es el rol que manejan los alumnos de la escuela de la carrera de
Ingeniería en Computación que acceden al laboratorio, ya sea para alguna
asignatura o realizar trabajos escolares. Este rol a su vez está conformado
por grupos que de acuerdo el semestre al que pertenecen los alumnos que
en este caso son ocho grupos.
 Otros: es el rol que manejan otras personas ajenas a la carrera de
Computación a los cuales se les asignan servicios básicos de computación.

A través de esta delimitación los roles se asignaron de acuerdo al personal para el


uso de las instalaciones del laboratorio de computación teniendo un control de los
servicios sobre los usuarios dependiendo del rol que este represente dentro del
sistema.

Tipos de permisos
Los permisos en los sistemas de información más básicos se enfocados en tres:
 Lectura (R).
 Escritura (W).
 Ejecución (X).

El sistema contiene solo el permiso de ejecución ya que solo manejamos el


acceso a los programas de acuerdo al semestre que estén cursando, la asignación de
los programas se realizan respecto al rol de alumno en el semestre donde se encuentre
y con este se le otorgará o no la ejecución del programa o servicio que le está
brindando el sistema.

Página | 56
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Otro de los permisos que se manejan son los de:


 Altas (A).
 Bajas (B).
 Cambios (C).
Estos permisos los controlan los encargados del laboratorio y maestros en caso de
que alguno de los alumnos necesite usar algún programa que no se encuentre dentro
de sus servicios del rol en el que se asignó.

Asignación de roles con respecto al personal


La asignación de roles se manejó de acuerdo a los datos establecidos para el
sistema, en los cuales están el personal: encargados, maestros, alumnos de la carrera,
maestros del CELEX, alumnos del CELEX y otros.
El establecimiento de los roles en el sistema se basaron en cuatro tipos antes
mencionados teniendo así la asignación siguiente:
 Rol Administrador:
Encargados del laboratorio.
 Rol Maestro:
Maestros de la carrera de Ing. En Computación.
 Rol Alumno:
Alumnos de la carrera de Ing. en Computación (8 grupos).
 Otros:
Maestros del CELEX.
Alumnos del CELEX.
Personal no clasificado en la carrera.

Asignación de permisos respecto al rol


De acuerdo a la asignación de los roles en el sistema se establecieron los
permisos que tienen cada uno de los roles sobre los servicios que se definieron en el
sistema. Con estos datos se realizó una matriz como se muestra en la figura 15 de
“roles” contra “servicios” delimitando en esta los permisos que se le otorgaron a cada
rol.

Página | 57
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

M ic ro so ft V isu al S tu d io 2 0 10

C isc o P ac ke t T rac e r 5.3.2


M ic ro so ft O ffi c e 2 0 10

IH C M C m ap T o o ls v .5

W am p S e rv e r 5.1.36
V isu al P ro lo g 5.2

Fre e M in d 0 .8 .1

N e tb e an s 7 .1.2
A g ro U M L 2 .8
Roles/Servicos

JC re ato r LE

S W I-P ro lo g

N av e g ad o r
P ro lo g 2 .0

P u tty
Administrador ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX
Maestro ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX ABCX
Alumno
Semestre 1 X X X X X
Semestre 2 X X X X X
Semestre 3 X X X X X X X
Semestre 4 X X X X X X X
Semestre 5 X X X X X X X
Semestre 6 X X X X X X X X X X X X
Semestre 7 X X X X X X X X X X X X X X
Semestre 8 X X X X X X X X X X X X X X
Otros X X
17
Figura 15. Matriz de roles contra permisos

Pruebas de la asignación de roles y permisos


Las pruebas de la asignación de roles y permisos consisten en de acuerdo a la
implementación de la metodología y el desarrollo de este módulo determinar si en
realidad esta arquitectura es la adecuada para que los usuarios puedan obtener el
servicio del laboratorio sin ningún problema.
De acuerdo con los roles se asignan permisos específicos como se muestran en la
matriz los cuales no deben de afectar al usuario en obtención del servicio en el
laboratorio, tal es el caso que algún usuario no pueda utilizar servicios que
habitualmente utiliza, que tenga permisos sobre cambios o modificaciones del servicio
ya que este les corresponderán a los maestros y administradores, que los servicios
otorgados a usuarios sean los correspondientes respecto a su rol. Se deben responder
cuestiones como:
 ¿Se otorgaron bien los roles al personal del sistema?
 ¿Los perfiles de usuarios tienen los permisos que se desean?

17
“Obtención de la matriz aplicando la metodología RBAC”. Elaboración propia.

Página | 58
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 ¿Se declaran de manera correcta el uso de los servicios sobre los roles
delimitados?
 ¿Están bien establecidos los roles del sistema sobre los usuarios?

Integración de la asignación de roles y permisos


Una vez desarrollada la metodología de asignación de roles y permisos se podrá
desarrollar la configuración del árbol de jerarquías para así determinar el
funcionamiento sobre el sistema de información y servicio de directorios de acuerdo a
los puntos establecidos en la asignación de roles y permisos. Mediante la
implementación de esta metodología se determine una arquitectura de jerarquías
basadas en el control sobre el papel que representa cada usuario en el sistema y la
manera en la que operara dentro de este.

3.2.4 Módulo de Árbol de OpenLDAP


Este módulo consiste en la configuración del Árbol de jerarquías sobre el servicio
de directorios de OpenLDAP por medio del desarrollo de la asignación de roles
permisos sobre el sistema de información.

Diseño del Árbol de OpenLDAP


El diseño del Árbol de OpenLDAP consistirá en base a la metodología de
asignación de roles y permisos, en cuanto a los usuarios identificados en el laboratorio,
los roles que pueden manejar los usuarios y los permisos otorgados a estos como se
muestra en la figura 16. Dentro de este diseño se especifica el uso de un dominio de
organización que será la cima del árbol y posteriormente unidades de organización que
contemplaran en este caso roles, usuarios, permisos y equipos de computación basada
en la arquitectura del servicio de OpenLDAP.

Página | 59
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

dc=esime,
dc=site

o=Equipos en
o=Laboratorio o=Permisos
red

Administradores Maestros Alumnos Otros Semestre 1 MacAddress

Semestre1 Semestre N

Permisos por
SemestreN
Default

SO

Figura 16. Diseño del árbol de OpenLDAP 18

Desarrollo del Árbol de OpenLDAP


Para poder implementar el servicio de directorios debemos de instalar OpenLDAP
Server en el sistema operativo a través de la utilería zypper. Una vez instalado se
configuran los archivos en /etc/openldap/ de slapd.conf que contiene la configuración
del servidor de OpenLDAP, el archivo ldap.conf para la conexión a la base de datos, el
archivo en /etc/ de ldap.conf para otorgar el servicio de directorios y por último se
configura la clave de un usuario administrador. Una vez realizado estos pasos se
iniciamos el servicio introduciendo el comando de ./ldap start en la dirección de
/etc/init.d/ como se muestra en la figura 17.

Figura 17. Iniciando el servicio de LDAP 19

18
“Estructura general del árbol de servicio de directorios”. Elaboración propia.
19
“Levantando el servicio de LDAP en el servidor”. Elaboración propia.

Página | 60
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

La arquitectura del árbol se edita con la herramienta de Apache Directory Studio la


cual se debe configurar de acuerdo a los datos establecidos en OpenLDAP. Una vez
que se configuran los parámetros de la conexión con la base de datos y el usuario
administrador se edita el árbol de jerarquías del repositorio de datos para que se
establezca un dominio, organizaciones, unidades de organización, roles, usuarios,
aplicaciones, equipos y permisos para acceso a aplicaciones delimitadas dentro del
sistema a través de la metodología de asignación de roles y permisos.
Para comenzar con la estructura del árbol se establece el dominio donde se
definió la organización que está utilizando la herramienta que en este caso se tomó la
organización como esime referenciado a la escuela figura 18.

Figura 18. Dominio del árbol 20

Establecido el dominio se configuran las organizaciones determinadas como el


laboratorio de computación, los permisos sobre los programas y los equipos en red.
Dentro de la organización de laboratorio y permisos se agregaron unidades de
organización donde se configuraron los tipos de usuarios asignados con el atributo de
rol figura 19, estos fueron:

20
“Inserción del dominio del árbol de OpenLDAP”. Elaboración propia.

Página | 61
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Administradores.
 Maestros.
 Alumnos.
 Otros.

En el caso de los permisos se determinaron de acuerdo al semestre que están


cursando, los de default y los del sistema operativo como el ejemplo de la figura 20:
 Semestre 1.
 Semestre 2.
 Semestre 3.
 Semestre 4.
 Semestre 5.
 Semestre 6.
 Semestre 7.
 Semestre 8.
 Permisos por Default.
 SO.

Y para los equipos en red únicamente se insertan directamente los equipos en la


organización identificándolos con el atributo de macAddress.

Página | 62
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 19. Unidad del laboratorio de computación 21

Figura 20. Unidad de permisos del sistema 22

Para la inserción de usuarios dentro de las unidades de organización se


seleccionan la unidad, en su caso el rol ya sea algún semestre y se insertan con el
atributo de uid. Los tipos de usuarios delimitados para el sistema dentro del árbol de
directorios posteriormente el sistema podrá realizar esto desde su interfaz.
21
“Estructura de configuración de las unidades de organización del laboratorio”. Elaboración propia.
22
“Configuración de la estructura de los permisos del sistema”. Elaboración propia.

Página | 63
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Para finalizar la configuración del árbol se agregó una organización más llamada
Equipos en red en la cual las computadoras que se encuentran en la red del laboratorio
son identificadas con su MAC y su IP como se muestra en la figura 21.

Figura 21. Organización de Equipos en red 23

Pruebas de configuración del árbol OpenLDAP


Una vez estructurado el árbol se determinó su arquitectura de acuerdo a los
requerimientos del sistema de administración y control, la obtención de estas fueron con
respecto de los usuarios por ejemplo los roles de los usuarios, su identificación, las
aplicaciones a los cuales tiene permiso y también por el manejo de los servicios que se
encuentran en el laboratorio. Con la obtención y el manejo de estos datos a través de la
configuración del árbol se determinara el control del servicio hacia los usuarios por
medio del manejo de los datos al árbol a través del sistema. La inspección en la
configuración del árbol consiste en:
 Se encuentre cada nodo en su orden correcto respecto al orden de raíz,
organización, unidades de organización, roles, usuarios y aplicaciones.
 Cada nodo debe de estar especificado por su atributo como la raíz con dn,
una organización con o, una unidad de organización con ou, los roles
manejados con su cn, los usuarios con el atributo uid y las aplicaciones con
la descripción del programa y el atributo de aplication proceses.
 Cada nodo debe contenga los atributos requeridos para que pueda
identificarse su función.

Integración de configuración del árbol OpenLDAP


Con la configuración que se realizó sobre el árbol del repositorio de datos serán la
base para la operatividad del sistema de información conforme a su funcionamiento
sobre los usuarios, el manejo de los permisos y el conocimiento de las computadoras
23
“Configuración en el árbol de la organización de Equipos en red”. Elaboración propia.

Página | 64
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

clientes. Esta será la herramienta para que el servidor pueda funcionar y así realice su
trabajo en cuanto a la operatividad que se estableció con el sistema de acuerdo la
administración de usuarios y control de aplicaciones.

3.2.5 Módulo de servidor del sistema


En este módulo se desarrolla el motor de la aplicación el cual se encargara de
manejar el aspecto de la comunicación del sistema de información con el árbol de
directorios, estableciendo así consultas al árbol y modificaciones a este sobre aspectos
de dar de alta o baja a un usuario, otorgar un permiso a un usuario, modificar sus
permisos y asuntos relacionados con usuarios, permisos y equipos del laboratorio de
computación.

Diseño de servidor del sistema


El servidor debe estar diseñado para poder escuchar peticiones en red de los
clientes del sistema, realizar modificaciones de usuarios y permisos al árbol, recibir
peticiones sobre aplicaciones no permitidas de los usuarios así como enviar la lista de
las aplicaciones al cliente de las que no está permitido que tenga acceso, generar
consultas de los usuarios del servicio de directorios, los servicios de las aplicaciones y
la generación de los reportes del administrador del registro de los usuarios mediante la
programación del sistema en JAVA. En la interfaz del servidor se maneja el estado de
los clientes que están conectados en el sistema, los datos de la computadora cliente, la
interfaz de aceptación de peticiones manejada ya sea por el usuario maestro o
administrador, la generación de las consultas al árbol del servicio de directorios y la
generación de los reportes del administrador para el registro de los usuarios la
laboratorio de computación.
El servidor de la aplicación tiene diferentes funciones, las cuales se pueden enlistar
como:
 Comunicación con los clientes en red.
 Consultas en el directorio.
 Alta, Baja y Cambios en usuarios y permisos en el repositorio del directorio.
 Filtro de lista de procesos según sea el caso del usuario.
 Manejo de peticiones de los usuario hacia aplicaciones que no tenga permiso.

Página | 65
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Realización de reportes de acuerdo al registro de los usuarios ingresados al


sistema.

Desarrollo de servidor del sistema Ya se perdió el apartado ….. el concepto o tema es


valido ¿?
La clase server es la que se encargara de levantar el servidor para que los clientes
se comuniquen y puedan obtener información que se encuentra almacenada en el
directorio. Este proceso se ejecuta por medio de un hilo ya que el proceso es un ciclo
infinito que corre concurrentemente para realizar otras actividades en la aplicación.
A continuación se describen los métodos que contiene la clase:
 Server: el constructor indica la ruta donde se almacena el log
 levantarServidor: crea un socket que escucha a través de un puerto para recibir
peticiones de clientes conectados a la red.

Flujo de trabajo de la clase Server


Cuando el administrador ingresa al sistema, automáticamente el servidor
comienza a escuchar las peticiones del cliente, para corroborar que efectivamente está
funcionando, se puede ver el log en una terminal como se muestra en la figura 22. Al
hacer click se inicia un hilo que corresponde al proceso de habilitar un socket para que
pueda escuchar las peticiones de los clientes por medio de un puerto designado. Esta
forma le permite al sistema seguir trabajando de forma normal en otras funciones y que
el servidor siempre esté activo para cualquier petición. Es una descripción de
funcionamiento
Cuando una petición llega al servidor, crea un hilo con la finalidad de atender las
peticiones de manera simultánea y pueda dar respuesta a todos los clientes. Esta
función se realiza por medio de la clase ServidorH que se describe a continuación.

Página | 66
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 22. Servidor escuchando las peticiones de los clientes 24

Descripción de la clase ServidorH

La clase ServidorH tiene como función principal enviar la información hacia el


cliente dependiendo de los parámetros que reciba del mismo, es decir, realiza el log in
de usuarios validando en el directorio, realiza un filtrado de procesos, así como otorgar
diversa información del usuario.
A continuación se describen los métodos que contiene la clase:
 ServidorH: este constructor es sobrecargado para obtener la instancia del
socket que se está comunicando, así como crear la ruta donde se almacena el
log.
 listaDePermisosServidor: regresa una lista de permisos de un usuario.
 Permisos: Llena una lista con los permisos del usuario.
 PermisosNombres: Genera una lista con los nombres de los permisos de un
usuario.
 PermisosSO: Llena una lista con los permisos del Sistema Operativo
 Semestre: retorna el semestre del alumno
 Status: Devuelve el estatus del usuario en el sistema
 Run: Hilo que valida la petición del cliente y determina que información debe
enviar de regreso.
 Desconectar: cierra la sesión del socket de la clase.

24
“Log del servidor cuando escucha peticiones de los clientes”. Elaboración propia.

Página | 67
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Flujo de trabajo de la clase ServidorH

 Cuando inicia el hilo con el método run, el método reconoce que es lo que está
pidiendo el cliente.

 El primer paso que valida es la autenticación del usuario, por lo que extrae el
userID y la contraseña del HashMap que recibe del cliente, con estos parámetros
verifica en el directorio si el usuario pertenece al sistema y puede iniciar sesión,
además de modificar el campo st en el árbol para indicar que ya está conectado
y evitar una doble sesión con el mismo usuario.

 Si la primera condición no se cumple, verifica si el cliente requiere un filtro de la


lista de procesos. Si es el caso, con el número de boleta, que es el identificador
del usuario, hace una consulta en el directorio para obtener el semestre al que
pertenece el usuario. Cuando obtiene este dato nuevamente consulta el árbol
para obtener la lista de permisos que tiene ese rol. Compara la lista que envió el
cliente y únicamente se dejan los procesos a los que no tiene permiso. Esta lista
se manda como respuesta al cliente.

 Valida si el cliente requiere la lista de permisos que tiene el usuario, si esta


condición se cumple el servidor busca en el árbol los procesos que tiene
asignado el cliente y le devuelve esta lista, además de otra con todos los
permisos existentes en el servidor.

 El último proceso que valida es la desconexión del usuario, si el cliente manda


un mensaje de Cerrar Sesión, el método actualiza el campo st en el árbol para
cambiar el estatus de 1 a 0 para indicar el que usuario ha cerrado la sesión.

Descripción de la clase Conexion


La clase Conexion se utiliza conectar el sistema con openLDAP para realizar
consultas, altas, bajas y cambios en los datos del directorio.
A continuación se describen los métodos que contiene la clase:

Página | 68
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 conexionManager: regresa una instancia de conexión al directorio con permisos


de administrador.
 conexionMan: regresa verdadero o falso dependiendo si se logra la conexión
con el usuario y contraseña que tiene como parámetros
 conexionUser: regresa una instancia de conexión al directorio con permisos de
usuario.
 validaAlumno: regresa verdadero o falso dependiendo si se logra la conexión
con el usuario y contraseña que tiene como parámetros
 cerrarConLDAP: cierra la conexión con el directorio.

Flujo de trabajo de la clase Conexión:

 Se crearon varias instancias de conexión para el sistema, así como validaciones


de autenticación para administrador y usuarios.

 Cuando el administrador quiere iniciar sesión en el sistema utiliza esta clase para
autenticar en el directorio y acceder al sistema. En caso de que sea un usuario
utiliza un método diferente que solo le dará acceso a sus permisos.

 Para realizar consultas y operaciones en el directorio se requiere conectarse por


lo que existe un método para lograr la conexión y utilizarla por cualquier
requerimiento que se genere en el sistema.

Descripción de la clase Login

Al igual que en el cliente, el servidor requiere de un usuario y contraseña para


ingresar al sistema como se muestra en la figura 23, esta interfaz contiene un objeto
de la clase conexión para entrar al sistema.

Página | 69
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 23. Ventana de inicio para el administrador 25

A continuación se describen los métodos que contiene la clase:

 Login: valida si los datos del usuario son los correctos para dar acceso al
sistema.

 Regístrate: Muestra ventanas con la clase JOptionPane para obtener los datos y
mandarlos al servidor para almacenarlos en el grupo Otros del directorio.

Descripción de la clase LDAPUsers

Esta clase tiene la funcionalidad de realizar consultas en el directorio openLDAP


por medio de un API desarrollada por Novell. El sistema puede obtener la información
que requiera del árbol, dar de alta a un usuario, realizar una baja o modificar datos
siempre que cuente con los permisos necesarios. Requiere de una conexión con el
directorio para realizar estas operaciones.

A continuación se describen los métodos que contiene la clase:


 Añadir: Inserta en el directorio un nuevo usuario.

25
“Interfaz de identificación del administrador del servidor”. Elaboración propia.

Página | 70
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Datos: formato ldif que reconoce el directorio para agregar un usuario. A esta
estructura se le agregan los object class, identificadores y jerarquías necesarias
para crear un usuario.
 BuscarTodos: Consulta en el directorio información que requiere el cliente,
devolviendo un ArrayList con los datos obtenidos.
 EliminarPorUID: elimina un usuario por userID
 Modificar: modifica los atributos de un usuario.

Flujo de trabajo de la clase LDAPUsers:


 Para crear un usuario en el directorio se utiliza el método Añadir la cual realiza
una conexión con openLDAP y agrega un archivo con formato ldif, el cual se
genera en el método datos.
 En el método datos se reciben parámetros como nombre, apellidos, boleta,
semestre y password del usuario. Se crean los object class necesarios para
crear el usuario como inetOrgPerson, organizationalPerson, entre otros, así
como la definición de los atributos como cn, sn, uid y por último se crea el dn que
será lo que distinga al usuario de los demás.
 Cuando termina se genera el archivo ldif por medio del API y se añade el
usuario.
 La búsqueda de información se hace con diferentes parámetros como la base de
búsqueda, el filtro que es el dato a buscar, un identificador que es la clase del
objeto o atributo del objeto.

Descripción de la clase Usuario


La clase Usuario cuenta con un frame para que el administrador o maestros
puedan ver los alumnos que contiene el árbol. La información se puede ver por
semestres mostrando el nombre del alumno, la boleta y el semestre.
La interfaz tiene también una descripción de cómo está estructurado el árbol,
cabe mencionar que es únicamente informativo ya que contiene valores estáticos. En la
misma ventana se pueden realizar altas, bajas y cambios en los datos del usuario. Por
último se pueden realizar búsquedas por User ID y por nombre de usuario.

Página | 71
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

26
Figura 24. Interfaz gráfica para ver los alumnos

Como se muestra en la figura 24, se despliega el contenido del directorio


Semestre 1 cuando da click en el botón Mostrar Usuarios. Al hacer click en uno
automáticamente la información se muestra en los cuadros de texto.
Las opciones que tiene el administrador son Agregar, Modificar y Eliminar algún
registro del directorio.

Descripción de la clase Permisos


La ventana de permisos permite ver los recursos provisionados de un alumno
como se observa en la figura 25, se muestra el status del recurso, el nombre y el
proceso con el cual se revoca la ejecución del programa.

26
“Interfaz de consultas de usuarios del administrador”. Elaboración propia.

Página | 72
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 25. Recursos provisionados del usuario

La interfaz tiene como opción asignar nuevos recursos, así como denegar
aplicaciones al usuario.

Creación de reportes (JasperReport)


Se implementó la utilidad de JasperReport para generar los reportes por medio del
pluging para las paqueterías de Java (NetBeans y Eclipce) este se utilizó para obtener
el diseño del reporte que se generara que se muestra en la figura 26.

Página | 73
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 26. Diseño de reportes del laboratorio 27

Al utilizar iReport lo primero que se realiza es indicar de donde se realizaran las


consultas de los datos los cuales serán plasmados en el reporte, en esta ocasión se
realizan directamente del repositorio de datos los cuales son extraídos al igual que en
las bases de datos relacionales por medio de un query, pero que a diferencia que en
LDAP se realizan por medio de scripts, los cuales son generados automáticamente por
JasperReport.

27
“Elaboración del diseño de reporte del laboratorio de computación”. Elaboración propia.

Página | 74
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Una vez diseñado el reporte y selecionados los atributos que se quieren utilizar y
mostrar en el documento se da click en Preview para comprobar que se realize la
conexion y que el documento no contenga errores al generarce.

Página | 75
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Para iniciar la programacion y generar el reporte en la interfaz del servidor se


enlisto una seria de librerias requeridas para codificar y visualizar el reporte, tomando
en cuenta que el documento debe contener las opciones de guardar en .pdf o .doc, e
incluso dar la opcion de imprimir dicho documento de ser necesario.

• commons-beanutils-1.8.0.jar
• commons-collections-3.2.1.jar
• commons-digester-1.7.jar
• commons-javaflow-20060411.jar
• commons-logging-1.1.jar
• groovy-all-1.5.5.jar
• iText-2.1.0.jar
• jasperreports-3.7.0.jar
• Un driver JDBC

Una ves generado el diseño del reporte se coloco un JButton en la interfaz del
servidor con el nombre de Reporte el cual se programo para poder generar la ventana
que tendra todas las opciones ya antes mencionadas para el uso del administrador.

private void ReporteActionPerformed(java.awt.event.ActionEvent evt) {


ConexionDB conn = new ConexionDB();

Página | 76
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

try{
String file = "/home/JORGE/Descargas/ProyectoFinal-
Servidor/Reportes/report1.jrxml";
JasperReport jr = JasperCompileManager.compileReport(file);
JasperPrint jp = JasperFillManager.fillReport(jr, null,
conn.getConnectionDB());
JasperViewer.viewReport(jp);

}catch(Exception e){
e.printStackTrace();
}
}

Ya codificado el unico paso que tiene que realizar el administrador para visualizar
el documento y poder darle uso es dar click en el JButton llamado Reporte el cual
despliega una ventana la cual da las opciones de guardar, imprimir o solo para consulta.
El reporte despliega el nombre del usario que se logeo en el sistema, la
matricula , el numero de maquina que utilizo el cual es obtenido por el numero MAC de
las maquinas, la hora de entrada que es cuando se logeo el usuario al ingresar al
sistema y la hora de salida que sera cuando el usuario cierre sesion en el software.

Página | 77
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Diagrama de flujo del servidor


Inicio

Ingreso de
Usuario y
Contraseña

Validación de
Vuelve a ingresar
usuario en LDAP
los datos
para dar acceso

No
Acceso
Se crea un ciclo infinito para
que el servidor siempre esté
Si
en operación.

Se activa el proceso
del servidor por medio
de un hilo

Escuchar
peticiones de los
clientes

Nueva conexión
entrante

Si
Si Modifica el campo st del
Manda una respuesta
Se crea un nuevo Valida en el usuario que indica que
Recibe del cliente para que el cliente de
hilo para atender Autenticación de directorio si el ha iniciado sesión y no
el usuario y la acceso al usuario o no
la petición del usuario usuario puede dejar que otro usuario
contraseña permita que entre al
cliente ingresar inicie sesión con los
No sistema
mismos datos

Si Compara las listas y


Realiza una búsqueda Envía la lista por
Filtrar Recibe del cliente la genera una nueva con
de los permisos que medio del socket
permisos del lista de los procesos los procesos a los que A
tiene asignados el para que el cliente
usuario activos y el userID el usuario no tiene
usuario termine los procesos
permisos de ejecución
No

Si Realiza una consulta en Luego de este proceso


Envía ambas listas al
el directorio para obtiene la lista de todos
Consulta de cliente para que sean
obtener los recursos los recursos que se B
permisos mostradas al usuario
que tiene asignados el encuentran almacenados
en sus recursos
usuario en el directorio
No

Si Actualiza el campo st
del usuario en el
Cerrar Sesión directorio indicando C
que se ha
desconectado
No

FIN

Página | 78
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Pruebas de codificación e interfaz del servidor


Con la realización del servidor se hicieron pruebas del manejo del servicio en
general del sistema ya que el servidor es el encargado de escuchar a los clientes del
sistema, una vez que un usuario se autentifique en el sistema este envía la lista de los
procesos que están corriendo en el cliente y el servidor recibe las lista reenviándola con
solamente las aplicaciones a las que no tiene permiso el cliente y este realice el control
de las aplicaciones. El buen funcionamiento de las interfaces junto con la codificación
sobre las conexiones de los clientes en el sistema, además de manejar los datos de red
de la computadora donde se aloja el cliente del sistema, la generación de consultas
sobre el árbol generado en OpenLDAP, solicitud de peticiones de permisos de acceso
de los usuarios a las aplicaciones y la generación de los reportes de registros de
acceso al laboratorio por medio de la autentificación de los usuarios en el sistema y que
el servidor manipule estos datos.

Integración de codificación e interfaz del servidor


La integración del servidor hace que el servicio del sistema sea establecido en el
laboratorio una vez unidos todo los módulos que en este caso es el más importante de
todos ya que es el encargado de la parte del funcionamiento del sistema de información
al manipular las peticiones de los clientes sobre el servicio de directorios y la consulta d
de la arquitectura del árbol y la generación de consultas sobre este.

3.2.6 Módulo de monitoreo de procesos


El monitoreo de procesos consiste en que el sistema en el cliente reconozca los
procesos que se encuentran activos dentro del equipo de cómputo y a través de la
consulta de permisos al servidor este otorgue los permisos a los usuarios de acuerdo
con la asignación de aplicaciones conforme a su rol. Dentro del monitoreo de estos
procesos se delimitan aquellos que el sistema operativo maneje por default para no
incurrir en el mal funcionamiento del servicio sobre sistema operativo.

Diseño de la clase para el monitoreo de procesos


Para el monitoreo de procesos se establece una lectura de los procesos activos
dentro del cliente para que una vez identificados, el cliente realice una consulta al

Página | 79
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

servidor sobre las aplicaciones que tiene permitido usar el usuario identificado en el
cliente y a través de la obtención de la lista de aplicaciones determinada para el rol del
usuario estas aplicaciones sean administradas por el monitoreo de procesos y en caso
de que el usuario no tenga el permiso de la aplicación se bloquee el acceso
confirmando al usuario de esta determinación de su servicio.
El monitoreo de procesos se basará en el siguiente flujo:

Ejecutar comando tasklist para obtener los Con el comando taskkill se termina el
procesos en ejecución proceso seleccionado

Filtrar la información y almacenar


El cliente recibe la lista y lee la información
únicamente el nombre del proceso

Enviar la lista al servidor para que sea El servidor actualiza la lista con los procesos
evaluada dependiendo el rol del usuario que el usuario no tiene permiso de ejecución

Figura 27. Flujo del monitoreo de procesos 28

Desarrollo de monitoreo de procesos


La funcionalidad de la clase killProcess es terminar los procesos en ejecución que
pasan como parámetro en algunos de sus métodos, para que de esta manera el
sistema restrinja el acceso o ejecución a la aplicación.
A continuación se describen los métodos que contiene la clase:
 matarProceso: este método recibe un parámetro String el cual contiene el
nombre de un proceso y por medio del comando taskKill /IM el proceso en
ejecución es terminado.
 leerProcesos: por medio del comando tasklist se obtienen los procesos que se
están ejecutando en la computadora, además de otros datos como el PID del
proceso, la cantidad de memoria que utiliza, la sesión del proceso. Únicamente
se almacenan los nombres de los procesos en ejecución.

28
“Diagrama de flujo de trabajo sobre el monitoreo de procesos”. Elaboración propia.

Página | 80
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Flujo de trabajo de la clase killProcess


Cuando se crea un objeto de la clase y llama al método leerProcesos() lo que
realiza esta función es que por medio de un comando de Windows, se obtiene una lista
de procesos en ejecución como lo muestra la figura 66, se filtra la lista por medio de
una expresión regular [0-9] + || [+] [0-9]* para eliminar todas las cadenas que inicien con
un número, seguido de las cadenas SERVICES, KB y CONSOLE.

Figura 28. Salida del comando tasklist 29

Por último se almacena la lista en un arrayList y retorna esta variable.


Cuando llaman al método matarProceso() se le indica como parámetro el nombre
del proceso que se quiere terminar y por un comando de Windows se termina el
proceso para cerrar la aplicación.

Pruebas de monitoreo de procesos


Las pruebas del monitoreo de procesos consistieron en que de acuerdo a los roles
establecidos el sistema deniega el acceso a la aplicación dándole aviso al cliente sobre
esta operación del sistema y que de acuerdo a este control de procesos el servicio que
se ofrece del cliente sea el adecuado para el usuario sin tener algún problema con el
funcionamiento de las aplicaciones a las que el usuarios tiene permisos. Para el
funcionamiento correcto del monitoreo se verifica:
 Se puedan obtener los procesos del equipo.
 Se genere la lista de los procesos obtenidos del equipo.
 Poder obtener la lista que envía este monitoreo en el cliente.
 Pueda recibir una lista con las aplicaciones que deben de estar activas.
 Terminar con aplicaciones específicas de la lista obtenidas.

29
“Mensaje en la terminal de la ejecución del comando tasklist“. Elaboración propia.

Página | 81
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Integración de monitoreo de procesos


El monitoreo de los procesos otorga al sistema el control sobre el servicio de
aplicaciones que se obtienen del sistema en los usuarios que hacen uso de este dentro
de las instalaciones del laboratorio de computación. De esta manera se controlan las
aplicaciones ofrecidas por el sistema descritas dentro del repositorio de datos. Este
módulo se integrara dentro de los clientes alojados en cada equipo computacional del
laboratorio de computación una vez realizado este.

3.2.7 Módulo de cliente del sistema

El módulo de clientes consistió en realizar una conexión con el servidor y mandar


el usuario y la contraseña para validar su autenticación en OpenLDAP, realizar
peticiones a las aplicaciones que no tiene acceso y enviar una lista de procesos, en el
caso de los administradores de igual manera realizan la conexión a OpenLDAP para la
autentificación de estos y reciben las peticiones de los usuarios que necesitan utilizar
alguna aplicación.

Diseño de cliente del sistema


Se busca conectarse al servidor de varias formas, inclinándose por la conexión
en red local por medio de sockets utilizando el lenguaje Java. Así mismo, el monitoreo
de los procesos, finalizar las aplicaciones mediante JAVA igualmente y se obtener los
procesos del sistema operativo Windows, así como un comando para terminarlos desde
la aplicación.

Desarrollo de cliente del sistema


 Descripción de la clase Cliente
El funcionamiento de la clase cliente consiste en realizar una conexión con el
servidor y mandar el usuario y la contraseña para validar su autenticación a openLDAP,
así como enviar una lista de procesos.
A continuación se describen los métodos que contiene la clase:
 conexionServer: Realiza una conexión con el servidor para enviar una lista de
procesos a evaluar y recibe una lista actualizada con los procesos a los que el
usuario no tiene permiso de acceso. Por cada proceso de la lista se manda a

Página | 82
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

llamar el método de la clase killProcess para terminar el proceso y cerrar la


aplicación.
 autenticacionLDAP: valida en el servidor si el usuario y la contraseña son
correctos, autenticando en el directorio.
 solicitarRecursos: petición al servidor que retorna una lista de permisos que
tiene el usuario.
 MACAddress: devuelve la dirección MAC del equipo en red.
 IPAddress: obtiene la dirección IP de la PC.

Flujo de trabajo de la clase Cliente


 Cuando el usuario quiere ingresar al sistema se debe autentificar por medio del
método autenticacionLDAP el cual recibe dos parámetros String que contienen el
userId y el password del usuario. Se realiza la conexión con el servidor a través
de la dirección IP y el puerto dónde está escuchando y se envía un archivo
HashMap con el usuario, contraseña, la dirección IP y la dirección MAC.
 El servidor evalúa el usuario en el directorio y envía una respuesta true o false y
el método termina retornando la respuesta donde fue llamada.
Descripción de la clase logger
La clase logger funciona para crear una bitácora de los procesos que se ejecuten
día con día almacenándolos en archivos .log los cuales se pueden revisar en cualquier
momento para verificar si el sistema trabaja bien o si se encuentra con alguna falla.
A continuación se describen los métodos que contiene la clase:
 getLog: retorna la instancia de la variable log
 setLog: se establece la instancia de la clase log
 logger: se estructura el formato que debe tener el archivo log, es decir, el
archivo tiene una fecha y una descripción para saber qué día se registró el
archivo y de donde proviene.

Flujo de trabajo de la clase logger


Cuando se declara un objeto de esta clase, se le pasa un parámetro String que
contiene la ruta donde se va a crear el archivo .log, se le pone un formato de fecha y de

Página | 83
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

impresión de mensajes para identificar el día en que se creó el archivo y en caso de


alguna incidencia, poder localizar rápidamente el problema.

Descripción de la clase Inicio


Se diseñó una pantalla de inicio para el usuario donde debe ingresar dos datos:
usuario y contraseña como se muestar en la figura 67. El usuario y la contraseña serán
el número de boleta y cuando el usuario ingrese por primera vez se le pedirá que
actualice la contraseña. El botón Login contiene objetos de la clase Cliente y utiliza el
método autenticacionLDAP pasando como parámetros la información que tenga en
sus cuadros de texto. Si el usuario es válido la ventana se minimiza hasta la barra de
tareas.

Figura 29. Interfaz de inicio del sistema 30

Se utilizó la clase swing para crear la ventana con varios atributos como jLabel,
jTextField, jPasswordField, jPanel, así como el logo de la ESIME Culhuacán.
A continuación se describen los métodos que contiene la clase:
 jButton1ActionPerformed: este método se ejecuta cuando se da un click en el
botón Login del formulario. Genera un objeto de la clase Cliente para validar la
autenticación del usuario.

30
“Interfaz de identificación de usuarios del sistema”. Elaboración propia.

Página | 84
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 jButton2ActionPerformed: se ejecuta el método al dar click en el botón Cancel


para salir de la ventana.
 Main: método creado por el IDE para mostrar la ventana.

Flujo de trabajo de la clase Inicio

 La ventana se muestra al usuario que va a acceder al sistema, se requiere


ingresar un usuario y una contraseña para que el sistema valide si la persona
está registrada en el sistema y darle el acceso. En otro caso se debe ir a la
ventana de registro y esperar a que el administrador valide la información y crear
el registro en LDAP.

 Cuando el sistema verifica los datos del usuario la ventana se cierra y en la barra
de tareas aparece el ícono que se muestra en la figura X. De esta forma el
usuario puede verificar los recursos que tiene provisionados y cerrar la sesión.

Descripción de la clase iconoBarra


La clase sirve para crear un ícono en la barra de tareas una vez que el usuario
ha iniciado sesión.
El ícono da la posibilidad al usuario de cerrar sesión y abrir una interfaz para
solicitar recursos que no tenga asignados por el rol al que pertenece.

Descripción de la clase solicitarPermiso


Con esta clase el usuario puede solicitar permisos que no tiene asignados, así
como ver los recursos provisionados con los que cuenta.
A continuación se describen los métodos que contiene la clase:
 SolicitarPermiso: constructor que imprime la lista de recursos con los que
cuenta el usuario.
 comboBox: muestra en un combo box los recursos que el usuario no tiene
aprovisionados.

Página | 85
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Enseguida se despliega la interfaz de los permisos en la figura 68, a demás de


que el usuario debe ingresar una descripción de porqué solicita o requiere la
aplicación. Toda esta información se manda al servidor para que sea evaluada.

Figura 30. Solicitar permisos al servidor

Diagrama de flujo del Cliente


En el siguiente diagrama se muestra el flujo de operación del cliente en el sistema
de información como se muestra en la figura 69.

Página | 86
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

Figura 31. Diagrama de Flujo del Cliente 31

Pruebas de cliente del sistema


Las pruebas del cliente consistieron en que realizara las autentificaciones de los
usuarios en el sistema mediante las peticiones al servidor de OpenLDAP por medio de
una conexión en red, que el cliente realice el monitoreo de procesos a través de la
interfaz y pueda avisar al usuario de las aplicaciones a las que no tiene permisos
efectuando una consulta al servidor sobre cuáles son los permisos que debe manejar el
usuario de acuerdo a su rol teniendo un control el sistema sobre estas y que el usuario
pueda consultar cuales son las aplicaciones a las que tiene permisos y en caso de
requerir otra, realizar la petición para que el usuario administrador o maestro determine

31
“Diagrama de flujo de la operatividad del cliente”. Elaboración propia.

Página | 87
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

la asignación del permiso a la aplicación al usuario mediante la interfaz de peticiones


del sistema en el servidor.

Integración de cliente del sistema


La integración del cliente reside en ofrecer el servicio del sistema en el laboratorio
de computación ya que el sistema contiene a los usuarios que hacen uso del laboratorio
y que a estos se les otorgan los servicios de las aplicaciones, así como, la notificación
al servidor del usuario que hace uso del servicio para que este pueda manejar los datos
necesarios y genere el reporte sobre el registro de los usuarios.

3.3 Sistema general de información para administración de usuarios y control de


aplicaciones
Realizados todos estos módulos obtendremos los siguientes puntos:
 Servidor con un repositorio de datos que atienda peticiones en red de
clientes sobre los usuarios dados de alta y dar permisos al usuario sobre la
ejecución de las aplicaciones.
 Servicio de directorios con una estructura de jerarquías implementada
empresas de acuerdo a los niveles organizacionales con los que cuente, así
como la creación de roles para accesos a recursos de la empresa
dependiendo el puesto del empleado.
 Sistema de monitoreo de los aplicativos de una computadora el cual puede
eliminar los procesos denegando el uso a los usuarios que no tengan
permisos a estos.
 Sistema de información para que administre usuarios alojados en clientes
en el cual de acuerdo a un perfil y una identificación digital puede asignar
accesos a aplicaciones, además, tener funciones tales como:
o requerimientos de permisos.
o generación de consultas.
o modificaciones sobre los usuarios y las aplicaciones.
Con módulos obtendremos un sistema enfocado al objetivo del proyecto realizado
por medio de metodologías de desarrollo para la implementación de este en el
laboratorio de computación. Con los módulos de servidor del servicio, metodología de

Página | 88
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

asignación de roles y permisos, configuración del árbol y servidor del sistema


obtenemos el servidor de la aplicación donde está alojada la interfaz capaz de
administrar los servicios de los clientes y todos los aspectos relacionados con la
administración de usuarios y el control de las aplicaciones y con los módulos de
monitoreo de procesos y cliente del sistema se obtiene la parte de los usuarios la cual
se encargara de autentificar usuarios al sistema, monitorear procesos y realizar
peticiones al servidor del sistema para que al usuarios se le asigne permisos a
aplicaciones que no tenga permisos. Demasiada descripción de los pasos y elementos
de configuración ; requerimientos ¿? Análisis ¿? Modelo ampliado de solución??
Diseño de la aplicación Java ( no hay ningún diagrama de como se modelo el aplicativo
Java )

Conclusiones

La realización de este proyecto hace posible controlar gestionar el cierre de


calles de la demarcación antes mencionadala ejecución de las aplicaciones del
.laboratorio de Computación dependiendo el rol que tenga el usuario en el directorio.
De este proceso concluimos que es una forma eficiente de controlar los permisos
de ejecución de una computadorala circulación vial con sistema operativo Windows
7Android, sin embargo tiene puntos a considerar, existen programas que requieren
de otros procesos para que funcionen correctamente, por lo que se debe analizar a
fondo cada programa que se quiera controlar.ya realizan estas funciones, pero no
solucionan el problema .La mayoría de los programas que se tienen en el laboratorio se
añadieron a la lista de procesos para controlar su ejecución.

Página | 89
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

El sistema de información para administración gestión de usuariosde cierre de


vialidades y control de aplicaciones es una herramienta desarrolla bajo
metodologías y tecnologías de TI implementadas en la actualidad en empresasen
aplicaciones sobre con similares característicasmismas características de
operatividad por lo que hace de este sistema capaz de ofrecer sus servicios en
una amplia gama de sectores que se adecúen a esta estructura de control.
El desarrollo de este sistema está basado sobre algunas características que hacen
de este su buen funcionamiento de operatividad tal es el caso de la implementación del
sistema operativo Linux de la distribución OpenSUSE, se tomó este sistema operativo
ya que es una herramienta para este tipo de funcionalidades, OpenSUSE es un
desarrollo enfocado al manejo del servicio de directorios ya que este posee la facilidad
de realizar transacciones altos contenidos de datos a través de sistemas ya sea
internos o externos además en su instalación se utilizó la interfaz Gnome ya que el
manejo de recursos de esta interfaz no es muy elevada más sin en cambio es la
necesaria para manejar las herramientas de desarrollo del sistema.
Se ha comentado varias veces porque utilizamos esta distribución de Linux y no
otras que se cree que son más estables como Debian ya no se tiene que documentar la
elección eso ya se realizo antes ¡, la realidad es que al ser un sistema operativo de
código abierto nadie nos puede asegurar su buen o mal funcionamiento a la hora de
ejecución ya que cualquier persona puede modificar el kernel para mejorar el sistema o
perjudicarlo. Esto es una conclusion Es por esto que hay empresas como SUSE o Red
Hat que cuentan con distribuciones que tienen un costo, ya que las empresas
garantizan el funcionamiento de cada sistema y dan soporte en caso de fallas. Es en
estas instancias es donde se puede discutir que distribución es mejor, porque se
pueden tomar parámetros como precio, soporte, estabilidad, funcionalidad, etc., pero
con un respaldo oficial.
Se decidió utilizar un servicio de directorios como repositorio de datos porque la
estructura jerárquica de la base de datos del directorio permite consultas rápidas de la
información, ya que el sistema hace muchas peticiones y casi no requiere modificar la
información por lo que hace de este servicio más eficiente que utilizar una base de
datos en la cual, aun cuando exista una consulta rápida tendrá que recorrer todos los

Página | 90
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

registros de la tabla y buscar en otras relacionadas, ya que no identifica una dirección


única de consulta como en el caso del servicio de directorios y los DN´s de su
arquitectura. Se decidió usar la arquitectura cliente servidor ya que esta es la que más
se adecua, sin embargo, el problema de la congestión vial no se ha podido resolver a
pesar de las aplicaciones existentes en Smart pone, ya que es más un problema
cultural y social.

Se concluye que el servicio de directorios es una estructura funcional ya que las


consultas que el sistema realiza al árbol se hacen de forma rápida, sin fallos de
conexión y siempre manteniendo el orden y jerarquía de los objetos que contiene
La investigación de tecnologías como LDAP, metodologías de Roles para el
control de acceso, gestores de identidades, uso de hilos en java, nos dejan el
conocimiento de herramientas actuales que se utilizan en las empresas y además la
integración de todas nos da la experiencia básica para poder utilizar cualquiera de ellas
y poder trabajar de manera inmediata.
Verdaderas conclusiones …… como se relaciona el objetivo con la conclusión ¡!!
Cuantos de los elementos comentados en Marco Teorico se aplicaron y que de ellos se
observo un resultado.
Ya construido se puede comparar con el modelo actual y las soluciones del estado
del arte ¡!!!!! No lo veo.

Trabajo a futuro

El trabajo a futuro de este proyecto se basa en los siguientes puntos:


 Realizar un análisis para que el sistema de información proporcione el
servicio aun cuando no se encuentre activa la conexión con el servidor del
sistema.
 Mejorar el diseño de las interfaces tanto del cliente como el servidor.
 Mejorar el monitoreo de procesos identificando subprocesos o llamadas a
otros procesos de los que se encuentran activos.
 Poder asignar permisos desde el cliente y no desde el servidor.

Página | 91
Sistema de información para administración de usuarios y control de aplicaciones
en el laboratorio de computación

 Que el cliente pueda elegir a quien solicitar los permisos sobre los usuarios.
 Reconocimiento automático de equipos en red.
 Reestructurar el árbol del servicio de directorios para poder manejar los
turnos del laboratorio.

Bibliografía

[1] Kosciuk, N. H. (2006). Resumen de Sistemas de Información Gerencial. Alfa Epsilon.


[2] Laudon, K. &. (2004). Sistemas de Informacion Gerencial. México: Pearson -Prentice
Hall.
[3] James, S. A. (1992). Sistemas de Información para la Administración. México:
Iberoamérica.
[4] Tanenbaum, A. (1998). Sistemas Operativos (Segunda Edición).
[5] Tanenbaum, A. &. (2009). Sistemas Distribuidos: Principios y Paradigmas. Pearson.
[6] Stalling, W. (1997). Sistemas Operativos (Segunda Edición). Salamanca Madrid: Prentice
Hall.
[7] Pérez, M. (2009). Windows 7 en profundidad. RC Libros
[8] Ferraiolo, D. a. (2007). Role-Based Access Control (Segunda Edición). Norwood: Artech
House.
[9] García, Javier. &. (2000). Aprenda Java como si estuviera en primero. San Sebatian:
TECNUM.

Página | 92

También podría gustarte