"DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" 1RABAJO DE GRADUAOÓN PRESENTADO PARA LA FACULTAD DE ESTUDIOS TECNOLÓGICOS PARA OPT'AR AL GRADO DE TÉCNICO EN INGENIERÍA EN C0MPUTAOÓN PRESENTADO POR: COREA RAMOS, MARLENE YANIRA FRANCA HERNÁNDEZ, MA YRA ELIZABETH MENDOZA RAMOS, SORAYA CAROUNA ASESOR: TEC. DENNIS ENRIQUE MENDOZA RAMOS OCTUBRE DE 2002. SAN SALVADOR, EL SALVADOR, CENTR0AMERICA. UNIVERSIDAD DON BOSCO RECTOR ING. FEDERICO MIGUEL HUGUET RIVERA SECRETARIO GENERAL UC. MARIO OLMOS DECANO DE LA FACULTAD TECNOLÓGICO ING. VICTOR CORNEJO ASESOR DEL TRABAJO DE GRADUACTON TEC. DENNIS ENRIQUE MENDOZA RAMOS JURADO EVALUADOR ING. GERALD MORAN ING. ALBERTO DÁVILA UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACTÓN JURADO EVALUADOR DEL TRABAJO DE GRADUACIÓN "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLICADO A CUNICAS MEDICAS" TEC. DENNIS MENDOZA AGRADECIMIENTOS GENERALES Como grupo de trabajo queremos agradecer a las siguientes personas, quienes nos brindaron su apoyo incondicional para lograr nuestro triunfo: @ Ing. Víctor Cornejo @ Ing. Gerald Morán @ Ing. Alberto Dávila @ Ing. Susana Toledo @ Ing. Erick Salvador 0 Ing.ÁngelPosada 0 Ing. Rolando Álvarez @ Tec. Dennis Mendoza @ Tec. Rolando Poma @ Tec. Carlos Tejada @ Daniel Arita @ Gilberto Meléndez AGRADECIMIENTOS Y DEDICATORIAS DE MAYRA Le agradezco primeramente a Dios por habenne permitido salir adelante en mis estudios y por obtener este título, y por estar en todo momento conmigo. A mis padres Nelson Joaquín Francia y Martha del Rosario Hdez. de Francia por su apoyo y por su amor incondicional, ya que en estos momentos fue muy importante para mí, muchas gracias, los quiero mucho. A mi familia en general, pero en especial a mi hermanita Astrid por su apoyo y cariño y también a mi abuelito Henninio Hemández (Q.E.P.D.) por ser tan lindo conmigo, los quiero mucho. A mi novio, Ricardo Annando Meléndez Rosales por su apoyo y paciencia, pero sobre todo por su amor, además a la Familia Meléndez Rosales, gracias, los quiero mucho. A mis amigos que nos apoyaron siempre: Roger y su familia, Silvia, Roberto (chori), Nelson, Claudia, carmen, Wendy, Geraldina, William, Rhina y demás amigos de la Universidad, que siempre han estado pendientes, pero sobre todo por brindamos su amistad, muchas gracias. A un gran amigo Jonathan Ugarte Recinos, por su cariño y por su apoyo, aunque no estés aquí, sé que te gustaría estarlo. A mis compañeras de tesis Soraya y Marlene por habenne elegido como su compañera de tesis. A nuestro asesor Tec.. Dennis Mendoza por su paciencia y apoyo. AGRADECIMIENTOS Y DEDICATORIAS DE MARLENE Agradezco en primer lugar a Dios por haber obtenido este triunfo tan importante en mi vida. A mis padres José H. Corea y Margoth Ramos por haberme apoyado moralmente, espiritualmente y económicamente. A mi familia en general por su apoyo incondicional. A mis compañeras de tesis por su paciencia, comprensión y ayuda, especialmente a Soraya por haberme soportado mis malos ratos y mis enojos, a Mayra por soportar nuestros cambios de humor. Además quiero agradecer a mi amigo Gilberto Meléndez por su desinteresada e incondicional ayuda, a mis amigos carios Uriarte, Neldy, Mariela y demás, por desearme suerte y por estar pendiente de lo que sucedía con el Proyecto de Graduación. Y a todos las demás personas que estuvieron apoyándonos y dándonos ánimo para seguir adelante. Finalmente a nuestro asesor Tec. Dennis Mendoza por ayudarnos y no dejamos solas en ningún momento. AGRADECIMIENTOS Y DEDICATORIAS DE SORAYA Quiero agradecer y dedicar este nuevo triunfo en mi vida a Dios, ya que el me ha iluminado y acompañado en todo momento de mi vida. Gradas por danne la voluntad y fortaleza para alcanzar el objetivo de tenninar este trabajo tan importante para mi vida profesional. A MI MANITA UNDA LUCÍA DE MENDOZA, gracias por el amor de madre que me brindas, por tu apoyo, paciencia, cariño y compresión. Gracias por estar conmigo aún en los momentos más difíciles y por sus oraciones en los momentos en que más las necesitaba. TE QUIERO MUCHO MADRECITA QuERJDA. A MI PADRE Jesús MENDOZA, gracias por tu apoyo y compresión que me has dado en toda mi vida. A MI HERMANO DENNIS, gracias por haberme apoyado y a la vez ayudado a alcanzar esta meta importante para mi. TE QuIERO MUCHO SINNED. A MI NOVIO, gracias amorcito por danne todo tu amor, comprensión y ayuda incondicional. Gracias por estar conmigo en los momentos más dificiles y en los que más te he necesitado. TE QuIERO MUCHO, A MIS ABUELOS JOSÉ Y losEFA, gracias por estar por pendiente de mi en esta etapa de mi vida y brindanne su apoyo~ VICENTA Y ALONSO, aunque ya no estén fisicamente conmigo, pero los llevo dentro de mi corazón y les dedico este triunfo. A MIS COMPAfiERAS y AMIGAS DE TESIS MAYRA y MARLENE, gracias por su esfuerzo y su paciencia que me tuvieron durante el tiempo que hemos compartido. Que a pesar de vivir momentos difíciles logramos superarlos. A MIS AMIGOS SILVIA y ROGER, gracias por la amistad y el apoyo que me brindan cada momento, son una personas importantes dentro de mi vida ya que en ustedes he encontrado unos buenos y sinceros amigos. Los QUIERO MUCHO. A MIS AMIGOS ROBERTO (CHORI), NELSON, JOSÉ (CHIRI), gracias por la amistad que me brindan y sobretodo por su ayuda, cariño y apoyo. A MIS AMIGOS DE HUELLAS DE CRisro, gracias por su apoyo y por tenenne en cuenta en sus oraciones. A MIS AMIGOS, gracias por habenne ayudado y apoyado en la culminación de este proyecto y de esta nueva etapa de mi vida. Carolina Rivera Cristian Aquino Gilberto Melendez · Griselda Umaña Julio Martínez Mario Moran Karina Henríquez Mario Henríquez Miguel Barahona Ricardo Elena Roberto Calles Salvador Laínez Muchas gracias a todos. Carlos Alfaro Carlos Tejada Guillermo Portillo José Moreno Jaime Hemández Boris Turcios Karla Merino María J. Olgar Nancy Monterrosa Rhina Huezo Rolando Poma Silvia Miranda INDICE Contenido INlR0DUCCIÓN l. CAPITULO I: ANÁUSIS PREUMINAR 1.1 1.2 Antecedentes .................................•.................. Definición del Tema ..................•........................ 1.2.1 Objetivo General ............................................. . 1.2.2 Objetivos Específicos ....................................... . 1.2.3 Alcances ......................•.•.............•................•... 1.2.4 Limitaciones ....................................................... . 1.3 Importancia y Justificación del Tema ................ . 1.4 Descripción del Proyecto .................................. . 1.4.1 Situación Actual 1.4.2 Situación Propuesta ........•............•........•.....•..... II. CAPITULO II: MARCO TE0RIC0 2.1 Bases de Datos .........•...•.............•................... 2.2 Sistemas de Distribución .................................... . 2.3 Redes Locales .....................•..........•....•............... 2.4 Protocolos TCP / IP ......................................... . 2.5 aiente / Servidor •......................................••.... 2.6 Hl-rP ................................................................. . 2.7 HTML ................................................................ . 2.8 0DBC .•.................................•.....•.•.....•............ III. CAPITULO III: METODOLOGÍA DE INVESTIGAOÓN 3.1 Fuentes de Información ..••.•...........•.•.................. 3.2 Procedimientos de la Metodología ........................ 3.3 Estudio de Factibilidades ..................................... 3.4 Determinación de Requerimientos ....................... ............ .............. ......•..... ................ ............ ............ ............ ............ •.•...•..... •...•.••.... ............ •........... No. Pág. 1 3 3 4 6 7 8 9 11 12 31 35 42 46 50 52 54 55 56 58 59 3.5 Windows 2000 Server ••.•••.....•...•....•..........•.•.....• ............ 62 3.6 Internet Infonnation Server ••••.••.....••.•......•........ ············· ·· 64 3.7 SQL 7 .O •..•..•........••.•..•...•..••..••.....•..........•........•• ............... 68 3.8 ASP •••.•...•••••.•••••.•••••••••.•..•.•••...•.•..•....•.•..••.••..••• . ............ 74 3.9 Niveles de Capas ............•...•......••.....•............•... ............ 77 3.10 Modelo Entidad - Relación ................................. ............ 79 3.11 DFD ••••••.•..•..•...........•.••....•.•.••.••...•......•..••••.•.••. ..•.•......• 84 3.12 Diccionario ele Datos ....•.................•.•................. ............ 94 IV CONCLUSIONES ......................................................... ............ 106 , V BIBUOGRAFIA .......................................................... ............ 108 , VI GLOSA.RIO ~CNICO .........•..•.......••..•................•........ • 1•1•1•11111 109 VII ANEXOS 7.1 Cronograma de Actividades ......•......................... ············ 113 7.2 Presupuesto ..........•.................•...................•..... ......•.•..• 115 7.3 Especificaciones Técnicas del Servidor ................. ..•....•.... 117 7.4 Especificaciones Técnicas del Cliente .................... ············ 118 A. Formulario para Solicitud de Exámen Clínico ........ . ...•••...• 119 B. Fonnulario de Respuesta de Exámen Clínico ........ 1111 •• 11 • 1 • 1 120 c. Comparación de Precios Windows 2000 Server .... . .•.•....•.• 121 D. Cotización Precio Licencia SQL Server v. 7.0 ......... . .........•• 122 E. Manual del Usuario ............................................ . ••••...•... 123 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" INTRODUCCION En la actualidad el campo de la medicina es una de las áreas que mayormente se han visto beneficiadas al poder contar con sistemas automatizados que les permiten recuperar sus datos en el menor tiempo posible, lo cual representa un beneficio para los usuarios de dicha área, pues los procesos de captura y recuperación de información se hacen mucho más rápido. El desarrollo de este proyecto induye los siguientes capítulos básicos: En el capítulo I, se describen los Antecedentes, en los cuales . se mencionan los intentos, soluciones y resultados obtenidos previamente por proyectos similares y el desarrollo de sistemas afines en la actualidad, se especifican los objetivos, alcances, limitaciones que se determinaron en el proyecto. Además se exponen los medios y condiciones actuales en las que se desenvuelve el consultorio (Situación Actual), proponiendo las condiciones futuras que podrían llegar a alcanzarse con la implementación de dicho sistema (Situación Propuesta). Luego la justificación, en esta parte se determina la necesidad del proyecto como también la solución, y a la vez los diferentes beneficios que proporcionará el mismo a las diferentes personas que interactúan en el consultorio. En el capítulo II, se presenta el marco teórico el cual contiene todos los temas tales como: Bases de Datos, Red de Area Local, Protocolos TCP/IP, Cliente/Servidor, HTML, ODBC. Que sirven como complemento para entender el sentido de la aplicación. En el capítulo III, se encuentra la metodología empleada para el desarrollo del sistema y además se presentan las herramientas que se utilizaron para el desarrollo del sistema las cuales son: ASP, SQL, Windows 2000 Server. "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLICADO A CUNICAS MEDICAS" También se detalla lo que son los diccionarios de datos, diagramas de flujo y modelo Entidad - Relación. Finalmente se exponen las condusiones, glosario técnico, bibliografías, anexos( cronograma y presupuesto, cotización de licencias de software, fonnularios para la realización de exámenes médicos) y el manual de usuario que servirá como guía para una mayor comprensión del sistema. 11 e! ,&p ·1~TUift•· O 1· A ·_ -. . -, J -: : , ; --·_ ANALI~ .- ·s:,s; ,m IM'IN¡' • » ' _, ' j . - ' . - - ' - ~~J¿ ' ' . - _ _¡ '.an._ "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A QJNICAS MEOICASn ANTECEDENTES La entidad "Cínicas Unidasn se creó en Junio del año 2000, con el fin de atender las necesidades de servicios de salud en el Departamento de San Vicente. Inició sus operaciones de labor médica con los Doctores Abel Alberto Linqui y Evelyn Roxana de Unqui (actuales propietarios y administradores de la institución) brindando los servicios_ de Medicina General, Pediatría, Ginecología y Laboratorio Clínico. Transcurridos aproximadamente 3 meses de su fundación y debido a las crecientes necesidades, se incorporan los siguientes servidos: Observación, Fisioterapia, Cirugía Plástica, Cirugía General, Terapia respiratoria, Medicina Interna y Emergencias. Inicialmente la Cínica mantenía en uso el convencional sistema de Fichas y Expedientes para el registro de los datos de los pacientes; sin embargo, este sistema manual solo se limitaba a las áreas de Consulta General y de Fannacia Interna. Como apoyo en las tareas administrativas, la institución cuenta con los servicios de una secretaria a tiempo completo, la cual es la responsable del control y archivo de dichas fichas y expedientes. Con el paso del tiempo y ante el creciente volumen de fichas y expedientes que contenían la información de los pacientes, se hace necesario pasar del archivo manual en papel hacia el archivo de los datos a través del uso de computadoras. Para ello, la institución invirtió en la compra de dos computadoras, las cuales han sido de gran ayuda para el registro de la información de los pacientes, reduciendo grandemente el uso y gasto de papel 6 fichas para el registro de dichos datos. "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CUNICAS MEDICAS" Sin embargo, se ha observado que el registro y almacenamiento de la información no se hace de la manera más óptima, aún y cuando se utiliza la computadora como medio principal de almacenamiento de los datos. La institución no cuenta con el apoyo de un sistema_ computarizado que ayude a realizar con mayor eficiencia y seguridad la gestión de la información. Para el registro de los datos de los pacientes, la seaetaria de la institución hace uso de programas ó paquetes utilitarios, tales como MS Word y MS Excel, los cuales no representan en sí un sistema automatizado 6 aplicación apropiada para la realización de dichas tareas. En este sentido surge la necesidad de contar con un sistema automatizado de acuerdo a las operaciones de la institución y que haga uso de una base de datos para la adecuada gestión y almacenamiento de la información. Ya es del conocimiento general la existencia y utilización de sistemas ó aplicaciones automatizadas en algunas dínicas y hospitales del país, tal como es el caso del Hospital Nacional Zacamll, en el cual se benefician de la ayuda que les brinda el uso de un sistema de información personalizado para el ingreso, almacenamiento y recuperación oportuna de su información. De igual manera en el Hospital de Niños Benjamín Bloom, se cuenta con un sistema de información que les permite agilizar la captura y consulta de los datos de los pacientes, realizar la programación de consultas ó citas mediante el sistema, etc. En otras instituciones de menor tamaño, también poseen sistemas automatizados pero no tan complejos como · los de otras instituciones. La complejidad y funcionalidad ele dichos sistemas depende del tamaño y cantidad de operaciones que se realicen en las instituciones. 2 "DISEÑO Y DESARROU.O DE UN SISfEMA DISTRIBUIDO APLICADO A CUNICAS MEDICAS" DEFINICION DEL TEMA OBJmvo GENERAL Diseñar y desarrollar un sistema distribuido que pennita una gestión correcta y adecuada de la lnfonnadón de "Clínicas Unidas" en sus diferentes áreas (Consulta General, Farmacia Interna, Laboratorio Oínico y Emergencias), buscando agilizar los distintos procesos de registro y consulta de datos. OBJmvos ESPEdFICOS ✓ Realizar una investigación preliminar de los procesos actuales de "Clínicas Unidas" y hacer un análisis de los aspectos aíticos referentes a la recolección y manipulación de la infonnadón. ✓ Presentar una propuesta de solución que pueda mejorar los procesos inadecuados de la gestión de los datos y satisfacer las necesidades actuales de la dínic.a. ✓ Diseñar una base de datos orientada a los nuevos procesos propuestos para la gestión de la lnfonnación. ✓ Desarrollar una aplicación orientada a brindar solución a los requerimientos detectados en la fase de investigación preliminar, referentes al ingreso, consulta, actualización y eliminación de los datos ✓ Definir un esquema de seguridad para el acceso y manipulación de la. base de datos y establecer una rutina para la realización de copias de seguridad de la infonnación. ✓ Buscar una mejor eficiencia de los procesos de las Clínic.as Unidas, referente al registro y recuperación oportuna de sus datos, para brindar un mejor servicio a los pacientes y demás usuarios de Oínic.as Unidas. 3 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CLINICAS MEDICAS" ALCANCES La propuesta de solución, pennitirá el cumplimiento de los siguientes aspectos: ✓ Se desarrollará . una Interfaz para la recolección de los datos y consulta de los mismos a través de reportes y búsquedas. ✓ El sistema a desarrollar podrá utilizar una base de datos para almacenar fa infonnación general de la clínica y la posterior recuperación de los datos. ✓ La aplicación abarcará la captura, almacenamiento y recuperación de datos para las siguientes áreas de fa dínica: a) Consulta General: Control de pacientes y control de consulta, también se podrá realizar búsquedas de las consultas y de la infonnación del paciente, además se generarán reportes del historial clínico de los pacientes. b) Emergencias: Control de emergencias ya sea de pacientes internos o externos a fa dínica, realizar búsquedas y generar reportes de fas emergencias atendidas en el día. e) Laboratorio Oínico: Control de los pacientes externos, solicitudes de examen y diagnóstico, búsqueda de diagnóstico y generará reportes de los diagnósticos entregados en una fecha detenninada y reportes de exámenes solicitados. d) Fannacia Interna: En esta área sólo se lleva el control de la solicitud del producto hecha por el paciente. 4 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CUNICAS MEDICAS" ✓ Junto a la aplicación ó sistema a desarrollar, se contemplará la elaboración de los manuales técnicos y de usuario para el correcto aprendizaje en la utilización de la aplicación y el conocimiento de los detalles técnicos de la misma. ✓ Demostrar con la funcionabilidad de la aplicación propuesta, las mejoras de los procesos con respecto a la actual metodología utilizada por la dínica para el manejo de sus datos 6 información. ✓ El sistema estará en la capacidad de realizar la facturación en las áreas de: Farmacia, Laboratorio y Consultas (General y Emergencias). ✓ Realizar un control sobre las acciones ejecutadas por los diferentes usuarios que tengan acceso a dicha aplicación (auditoria de sistemas). Mediante el gestor de base de datos se podrán realizar copias de respaldo (backup) de los datos contenidos en la base de datos y en el manual técnico se presentará la guía de pasos para la realización de dichos backups. 5 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" LIMITAOONES El proyecto propuesto se restringe por los siguientes aspectos: ✓ El proyecto está enfocado a instituciones de salud solamente. ✓ La institución Cínicas Unidas es un modelo de Institución para las cuales se podrá implementar el presente proyecto, sin embargo no implica en ningún momento la implementación real y ñsica del sistema en dicha institución. ✓ La implementación de la propuesta de solución en Cínicas Unidas es responsabilidad directa de dicha institución y únicamente se podrá realizar mediante la negociación directa con los involucrados en este proyecto, tomando en cuenta todos los aspectos nonnativos legales al respecto. ✓ El estudio y análisis de la situación actual se realiza en base a los procesos actuales de Clínicas Unidas y no contempla modificaciones a los mismos posteriores a la realización de dicho análisis y estudio. ✓ La disponibilidad de las herramientas de software y hardware a utilizar para el desarrollo del proyecto, es responsabilidad directa de los involucrados. ✓ El acceso a la aplicación será interno, es decir, a través de una pequeña red de área local. Las instituciones hacia las cuales se enfoca el presente proyecto no cuentan con suficientes recursos de tecnología en línea para realizar conexiones remotas hacia otras dependencias físicas en otros lugares. ✓ El sistema, no implicará el desarrollo de otros módulos administrativos tales como Contabilidad, Bancos, Inventario de medicamentos. ✓ La base de datos a utilizar toma en cuenta la cantidad de usuarios promedio que las instituciones de este tipo y nivel poseen. Por tanto los usuarios de la base de datos no podrán exceder de S. 6 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" IMPORTANCIA Y JUfflFICACON Los aspedX>s de relevancia y de justificación por los cuales se considera que la presente propuesta de solución es la más factible de implementar, se detallan a continuación: ✓ Los datos de los pacientes almacenados en archivos de computadora utilizando programas ó paquetes utilitarios, es una manera inadecuada de registrar y almacenar dicha infonnación. La infonnación contenida en expedientes ó fichas se registra y se guarda de fonna manual en archivos metálicos. Para ambos casos, existe riesgo de pérdida de infonnación y además el uso de fichas y expedientes genera un retraso ó pérdida de tiempo para la recuperación de la información. ✓ Los métodos inapropiados para almacenar y recuperar la infonnación de las diferentes áreas de la dínica, hacen necesario el reemplazo completo del sistema convencional actual por otro que utilice una aplicación automatizada y con conexión a una base de datos. ✓ El nivel de seguridad para el acceso a los archivos con infonnación de los pacientes, hace vulnerable el acceso a la infonnación por parte de personas ajenas a la institución. ✓ La utilización de una aplicación automatizada con un nivel de seguridad en el acceso a la misma, brindaría un grado deseable de confiabilidad e integridad de la información. ✓ Agilizar los distintos procesos de Clínicas Unidas, referentes a la gestión y recuperación de los datos, mejorando los tiempos de respuesta en cuanto a la obtención de los mismos. ✓ El beneficio que se brinda a los usuarios de instituciones de salud es grande por cuanto los servicios son más ágiles y eficientes. 7 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CLINICAS MEDICAS" DESCRIPCION DEL PROYECTO La propuesta de este proyecto consiste en diseñar y desarrollar una aplicación 6 sistema distribuido(a), que permita satisfacer los requerimientos de almacenamiento, control y recuperación de los datos e infonnación de Clínicas Unidas, referente a los pacientes, historial clínico de cada uno de ellos, existencia y disponibilidad de medicamentos en farmacia, control de citas, consultas del día, etc. Con el desarrollo del sistema propuesto se pretende sustituir por completo el actual e inadecuado método de registrar los datos a través de programas ó paquetes utilitarios, tales como Microsoft Word y Excel. Dicho sistema tendrá una interfaz en ambiente web, mediante la cual se podrán acceder a los diferentes formularios para el ingreso y consulta de la información, así como también se podrá generar los reportes requeridos para cada una de las áreas de la institución. El sistema estará en capacidad de realizar la facturación automatizada para las siguientes áreas de servicio que ofrece las Clínicas Unidas: Laboratorio Clínico, Farmacia Interna y Consultas (General y Emergencias). El sistema contará además, con un esquema de seguridad y acceso a los datos, para poder controlar así el resguardo e integridad de la información, evitándose la manipulación de la misma por parte de personal ajeno a la institución. El sistema hará uso de una base de datos para el adecuado almacenamiento y gestión de la información. Esto brinda un mejor nivel de seguridad en el acceso a los datos y la actualización de los mismos. 8 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" SITUACÓN ACTUAL Clínicas Unidas cuenta con dos computadoras actualmente, las cuales utilizan el sistema operativo Microsoft Windows 2000. En dicho equipo, mediante el uso de un procesador de palabras y una hoja de calculo (Microsoft Word y Excel respectivamente) se lleva a cabo el control y manejo de la información general de los pacientes, pero solamente en dos de los cuatro servicios que se prestan en la clínica. Los servicios en los cuales actualmente se lleva un registro y control de información son: Consulta General y Farmacia Interna.@ Para las áreas de· Laboratorio Clínico y Emergencias, la información no se registra mediante el uso de un equipo de cómputo, sino que todo se lleva de forma manual a través de fichas ó expedientes. En este sentido surge el interés de presentar una propuesta de solución al problema que se observa: un método inadecuado de registro de información con equipo de cómputo y el todavía existente método de registro de datos en papel, fichas ó expedientes en este caso. La información actualmente es consultada a diario por los médicos, quienes hacen las peticiones de la información de pacientes a la secretaria. cabe mencionar que las computadoras de Clínicas Unidas se encuentran conectadas mediante una pequeña red, lo cual les permite compartir los archivos que contienen la información de los pacientes. En ocasiones esta manera de compartir archivos genera cierto descontrol de la información que posee la secretaria con relación a la que maneja el médico, dado que este último puede realizar modificaciones ó cambios a dichos archivos sin actualizar los archivos de la secretaria. Esto es otro de los aspectos que motivan el reemplazo de las prácticas actuales por un verdadero sistema de información automatizado. @ Ver Anexos A y B como muestra del tipo de fonnularios aún utilizados 9 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" En caso de que la infonnación solicitada por los médicos no se encuentre en archivos de computadora, sino que está registrada en fichas o expedientes, la secretaria procede a la búsqueda tísica de dicha infonnación en los archivos de expedientes que tiene a su cargo, lo cual genera un mayor tiempo en la recuperación de información que en ocasiones se desearía con mayor agilidad. Haciendo un breve resumen de la situación actual y en base a los aspectos ya expuestos, se han detectado tres problemas principales: 1. No toda la información se registra y almacena mediante el uso de archivos de computadora. Esto representa un factor crítico dado que también existe información contenida en fichas ó expedientes y que son manipulados por varias personas, lo cual podría producir una pérdida de infonnación sin dar oportunidad posterior para la recuperación de dichos datos. 2. No existe un control seguro de la información almacenada en archivos de computadora. La infonnación registrada mediante el uso de paquetes utilitarios como Microsoft Word y Excel, es trasladada de una tenninal a otra sin llevar un control confiable de los cambios entre una y otra. Esto genera en algunos casos la existencia de dos versiones del mismo archivo pero con información diferente. 3. La carencia de una aplicación ó. sistema automatizado provoca retrasos en el área administrativa de la institución. Esto genera una cadena que afecta incluso la parte operativa de la clínica al no contar con la información adecuada en el momento oportuno. Además, el nivel de acceso y seguridad a los archivos de computadora y a las fichas ó expedientes no es confiable, por tanto la información se encuentra expuesta a cualquier situación de riesgo por fuga de la misma. IO "DISEÑO Y DESARROLLO DE UN SISrEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" SITUAOÓN PROPUESTA Para la solución a las necesidades de Clínicas Unidas, expuestas y detectadas anterionnente con relación al manejo y control de los datos de la misma, se propone el diseño y desarrollo de un sistema ó aplicación distribuido(a), capaz de almacenar y administrar la información de una manera más adecuada a la que . actualmente se utiliza, haciendo uso para ello de una base de datos relacional. Esto pennitirá un almacenamiento seguro de la información y la recuperación de los datos en el momento oportuno, así como también la actualización ó mantenimiento de los mismos. La conectividad a la base de datos será una característica importante de la aplicación y los datos serán consultados por medio de una pequeña red de área local. El nivel de seguridad del sistema y la base de datos será administrada a través de la autenticación de usuarios al inicio de cada sesión. Los usuarios tendrán asignados privilegios para el ingreso, consulta, actualización y eliminación de los mismos, constituyéndose así un esquema de seguridad y acceso a los datos. La aplicación en línea que se plantea como propuesta de solución, abarcará la gestión de datos de las cuatro áreas de servicio con las que cuenta la clínica, las cuales son: Consulta General, Laboratorio Clínico, Fannacia Interna y Emergencias. 11 MA.· R' .~co, ; ·. T' · ·t··\;o· ·RJ' ·, .:c •oW ·, ~ .... ·, , / " . . . ~ ~ , . f . '• _::r -·~ • --~ .• - ' . . "" -;;i!l' • • • ~ .... . - -- .• • - -- ~ •. • "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLlCADO A CllNICAS MEDICAS" BASES DE DATOS ANTECEDENTES HISTÓRICOS DE LAS BASES DE DATOS Los sistemas de gestión de bases de datos organizan y estnJcturan los datos de tal modo que puedan ser recuperados y manipulados por usuarios y programas de aplicación. Las estructuras de los datos y las técnicas de acceso proporcionadas por un DBMS y las aplicaciones para las cuales está particularmente bien conformado. MODELO DE DATOS PRIMMVOS Cuando la gestión de bases de datos se popularizó durante los setenta y los ochenta emergieron un número de modelos de datos populares. cada uno de estos primeros modelos de datos tenía ventajas y desventajas que jugaron papeles importantes en el desarrollo del modelo de datos relacional. En muchos sentidos el modelo de datos relacional representó un intento de simplificar los modelos de datos anteriores. Para comprender el papel y la contribución de SQL y modelo relacional, seria útil examinar brevemente algunos modelos de datos que precedieron al desarrollo de SQL. SISTEMAS DE GES11ÓN DE ARCHIVOS Antes de la introducción de los sistemas de gestión de bases de datos, tpdos los datos permanentemente almacenados en un sistema informático, tales como la nómina y los registros de contabilidad, se almacenaban en archivos individuales. Un sistema de gestión de archivos generalmente proporcionado por el fabricante del computador como parte del sistema operativo, llevaba la cuenta de los nombres y ubicaciones de los archivos. El sistema de gestión de archivos básicamente, no tenía un modelo de datos; no sabía acerca de los contenidos internos de los archivos. Para el sistema de gestión de archivos, un archivo que contuviera un documento de procesamiento de textos y un archivo que contuviera 12 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" datos de nóminas aparecían igual. Uno de los problemas que se produjo con el sistema de gestión de archivos es que como el número de archivos y programas crecía con el tiempo, todo esfuerzo de procesamiento de datos de un departamento se perdía en mantener aplicaciones existentes en lugar de desarrollar otras nuevas. Los problemas de mantener grandes sistemas basados en archivos condujeron a finales de los setenta al desarrollo de los sistemas de gestión de bases de datos. La idea detrás de estos sistemas era sencilla: tomar la definición de los contenidos de un archivo y la estructura de los programas individuales y almacenaría junto con una base de datos. Utilizando la información de la base de datos, el DBMS que controlaba podría tomar un papel mucho más activo en la gestión de los datos y en los cambios a la estructura de la base de datos. CONCEPTOS DE BASES DE DATOS En los últimos años se ha vuelto muy popular la expresión BASE DE DATOS, la cual relacionamos en la actualidad con el almacenamiento de información en dispositivos de medios magnéticos. Pero si hacemos referencia a un archivero de una clínica en donde se encuentran los expedientes de todos los pacientes que han asistidos a la cita en los últimos meses, podemos asegurar en cierta medida que dicho archivero es una BASE DE DATOS de expedientes, pero para que se le atribuya realmente este nombre, debe de cumplir con los siguientes principios básicos de toda BASE DE DATOS: ✓ Redundancia controlada o mínima. ✓ Independencia de los datos. ✓ Información relacionada. 13 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" ✓ Integración de la infonnación ✓ Ordenamiento adecuado. Resumiendo lo que es realmente el concepto ideal de una BASE DE DATOS podemos decir que: a) Es una colección de datos interrelacionados almacenados en conjunto sin redundancias perjudiciales o innecesarias, con la finalidad de servir a una aplicación o más, de la mejor manera posible; los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean métodos bien determinados para incluir datos nuevos y para modificar o extraer los datos almacenados. b) Colección de datos debidamente relacionados entre si que son utilizados por los sistemas de control de información de una empresa. Es notable que en las definiciones mostradas anteriormente resalta lo que es la colección de datos, el almacenamiento de datos, la no redundancia y en cierta forma la interrelación de datos entre sí para poder de una manera optima la disponibilidad, organización e integridad de la información que . convenga la base de datos. Esto se puede mencionar como premisa fundamental de toda base de datos, pero si a todo esto lo combinamos con la tecnología actual para el manejo de las mismas, contaríamos con un aprovechamiento realmente óptimo de la disposición de la información, tomando muy en cuenta los beneficios de la utilización de la base de datos, en vez de los Sistemas Convencionales de Aplicación que significa realmente ahorro de costo y tiempo, combinados con una mayor confiabilidad de los resultados a obtener. 14 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO · APUCADO A CUNICAS MEDICAS" Las bases de datos manuales, pueden ser difíciles de gestionar y modificar. Por ejemplo, en una guía de teléfonos no es posible encontrar el número de un individuo si ni sabemos su apellido, aunque conozcamos su domicilio. El tipo de problemas expuestos anteriormente se pueden resolver cuando una base de datos informatizada. Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos. Desde el punto de vista más formal, podríamos definir una base de datos como un conjunto de datos estructurados, fiables y homogéneos, organizados independientemente en máquina, accesibles a tiempo real, compartibles con usuarios concurrentes que tiene necesidades de información diferente y no predecibles en el tiempo. La idea general es que estamos tratando con una colección de datos que cumplen las siguientes propiedades: 1. Están estructurados independientemente de las aplicaciones y del soporte de almacenamiento que los contiene. 2. Presentan la menor redundancia posible. 3. Son compartidos por varios usuarios y/o aplicaciones. MODELO DE BASES DE DATOS Un modelo de datos es un sistema formal y abstracto que pennite describir los datos de acuerdo con las reglas y convenios predefinidos. Es formal, pues los objetos del sistema se manipulan siguiendo reglas perfectamente definidas y utilizando exclusivamente los operadores definidos en el sistema, independientemente de lo que estos objetos y operadores puedan significar. 15 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CUNICAS MEDICAS" Un modelo de datos tiene tres componentes que son: ✓ EsrRUCTURA DE DATOS: es la colección de objetos abstractos formados por los datos. ✓ OPERADORES ENTRE LAS ESTRUCTURAS: el conjunto de operadores con reglas bien definidas que permiten manipular a dichas estructuras. ✓ DEFINICIONES DE INTEGRIDAD: es una colección de conceptos y reglas que permite expresar que valores de datos pueden aparecer válidamente en el modelo. En el manejo de bases de datos hay tres modelos de datos principales que son el jerárquicos, que permite modelar los datos en base a una jerarquización; el de red, donde los datos forman retículas y el relacional basado en el concepto matemático de relación. TIPOS DE MODELOS DE BASES DE DATOS A medida que nos adentramos en el concepto de BASE DE DATOS, es también conveniente conocer sus tipos. Los principales tipos de modelos de bases de datos son: 1. MODELO DE BASES DE DATOS lERARQUICAS Para familiarizamos rápidamente con lo que son las bases de datos jerárquicas, es bueno pensar en lo que es un organigrama de una empresa, la cual posee varios departamentos (producción, ventas, mercadeo), y cada uno de estos teniendo debajo de ellos a sus diferentes áreas, esto conllevara a que cada departamento y cada área de esta empresa posee una base de datos, cada una de las cuales dependerá de la base que tenga en su nivel superior. 16 nDISEÑO y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" Las principales características de una base de datos jerárquicas son las siguientes: - Las entidades se presentan en forma de. árbol. - Entre fas bases de datos se da una relación de uno a muchos. - cada entidad consta de uno o más datos. - Un nivel inferior no puede existir si no existe un nivel superior. - Al desaparecer un nivel determinado, automáticamente deben de desaparecer sus niveles inferiores. También existe otra estructura similar a lo que son las estructuras jerárquicas, estas son las estructuras de RED o PLEX, con la variante de que los niveles inferiores pueden tener más de un nivel superior. Una de las aplicaciones más importantes de los sistemas de gestión de bases de datos primitivos era el planteamiento e la producción para empresas de facturación. Si un fabricante de automóviles decidía producir 10,000 unidades de un modelo de coche y 5,000 unidades de otro modelo, necesitaba saber cuantas piezas pedir a sus suministradores. Para responder a la cuestión, el producto (coche) tenía que descomponerse en ensamblajes, que a su vez se descomponía en subensamblajes. El manejo de estas listas de piezas, conocido como una cuenta de materiales, era un trabajo a la medida para las cómputadoras. La cuenta de materiales para un producto tenía una estructura jerárquica natural. Para almacenar estos datos, se desarrolló el modelo de datos jerárquicos. En este modelo, cada registro de la base de datos representa una pieza específica. Los registros tenían relaciones padre / hijo que ligaba cada pieza a su sub-pieza. Para acceder a los datos en la base de datos, un programa podría: ✓ Hallar una pieza particular mediante su número 17 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" ✓ Descender al primer hijo ✓ Ascender hasta su padre ✓ Moverse de lado hasta el siguiente hijo La recuperación de los datos en una base de datos jerárquica requería, por tanto navegar a través de los registros moviéndose hacia arriba, hacia abajo y hacia los lados un registro cada vez. Uno de los sistemas de gestión de bases de datos jerárquica más populares fue "Information Management System" (IMS) de IBM, introducido primeramente en 1968. Las ventajas de IMS y su modelo jerárquico son las siguientes: ✓ ESTRUCTURA SIMPLE: la organización de una base de datos IMS era fácil de entender. La jerarquía de la base de datos se asemejaba al diagrama de organización de una empresa. 2. MODELO DE BASES DE DATOS EN RED La estructura sencilla de una base de datos jerárquicos se convertía en una desventaja cuando los datos tenían una estructura más compleja. En una base de datos de procesamiento de pedidos, por ejemplo un simple pedido podría participar en tres relaciones padre / hijo diferentes. Ligando el pedido al cliente que lo remitió, al vendedor que lo acepto y al producto ordenado. La estructura de este. tipo simplemente no se ajustaría a la jerarquía estricta del IMS. Para manejar aplicaciones tales como el procesamiento de pedidos, se desarrollo un nuevo modelo de datos en red. El modelo de datos en red extendía el modelo jerárquico permitiendo que un registro participara en múltiples relaciones padre / hijo. Dichas relaciones eran conocidas como conjuntos en el modelo de red. 18 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" Las ventajas del modelo de bases de datos en red son: ✓ FLEXIBIUDAD: las múltiples relaciones padre / hijo pennitían a una base de datos en red representar datos que no tuvieran una estructura jerárquica sencilla. ✓ NORMALIZAOÓN: el estándar CODASYL reforzó la popularidad del modelo en red y los vendedores de mini computadoras tales como "Digital Equipment Corporation" y "Data General" implementaron bases de datos en red. ✓ RENDIMIENTO: a pesar de su superior complejidad, las bases de datos en red reforzaron en el rendimiento aproximado al de la base de datos jerárquica. Los conjuntos se representaron mediante punteros a registros de datos físicos y en algunos sistemas el administrador de. la base de datos podría especificar la agrup~ción de datos basada en una relación de conjunto. Las bases de datos en red tenían también sus desventajas. Igual que las bases de datos jerárquicas, resultaron muy rígidas. Las relaciones de conjunto y la estructura de los registros tenían que ser especificadas de antemano. Modificar la estructura de la base de datos requería típicamente la reconstrucción de la base de datos completa. 3. MODELO DE BASES DE DATOS RELACIONALES Las bases de datos relacionales están constituidas por una o más tablas que contienen la infonnación ordenada de una fonna organizada. Cumplen las siguientes leyes básicas: 1. Generalmente, contendrán muchas tablas. 2. Una tabla sólo contiene un número fijo de campos. 3. El nombre de los campos de una tabla es distinto. 19 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" 4. Cada registro de la tabla es único. s. El orden de los registros y de los campos no está determinado. 6. Para cada campo existe un conjunto de valores posible. El tener una base de datos ayuda a la generación de información, pero surge la pregunta: lCuánto es el costo que se invertirá para poder obtener toda esta información en determinado tiempo? Lo que se persigue con las bases de datos relacionales, es la reducción de tiempo y costos en cuanto a búsquedas de datos para generar la información necesaria. Con este tipo de base, ninguna depende de otra, pero si existen datos específicos con los que se pueden relacionar unas con otras, esto ayuda a una independencia y no redundancia de los datos. .. Dependiendo de los datos que maneje este tipo de base se agruparan en dos: a) INTEGRADAS: es la unificación de varios archivos de datos independientes, donde se puede decir que no existe en su totalidad una redundancia entre los mismos datos. b) COMPARnDA: es cuando se comparte partes de la base de datos con distintos usuarios, con la variante de que cada usuario acceda a la misma parte de la base de datos y la utiliza con diferentes fines. Se han estudiado tres diferentes tipos de bases de datos, pero tomando en cuenta la conveniencia del buen desarrollo de toda empresa, es definitivamente recomendable la utilización de base de datos relacionales, debido a sus características: 20 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLICADO A WNICAS MEDICAS" ✓ Independencia de los datos. ✓ Redundancia mínima de los datos. ✓ Integridad de los datos. ✓ Relación entre los datos. Además podemos mencionar que los objetivos que persigue una base de datos relacional, son: ✓ La utilización de los datos a todos los niveles de la organización ✓ Mejores controles de los datos y por consiguiente mayor organización dentro de la empresa. ✓ Disponibilidad de la infonnación en tiempos cortos. ✓ Redundancia mínima ✓ capacidad de búsqueda en cortos tiempos. Es daro que todo esto conlleva a una reducción de volúmenes de datos en cantidades manejables y fácilmente de acceder. Como modelo de datos el modelo relacional tiene los siguientes componentes: ✓ ESTRUCTURAS DE DATOS: son los oonceptos de relación, entidades, atributos y dominios. ✓ OPERADORES: sus operadores induyen los de actualización y la llamada álgebra relacional. ✓ DEFINICIONES DE INTEGRIDAD: está dada por el concepto de llave, posibilidades de valores nulos y reglas de integridad. VENTAJAS E INCONVENIENTES DEL MODELO RELACIONAL Las ventajas de utilizar un RDBMS podrían ser resumidas en fas siguientes: 21 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" ✓ Compatibilidad y estandarización. ✓ Fiabilidad. ✓ Garantía de independencia de los datos. ✓ Existencia de numerosos sistemas comerciales entre los que escoger y consiguiente apoyo técnico. ✓ Conectividad garantizada con los lenguajes de programación estándar. ESTRUCTURA DE LOS DATOS Y TERMINOLOGÍA En el modelo relacional, una base de datos es una colección de tablas relacionales. Una tabla relacional es un archivo plano compuesto de un conjunto de columnas nombradas y un número arbitrario de filas anónimas. Las columnas de las tablas contienen información sobre la tabla. Las filas de la tabla representan ocurrencias de la "cosa" representada por la tabla. Un valor de los datos es almacenado en la intersección de una fila y una columna. En el modelo relacional las estructuras de datos son los conceptos de relación, dominio, atributos y entidad. ✓ RELACIÓN: Denota una colección o conexión entre objetos que tienen los mismos tipos de características o atributos. ✓ ENTIDAD: Es un elemento de datos con un conjunto finito de atributos. También se le llama eneada por consistir de "n" valores, uno para cada atributo. ✓ ATRIBUTO o CARACTERÍSTICA: Cada atributo tiene un dominio asociado. ✓ DOMINIO: Es el conjunto de valores que puede tomar un atributo. Las relacionales se representan por tablas donde las columnas son los atributos o características. En los renglones se almacenan los elementos de datos con sus valores para cada atributo. En el modelo relacional no se consideran ordenados los 22 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" renglones. Una representación de una relación es indicar su nombre y entre llaves el conjunto de atributos. A esta representación también se le llama esquema de la relación. cada atributo tiene un dominio asociado. Los dominios son los conjuntos de los valores posibles. EL ENFOQUE RELACIONAL Una relación (o tabla) es un conjunto de n-registros (o tuplas). Los lenguajes matemáticos sobre los que se asienta el modelo relacional, el álgebra y el cálculo relacional, aportan un sistema de acceso y consultas orientado al conjunto. La repercusión del modelo en los DBMs comerciales actuales ha sido enorme, estando hoy en día la gran mayoría de los gestores de bases de datos basados en mayor o menor medida en el modelo relacional. En cuanto al modelo relacional, su enorme éxito no se debe a que permite de forma implícita operaciones conceptualmente abstractas sobre los datos, sino a los altos niveles de fiabilidad e integridad que aporta en el manejo de grandes cantidades de datos. Hoy en día contamos con RDBMSs para micro-ordenadores que sí pueden ser considerados plenamente relacionales y que, si bien no llegan a alcanzar las prestaciones de los grandes sistemas en cuanto a velocidad de ejecución, seguridad, integridad de datos, recuperación y estabilidad, no tienen nada que envidiar a éstos cualitativamente, y sus deficiencias se deben sobre todo al tipo de máquina en el que funcionan y a los sistemas operativos que estas máquinas utilizan. Lo que realmente marca la diferencia entre los sistemas relacionales y los sistemas anteriores es el hecho es la adopción de Reglas de Integridad Relacional y de Formas Normales que son las que agilizan de una manera vertiginosa las operaciones. Los términos formales de modelo relacional a menudo son sustituidos por otros de uso más común, debido a que estos términos son demasiado abstractos para ser usados en la práctica. 23 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" Así obtenemos las siguientes equivalencias: Término relacional formal Equivalente Informal Relacional Tabla Tupla Fila o registro Cardinalidad Número de filas o registros Atributo Columna o campos Grado Número de columnas o campos Clave primaria identificador único Dominio Fondos de valores legales Términos relacionales y equivalentes informales PROPIEDADES DE LAS TABLAS RELAOONALES Las tablas relacionales tienen seis propiedades: 1. Cada campo en la tabla debe tener un valor atómico único: esta propiedad implica que las columnas en una tabla relacional no repiten grupos o arreglos. La propiedad de valor atómico de las tablas relacionales es importante porque es una de las bases del modelo relacional. El beneficio clave de la propiedad de valor único, es el que simplifica la manipulación lógica de los datos. 2. Los valores de los datos en columnas son del mismo tipo: en términos relacionales, ésta propiedad establece que todos los valores en una columna determinada deben provenir del mismo dominio un conjunto de valores que la columna puede tener. En términos relacionales esto significa que todos los valores que una columna puede tener. Por ejemplo, una columna de salarios mensuales; contiene específicamente sueldos mensuales. Nunca contiene otro tipo de información tales como comentarios o salarios semanales. Esta propiedad simplifica el acceso a los datos porque los desarrolladores y usuarios 24 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" pueden estar seguros del tipo de datos contenidos en una detenninada columna. Esto también simplifica la validación de datos, ya que todos los valores son del mismo dominio, el dominio puede ser definido e impuesto con el software de Lenguaje de Definición de Datos (DDL) de la base de datos. 3. Cada fila es única, dos filas nunca pueden tener valores idénticos: esta propiedad asegura que dos filas en una tabla relacional no son idénticas; hay por lo menos una columna o un conjunto de columnas, cuyos valores identifican cada fila en la tabla. Tales columnas se denominan "llaves primarias". Esta propiedad garantiza que cada fila en una tabla relacional. es significativa y que una fila específica puede ser identificada por el valor de la llave primaria específica. 4. Cada columna debe tener un nombre-único: esta propiedad afinna que el orden de las columnas en la tabla relacional no tiene ningún significado. Las columnas pueden recobrarse en cualquier orden y en diversas secuencias. El beneficio de esta propiedad es que pennite a muchos usuarios compartir la misma tabla sin que importe como la tabla está organizada. También pennite que la estructura física de la base de datos cambie sin afectar las tablas relacionales. S. La secuencia de columnas (izquierda a derecha) es insignificante: debido que la secuencia de columnas es insignificante, las columnas deben ser referenciadas por el nombre y no por la posición. En general, un nombre de columna no necesita ser único dentro de una base de datos entera pero si dentro de la tabla a la que pertenece. 6. La secuencia de filas (arriba hacia abajo) es insignificante: esta propiedad es análoga a la anterior, pero aplica a filas en vez de columnas. El beneficio 25 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" principal es que las filas de una tabla relacional pueden recobrarse en sucesiones y orden diferente. La adición de infonnación a una tabla relacional se simplifica y no afecta las consultas existentes. RELACIONES Y LLAVES Una relación es una asociación entre dos o más tablas. Las relaciones se expresan en los valores de datos de la llave primaria y las llaves foráneas. Una llave primaria es una columna o columnas en una tabla cuyos valores únicamente identifican cada fila en una tabla. Una llave foránea es una columna o columnas cuyos valores son iguales a los de la llave primaria de otra tabla. Podría decirse que una llave foránea es una copia de la llave primaria de otra relacional. La relación entre dos tablas relacionales se hace comparando los valores de la llave foránea de una tabla con los valores de la llave primaria en otra tabla. Las llaves son fundamentales al concepto de bases de datos relacionales porque ellas habilitan a las tablas en la base de datos para que sean relacionadas con cada una de las otras tablas. La navegación alrededor de una base de datos relacionada depende de la capacidad de la llave primaria de identificar filas específicas de una tabla. La navegación entre tablas requiere que la llave foránea sea capaz de hacer una referencia correcta y coherente a los valores de las llaves primarias de una tabla conexa. LENGUAJES RELACIÓNALES (CONSULTAS) Para crear las relaciones, modificarlas, eliminarlas, recuperar los datos almacenados en ellas, y para manipularlas en general, necesitamos un lenguaje formal que nos facilite el acceso, de lo contrario nos veríamos obligados a trabajar 26 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" a bajo nivel, o nivel de máquina. Este lenguaje debe ser lo suficientemente expresivo para pennitimos llevar a cabo todas estas operaciones, y debe estar basado en fonnalismos que cumplan con todas las premisas expuestas en los apartados anteriores respecto a reglas de integridad, fonnas nonnales, etc. Existen dos tipos básicos de fonnalismos para expresar las consultas sobre las relaciones de una base de datos relacional: el álgebra relacional y el cálculo relacional. El lenguaje de consulta de datos relacionales por antonomasia, es, como ya anticipábamos, el llamado SQL (Structured Query Language). Este lenguaje, basados en álgebra relacional y el cálculo relacional anterionnente descritos, actúa de interfaz entre el usuario y la base de datos y facilita realizar todas las operaciones pennitidas. El lenguaje fue diseñado para que, mediante un número muy reducido de comandos y una sintaxis simple, fuese capaz de realizar un gran número de operaciones. La curva de aprendizaje de SQL es realmente rápida. Además, SQL es bastante flexible, en el sentido de que cláusulas SQL pueden ser · anidadas indefinidamente dentro de otras cláusulas SQL, facilitando así las consultas que utilizan varias relaciones, vistas u otras consultas. Además de poder ser usado directamente, es decir, en modo comando, desde el DBMS, SQL puede ser usado desde otros lenguajes de programación de tercera generación, tales como e, para poder acceder a los datos de la base de datos y usarlos para cualquier fin en el programa. Cuando SQL es usado de este modo se le denomina SQL embebido ( embedded). Las más modernas aplicaciones combinan esta metodología con la tecnología de los GUI (Graphical User Interface) para ofrecer una evolución llamada GQBE (Graphical Query By Example). Sistemas que ofrecen estas posibilidades son, por ejemplo, Microsoft: Access™, Microsoft Visual FoxPro™, Corel Paradox®, Oracle8 de Oracle® Corporation, ADABAS D, de Software AG o Sybase® SQL Anywhere. 27 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" Además, algunos de estos sistemas, por ejemplo MS Access o ADABAS D, permiten combinar el SQL Standard con GQBE, aumentando así la potencia y flexibilidad. En resumen, un RDBMS supone una plataforma estable y compatible, con limitaciones en sus capacidades y poder expresivo. En este estado de cosas, pensamos que un cuidado diseño (modelado conceptual) puede vencer muchas de estas ventajas y aprovechar al máximo todas las ventajas mencionadas. La evolución del modelo relacional pasa por los modelos semánticos de datos, o de cuarta generación. Para concluir, se puede decir que las bases de datos no almacenan información como tal, sino que ellas guardan datos los cuales son utilizados para generar información. Cf la idea básica en implantación de una base de datos, es la de que los mismos datos deben ser aprovechados por tantas aplicaciones como sea posible.) SISTEMAS DE CoNTROL DE INFORMACÓN Y BASES DE DATOS RELACONALES COMO UNA ALTERNATIVA DE SOLUCIÓN PARA EL MANEJO DE LA INFORMACIÓN. ¿QUE ES UN SISTEMA DE CoNTROL DE INFORMACÓN? En toda empresa o institución de cualquier índole, se puede observar los diferentes sistemas que utilizan para llevar y realizar internamente controles de inventarios, controles de carácter administrativo, operativos y otros tipos de control. Por ejemplo, en una clínica médica privada, la forma de pasar consulta es: el paciente se presenta con la secretaria para apuntarse en la lista de las personas que serán atendidas ese día de· consulta; esta revisa si el paciente tiene cita previa o cita por primera vez; una vez determinada la condición del paciente, la secretaria busca en un tarjetero la ubicación de su expediente dentro del archivo o aso 28 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CUNICAS MEDICAS" extremo una bodega, para pasarlo a la hora de la consulta con él medie.o ( sí es paciente de cita previa); o si es primera vez. de consulta, la secretaria buscara el número asignado al ultimo expediente para poder abrir uno nuevo donde llevara los datos personales del paciente; posterior a todos estos pasos el expediente esta listo para ser utilizado por el médico durante la consulta. Todo lo anterior es ejecutado de fonna manual y muy raras ocasiones de forma computarizada, lo cual implica un descontrol, muchas veces redundancia o reasignación de datos; porque, puede darse el caso que la secretaria no anote el número asignado al nuevo expediente en su tarjetero y lo reasigne a otro paciente, o se encuentra el número en el tarjetero pero no existe el expediente en archivo o la bodega. Es poco común escuchar sobre sistemas de control de información, y mucho menos ver que sean ejecutados; lo cual consiste en poder observar en cualquier punto de la ejecución de un detenninado proceso, si los datos que se están procesando son los correctos, son íntegros y no se a dado una deformación de elfos de un paso del proceso a otro; esto servirá para que el producto de todos estos datos, sea una infonnación esperada, completa con una orden de presentación legible y fácil para su entendimiento o análisis. Por lo tanto un sistema de Control de Infonnación, debe tener componentes capaces de: ✓ Producir Infonnes de Control Nonnales. ✓ Producir los análisis de Control. ✓ Ayuda en el pronóstico del defecto. ✓ Analizar las consecuencias de las respuestas de control alternativo. 29 "DISERO Y DESARROU.O DE UN SISTEMA DISTRIBUlOO APUCADO A CUNICAS MEDICAS" Todo esto ayudara a que una persona capaz pueda seguir una respuesta adecuada al problema que se presenta. Se pueden tener los mejores controles de infonnaron dentro de una empresa, los cuales generan los reportes necesarios para poder diagnosticar el buen o mal desarrollo de esta, pero si toda la infonnación estuviese basada finnemente con una base de datos seria más beneficiosa para la empresa. Porque toda base de datos genera infonnación deseable de cualquier tipo, ya sea estadística, administrativa, económica y otras más; la cual esta proviniendo de una sola fuente que servirá tanto a un departamento como a otro, obteniéndola en tiempos cortos y con menos costos de estudios. El uso de una base de datos no es el simple hecho de mantener un cúmulo de datos almacenados y ordenados de una cierta fonna como lo presentan los sistemas convencionales de organización de archivos para el manejo de datos, sino que más bien, la función de poder vincular un dato con otro de una fonna flexible para poder obtener la infonnación adecuada, todo esto es lo que resulta de una base de datos relacional. Un sistema de control de información integrado con una base de datos relacional, proporciona como mayor beneficio una información completa, proveniente de datos íntegros y no redundantes que se relacionan entre sí, por que se han tenido controles del manejo de los datos previos a la generación de dicha información. Por ejemplo, estos sistemas de control de infonnación se asemejan bastante a lo que son los controles de calidad del producto en el departamento de producción de cualquier industria, donde se revisa la materia prima con que se elaborara el producto y se controla en cada una de sus etapas de transfonnación, donde se 30 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CLINICAS MEDICAS" podrá constatar en cualquier momento si el producto esta siendo bien elaborado para que al final se obtenga una excelente calidad. Este proceso es muy similar a lo que es el manejo de datos, si se alimenta una base de datos sin controles, es lógico que no se obtendrá la información esperada, pero si se coloca un sistema de control de información, así como un sistema de control de calidad como se presento anteriormente, en el momento de alimentar una base de datos y controles a la hora de la ejecución de cualquier proceso, se tendrá por seguro que et producto de esto será la Información esperada, confiable y completa, así como lo es un producto de buena calidad. SISTEMAS DE QISTRIBUQON Los Sistemas de Computación han estado sujetos a cambios tecnológicos permanentemente. A partir de la década de los 80's, dos avances tecnológicos importantes ocunieron en et ámbito de la computación: el desarrollo de poderosos microprocesadores, los que permitieron tener el poder de un computador mainframe respetable, pero a un costo muchísimo menor ( esto invalida la Ley de Grosch) y el desarrollo de redes de área local (LAN) de alta velocidad, que permiten ta interconexión de cientos de computadores, de tal forma de poder transferir pequeñas cantidades de información entre ellas en pequeñas fracciones de tiempo. Como resultado de esto, es fácil encontrarse con sistemas computacionales compuestos por un gran número de computadores y/o procesadores conectados mediante una red de alta velocidad. Estos son los que llamaremos Sistemas Distribuidos (en contraste con los Sistemas Centralizados). 31 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CUNICAS MEDICAS" Estos Sistemas Distribuidos requieren de software radicalmente distinto al de los sistemas centralizados y los Sistemas Operativos necesarios para el funcionamiento de lso Sistemas Distribuidos esta recién en etapa de surgimiento. Un sistema distribuido es una colección de computadores independientes que aparecen ante los usuarios del sistema como un único computador. Esta definición considera dos aspectos: el hardware (los computadores son autónomos) y el software (los usuarios tienen la impresión de que es un único computador). Algunos autores distinguen entre los Sistemas Distribuidos, diseñados para que muchos usuarios trabajen en fonna conjunta y los Sistemas Paralelos, cuya meta es lograr la máxima rapidez en la solución de un solo problema. Con la tecnología del microprocesador es posible comprar un microcircuito de CPU que puede ejecutar más instrucciones por segundos que las que realizaba uno de los más grandes mainframes de la década de los 80's. Si se está dispuesto a pagar más ( el doble), se obtiene la misma CPU sólo que con una velocidad un poco mayor. Corno resultado, la solución más eficaz en cuanto a costo es limitarse a un gran número de CPU's más baratos reunidos en un mismo Sistema Computacional. Así, el principal motivo para tender a los Sistemas Distribuidos es que estos Sistemas tienen en potencia una proporción precio/desempeño mucho mejor que la de un sistema centralizado. Otra razón para la implementación de Sistemas Distribuidos es que ciertas aplicaciones son inherentemente distribuidas. Considérese una cadena de tiendas con sucursales distribuidas en diferentes puntos. Estas sucursales pueden recibir artículos locales, realizar ventas locales y requerir tomar decisiones localmente. Por lo tanto, tiene sentido mantener un inventario en cada sucursal dentro de un 32 "DISEf4O Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLICADO A WNICAS MEDICAS" computador local en lugar de tenerlo centralizadamente, teniendo en cuenta que la mayoría de las transacciones comerciales y de actualización de realizarían localmente. Sin embargo, si en algún Instante se requiere conocer infonnadón global de la empresa, este sistema interconectado podría utilizarse como un todo, pero implementado distribuidamente. Otro sistema inherente distribuido es lo que se denomina trabajo cooperativo, en el cual personas que se encuentra localizadas en diferentes puntos trabajan conjuntamente sobre un mismo proyecto, o bien, juegos cooperativos, en donde los jugadores, ubicados en diferentes localidades, pueden formar parte del mismo ( o distinto) grupo, colaborando ( o compitiendo) entre sí. Por otra parte, al distribuir la carga de trabajo entre diversas máquinas, una falla en una de ellas afectará sólo a sí misma, mientras que el resto de las máquinas pueden seguir operando nonnalmente. En este sentido, en el caso de aplicaciones críticas, para lograr mayor confiabilidad, el uso de un Sistema Distribuido puede llegar a ser un factor detennlnante. Por último, el crecimiento por incrementos también representa una ventaja potencial. A diferencia de los Sistemas Centralizados con uno o dos mainframes, en un Sistema Distribuido pueden Incorporarse nuevos computadores o procesadores sin mayor complicación, logrando así un desarrollo gradual de acuerdo al surgimiento de necesidades. 33 "DISEÑO Y DESARROLLO DE UN SISTT:MA DISTRIBUIDO APLICADO A a.INICAS MEDICAS" CARAcrERfsnCAS DE LOS SISTEMAS DISTRJBUIDOS • deben poseer mecanismos de comunicación global entre los procesos, de forma que cualquier proceso pueda comunicarse con cualquier otro. • deben tener un esquema global de protección, para evitar diferentes accesos a las listas de control, bits de protección, etc. • deben poseer una misma administración de procesos. La fonna en que se crean, destruyen, inician, detienen los procesos no debe variar de una máquina a otra. • no sólo debe existir un conjunto de llamadas al sistema disponibles en todas las máquinas, sino que est.as llamadas deben estar diseñadas de manera que tengan sentido en un ambiente distribuido. La coordinación de actividades globales se ve facilitada como consecuencia lógica de esta situación. • cada núdeo debe tener un control considerable sobre sus propios recursos locales. • el sistema de archivos debe tener la misma apariencia en todas partes. Tocio archivo debe ser visible desde cualquier posición 34 "DISERO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CLINICAS MEDICAS" REDES LOCALES Es una red de comunicación optimizada de alta velocidad, que opera en un área geográfica de tamaño reducida. Puede ser un cuarto, un edificio, un campus de menos de 5 kms y de alta velocidad. Proporciona conexión a una amplia variedad de equipos de comunicación como: C.Omputadoras, estaciones de trabajo, scaners, faxes, unidades de cinta, unidades de disco, conexión con otras redes. Una Red de Área Local (LAN), es una interconexión de sistemas Informáticos autónomos. El usuario dispone de una maquina personal. Para ahorrar el hardware y el software se comparten los datos, los programas y algunos recursos físicos tales como impresora, scaners, ploters o servidores de archivos que son accesibles a todos a través de la red. En general, el hecho de trabajar dentro de una red de área local, es sencillo y garantiza accesos seguros a quienes se encuentran interconectados a través de la red de alta velocidad. El usuario debe conocer los recursos de la red y su distribución; esto es para comunicarse con otro usuario, debe saber en que maquina esta, debe conocer la dirección del scaner y en que maquina están los programas que desea cargar. Las redes de comunicación se pueden clasificar de acuerdo a su diferente cobertura en: LAN; Red de Área Local. MAN; Red de Área Metropolitana. (Interconexión de LAN) WAN; Red de Área Amplia. (InterconexJón de MAN). 35 En el mismo local. En el mismo piso. En el mismo edificio. En la misma Zona. En la misma Área Interurbana. En la misma dudad En el mismo estado. En el mismo país. En el mismo continente. •DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS• Si entendemos los tipos de necesidades de comunicación a cubrir, las redes pueden ser de dos ciases: Locales y Remotas. COBERTURA DE REDEs DE COMPUTADORAS ¡,;::t\: ; Ü:r ;: :t: ::; )}: ):}ih:iii:I; :i?•:':<::i.,;j ;::t:~{({:ii:(t:/: \1:;::)\2iii 10 mts. cuarto so1o. LAN 100 mts. Edificio. LAN 1000 mts. Campus. LAN 10 kms. Oudad. MAN Enlace de LAN 100 kms. País o Estado. WAN Enlace de MAN + 100 kms. c.onttnente. Interconexión de MAN Las redes locales pueden ser Centralizadas y Distribuidas, las primeras de ellas dependen de un servidor de red central, que tienen toda la infonnación, estando obligadas las diversas estaciones de trabajo a acceder a él para recabar infonnadón o salvaria. En el caso de las redes locales distribuidas cualquier usuario puede acceder a la infonnación de cualquier ordenador conectado a la red. En función de cómo, donde y para que se va a utilizar una red local, podremos valorar cual se ajusta mas a nuestras necesidades. Cuando una empresa dispone de varias Pc's y es necesario conectarias entre sí para compartir información, la red distribuida será la solución mas rápida y con el menor coste para esa función. 36 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" TÉCNICAS DE TRANSMISIÓN REDES DE DIFUSIÓN Tienen un solo canal de comunicación compartido por todas las máquinas, en principio todas las máquinas podrían "ver" toda la infonnación, pero hay un "código# que especifica a quien va dirigida. REDES PuNTO A PuNTO Muchas conexiones entre pares individuales de máquinas. La lnfonnación puede pasar por varias máquinas intennedias antes de llegar a su destino. Se puede llegar por varios caminos, con lo que se hacen muy importantes las rutinas de enrutamiento o ruteo. Es más frecuente en redes MAN y WAN. TOPOLOGÍA DE RED La configuración de una red suele conocerse como topología de la misma. La topología es la fonna (la conectividad ñsica) de la red. El termino topología es un concepto geométrico con el que se alude al aspecto de una cosa. A la hora de establecer la topología de una red, el diseñador ha de planteares tres objetivos principales: ✓ Proporcionar la máxima fiabilidad posible, para garantizar la recepción correcta de todo el tráfico ( encaminamiento alternativo). ✓ Encaminar el tráfico entre el ETD transmisor y el receptor a través del camino más económico dentro de la red ( aunque, sí se consideran más importante otros factores, como la fiabilidad, este camino de coste mínimo puede no ser el mas conveniente). ✓ Proporcionar al usuario final un tiempo de respuesta óptimo y un caudal eficaz máximo. 37 "DISEfJO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" Cuando hablamos de fiabilidad de una red nos estamos refiriendo a la capacidad que tiene la misma para transportar datos correctamente (sin errores) de un ETD a otro. Ello induye también la capacidad de recuperación de errores o datos perdidos en la red, ya bien con el mantenimiento del sistema, en la que se induyen las comprobaciones diarias; el mantenimiento preventivo, que se ocupa de relevar de sus tareas a los componentes averiados o de funcionamiento incorrecto; y en su caso, el aislamiento de los focos de avería. El segundo objetivo a cumplir a la hora de establecer una topología para la red consiste en proporcionar a los procesos de aplicación que residen en los ETD el camino más económico posible. Para ello es preciso: ✓ Minimizar la longitud real del canal que une los componentes, lo cual suele implicar el encaminamiento del tráfico a través del menor número posible de componentes intennedios. ✓ Proporcionar el canal más económico para cada actividad concreta; por ejemplo, transmitir los datos de baja prioridad a través de un enlace de baja velocidad por línea telefónica nonnal, lo cual es mas barato que transmitir esos mismos datos a través de un canal vía satélite de alta velocidad. El tercer objetivo es obtener un tiempo de respuesta mínimo y un caudal eficaz lo mas elevado posible. Para reducir al mínimo el tiempo de respuesta hay que acortar el retardo entre la transmisión y la recepción de los datos de un ETD a otro. TOPOLOGÍA LÓGICA Ex·st d"sti . ' tr I ti 1 ' ñ . 1 ' . d .~ 1 t 1 ' F' . 1 e una I nc,on en e as po og1as sic.as y og1cas e r'=' .. L _a _opo.og!a . ,s,ca es la manera en que se interconectan los cables con las computadoras; es la conexión fisica de circuitos. La topología Lógica es el flujo de datos de una Pe a otrn, la piOporciona el software y es una conexión lógica. Las topologías físicas püBut:fi $C:i" las ffiísn-,as ü totafmente distintas en una red de ordenadores, como las • f-' • , que se mencionan a conanuacion: 38 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" TOPOLOGfA HORIZONTAL La topología horizontal o de bus es frecuente en las redes de área local. Es relativamente fácil controlar el flujo de trafico entre los distintos ETD, ya que el bus pennlte que todas las estaciones reciban tocias las transmisiones, es decir, una estación puede difundir la información a tocias las demás. La principal limitación de una topología de bus esta en el hecho de que suele existir un solo canal de comunicaciones para tocios los dispositivos de la red. En consecuencia si el canal de comunicaciones falla, toda la red deja de funcionar. Algunos fabricantes proporcionan canales completamente redundantes por si falla el canal principal, y otros ofrecen conmutadores que penniten rodear un nodo en caso de que falle. Otro inconveniente de esta configuración estriba en la dificultad de aislar las averías de los componentes individuales conectados al bus. La falta de puntos de concentración complica la resolución de este tipo de problemas. TOPOLOGÍA JERÁRQUICA La estructura jerárquica es una de las mas extendidas en la actualidad. El software que controla la red es relativamente simple, y la topología proporción un punto de concentración de las tareas de control y de resolución de errores. En la mayoría de los casos el ETD situado en el nivel mas elevado de la jerarquía es el que controla la red. El flujo de tráfico entre los distintos ETD arranca del ElD A. Muchos fabricantes incorporan a esta topología un cierto carácter distribuido, dotando a los ETD subordinados de un control directo sobre los ETD situados en los niveles inferiores dentro de la jerarquía, lo cual reduce la carga de trabajo del nodo central A. Las redes con topología jerárquica se conocen también como redes verticales o en árbol. La palabra "árbol" alude al hecho de que su estructUra parece bastante a un árbol cuyas ramas va abriéndose desde el nivel superior hasta el mas bajo. Aunque la topología jerárquica resulta interesante por ser fácil de controlar, puede presentar ciertos problemas en cuanto a la posibilidad de aparición de cuellos de botella. En detenninadas situaciones, el ETD mas elevado, nonnalmente un gran ordenador central, ha de controlar todo el trafico entre los distintos ETD. Este 39 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLICADO A CUNICAS MEDICAS" hecho no solo puede crear saturaciones de datos, sino que además plantea serios problemas de fiabilidad, si este ETD principal falla, toda la red deja de funcionar, a no ser que exista otro ordenador de reserva capaz de hacerse cargo de todas las funciones del ETD averiado. Pese a todo, las tipologías jerárquicas se han venido usando ampliamente desde hace bastantes años, y seguirán empleándose durante mucho tiempo, ya que permiten la evolución gradual hacia una red mas compleja, puesto que la adición de nuevos ETD subordinados es relativamente sencilla. TOPOLOGÍA EN ESTRELLA La topología en estrella es la mas empleada en los sistemas de comunicación de datos. Una de tas principales de su empleo es histórica, la red en estrella se utilizo a lo largo de los años 60's y principios de los 70's porque resultaba fácil de controlar; su software no es complicado y su flujo de tráfico es sencillo. Todo el trafico emana del núcleo de la estrella, que es el nodo central, marcado como A, por lo general un ordenador posee el control total de los ETD conectados a él. La configuración de estrella es, por tanto, una estructura muy similar a la de la topología jerárquica, aunque su capacidad de procesamiento distribuido es limitado. El nodo A es el responsable de encaminar el tráfico hacia el resto de los componentes; se encarga, además de localizar las averías. Esta tarea es relativamente sencilla en el caso de la topología de estrella, ya que ~ posible aislar las líneas para identificar el problema. Sin embargo y al igual que en la estructura jerárquica, una red en estrella puede sufrir saturaciones y problemas en caso de avería del nodo central. Algunas redes construidas en los años 70's experimentaron serios problemas de fiabilidad, debido a su carácter centralizado. En otros sistemas se estableció redundancia en el nodo central, como medida de seguridad, con lo cual la fiabilidad aumento considerablemente. TOPOLOGÍA EN ANILLO La estructura en anillo es otra configuración bastante extendida. Como vemos en la figura 5, la topología en anillo se llama así por el aspecto circular del flujo de 40 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" datos. En la mayoría de los casos, los datos fluyen en una sola dirección, y cada estación recibe la señal y la retransmite a la siguiente del anillo. La organización en anillo resulta atractiva porque con ella son bastante raros los embotellamientos, tan frecuentes en los sistemas de estrella y de árbol. Además, la lógica necesaria para poner en marcha una red de este tipo es relativamente simple. Cada componente solo ha de llevar una serie de tareas muy sencillas: aceptar los datos, enviarlos al ETD conectado al anillo o retransmitirlos al próximo componente del mismo. Sin embargo, como todas las redes, la red en anillo tiene algunos defectos. El problema mas grande es que todos los componentes del anillo están unidos por un mismo canal. Si falla el canal entre dos nodos, toda la red se interrumpe, por eso algunos fabricantes han ideado diseños especiales que induyen canales de seguridad, por si se produce la perdida de algún canal, otros fabricantes construyen conmutadores que dirigen los datos automáticamente, saltándose el nodo averiado, hasta el siguiente nodo del anillo, con el fin de evitar que el fallo afecte a toda la red. TOPOLOGÍA EN MALLA La topología en malla se ha venido empleando en los últimos años, lo que la hace atractiva a su relativa inmunidad a los problemas de embotellamiento y averías. Gracias a la multiplicada de caminos que ofrece a través de los distintos ElD y ECD, es posible orientar el trafico por trayectorias alternativas en caso de que algún nodo este averiado u ocupado, a pesar de que la realización de este método es compleja y cara (para proporcionar estas funciones especiales, la lógica de control de los protocolos de una red en malla puede llegar a ser sumamente complicada), muchos usuarios prefieren la fiabilidad de una red en malla a otras alternativas. Un ejemplo característico de este tipo de topología es el mismo Internet, ya que este es un enlace de terminales-servidores-mainframes ubicados sin previo estudio geográfico. 41 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" TOPOLOGÍAS HtBRJDAS En la practica, rara vez se encuentra una forma pura de cualquiera de estas topologías, principalmente de bus, anillo o estrella, la mayoría de las redes son híbridas, esto es, combinaciones de estas tres topologías básicas. PRQTQCOLQS TCPIIP PROTOCOLO Definición: Es un conjunto estricto de reglas o procedimientos que se requieren para iniciar y mantener las comunicaciones. Los protocolos de comunicación de datos son los que hacen posible el intercambio de información, después de establecer una llamada a través de un canal informativo. El sistema de protocolos que fue desarrollado como producto de las primeras investigaciones realizadas por el Departamento de Defensa de los Estados Unidos, llegó a conocerse como TCP/IP, después de que los dos protocolos iniciales fueron desarrollados: el protocolo de Control de Transmisión (TCP) y el Protocolo· Internet (IP.) PROTOCOLOS DE C0MUNICAOONES. Los protocolos que se utilizan en las comunicaciones son una serie de normas que deben aportar las siguientes funcionalidades: ✓ Permitir localizar un ordenador de forma inequívoca. ✓ Permitir realizar una conexión con otro ordenador. 42 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" ✓ Permitir intercambiar información entre ordenadores de forma segura, independiente del tipo de maquinas que estén conectadas (PC, Mac, AS- 400). ✓ Abstraer a los usuarios de los enlaces utilizados (red telefónica, radio enlaces, satélite) para el intercambio de información. ✓ Permitir liberar la conexión de forma ordenada. Debido a fa gran complejidad que conlleva fa interconexión de ordenadores, se ha tenido que dividir todos los procesos necesarios para realizar las conexiones en diferentes niveles. cada nivel se ha creado para dar una solución a un tipo de problema particular dentro de la conexión. Cada nivel tendrá asociado un protocolo, el cual entenderán todas las partes que formen parte de la conexión. Diferentes empresas han dado diferentes soluciones a la conexión entre ordenadores, implementando diferentes familias de protocolos, y dándole diferentes nombres (DECnet, TCP/IP, IPX/SPX, NETBEUI, etc.). TCP/IP Es un conjunto de protocolos desarrollado para permitir a las computadoras compartir recursos a través de la red, de tal manera que establecen una comunicación constante entre ellas. Por ello, éste es un conjunto básico para la comunicación y transmisión de datos en Internet. Cuando se habla de TCP/IP, se relaciona automáticamente como el protocolo sobre el que funciona la red Internet. Esto, en cierta forma es cierto, ya que se le llama TCP/IP, a la familia de protocolos que nos permite estar conectados a la red Internet. 43 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CLINICAS MEDICAS" Este nombre viene dado por los dos protocolos estrella de esta familia: 1. TCP (TRANSMISSION CONTROL PROTOCOL) Es el responsable de verificar el correcto manejo y movilización de la información, desde el cliente hasta el servidor o viceversa, ya que los datos pueden ser perdidos en el camino. Además, detecta errores y se encarga de una retransmisión hasta que la Información sea recibida completa y correctamente. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos. 2. IP (INTERNET PROTOCOL) Es el responsable de mover paquetes de datos desde un nodo a otro, guiándose cada paquete mediante el uso de una dirección de 4 bytes (dirección IP), que funciona en las máquinas conectadas a la red. El protocolo IP, funciona en el nivel de red del modelo OSI, que nos permite encaminar nuestros datos hacia otras maquinas. Pero un protocolo de comunicaciones debe solucionar una serie de problemas relacionados con la comunicación entre ordenadores, además de los que proporciona los protocolos TCP e IP. Los servicios más importantes prestados por TCP/IP son: ✓ Transferencia de archivos {FTP - File transfer protocol), permitiendo al usuario que desde cualquier computadora pueda obtener archivos que están en otra computadora o, por el contrario, enviar archivos desde la suya hasta a otra máquina. 44 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" ✓ Login remoto (TELNET - Network tenninal protocol), que permite al usuario entrar en sesión remota con cualquier otra computadora en la red. ✓ Correo, que pennlte enviar mensajes a usuarios en otras computadoras. ✓ fíTTP (Hypertext transfer protocol) que pennite acceder al World Wide Web. ARQUmCTURA DE PROTOCOLOS TCP /IP Para poder solucionar los problemas que van ligados a la comunicación de ordenadores dentro de la red Internet, se tienen que tener en cuenta una serie de particularidades sobre las que ha sido diseñada TCP/IP: ✓ Los programas de aplicación no tienen conocimiento del hardware que se utilizara para realizar la comunicación (módem, tarjeta de red ... ) ✓ La comunicación no esta orientada a la conexión de dos maquinas, eso quiere decir que cada paquete de infonnación es independiente, y puede viajar por caminos diferentes entre dos maquinas. ✓ La interfaz de usuario debe ser independiente del sistema, así los programas no necesitan saber sobre que tipo de red trabajan. ✓ El uso de la red no impone ninguna topología en especial ( distribución de los distintos ordenadores). De esta fonna, podremos decir, que dos redes están interconectadas, si hay una maquina común que pase infonnación de una red a otra. Además, también podremos decir que una red Internet virtual realizara conexiones entre redes, que ha cambio de pertenecer a la gran red, colaboraran en el tráfico de información 45 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" procedente de una red cualquiera, que necesite· de ella para acceder a una red remota. Todo esto independiente de las maquinas que Implementen estas funciones, y de los sistemas operativos que estas utilicen. CUENTE / SERYJQOB Es una arquitectura computacional que involucra procesos de clientes que se encuentran requiriendo servicios de procesos de servidor. Oiente / Servidor es el concepto computacional que viene a ser la extensión lógica de la programación modular, la cual asume fundamentalmente la separación de grandes piezas de software, en partes más pequeñas llamadas "módulos", creando la posibilidad de obtener un desarrollo más fácil y darle un mejor mantenimiento. El proceso Cliente / Servidor reconoce que estos módulos no necesitan ser ejecutados dentro del mismo espacio de memoria, de tal manera que al utilizar esta arquitectura, el módulo que realiza la llamada se convierte en el "cliente" ( que es quien hace la requisición de un servicio) y el módulo que es llamado se convierte en el "servidor" (que es el que provee el servicio.) Para aplicar dicho concepto, el siguiente paso será tener a clientes y servidores corriendo en el hardware, y bajo el . software de la plataforma apropiadas para realizar sus funciones. Por ejemplo, servidores de manejo de sistemas de bases de datos, ejecutándose en plataformas especialmente diseñadas y configuradas para manejar requisiciones en forma de pregunta, o archivos de servidores corriendo en plataformas con elementos especiales para manejo de archivos. Los . ambientes computacionales basados en la arquitectura Cliente / Servidor ofrecen la posibilidad de optimizar el manejo de la información al nivel de las organizaciones. Una definición desde el punto de vista empresarial puede ser la siguiente: 46 "DISEÑO Y DESARROLLO DE UN SISTEMA DISfRIBUIDO APUCADO A CUNICAS MEDICAS" "Distribución de los recursos computacionales a lo largo y ancho de la organización, pero con una administración central, como un todo único. La tecnología Cliente / Sesvidor puede definirse como un conjunto de elementos de software como de hardware, entre los cuales se destacan tres tecnologías: Oiente, Sesvidor y la Red". El Servidor central quien acepta y procesa los requerimientos de otro elemento llamado Oiente, quien es el encargado de recibir el resultado del proceso; estos dos elementos son unidos por medio de una red de comunicaciones. Esta definición no se aleja de lo que entendemos por una red, sin embargo lo primordial se encuentra en las características que debe de cumplir cada uno de estos elementos, pero sobre todo lo fundamental se encuentra en la calidad del diseño que se haga para la arquitectura y así poder explotar todas las ventajas ofrecidas por las tres tecnologías mencionadas. CUENTE ✓ El cliente es un proceso (programa) que envía un mensaje a un proceso (programa) sesvidor, requiriéndole a éste la realización de una tarea (sesvicio.) El programa cliente usualmente maneja la parte de la aplicación que hace interfaz con el usuario, validando los datos introducidos por éste, enviando las requisiciones al programa servidor, y a veces ejecutando lógicamente las tareas. ✓ Es el elemento encargado de interactuar directamente con el usuario final. Mediante éste, el usuario realiza el acceso a la información sin importar el lugar en donde se encuentre. El Cliente maneja la presentación de los datos, realiza la captura y la validación de los mismos, genera consultas, 47 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APLICADO A CUNICAS MEDICAS" ejecuta operaciones y recibe Información procedente del Servidor o de otro Cliente. Por lo tanto, el Cliente debe contar con una gran capacidad de procesamiento y debe poseer una interfaz amigable para el usuario final. Una interfaz gráfica de usuario (GUI) es la idea para un Cliente, ya que le permite realizar operaciones complejas mediante labores sencillas como oprimir botones, los cuales están ubicados en la pantalla gráfica; teniendo esto como consecuencia, que los usuarios finales no necesiten conocimientos profundos sobre computación. SERVIDOR ✓ Es un proceso (programa) seividor satisface fas requisiciones del cliente realizando la tarea solicitada. El programa seividor general recibe las solicitudes desde el programa cliente, ejecuta las extracciones de información de las bases de datos, las actualiza, manejando la integridad de los datos, y envía respuestas a las interrogantes del cliente. ✓ Es el encargado de satisfacer los requerimientos del Cliente. Procesa las consultas, envía, recibe y almacena información, provee seguridad y control de acceso. Existen varias clases de servidores: de datos, de correo electrónico, de imágenes, de impresión, entre otros. Los servidores deben contar con elementos que gestionen los datos, esto se lleva a cabo mediante de un (DBMS) Sistema Manejador de Bases de Datos, que permita una transparencia de acceso, de distribución y de integridad a todas las transacciones de las bases de datos. Dependiendo del diseño de la aplicación, los servidores tendrán la tarea de acceder a la información solicitada por el Cliente y procesarla, o únicamente distribuir los datos para que sean procesados por los clientes. 48 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CLINICAS MEDICAS" Entre los sistemas operativos de los servidores pueden obtenerse: Windows NT, OpenVMS. Gateways, ADC, SUnOS/Solaris, Unix. NetWare, etc. RED La Red es el elemento encargado de realizar la transmisión de los requerimientos del Cliente al Servidor y del Servidor al Cliente. También controla la transmisión de datos entre los diferentes servidores que conformen el ambiente. La red debe proveer mucha seguridad, de tal forma como si se estuviera trabajando de una manera local. La red necesita de un propio sistema operativo, para así ofrecer varios niveles de seguridad, tolerancia a fallas, alto rendimiento, herramientas de administración y sobre todo transparencia al usuario final. VENTAJAS DE LA ARQUITECTURA CUENTE / SERVIDOR 1. CoNTROL CENTRALIZADO: el usuario final tiene el control sobre todos los dientes de la red, por otra parte el administrador del sistema ejerce el control sobre el servidor y sobre la red, permitiendo mantener la seguridad en la base de datos. Un Cliente podrá hacer las veces de Servidor en el momento que se requiera. 2. SISTEMAS ABIERTOS: soporta múltiples ambientes, plataformas, manejadores de bases de datos. Permitiendo la adquisición de hardware y software sin pensar en su compatibilidad. 3. fLEXIBIUDAD Y ESCALABIUDAD: permite reemplazar, ampliar o agregar componentes sin necesidad de realizar grandes cambios a la aplicación, facultando a las empresas de una posición ventajosa en el mercado frente a sus competidores. 49 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" 4. INCREMENTO DE LA PRODUCTIVIDAD: con las platafonnas amigables, los usuarios podrán emplear menos tiempo en la realización de las tareas que antes eran tediosas. la disponibilidad de nuevas tecnologías de programación pennite la implantación de Aplicaciones de Desarrollo Rápido (RAD), contribuyendo esto a una pronta satisfacción de las nuevas necesidades de la empresa. También facilita la toma de decisiones, ya que la infonnación es oportuna y se encuentra disponible. Entre las aplicaciones de desarrollo rápido se encuentran: Power Builder, Delphi, Visual Fox, Visual · e++, entre otros. S. REDucaóN DE TRÁFICO: la red se descongestiona por que la manipulación de los datos ocurren en el Cliente y en el Servidor, dependiendo de cuál sea la fonna más efectiva para cada tarea. la base de datos se encuentra distribuida entre el Oiente y el Servidor. la red dedica mayor tiempo a transportar los resultados y no las consultas. HTTP {HYPERTEXT TRANSFER PBOTOCQL) Es el protocolo de alto nivel de World Wide Web que rige el intercambio de mensajes entre clientes y servidores del web. Ha estado en uso en el World Wide Web desde 1990, presentándose como un protocolo genérico orientado a objetos, que puede ser usado para distintas tareas tales como servidores de aplicaciones y sistemas de control de distribución de infonnación, a través de sus listas de extensión. Una característica de HTTP es que pennite al sistema cargarse independientemente de que los datos se estén transfiriendo. • 50 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCAOO A CUNICAS MEDICAS" El propósito del HTTP es que los sistemas de infonnación sean más funcionales que simplemente dar una respuesta a un requerimiento hecho por el usuario, sino que también deberá incluir búsquedas, anotaciones y actualizaciones continuas. En el Internet, la comunicación se lleva a cabo gracias a la conexión que realiza el TCP/IP, pero esto no le debe pennitir dirigir a cualquier otro protocolo en el Internet o en otras redes, de tal manera que la estructura de búsqueda establecida por HTTP para analizar y responder una solicitud, y luego transportar las unidades de datos, no puede ser dominada por el TCP/IP. Las características principales de H1TP son: ✓ LIGEREZA: reduce la comunicación entre clientes y servidores a intercambios discretos, de modo que no sobrecarga la red y pennite saltos hipertextuales rápidos. ✓ GENERAUDAD: puede utilizarse para transferir cualquier tipo de datos, según el estándar MIME. Esto incluye también los que desarrollen en el futuro, ya que el . diente y el servidor pueden negociar en cualquier momento el modo de representación de los datos; el cliente notifica al servidor una lista de fonnatos que entiende y en adelante el servidor sólo remitirá al cliente datos que este sea capaz de manejar. El cliente debe aceptar al menos 2 fonnatos: text plain (texto nonnal) y text html (hipertexto codificado en HTML; el lenguaje en el que se escriben los hipertextos del web.) ✓ EXTENSIBIUDAD: contempla distintos tipos de transacción entre dientes y servidores y la futura implementación de otros nuevos. Esto abre 51 "DISEÑO Y DESARROLLO DE UN SISTEMA DISTRIBUIDO APUCADO A CUNICAS MEDICAS" posibilidades más allá de la simple recuperación de objetos de la red: búsquedas, anotaciones, etc. El HTTP es básicamente estable, y la transmisión que realiza se divide en los pasos siguientes: 1. CONEXIÓN: que es establecida desde el diente hacia el servidor. 2. SOucrruD: que es enviada por el diente y consiste en un mensaje de solicitud al servidor. 3. RESPUESTA: enviada por el servidor hacia el cliente y es una respuesta a la solicitud de éste. 4. CIERRE: es el cierre o finalización de la conexión, tanto por parte del cliente como del servidor. El formato de las partes de requisición y respuesta es definido por el HTTP, mientras que la información de cabecera definida en esta especificación es enviada en caracteres latinos ISO, y la transmisión de objetos es realizada, si es posible, en forma binaria. La eficiencia de HTTP posibilita la transmisión de objetos multimedia y la realización de saltos hipertextuales con una rapidez