Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
SISTEMA INTEGRAL PARA EL CONTROL DE CUENTAS DE DOMINIO PROVINCIAL
Autores:
Lic. Miguel José Tamayo Yero
Lic. Juan Javier Lemes Báez
Ing. Teudis Naranjo Ortiz
[RESUMEN]
Resumen
El nodo provincial de Infomed de la provincia Granma se basa fundamentalmente en la
prestación de servicios informáticos y conectividad a las instituciones y usuarios de la red
de salud de toda la provincia. Durante un estudio realizado se detectaron un grupo de
limitaciones presentadas por los usuarios esencialmente en la utilización y soporte del
servicio de correo electrónico.
Hasta ese momento se estaba utilizando la herramienta vexim que permite la
configuración de los diferentes dominios virtuales de correo, creación, modificación y
eliminación de cuentas fundamentalmente. Sin embargo no cumplía con las necesidades
existentes para poder satisfacer a los usuarios de la red provincial.
En aras de resolver la situación existente surge la idea de implementar un sistema de
trabajo con una aplicación accesible desde la red provincial que permitiera la
administración de usuarios por unidades del dominio provincial de correo
“grannet.grm.sld.cu”, similar al “Manager de Infomed”, aunque incorporándole nuevas
funcionalidades y facilidades de búsqueda y actualización.
En este trabajo se presenta una solución para mejorar la utilización y soporte del correo
electrónico, donde se gana en organización y control. De esta forma se crea una
aplicación web con ayuda de tecnologías y software libre, para lograr darle solución al
problema que se plantea.
[TABLA DE CONTENIDOS]
1
INTRODUCCIÓN .............................................................................................................. 2
FUNDAMENTACIÓN TEÓRICA. ..................................................................................... 5
Lenguajes de Programación ..................................................................................... 5
Gestor de Base de Datos ........................................................................................... 6
Frameworks de Desarrollo......................................................................................... 7
CARACTERÍSTICAS DEL SISTEMA.............................................................................. 9
CONCLUSIONES ........................................................................................................... 11
RECOMENDACIONES .................................................................................................. 12
REFERENCIAS BIBLIOGRÁFICAS ............................................................................. 13
ANEXOS ......................................................................................................................... 14
Anexo 1. Autenticación del sistema. ...................................................................... 14
Anexo 2. Datos nivel de Usuario............................................................................. 14
Anexo 3. Cambio de contraseña. ............................................................................ 15
Anexo 4. Detalles de Usuario. ................................................................................. 15
Anexo 5. Nivel de Representante............................................................................ 16
Anexo 6. Gestionar Usuarios en nivel Representante. ........................................ 16
Anexo 7. Modificar Usuarios en nivel Representante. ......................................... 17
Anexo 8. Subir Contrato en nivel Representante. ................................................ 17
Anexo 9. Buscador en nivel Representante. ......................................................... 17
Anexo 10. Distribución de usuarios por unidades en nivel Representante. ..... 18
Anexo 11. Nivel Administrador. .............................................................................. 18
Anexo 12. Crear cuenta en nivel de Administrador. ............................................. 19
Anexo 13. Gestionar representantes en nivel Administrador. ............................ 19
Anexo 14. Gestionar Unidades en nivel Administrador. ...................................... 20
Anexo 15. Crear Unidades en nivel Administrador. ............................................. 20
Anexo 16. Mantenimiento en nivel Administrador................................................ 20
Anexo 17. Nivel SuperAdmin................................................................................... 21
Anexo 18. Buscador de Acciones de la bitácora SuperAdmin. .......................... 21
INTRODUCCIÓN
2
INTRODUCCIÓN
El nodo provincial de Infomed de la provincia Granma desde sus inicios radicó en la
Filial de Ciencias Médicas en Manzanillo (actual Universidad de Ciencias Médicas
UCMG), asumiendo esta responsabilidad los administradores de la red de la filial. A
medida que la red de Infomed se fue extendiendo tanto en servicios como en usuarios
mantener esta actividad funcionando a toda su capacidad se hacía más engorrosa,
dificultándose en muchos casos la atención oportuna y efic iente a muchos de estos
servicios.
A raíz de estos antecedentes se fueron arrojando a la luz las insatisfacciones de
muchos de los usuarios que utilizan principalmente el servicio de correo electrónico.
Con motivo de estas acciones y otras se decide trasladar el nodo provincial para la
sede del Centro Provincial de Información radicada en Bayamo capital provincial y la
incorporación de nuevo personal para la atención a usuarios y administración de los
servicios del nodo.
El nodo se basa fundamentalmente en la prestación de servicios informáticos y
conectividad a las instituciones y usuarios de la red de salud de toda la provincia.
Los servicios fundamentales que se brindan son:
1. FTP
2. DNS
3. HostingWeb
4. Mensajería Instantánea (Jabber)
5. Correo Electrónico
6. RELAY SMTP para subdominios
Una vez establecido el nodo en esta ubicación se realizaron varios estudios de los
servicios y entrevistas a usuarios para conocer el nivel de insatisfacción de estos y en
donde se encontraban focalizados.
Esto arrojo una serie de limitaciones presentadas por los usuarios esencialmente en la
utilización y soporte del servicio de correo electrónico.
INTRODUCCIÓN
3
- LIMITACIONES EN EL SERVICIO DE CORREO ELECTRONICO.
1. Inexistencia de un sistema o mecanismo para el cambio de contraseña.
(esto se hacía vía teléfono desde toda la provincia al nodo).
2. Cualquier trámite, gestión de actualización o cambio se dificultaba porque el
usuario tenía que desplazarse hasta el nodo o enviar las solicitudes con
mensajeros o alguien que fuera al nodo.
3. Dificultad en la localización del usuario para darle a conocer su usuario y
contraseña en los casos de que ya existiera el usuario propuesto o en el
caso de omisión del usuario.
4. La base de datos no recogía mucha de la información que aparece en la
planilla de contrato, y otras necesarias para el correcto control del servicio,
ej: fecha de creación, datos del creador de la cuenta, sexo, etc.
5. La atención a usuarios y el soporte a los servicios estaba limitada a días y
horarios específicos en la semana (Martes y Jueves de 8:00AM a 12:00M y
de 2:00 y 5:00).
6. Todos los buzones de correo se creaban con alcance internacional
independientemente de ser privados o institucionales.
7. El no conocimiento de cuando un usuario era baja del sistema de salud.
Lo que trajo como consecuencia:
Descontrol.
Creación de buzones dobles.
Perdida de las planillas en el tramite desde el usuario hasta el nodo.
Entrega en mal estado de las solicitudes de creación de cuentas.
Solicitudes mal elaboradas o con falta de muchos de los datos requeridos.
Vulnerabilidad de los buzones en cuanto al cambio de contraseña.
Envió de correos electrónicos a dominios internacionales de cuentas
institucionales para asuntos personales.
INTRODUCCIÓN
4
Hasta ese momento se estaba utilizando la herramienta vexim que permite la
configuración de los diferentes dominios virtuales de correo, creación, modificación y
eliminación de cuentas fundamentalmente. Sin embargo no cumplía con las
necesidades existentes para poder satisfacer a los usuarios de la red provincial.
Teniendo en cuenta todo esto y la información brindada por la directora del Centro
Provincial de Información sobre el proceso de implementación de representantes de
Infomed, pensado principalmente para evitar situaciones como estas.
En aras de resolver el problema planteado, se define como Objetivo General
desarrollar una aplicación web que permita la administración de usuarios por entidades
del dominio provincial de correo “grannet.grm.sld.cu”.
Para complementar lo formulado en el objetivo general se trazaron los siguientes
Objetivos Específicos:
Definir una arquitectura que corresponda a las necesidades del sistema a
implementar.
Identificar las herramientas necesarias para desarrollar la aplicación web.
Integrar componentes que permitan dar cumplimiento a los requisitos
planteados.
FUNDAMENTACIÓN TEÓRICA
5
FUNDAMENTACIÓN TEÓRICA.
Para la realización de la aplicación se creó un grupo de trabajo integrado por los
administradores del nodo, el especialista principal y el programador del Centro
Provincial de Higiene.
En el diseño se tuvieron en cuenta la utilización de tecnologías y software libre,
buscando una homogeneidad con las implementadas por Infomed.
Para el desarrollo de la aplicación se tuvieron en cuentas los siguientes aspectos
Lenguajes de Programación.
PHP 5.
Java Script.
PHP
PHP es un lenguaje de script interpretado que se ejecuta del lado del servidor,
utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML
y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su
funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La
mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas
características específicas. Los archivos cuentan con la extensión (php)[1].
Una de sus características más potentes es su soporte para gran cantidad de bases
de datos. Entre su soporte pueden mencionarse InterBase, mSQL, MySQL, Oracle,
Informix, PostgreSQL, entre otras. PHP también ofrece la integración con varias
bibliotecas externas, que permiten que el desarrollador haga casi cualquier cosa desde
generar documentos en formato “pdf” hasta analizar código XML[2].
Como producto de código abierto, PHP goza de la ayuda de un gran grupo de
programadores, permitiendo que los fallos de funcionamiento se encuentren y se
reparen rápidamente. También, es utilizado en aplicaciones web relacionadas por
algunas de las organizaciones más prominentes tales como Mitsubishi, Redhat,
DerSpiegel, MP3-Lycos, Ericsson y NASA[2].
FUNDAMENTACIÓN TEÓRICA
6
JavaScript
JavaScript es un lenguaje de programación que se utiliza principalmente para crear
páginas web dinámicas.
Una página web dinámica es aquella que incorpora efectos como aparición y
desaparición de texto, animaciones, acciones que se activan al pulsar botones u otros
elementos y ventanas con mensajes de aviso al usuario.
Técnicamente, JavaScript es un lenguaje de programación interpretado, por lo que no
es necesario compilar los programas para ejecutarlos. En otras palabras, los
programas escritos con JavaScript se pueden probar directamente en cualquier
navegador sin necesidad de procesos intermedios[3].
Gestor de Base de Datos.
Mysql
Sistema de Gestión de Bases de Datos (SGBD).
Consiste en un conjunto de programas, procedimientos y lenguajes que nos
proporcionan las herramientas necesarias para trabajar con una base de datos.
Incorporar una serie de funciones que nos permita definir los registros, sus campos,
sus relaciones, insertar, suprimir, modificar y consultar los datos. (Access, SQLServer,
Informix, etc.)[4]
MySQL
Características de MySQL
Aprovecha la potencia de sistemas multiprocesadores, gracias a su
implementación multihilo.
Soporta gran cantidad de tipos de datos para las columnas.
Dispone de APIs en gran cantidad de lenguajes (C, C++, Java, PHP,
etc.).
Gran portabilidad entre sistemas.
Gestión de usuarios y contraseñas, manteniendo un muy buen nivel de
seguridad en los datos.
FUNDAMENTACIÓN TEÓRICA
7
Frameworks de Desarrollo
Codeigniter versión 1.7.2
JQuery versión 1.5
¿Qué es un Framework?
El término framework, se refiriere a una estructura software compuesta de
componentes personalizables e intercambiables para el desarrollo de una aplicación.
“Un frameworkweb, por tanto, se puede definir como un conjunto de componentes (por
ejemplo: clases en java y descriptores y archivos de configuración en XML), un diseño
reutilizable que facilita y agiliza el desarrollo de sistemas web.”[5]
Los objetivos principales que persigue un framework son: acelerar el proceso de
desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo,
como el uso de patrones.
La mayoría de los frameworksweb implementan el patrón Modelo-Vista-Controlador
(MVC), el cual permite una arquitectura que ofrece mayor interactividad con los
usuarios. Este patrón organiza la aplicación en tres capas, la primera capa es un
modelo que representa los datos de la aplicación y sus reglas de negocio, la segunda
capa es un conjunto de vistas que representa los formularios de entrada y salida de
información, la tercera capa conocida como controladora es la que procesa las
peticiones de los usuarios y controla el flujo de ejecución del sistema.
Codeigniter
Características generales.
Versatilidad: Es capaz de trabajar la mayoría de los entornos o servidores, incluso en
sistemas de alojamiento compartido, donde sólo tenemos un acceso por FTP para
enviar los archivos al servidor y donde no tenemos acceso a su configuración.
Compatibilidad: Es compatible con cualquier versión PHP, lo que hace que se pueda
utilizar en cualquier servidor.
Facilidad de instalación: Su configuración se realiza con apenas la edición de un
archivo, donde debemos escribir cosas como el acceso a la base de datos.
FUNDAMENTACIÓN TEÓRICA
8
Ligereza: El núcleo es bastante ligero, lo que permite que el servidor no se
sobrecargue interpretando o ejecutando grandes porciones de código. La mayoría de
los módulos o clases que ofrece se pueden cargar de manera opcional, sólo cuando
se van a utilizar realmente.
Documentación: La documentación es fácil de seguir y de asimilar, porque está
escrita en modo de tutorial. Esto no facilita mucho la referencia rápida, cuando ya
sabemos acerca del framework y queremos consultar sobre una función o un método
en concreto.
También se puede decir que ha recibido los elogios de Rasmus Lerdorf1quien
mencionó que le gustaba Codeigniter porque es rápido, pequeño y el que menos se
parece a un framework.
JQquery
Características generales.
jQuery es un framework para el lenguaje Javascript, que nos permiten programar sin
preocuparnos por los diferentes navegadores, ya que funciona de exacta forma en
todas las plataformas más habituales. Este framework, nos ofrece una infraestructura
con la que tendremos mucha mayor facilidad para la creación de aplicaciones
complejas del lado del cliente. Por ejemplo, con jQuery obtendremos ayuda en la
creación de interfaces de usuario, efectos dinámicos, aplicaciones que hacen uso de
Ajax, etc. Además, todas estas ventajas que sin duda son muy de agradecer, con
jQuery las obtenemos de manera gratuita, ya que el framework tiene licencia para uso
en cualquier tipo de plataforma, personal o comercial. Para ello simplemente
tendremos que incluir en nuestras páginas un script Javascript que contiene el código
de jQuery, que podemos descargar de la propia página web del producto y comenzar a
utilizar el framework.
1 Rasmus Lerdorf creador del lenguaje PHP.
CARACTERISTICAS DEL SISTEMA
9
Características del Sistema.
La aplicación cuenta con 4 niveles de acceso, Usuario, Representante, Administrador
y SuperAdmin donde cada uno para poder acceder al sistema necesita introducir
usuario y contraseña (Anexo 1) independientemente del rol que tenga.
Nivel Usuario: a este nivel solo es visible la información referente al usuario
autenticado en el sistema (Anexo 2) y la herramienta para el cambio de contraseña
(Anexo 3).
En este nivel también se tuvo en cuenta la implementación de una herramienta que
permitiera al usuario actualizar o rectificar su información personal partiendo de los
datos plasmados en el contrato, por defecto esta opción aparece deshabilitada
(Anexo 4).
Nivel Representante: a este nivel solo es visible la información correspondiente a
todos los usuarios pertenecientes a la unidad o institución del representante. Permite
buscar, modificar, listar y exportar los usuarios, así como una gráfica con los usuarios
por unidad o unidades del representante (Anexo 5,6, 7,8, 9 y 10).
Nivel Administrador: a este nivel es visible toda la información referente a los
usuarios de dominio, unidades, representantes y la creación de nuevas cuentas.
En la pantalla principal se incluyen las opciones de Gestionar Usuarios y Buscador,
con todas sus opciones, Modificar, Detalles y Contratos, igual que en el Nivel
Representante, además se incluyen las opciones de “Gestionar Representantes”,
“Mantenimiento”, “Gestionar Unidades”, “Crear Cuenta”, también se incluye una gráfica
de cantidad de usuarios por municipios (Anexo 11).
Crear Cuenta: por medio de esta opción se puede realizar la creación de las cuentas
de correos o buzones del dominio (Anexo 12). Se han incrementado un grupo de
parámetros para aumentar el nivel de control sobre el usuario.
También se insertan de forma automática y transparente los datos del administrador
que crea el usuario, la fecha, hora y dirección IP, llevándose una bitácora con todos
estos datos de forman que puedan servir como registros auditables en caso que fuera
necesario
CARACTERISTICAS DEL SISTEMA
10
Gestionar Representante: Permite tener todos los datos referentes a los todos los
representantes de las diferentes entidades de Salud de la provincia de Granma,
incluye una opción “Asignar Unidades” para asignar unidades en los casos de que
varias unidades sean representadas por el mismo representante (Anexo 13).
Gestionar Unidades: listados con las opciones para la creación, modificación y
eliminación de unidades (Anexo 14 y 15).
Mantenimiento: herramienta para la detección de usuarios con más de un buzón,
cuenta con las opciones para ver los Detalles del Usuario, Eliminar y Enviar Correo a
todos los buzones detectados (Anexo 16).
Nivel SuperAdmin: este nivel contiene todas las opciones del Nivel Administrador
más la opción “Historial”, que permite visualizar todas las acciones realizadas por los
administradores, en cuanto a inicio y cierre de sesión, creación, eliminación y
actualización de cualquiera de los usuarios del dominio (Anexo 17 y 18).
CONCLUSIONES
11
CONCLUSIONES
Con este trabajo se logra crear una herramienta capaz de satisfacer las necesidades
existentes por parte de los usuarios de la red provincial de salud, específicamente en
la utilización del servicio de correo. Podemos decir que el nodo provincial ganó en
organización ya que dicho sistema permite el control de buzones repetidos, la
digitalización de los contratos, la creación ,modificación y eliminación de cuentas de
correo tanto privadas como institucionales, el cambio de contraseñas, así como
también la creación de los representantes por entidades, es importante destacar que
con esta funcionalidad se garantiza el control de los usuarios por las diferentes
entidades y de esta forma se tiene conocimiento cuando un usuario resultó baja del
sistema de salud .
RECOMENDACIONES
12
RECOMENDACIONES
Como resultado del presente trabajo se obtuvo un sistema informático que aunque
resuelve la problemática planteada inicialmente, puede ser refinado con el objetivo de
lograr un incremento en su calidad, a continuación se exponen algunas
recomendaciones a tener en cuenta para futuras versiones del producto:
Integrar otros dominios virtuales de correo al sistema.
Analizar después de un período de tiempo el impacto que ha tenido el software
en la red provincial.
REFERENCIAS BILIOGRÁFICAS
13
REFERENCIAS BIBLIOGRÁFICAS 1. Valdés, Damián Pérez. Maestros del web. [En línea] 19 de Julio de 1997. [Citado el: 7 de
junio de 2011.] http://www.maestrosdelweb.com/principiantes/los-diferentes-lenguajes-
de-programacion-para-la-web/.
2. S, Christian Van Der Henst. Maestros del web. [En línea] 19 de Julio de 1997. [Citado el: 7
de junio de 2011.] http://www.maestrosdelweb.com/editorial/phpintro/.
3. Pérez, J.E., Introducción a JavaScript. 2007.
4. Facultad Regional La Plata. UTN-FRLP (Facultad Regional La Plata). [En línea] [Citado el: 1
de agosto de 2011.] http://www.frlp.utn.edu.ar/materias/info2/bases_de_datos.htm.
5. Gutiérrez, Javier J. CSSBlog.es. ¿Qué es un framework web? [En línea] [Citado el: 27 de
agosto de 2011.] http://www.cssblog.es/guias/Framework.pdf.
ANEXOS
14
ANEXOS
Anexo 1. Autenticación del sistema.
Anexo 2. Datos nivel de Usuario.
ANEXOS
15
Anexo 3. Cambio de contraseña.
Anexo 4. Detalles de Usuario.
ANEXOS
16
Anexo 5. Nivel de Representante.
Anexo 6. Gestionar Usuarios en nivel Representante.
ANEXOS
17
Anexo 7. Modificar Usuarios en nivel Representante.
Anexo 8. Subir Contrato en nivel Representante.
Anexo 9. Buscador en nivel Representante.
ANEXOS
18
Anexo 10. Distribución de usuarios por unidades en nivel
Representante.
Anexo 11. Nivel Administrador.
ANEXOS
19
Anexo 12. Crear cuenta en nivel de Administrador .
Anexo 13. Gestionar representantes en nivel Administrador .
ANEXOS
20
Anexo 14. Gestionar Unidades en nivel Administrador .
Anexo 15. Crear Unidades en nivel Administrador.
Anexo 16. Mantenimiento en nivel Administrador .
ANEXOS
21
Anexo 17. Nivel SuperAdmin.
Anexo 18. Buscador de Acciones de la bitácora o histórico en nivel
SuperAdmin.