SISTEMA ELECTRONICO PARA EL CONTROL DE APLICACIONES EN UN PC NICOLAS RIOS RODRIGUEZ

Documentos relacionados
Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

1.- FUNCION DE UNA RED INFORMATICA

ESCUELA NORMAL PROF. CARLOS A CARRILLO

TEMA: Las Redes. NOMBRE Torres Castillo Ana Cristina. PROFESOR: Genaro Israel Casas Pruneda. MATERIA: Las TICS en la educación.

Dispositivos de Red Hub Switch

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

El Modelo de Referencia OSI

Introducción a las redes de computadores

Conceptos de redes. LAN (Local Area Network) WAN (Wide Area Network)

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma

TIPOS DE REDES QUE CONFORMAN INTERNET. LAN, WAN, MAN, WLAN, WMAN, WWMAN, SAN y PAN: Qué significa cada término?

REDES DE TELECOMUNICACIONES

Capítulo 5. Cliente-Servidor.

En este capítulo se presenta el marco teórico sobre las redes inalámbricas que utilizan el

Capas del Modelo ISO/OSI

FUNDAMENTOS DE REDES Y CONECTIVIDAD REDES INFORMATICAS

REDES INFORMÁTICAS REDES LOCALES. Tecnología de la Información y la Comunicación

Redes. Tipos de redes según su alcance. 1 Ediciones AKAL, S. A.

INSTALACIÓN, OPERACIÓN Y PROGRAMACIÓN DE EQUIPOS Y SISTEMAS TELEFÓNICOS

SISTEMAS DE INFORMACIÓN II TEORÍA

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

TEMA: PROTOCOLOS TCP/IP

Redes Informáticas Temas: Concepto de Red de computadoras, Propósito de la Red, Clasificación según su cobertura geográfica. Topologías.

El objetivo de este informe es mostrar las características principales de las redes, de acuerdo a su división por tamaño, o extensión.

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Dentro de los medios de transmisión guiados, los más utilizados en el campo de las comunicaciones y la interconexión de computadoras son:

DE REDES Y SERVIDORES

Espectro electromagnético, incluyendo rango en el cual se dan las telecomunicaciones modernas.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Introducción a las Redes

Redes de Comunicaciones. José Manuel Vázquez Naya

Capítulo 1: Introducción

Rede de área local (LAN)

CONTRALORIA GENERAL DE LA REPUBLICA UNIDAD DE TECNOLOGIAS DE INFORMACION POLITICAS DE USO DE LA RED INALAMBRICA INSTITUCIONAL

La vida en un mundo centrado en la red

AREA DE TECNOLOGIA E INFORMATICA. Introducción a las Redes de computadores

Redes de Computadores Contenido.

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

UNIVERSIDAD DE SALAMANCA

Herramientas Informáticas I Hardware: Redes de Computadoras Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa.

Tema 3. TOPOLOGÍAS INALÁMBRICAS. Alejandro Carrasco Muñoz Jorge Ropero Rodríguez

TEMA 2 Componentes y estructura de una red de telecomunicación.

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

Aspectos Básicos de Networking

UNIVERSIDAD TECNICA DEL NORTE

Conmutación. Conmutación telefónica. Justificación y definición.

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

WINDOWS : TERMINAL SERVER

ARQUITECTURAS CLIENTE/SERVIDOR

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

Capítulo 1. Introducción


Define las propiedades del medio físico de transición. Un ejemplo es: CABLES, CONECTORES Y VOLTAJES.

Elementos requeridos para crearlos (ejemplo: el compilador)

REDES DE ORDENADORES. Red. Subred. Ordenador. Dominio

El grupo de trabajo IEEE ha definido tres clases de WPANs que se

PLANEAMIENTO DE LAS COMUNICACIONES EN EMERGENCIAS REDES PRIVADAS DISPONIBLES EN EMERGENCIAS TELEFONÍA VÍA SATÉLITE. Índice

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

LAS TIC. Cintyha Lizbeth Gómez Salazar. Lic. Cruz Jorge Fernández Aramburo. 0 1 / 0 8 /

CONCEPTOS BÁSICOS. HTML (Hypertext Markup Language) lenguaje de marcas de hipertexto Es el lenguaje en el que están escritas las páginas de la Web.

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

INTERNET LA RED WAN MAS GRANDE

CAPÍTULO 1 Instrumentación Virtual

TIPOS DE CONEXIÓN A INTERNET

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Tema 4. Gestión de entrada/salida

Hay dos tipos de conexiones posibles cuando se trata de redes. Punto a punto conexiones proporciona un enlace dedicado entre dos dispositivos.

Arquitecturas cliente/servidor

Telecomunicaciones: redes e Internet

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?

COLEGIO COMPUESTUDIO

SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS

BlackBerry Mobile Voice System

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

TRABAJO PRACTICO Nº 3 Procesador de Textos Año Fibra Optica (El Cable) Conexión Vía Satélite. Teléfonos Móviles. Ondas de Radio.

UNIVERSIDAD AUTÓNOMA DEL CARIBE

Emerson Network Energy Center, ENEC Lite, es. Multilenguaje. Navegación intuitiva. Multiusuario. Seguridad. Mantenimiento y control

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

Windows Server Windows Server 2003

REDES DE COMPUTADORAS REDES DE COMPUTADORAS CARACTERISTICAS DE LAS REDES 02/01/2012 ING. BOLIVAR ALCOCER

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Redes I Clase # 3. Licda. Consuelo E. Sandoval

unidad redes de computadoras

TELECOMUNICACIONES Y REDES

Los servicios que presta Internet. RETO: Conocer y utilizar los servicios que nos ofrece Internet.

Fuente:

DIPLOMADO EN SEGURIDAD INFORMATICA

Redes de Área Local: Configuración de una VPN en Windows XP

UNIVERSIDAD TECNICA DEL NORTE FACULTAD DE CIENCIAS ADMINISTRATIVAS Y ECONÓMICAS COMPUTACIÓN I

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

TIPOS DE RED. Clase 4

RECOMENDACIÓN UIT-R F (Cuestión UIT-R 125/9) a) que el UIT-T ha realizado estudios y elaborado Recomendaciones sobre la RDSI;

MODELO OSI. Historia. Modelo de referencia OSI

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

Autenticación Centralizada

13. Cableado Estructurado

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

NETWORKING: fundamentos. PROF. ÁNGEL RIVERA, Ed.D.

Transcripción:

SISTEMA ELECTRONICO PARA EL CONTROL DE APLICACIONES EN UN PC NICOLAS RIOS RODRIGUEZ UNIVERSIDAD DE LA SALLE FACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN ELECTRÓNICA BOGOTA 2005

SISTEMA ELECTRONICO PARA EL CONTROL DE APLICACIONES EN UN PC NICOLAS RIOS RODRIGUEZ Trabajo de Grado Doctor JAIME HUMBERTO CARVAJAL ROJAS Asesor del Proyecto UNIVERSIDAD DE LA SALLE FACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN ELECTRÓNICA BOGOTA 2005

La responsabilidad de los conceptos emitidos en el presente escrito es exclusiva de su Autor.

Este trabajo en primer lugar lo dedico a Dios, a mis Padres: Maria Elena una ejemplar mujer, madre y profesional que con su iniciativa y amor por las cosas que emprende nos ayuda a comprender el significado de la vida, Gracias Mama y Hernando que con su dedicación, apoyo, esfuerzo y cariño hizo posible que las cosas difíciles se tornaran divertidas y emotivas, Gracias Papa, siendo ellos quienes aportaron a éste trabajo su experiencia profesional, que ante todo siempre me apoyaron y creyeron en mí, y son mi orgullo y ejemplo a seguir, agradezco a Rex, su apoyo y determinación en momentos cruciales, agradezco a mis amigos: Andres, Ronald, William su invaluable amistad.. Pero Definitivamente éste trabajo se basó en el amor y confianza ilimitada de la mujer que alegra los días de mi vida, Diana Lorena Sarmiento Rodríguez, mujer a la que Admiro, Respeto, Amo, Thanks Lips of FIRE.

CONTENIDO I Objetivo General 1 II Objetivos Específicos 1 1 Capitulo I Introducción 2 2 Capitulo II Sistemas Distribuidos 3 2.1 Definición 3 2.2 Características 3 2.2.1 Concurrencia 3 2.2.2 Carencia de reloj global 3 2.2.3 Aislamiento del sistema 4 2.3 Desarrollo tecnológico 4 2.3.1 Historia 4 2.3.2 Modelo de procesamiento central 8 2.3.3 Modelo de servidores 9 2.3.4 Modelo Cliente Servidor 9 2.4 Conceptos Generales 10 2.4.1 Protocolo 10 2.4.2 Redes Lan 11 2.4.3 Redes Wan 12 2.4.4 Sockets 12 2.4.5 Mensajes 14 2.4.6 Modelo de referencia OSI 14 2.5 Modelo Cliente Servidor 16 2.5.1 Definición 16 2.5.2 Categorías del Servicio 18 2.5.3 Componentes de Software 20 2.5.4 Arquitecturas 21 2.5.5 Clasificación de los Sistemas Distribuidos 23

2.6 Protocolo de comunicaciones TCP/IP 26 2.6.1 Definición 26 2.6.2 Arquitectura 26 3 Capitulo III Sistemas Inalámbricos 29 3.1 Breve Introducción 29 3.2 Conceptos Generales 30 3.2.1 Transmisión Inalámbrica de datos 30 3.2.2 Medio de transporte 31 3.2.3 Modulación 33 3.2.4 Modulación ASK 33 3.3 Redes inalámbricas 35 3.3.1 Características 35 3.3.2 Redes Wi-Fi 37 3.3.3 Redes Bluetooth 39 3.3.4 Redes Gsm 43 4 Capitulo IV Identificación del entorno de Trabajo 46 4.1 Elementos Disponibles 47 4.2 Viabilidad del proyecto 47 5 Capitulo V Diseño de los Sistemas de Transmisión 53 y Recepción de Datos 5.1 Modelo de Comunicación 53 5.2 Requerimientos de Hardware 55 5.3 Selección de componentes 55 5.3.1 Módulos RF 55 5.3.2 Lenguaje de Programación 57 5.4 Implementación del Sistema Inalámbrico 58 5.4.1 Consideraciones técnicas 58 5.4.2 Desarrollo y Construcción del Sistemas 61 Transmisor y Receptor

5.4.2.1 Circuito Transmisor 64 5.4.2.2 Circuito Receptor 68 5.4.3 Pruebas piloto 69 5.4.4 Puesta en funcionamiento 72 5.5 Implementación del Sistema Distribuido 74 5.5.1 Identificación del entorno 74 5.5.2 Requisitos previos 74 5.5.3 Desarrollo de la Aplicación Servidor 76 5.5.4 Desarrollo de la Aplicación Cliente 84 5.5.5 Diseño de la base de Datos 86 5.5.6 Pruebas Iniciales 88 5.5.7 Puesta en funcionamiento 95 6 Conclusiones 98 7 Bibliografía 101 8 ANEXOS Anexo A 102 Anexo B 103 Anexo C 110 Anexo D 117

OBJETIVO GENERAL Optimización de las tareas y procedimientos a los cuales se someten las computadoras, con el fin de garantizar una alta cobertura, soporte adecuado, a fin de que las actividades desarrolladas en el laboratorio sean más eficientes, y fáciles de llevar a cabo. OBJETIVOS ESPECÍFICOS 1. Implementar un medio efectivo de comunicación entre la aplicación y los dispositivos electrónicos de RF. 2. Desarrollar una interfaz de aplicación interactiva y de fácil manejo para el usuario. 3. Construir un circuito electrónico que garantice la conectividad y versatilidad actual con un computador y su sistema operativo. 4. Supervisar el estado particular de alguna estación en servicio a fin de generar un reporte de su operabilidad. 5. Diseñar estrategias que permitan el mejoramiento en cuanto a la asignación programación y control de seguridad. 1

INTRODUCCIÓN El presente trabajo contiene la descripción clara y detallada del diseño y construcción de un sistema para personalizar el uso de las funciones de un computador, es decir controla la forma en la cual uno o más usuarios hacen uso de aplicaciones del computador. Dada las condiciones de uso de los computadores o PC S y el avance en las aplicaciones que se pueden llevar a cabo con estos equipos es lógico pensar que se debe implementar una forma de controlar el uso de los computadores debido a que ni todas las personas que los utilizan lo usan todo ni todo el tiempo se usa el mismo tipo de aplicaciones, es por eso que con este trabajo académico se pretende dar a conocer una solución que integra la tecnología electrónica y la tecnología de sistemas para brindar al usuario como al administrador del computador facilidad y eficiencia al momento de utilizar el equipo. En este trabajo se encontraran los requerimientos básicos o necesidades a satisfacer con el proyecto: la recopilación de datos, la planeación de las soluciones, la escogencia de métodos y componentes, la evaluación de los procesos que intervienen y su puesta en funcionamiento. Apoyado en el uso de aplicaciones basadas en el modelo cliente servidor que permitirán un control justo de las acciones a tomar. 2

CAPITULO II SISTEMAS DISTRIBUIDOS 2.1 DEFINICIÓN Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor. 2.2 CARACTERÍSTICAS 2.2.1 Concurrencia Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red. 2.2.2 Carencia de reloj global Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes. 3

2.2.3 Aislamiento del Sistema Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando. 2.3 DESARROLLO TECNOLÓGICO 2.3.1 Historia Los sistemas distribuidos han estado relacionados históricamente con la arquitectura de las computadoras en las cuales se ejecutan, razón por la cual su historia puede analizarse según las siguientes generaciones y sus principales características: 1. Generación Cero (década de 1940): Carencia total de sistema operativo. Completo acceso al lenguaje de máquina. 2. Primera generación (1945-1955): bulbos y conexiones: En los años cincuenta comienzan como transición entre trabajos, haciendo la misma más simple. 3. Segunda generación (1955-1965): transistores y sistemas de procesamiento por lotes (batch): 4

En los años sesenta aparecen los sistemas distribuidos con: Multiprogramación: varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rápidamente de un trabajo a otro. Multiprocesamiento: varios procesadores se utilizan en un mismo sistema para incrementar el poder de procesamiento. Posteriormente aparece la independencia de dispositivo: El programa del usuario especifica las características de los dispositivos que requieren los archivos. El sistema asigna los dispositivos correspondientes según los requerimientos y las disponibilidades. 4. Tercera generación (1965-1980): circuitos integrados y multiprogramación: Difusión de la multiprogramación: Partición de la memoria en porciones, con trabajos distintos en cada una de ellas. Aprovechamiento del tiempo de espera consecuencia de operaciones de e / s, para utilizar la CPU para otros procesos. 5

Protección por hardware del contenido de cada partición de memoria. Aparición de técnicas de spooling: Simultaneous Peripheral Operation On Line: operación simultánea y en línea de periféricos. Almacenamiento de trabajos de entrada y de salida en dispositivos transitorios rápidos (discos), para disminuir el impacto de los periféricos más lentos. Son sistemas de modos múltiples, es decir que deben soportar sistemas de propósitos generales; son grandes y complejos pero muy poderosos. Interponen una capa de software entre el usuario y el hardware. Aparecen los lenguajes de control de trabajos, necesarios para especificar el trabajo y los recursos requeridos. Soportan timesharing (tiempo compartido), variante de la multiprogramación con usuarios conectados mediante terminales en línea, permitiendo la operación en modo interactivo o conversacional. Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy exigentes, especialmente para usos industriales o militares. 6

Se difunden las computadoras de rango medio. 5. Cuarta generación (1980-1990): computadoras personales: Aparición de software amigable con el usuario, destinado a usuarios no profesionales y con una interfase gráfica muy desarrollada. Desarrollo de sistemas operativos de red y sistemas operativos distribuidos. Sistemas operativos de red: Los usuarios están conscientes de la existencia de varias computadoras conectadas. Cada máquina ejecuta su propio sistema operativo local. Son similares a los sistema operativo de un solo procesador pero con el agregado de: Controlador de interfaz de la red y su software de bajo nivel. Software para conexión y acceso a archivos remotos, etc. Sistemas operativos distribuidos: Aparece ante los usuarios como un sistema. de un solo procesador, aún cuando de soporte a varios procesadores. Los usuarios no son conscientes del lugar donde se ejecutan sus programas o donde se encuentran sus 7

archivos, ya que lo debe administrar el sistema automáticamente. Deben permitir que un programa se ejecute mediante varios procesadores a la vez, maximizando el paralelismo. Aparición de emuladores de terminal para el acceso a equipos remotos desde computadoras personales (PC). Gran énfasis en la seguridad, en especial por el desarrollo de los sistemas de comunicaciones de datos. El sistema crea un ambiente de trabajo según el concepto de máquina virtual, que lo aísla del funcionamiento interno de la máquina. Proliferación de sistemas de bases de datos, accesibles mediante redes de comunicación. 2.3.2 Modelo de Procesamiento central (Host) Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales. Los problemas de este modelo son: 8

Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades. El otro problema que surgió son las modernas interfases gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar. 2.3.3 Modelo de Servidores Otro modelo que entró a competir con el anterior, también un tanto centralizado, son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresión, poco inteligentes para un número de Minicomputadores que hacen el procesamiento conectados a una red de área local. Los problemas de este modelo son: Podría generarse una saturación de los medios de comunicación entre los servidores poco inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grades por varios clientes a la vez, podían disminuir en gran medida la velocidad de transmisión de información. 2.3.4 Modelo Cliente Servidor Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz 9

Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una aplicación determinada y por lo tanto ejecutarla en forma eficiente. 2.4 CONCEPTOS GENERALES 2.4.1 Protocolo Es un conjunto bien conocido de reglas y formatos que se utilizan para la comunicación entre procesos que realizan una determinada tarea. Se requieren dos partes: Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. Un protocolo permite que componentes heterogéneos de sistemas distribuidos puedan desarrollarse independientemente, y por medio de módulos de software que componen el protocolo, haya una comunicación transparente entre ambos componentes. Es conveniente mencionar que estos componentes del protocolo deben estar tanto en el receptor como en el emisor. Los protocolos de comunicaciones definen las normas que posibilitan que se establezca una comunicación entre varios equipos o dispositivos, ya que estos equipos pueden ser diferentes entre sí. A continuación se presentan ejemplos de protocolos usados en los sistemas distribuidos: 10

IP: Protocolo de Internet Protocolo de la capa de Red, que permite definir la unidad básica de transferencia de datos y se encarga del direccionamiento de la información, para que llegue a su destino en la red. TCP: Protocolo de Control de Transmisión Protocolo de la capa de Transporte, que permite dividir y ordenar la información a transportar en paquetes de menor tamaño para su transporte y recepción. HTTP: Protocolo de Transferencia de Hipertexto Protocolo de la capa de aplicación, que permite el servicio de transferencia de páginas de hipertexto entre el cliente WEB y los servidores. SMTP: Protocolo de Transferencia de Correo Simple Protocolo de la capa de aplicación, que permite el envío de correo electrónico por la red. POP3: Protocolo de Oficina de Corre Protocolo de la capa de aplicación, que permite la gestión de correos en Internet, es decir, le permite a una estación de trabajo recuperar los correos que están almacenados en el servidor. 2.4.2 Redes LAN (Local Area Network) Son las redes de área local. La extensión de este tipo de redes suele estar restringida a una sala o edificio, aunque también podría utilizarse para conectar dos o más edificios próximos. 11

2.4.3 WAN (Wide Area Network) Son redes que cubren un espacio muy amplio, conectando a ordenadores de una cuidad o un país completo. Para ello se utilizan las líneas de teléfono y otros medios de transmisión más sofisticados, como pueden ser las microondas. La velocidad de transmisión suele ser inferior que en las redes locales. 2.4.4 Sockets Los sockets no son más que puntos o mecanismos de comunicación entre procesos que permiten que un proceso hable (emita o reciba información) con otro proceso incluso estando estos procesos en distintas máquinas. Esta característica de interconectividad entre máquinas hace que el concepto de socket nos sirva de gran utilidad. Esta interfaz de comunicaciones es una de las distribuciones de Berkeley al sistema UNIX, implementándose las utilidades de interconectividad de este Sistema Operativo (rlogin, telnet, ftp,...) usando sockets. Un socket es al sistema de comunicación entre ordenadores lo que un buzón o un teléfono es al sistema de comunicación entre personas: un punto de comunicación entre dos agentes (procesos o personas respectivamente) por el cual se puede emitir o recibir información. La forma de referenciar un socket por los procesos implicados es mediante un descriptor del mismo tipo que el utilizado para referenciar ficheros. Debido a esta característica, se podrá realizar redirecciones de los archivos de E/S estándar a los sockets y así combinar entre ellos aplicaciones de la red. Todo nuevo proceso creado 12

heredará, por tanto, los descriptores de sockets de su padre. La comunicación entre procesos a través de sockets se basa en la filosofía CLIENTE- SERVIDOR: un proceso en esta comunicación actuará de proceso servidor creando un socket cuyo nombre conocerá el proceso cliente, el cual podrá "hablar" con el proceso servidor a través de la conexión con dicho socket nombrado. El proceso crea un socket sin nombre cuyo valor de vuelta es un descriptor sobre el que se leerá o escribirá, permitiéndose una comunicación bidireccional, característica propia de los sockets y que los diferencia de los pipes, o canales de comunicación unidireccional entre procesos de una misma máquina. El mecanismo de comunicación vía sockets tiene los siguientes pasos: El proceso servidor crea un socket con nombre y espera la conexión. * El proceso cliente crea un socket sin nombre. * El proceso cliente realiza una petición de conexión al socket servidor. * El cliente realiza la conexión a través de su socket mientras el proceso servidor mantiene el socket servidor original con nombre. Es muy común en este tipo de comunicación lanzar un proceso hijo, una vez realizada la conexión, que se ocupe del intercambio de información con el proceso cliente mientras el proceso padre servidor sigue aceptando conexiones. Para eliminar esta característica 13

se cerrará el descriptor del socket servidor con nombre en cuanto realice una conexión con un proceso socket cliente. 2.4.5 Mensajes Es la implementación de los sockets para enviar desde un punto de origen, hasta un punto de destino información. Esta información esta catalogada como Mensaje, el cual se compone como en el caso de la lingüística de elementos como una introducción, y el objeto del mensaje, un ejemplo de mensaje es el siguiente: MENSAJE DE SOLICITUD DE INFORMACIÓN DE USUARIO: nicolas rios;00080040538;00003115784;000123456789 Donde el mensaje esta dividido en secciones o campos separados por punto y coma, este mensaje en esencia es una cadena de caracteres que se transporta bajo el esquema del socket hacia una máquina que pueda entender y resolver el tipo de solicitud requerida. 2.4.6 Modelo de Referencia OSI El modelo OSI (Open System Interconection) es utilizado por prácticamente la totalidad de las redes del mundo. Este modelo fue creado por el ISO (Organización Internacional de Normalización), y consiste en siete niveles o capas donde cada una de ellas define las 14

funciones que deben proporcionar los protocolos con el propósito de intercambiar información entre varios sistemas. Esta clasificación permite que cada protocolo se desarrolle con una finalidad determinada, lo cual simplifica el proceso de desarrollo e implementación. Cada nivel depende de los que están por debajo de él, y a su vez proporciona alguna funcionalidad a los niveles superiores. Los siete niveles del modelo OSI son los siguientes: El nivel de aplicación es el destino final de los Aplicación datos donde se proporcionan los servicios al usuario. Presentación Sesión Se convierten e interpretan los datos que se utilizarán en el nivel de aplicación. Encargado de ciertos aspectos de la comunicación como el control de los tiempos. Transporta la información de una manera Transporte fiable para que llegue correctamente a su destino. Red Nivel encargado de encaminar los datos hacia 15

su destino eligiendo la ruta más efectiva. Enlace de datos. Controla el flujo de los Enlace mismos, la sincronización y los errores que puedan producirse. Se encarga de los aspectos físicos de la Físico conexión, tales como el medio de transmisión o el hardware. Tabla 1. Modelo de Referencia OSI 2.5 MODELO CLIENTE SERVIDOR 2.5.1 Definición La arquitectura cliente-servidor es una forma específica de diseño de aplicaciones, aunque también se conoce con este nombre a los ordenadores en los que se estas aplicaciones son ejecutadas. Por un lado, el cliente es el ordenador que se encarga de efectuar una petición o solicitar un servicio. El cliente no posee control sobre los recursos, sino que es el servidor el encargado de manejarlos. Por otro lado, el ordenador remoto que actúa como servidor evalúa la petición del cliente y decide aceptarla o rechazarla consecuentemente. 16

Una vez que el servidor acepta el pedido la información requerida es suministrada al cliente que efectuó la petición, siendo este último el responsable de proporcionar los datos al usuario con el formato adecuado. Finalmente debemos precisar que cliente y servidor no tienen que estar necesariamente en ordenadores separados, sino que pueden ser programas diferentes que se ejecuten en el mismo ordenador. Básicamente, se basa en la existencia de dos elementos enlazados dentro de un proceso de comunicación; El Cliente y El Servidor, el cliente es una máquina que solicita un determinado servicio y se denomina servidor a la máquina que lo proporciona. Los servicios pueden ser: Ejecución de un determinado programa. Acceso a un determinado banco de información. Acceso a un dispositivo de hardware. Es un elemento primordial, la presencia de un medio físico de comunicación entre las máquinas, y dependerá de la naturaleza de este medio la viabilidad del sistema. 17

CLIENTE Solicitud de Recurso SERVICIO Respuesta PROG BD SERVICIOS Figura 1. Esquema Cliente Servidor 2.5.2 Categorías de Servicio Servicio de archivos Proporciona archivos para clientes. Si los archivos no fueran tan grandes y los usuarios que comparten esos archivos no fueran muchos, esto sería una gran opción de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el servidor los ubica y se los envía. Servicio de Base de Datos Son los que almacenan gran cantidad de datos estructurados, se diferencian de los de archivos pues la información que se envía está ya resumida en la base de datos. Ejemplo: El Cliente hace una consulta, el servidor recibe esa consulta (SQL) y extrae solo la información pertinente y envía esa respuesta al cliente. 18

Servicio de Software de Grupo El software de grupo es aquel, que permite organizar el trabajo de un grupo. El servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo envía al resto del grupo. Servicio WEB Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o link hace un llamado de la página y el servidor recibe el mensaje y envía la página correspondiente. Servicio de correo Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo. Servicio de objetos Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden ser capaces de activar los objetos que se encuentran en el servidor. Servicio de impresión Gestionan las solicitudes de impresión de los clientes. El cliente envía la solicitud de impresión, el servidor recibe la solicitud y la ubica en la cola de impresión, ordena a la impresora que lleve a cabo las operaciones y luego avisa a la computadora cliente que ya acabo su respectiva impresión. 19

Servicio de aplicación Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden acceder los clientes. 2.5.3 Componentes de Software Se distinguen tres componentes básicos de software: Presentación Tiene que ver con la presentación al usuario de un conjunto de objetos visuales y llevar a cabo el procesamiento de los datos producidos por el mismo y los devueltos por el servidor. Lógica de aplicación Esta capa es la responsable del procesamiento de la información que tiene lugar en la aplicación. Base de datos Esta compuesta de los archivos que contienen los datos de la aplicación. 20

2.5.4 Arquitecturas Arquitectura Cliente-Servidor de Dos Capas Consiste en una capa de presentación y lógica de la aplicación; y la otra de la base de datos. Normalmente esta arquitectura se utiliza en las siguientes situaciones: Cuando se requiera poco procesamiento de datos en la organización. Cuando se tiene una base de datos centralizada en un solo servidor. Cuando la base de datos es relativamente estática. Cuando se requiere un mantenimiento mínimo. SERVIDOR Base de Datos CLIENTE * Presentación * Lógica de la Aplicación. Figura 2. Cliente Servidor de 2 Capas Arquitectura Cliente-Servidor de Tres Capas Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra capa de la base de datos. Normalmente esta arquitectura se utiliza en las siguientes situaciones: 21

Cuando se requiera mucho procesamiento de datos en la aplicación. En aplicaciones donde la funcionalidad este en constante cambio. Cuando los procesos no están relativamente muy relacionados con los datos. Cuando se requiera aislar la tecnología de la base de datos para que sea fácil de cambiar. Cuando se requiera separar el código del cliente para que se facilite el mantenimiento. Esta muy adecuada para utilizarla con la tecnología orientada a objetos. Capa de Presentación Capa de la Aplicación Capa de Base de Datos Objetos de Negocios B/D CLIENTES SERVIDOR SERVIDOR Figura 3. Cliente Servidor de Tres Capas 22

2.5.5 Clasificación de los sistemas cliente servidor Representación distribuida La interacción con el usuario se realiza en el servidor, el cliente hace de pasarela entre el usuario y el servidor. Figura 4. Usuario Servidor Representación Remota La lógica de la aplicación y la base de datos se encuentran en el servidor. El cliente recibe y formatea los datos para interactuar con el usuario. Figura 5. Cliente Servidor Remotos Lógica Distribuida 23

El cliente se encarga de la interacción con el usuario y de algunas funciones triviales de la aplicación. Por ejemplo controles de rango de campos, campos obligatorios, etc. Mientras que el resto de la aplicación, junto con la base de datos, están en el servidor. Figura 6. Cliente Servidor de Control Gestión Remota de Datos El cliente realiza la interacción con el usuario y ejecuta la aplicación y el servidor es quien maneja los datos. Figura 7. Cliente Servidor de Gestión Remota Base de Datos Distribuidas El cliente realiza la interacción con el usuario, ejecuta la aplicación, debe conocer la topología de la red, así como la disposición y ubicación de los datos. Se delega parte de la gestión de la base de datos al cliente. 24

Figura 8. Cliente Servidores de Datos Cliente servidor de tres niveles El cliente se encarga de la interacción con el usuario, el servidor de la lógica de aplicación y la base de datos puede estar en otro servidor. Figura 9. Cliente Servidor de Gestión y Base de datos 25

2.6 PROTOCOLO DE COMUNICACIONES TCP/IP 2.6.1 Definición TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware. 2.6.2 Arquitectura TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. En Internet se diferencian cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI de la siguiente manera: Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales como correo electrónico (SMTP), transferencia de ficheros (FTP), conexión 26

remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol). Transporte: Coincide con el nivel de transporte del modelo OSI. Los protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los datos y proporcionar la fiabilidad necesaria en el transporte de los mismos. Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga de enviar los paquetes de información a sus destinos correspondientes. Es utilizado con esta finalidad por los protocolos del nivel de transporte. Enlace: Los niveles OSI correspondientes son el de enlace y el nivel físico. Los protocolos que pertenecen a este nivel son los encargados de la transmisión a través del medio físico al que se encuentra conectado cada host, como puede ser una línea punto a punto o una red Ethernet. El Protocolo TCP/IP funciona sobre algún tipo de red o de medio físico que proporcione sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y tecnologías que inicialmente son incompatibles. 27

Para transmitir información a través de TCP/IP, ésta debe ser dividida en unidades de menor tamaño. Esto proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo común en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades de información recibe el nombre de "datagrama" (datagram), y son conjuntos de datos que se envían como mensajes independientes. 28