UNIVERSIDAD SIMÓM BOLÍVAR INGENIERÍA DE LA COMPUTACIÓN OPTIMIZACIÓN E INTEGRACIÓN DEL SISTEMA AUTOMATIZADO DE MONITOREO Y CONTROL REMOTO VIA WEB PARA CASAS Y OFICINAS (ESPACIO INTELIGENTE) EN SU VERSION 2.0. Por ANDREY ANTONIO BOTTONI MORA INFORME FINAL DE CURSOS EN COOOPERACIÓN Presentado ante la Ilustre Universidad SIMÓN BOLÍVAR como Requisito Parcial para Optar por el Título de Ingeniero en Computación Sartenejas Octubre 2006
UNIVERSIDAD SIMOIN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA EN COMPUTACIÓN ACTA FINAL DE PROYECTO DE GRADO OPTIMIZACIÓN E INTEGRACIÓN DEL SISTEMA AUTOMATIZADO DE MONITOREO Y CONTROL REMOTO VIA WEB PARA CASAS Y OFICINAS ESPACIO INTELIGENTE. VERSION 2.0. Presentado Por: ANDREY ANTONIO BOTTONI MORA Este Proyecto de Grado ha sido aprobado por el siguiente jurado Examinador: Prof. Mariela Curiel Jurado Prof. Jesús Miguel Ferrer Tutor Académico Ing. Giovanni Savoca Tutor Industrial Sartenejas, 04 / Octubre / 2006 ii
DEDICATORIA A Dios por ser mi guía incondicional, A mis padres por ser mi fuente de inspiración, A mi hermano por todo el apoyo y colaboración, Y a ti por todo el amor, confianza y apoyo que me has brindado. Es intentando lo imposible, como se realiza lo posible. Henri Barbusse. Novelista Frances iii
AGRADECIMIENTOS A Dios, por sobre todas las cosas, porque gracias a él y su ayuda, tengo la vida que tengo y he podido llegar a fin con todas las metas que me he propuesto, sobrellevando las cosas buenas y malas que la vida nos impone. A mis padres, por brindarme todo el amor, apoyo y confianza a lo largo de toda mi vida, y por ser ese pilar fundamental que me impulsó a seguir adelante aún y cuando el camino era difícil de llevar. Sin Uds. no hubiese podido lograrlo. A mi hermano Ulianov, por estar allí y apoyarme incondicionalmente siempre. A una de las mujeres mas importantes de mi vida, aparte de mi Madre, Verónica, gracias por acompañarme durante este largo y difícil camino durante estos 3 años y 9 meses, brindándome todo tu amor y apoyo. Finalmente lo logramos, y mas importante aún, lo logramos juntos!!!. A Karely y Kristel, porque al igual que con Verónica, vivimos lindos momentos juntos y con quienes aprendí que el amor verdadero entre amigos si existe, que la vida es una sola y que los verdaderos amigos siempre están allí para brindarnos apoyo, en las buenas y en las malas. Al resto de mis amigos USB: Nelson, Dava, Juitin, Abraham, Gelvis, Mary Mary, Kenny, Ciro, Ponti, Tere, Rosa, Raquelita, Patty, Jennifer, Maria Esther, JR, Jennieshashuta, Astrid, al amarillo, al enano, a la catira y al chino Chauran, porque definitivamente cada uno de ellos son parte importante de mis vivencias en ese hermoso mundo que es la Universidad, y porque se que puedo contar con cada uno de ellos cuando los necesite. A mis amigos GWT: Aron, Mila, Beta, Bucarelo, Yorka, Salinas, Enrique, Cecilia, Isabel, Gustavo, Felix, Listbeth, Maribel, Gigliola, Hernán, Valmore, y Yajaira, por todo el apoyo que me brindaron durante la realización de esta pasantía. A mi tutor industrial Giovanni Savoca y a Miguel Fernándes, porque ambos confiaron en que podía lograr llevar a Espacio Inteligente a esta segunda versión, gracias por su apoyo; y muy especial a Loredana, porque realmente te ganaste mi amistad y me demostraste que aún y cuando se tiene poco tiempo conociendo a alguien, la amistad puede ser realmente sincera y especial. A mis profesores USB, porque fueron parte importante en mi formación académica y personal, en especial a mi tutor académico, Jesús Ferrer, por todo el apoyo para la realización de este proyecto y a la jurado Mariela Curiel, por creer en mi y por todos sus aportes realizados. Simplemente. Muchas Gracias a todos!!!!!! iv
OPTIMIZACIÓN E INTEGRACIÓN DEL SISTEMA AUTOMATIZADO DE MONITOREO Y CONTROL REMOTO VIA WEB PARA CASAS Y OFICINAS (ESPACIO INTELIGENTE) EN SU VERSION 2.0. Presentado Por: ANDREY ANTONIO BOTTONI MORA RESUMEN En el presente informe de pasantía se presenta toda la descripción, razones que justificaron su desarrollo, alcance, entre otras características, del sistema automatizado de monitoreo y control remoto vía Web en la empresa Global Web Technologies, orientado a instalaciones de pequeñas y medianas empresas y hogares llamado ESPACIO INTELIGENTE en su Versión 2.0. Este sistema permite el encendido y apagado de dispositivos eléctricos, monitoreo de cámaras, control de temperatura, entre otras funciones útiles para casas y oficinas, a través de un navegador Web. Igualmente se expondrá la metodología de desarrollo utilizada, la descripción detallada del proyecto, que incluye la explicación del modelo arquitectónico del sistema y de cada uno de los lineamientos de desarrollo relacionados con cada capa en particular, así como la implementación realizada, y el desarrollo propio de cada módulo. Este modelo permite la integración del proyecto como un módulo de las herramientas Net2Client y Web Interactive Builder, ambas comercializadas por la empresa. Este sistema se implementó en la oficina principal de la empresa, permitiendo el control y monitoreo de iluminación, aire acondicionado, temperatura y video de la misma. El desarrollo se realizó bajo herramientas de Software Libre, con el Sistema Operativo Fedora Core 5 como plataforma de operación. Para el control de iluminación y video se utilizó la tecnología de automatización X-10, mientras que para el sensado de iluminación, temperatura y control de aire acondicionado, se utilizó tecnología 1-Wire. v
INDICE GENERAL CAPITULO I -- INTRODUCCION... 1 CAPITULO II -- ENTORNO EMPRESARIAL... 4 CAPITULO III -- PLANTEAMIENTO DEL PROBLEMA... 6 3.1 -- Atributos Funcionales y No Funcionales del Sistema en su Versión 1.0... 7 3.2 -- Diagnóstico del Estado Actual de ESPACIO INTELIGENTE versión 1.0... 7 3.3 -- Alcance del Proyecto ESPACIO INTELIGENTE 2.0... 9 3.4 -- Objetivos del Proyecto ESPACIO INTELIGENTE 2.0... 9 3.4.1 -- Objetivo General... 9 3.4.2 -- Objetivos Específicos...10 CAPITULO IV -- MARCO TEORICO...11 4.1 -- Modelo Cliente/Servidor...11 4.2 -- Modelo Alternativos...12 4.3 -- Tecnologías Web...13 4.3.1 -- Tecnologías de Cliente...13 4.3.2 -- Tecnologías de Servidor...14 4.4 -- Protocolos de comunicación utilizados en automatización...14 4.4.1 -- X10...15 4.4.2 -- UPB: Universal Powerline Bus...16 4.4.3 -- 1-Wire...17 4.4.4 -- Lonworks...18 4.4.5 -- PowerBus...19 4.5 -- Referencia de equipos...20 4.5.1 -- Iluminación...20 4.5.2 -- Aire Acondicionado...20 4.5.3 -- Video...21 4.5.3 -- Otros Dispositivos de Comunicación...21 4.6 -- Net2Client...22 4.7 -- WIB (Web Interactive Builder)...25 CAPITULO V -- MARCO METODOLÓGICO...27 5.1 -- Rational Unified Process (RUP)...27 5.1.1 -- Dimensión Estática...28 5.1.2 -- Dimensión Dinámica...28 5.1.2.1 -- Fase de Inicio...29 5.1.2.2 -- Fase de Elaboración...29 5.1.2.3 -- Fase de Implementación...30 5.1.2.4 -- Fase de Transición...30 CAPITULO VI -- FASE DE INICIO...31 6.1 -- Atributos del Sistema ESPACIO INTELIGENTE Versión 2.0...31 6.2 -- Entregables...32 6.2.1 -- Documento de Visión del Sistema...33 6.2.2 -- Estudio Inicial de Riesgos...34 6.2.3 -- Caso del Negocio...35 6.2.4 -- Especificación de los Requerimientos de Software...35 6.2.4.1 -- Requerimientos Funcionales...35 6.2.4.2 -- Requerimientos No Funcionales...36 6.2.5 -- Modelo Inicial de Casos de Uso...37 6.2.6 -- Glosario de Términos...40 6.2.7 -- Plan Creativo de Interfaz...40 CAPITULO VII -- FASE DE ELABORACION...41 7.1 -- Vista de Casos de Uso...41 7.2 -- Vista Lógica...42 vi
7.3 -- Vista de Implementación...46 7.4 -- Vista de Implantación...53 7.5 -- Vista de Datos...53 CAPITULO VIII FASE DE IMPLEMENTACION...55 CAPITULO IX -- FASE DE TRANSICION...59 9.1 -- Pruebas Unitarias...59 9.2 -- Pruebas Integrales...60 CAPITULO X -- CONCLUSIONES...61 CAPITULO XI -- RECOMENDACIONES...64 CAPITULO XII -- ACRÓNIMOS Y GLOSARIO DE TÉRMINOS...66 12.1 Acrónimos...66 12.2 Terminología...68 CAPITULO XIII -- REFERENCIAS BIBLIOGRÁFICAS Y BIBLIOGRAFÍA...73 13.1 Referencias Bibliográficas...73 13.2 -- Bibliografía...74 vii
INDICE DE FIGURAS Figura 1.- Organigrama de la Empresa Global Web Technologies (GWT)... 5 Figura 2.- Arquitectura de la Plataforma Net2Client...24 Figura 3.- Casos de Uso del Actor Usuario Final...39 Figura 4.- Modelo de 4+1 Vistas...41 Figura 5.- Modelo Conceptual del Sistema...42 Figura 6.- Arquitectura del Sistema...44 Figura 7.- Diagrama ER del Sistema...54 INDICE DE TABLAS Tabla 1.- Resumen general de los Casos de Uso del Sistema...38 Tabla 2.- Conceptos usados en el Sistema...43 viii
CAPITULO I -- INTRODUCCION Es común ver en la actualidad, como las empresas dedicadas al desarrollo de Sistemas de Información, se enfrentan a nuevos desafíos y a las nuevas exigencias de un mercado en constante crecimiento y con altos niveles de competitividad. Para sobrellevarlos, es necesario que aumenten su eficiencia en todas sus áreas de trabajo, en especial las relacionadas con los servicios a los clientes, y la adopción de nuevas tecnologías de desarrollo. Hace algunas décadas atrás, existía un mercado, que para ese entonces, era un sueño difícil de sostener. Este, no es otro sino el de la automatización. Sin embargo, el crecimiento acelerado de la tecnología del momento, permitió que el mismo, evolucionara de tal manera que en la actualidad se desarrolla de forma sostenida en muchos países, algunos con diferentes niveles de tecnificación y de avance. El objetivo primordial de la automatización no es más que el de facilitarle a los seres humanos, la realización de ciertas tareas, delegándoselas a una máquina (dispositivo mecánico o electrónico). El Sector industrial fue el pionero en el uso de dicha tecnología, más ésta no se limitó a dicho campo. Hoy en día, es posible llevarla a nuestras oficinas de trabajo y a nuestros hogares. Lamentablemente, aún no ha habido tanto auge en estos niveles. Muchos creen que ello se debe a que, la idea de la automatización en el hogar o en la oficina, rompe con el esquema natural del trabajo que se desarrolla en las mismas. Otra razón, es que estas tecnologías son casi inaccesibles para aquellas pequeñas y medianas empresas y por consiguiente para muchos hogares, debido a su complejidad en cuanto a uso y a su alto costo económico. La disciplina encargada de la automatización del hogar y oficinas es llamada DOMÓTICA. Este término se utiliza para denominar la parte de la tecnología (electrónica e informática), que integra el control y la supervisión de cada uno de los elementos existentes en una oficina o en una vivienda. 1
El proyecto de automatización en donde se enmarca lo desarrollado durante la pasantía se denomina ESPACIO INTELIGENTE, con el cual se busca que ciertos eventos como el control de la iluminación, control de la temperatura, control de energía, y la vigilancia a través de cámaras de seguridad, entre otras, sean registrados y monitoreados desde una unidad local o desde una unidad remota vía Internet. Esta pasantía está enfocada en mejorar la primera versión operativa del sistema, logrando una solución de integración que está dirigida al segmento de mercado conformado por pequeñas y medianas empresas, así como a hogares, con la cual se busca la utilización de nuevas tecnologías referidas a la automatización. Debido a que la primera versión era un prototipo con pocas funcionalidades, y a que la empresa decidió llevar el mismo a la comercialización, se planteó la idea de introducirle mejoras, que lograran convertirlo en un sistema de trabajo y de control más eficaz y eficiente. Dichas mejoras van desde la adaptación del sistema a tecnologías y dispositivos más sofisticados, hasta cambios sustanciales a la interfaz y a los mecanismos de seguridad, entre otros. Dicho desarrollo se realiza de acuerdo a un modelo basado en los principios de modularidad, orden, flexibilidad y adaptabilidad a los cambios. La organización de este informe, para efecto de su presentación, consta de trece capítulos: En los capítulos II, III y IV, se formulará una breve descripción del entorno empresarial en el que se desarrolla este proyecto de pasantía, las razones que justifican su desarrollo, alcance, división en fases, y todos aquellos términos que fueron utilizados y que constituyen elementos indispensables para la compresión de lo aquí expuesto. En los capítulos V, VI, VII, VIII y IX se expondrá la metodología de desarrollo utilizada, la descripción detallada del proyecto, que incluye la explicación del modelo arquitectónico del sistema y 2
de cada uno de los lineamientos de desarrollo relacionados con cada capa en particular, así como la implementación realizada, y el desarrollo propio de cada módulo. En los capítulos X, XI y XII se expondrán las conclusiones y recomendaciones para futuros desarrollos y/u optimizaciones, y los acrónimos y la terminología usada durante este informe. En el capítulo XIII se presentan las Referencias Bibliográficas y Bibliografía. Luego se presentarán los Apéndices y Anexos que sean necesarios para el entendimiento del Sistema. 3
CAPITULO II -- ENTORNO EMPRESARIAL La empresa Global Web Technologies (GWT) surge en el año 2003 para solucionar el problema de las mejoras entre las relaciones de las empresas con sus clientes y sus relacionados. Es una empresa con alta proyección internacional, la misma ofrece productos y servicios que permiten la creación de soluciones de alta tecnología y basadas en el E-Business y sistemas a la medida de los clientes. Con ello se busca brindar un servicio integral en el sector Web, creando herramientas que faciliten los negocios electrónicos y que además sean beneficiosos para los clientes. Igualmente, la empresa presta servicios de Consultoría de Proyectos a empresas en diversas áreas de trabajo. Una de las características más importantes de GWT, es su capacidad de reducción en gran medida, de los tiempos de desarrollo, lo que usualmente trae consigo, una merma considerable de todos los costos de los proyectos que en ella se llevan a cabo. Los productos que GWT ofrece, se mueven al ritmo constante de la tecnología y se adaptan al crecimiento de las organizaciones. Los mismos son desarrollados bajo la plataforma baluarte de la empresa, Net2Client, herramienta de desarrollo de sistemas, con la cual se pueden generar sistemas Web. La misión de GWT es la creación de soluciones que permitan que las empresas den saltos cuánticos en la transformación de sus relaciones de negocio centrados en sus clientes. La visión de GWT es ser una empresa de clase mundial, reconocida por su innovación, por la calidad de sus productos y por ser pionera en una nueva generación de sistemas. Global Web Technologies cuenta con un personal altamente capacitado en diversas áreas, entre las cuales se pueden mencionar, mercadeo, diseño y desarrollo Web. El equipo de GWT posee toda la pericia necesaria para hacer que el cliente se incorpore de una manera cómoda y más efectiva, al entorno que el Internet ha creado durante los últimos años alrededor del mundo. 4
2.1 -- Estructura Organizativa En la Figura 1 se presenta el organigrama donde se aprecian las distintas áreas que conforman la empresa y sus respectivas divisiones. La pasantía se desarrolló dentro de la división de operaciones, mantenimiento y soporte. En dicha división se recibió apoyo constante para la resolución de los problemas que se fueron presentando durante la pasantía y que le atañen a la división. Esto fue de gran ayuda al desarrollo del proyecto. Figura 1.- Organigrama de la Empresa Global Web Technologies (GWT) 5
CAPITULO III -- PLANTEAMIENTO DEL PROBLEMA Luego de varios estudios realizados, la empresa Global Web Technologies, buscando incursionar en el mercado de la automatización doméstica, decide desarrollar una solución con la que se satisfaga la demanda de usuarios que desean poseer un producto que permita automatizar ciertas actividades domésticas, de fácil uso y de un costo monetario asequible. La característica primordial de este producto, es su capacidad de integración con cualquier tecnología de automatización doméstica y el mismo debe ser desarrollado bajo la plataforma Net2Client y Web Interactive Builder 3 (WIB), ambas herramientas de desarrollo creadas por la empresa para satisfacer las necesidades de sus clientes. Es por todo lo descrito en el párrafo anterior que nace el sistema Espacio Inteligente (EI) en su versión 1.0, primer prototipo del sistema de monitoreo y control remoto que permite automatizar actividades y operaciones de equipos a distancia, medir su rendimiento y verificar el estado de los mismos. Estas funciones están disponibles vía Internet y a futuro a través de equipos celulares y PDA s. La arquitectura general de capas del sistema debe cumplir con los siguientes requisitos: Generación de un modelo de capas que permita el desarrollo individual de los diferentes módulos del sistema. Integración con la plataforma Net2Client y Web Interactive Builder Establecimiento de uno o varios equipos locales en cada instalación. Definición de los métodos de sincronización entre los equipos. Operación desde un servidor principal, con posibilidad de respaldo. Facilidades de control y monitoreo de dispositivos conectados al sistema. Configurabilidad de acuerdo a perfiles de usuario. 6
Disponibilidad de equipos en el mercado que cumplan con los criterios establecidos. He aquí los atributos funcionales y no funcionales de Espacio Inteligente en su Versión 1.0 y su estado actual. Luego se desarrollarán los objetivos tanto generales como específicos del proyecto para su Versión 2.0 3.1 -- Atributos Funcionales y No Funcionales del Sistema en su Versión 1.0 Es una aplicación Web que puede ejecutarse en cualquier Sistema Operativo. El mismo fue desarrollado bajo el esquema de programas LAMP. Las tareas de automatización se realizan en tiempo real y las interacciones Usuario - Sistema se registran permanentemente en la Base de Datos. El panel de control es completamente configurable de acuerdo a las necesidades del usuario. A través del panel de administración es posible la obtención de reportes de diversa índole, por ejemplo, reportes de los controladores de los dispositivos, de los datos de temperatura, de las interacciones, entre otros. Los tiempos de respuesta se encuentran por encima del rango verificado para este tipo de aplicaciones, que es entre 3 y 5 segundos. Se espera mejorarlos en próximas versiones. La primera versión de la aplicación posee un nivel medio en lo referente a la tolerancia a fallas. Es por ello que se desea incrementar el nivel ya que puede ser vulnerable a caídas del sistema en general o de algún modulo en especifico del mismo. Ofrece niveles de seguridad aceptables debido a su asociación a la plataforma Net2Client que posee un módulo de seguridad bastante eficiente. 3.2 -- Diagnóstico del Estado Actual de ESPACIO INTELIGENTE versión 1.0 El prototipo de Espacio Inteligente se encuentra instalado actualmente en las oficinas de la empresa Global Web Technologies (GWT), sitio donde se realizan las pruebas y el control de sus 7
funcionalidades. Los aspectos más resaltantes del sistema ESPACIO INTELIGENTE 1.0 se resumen a continuación: La interfaz del sistema es intuitiva, lo que hace que sea de muy fácil uso para una amplia variedad de usuarios. Puede ser soportada por varios navegadores Web, entre los que resaltan Internet Explorer y Mozilla Firefox y se apoya en elementos gráficos, de control y de componentes ofrecidos por la tecnología Web. El sistema cuenta con funcionalidades básicas de automatización tales como el encendido y apagado de las luces de la oficinas, video - vigilancia, control de temperatura ambiental y del aire acondicionado, entre otras. Provee vistas de configuración para los administradores del sistema y un panel de control para los usuarios. A través de éste, se pueden encender y apagar las secciones de iluminación de la oficina, así como conocer su estado en cualquier momento. El usuario puede ver la temperatura actual y observar un gráfico de evolución en el tiempo de la misma. El dispositivo de Aire Acondicionado puede controlarse directamente a través del panel. La oficina puede ser vista a través de tres cámaras de video, activando una de ellas a la vez. La cámara activa es presentada en forma de video a través del monitor del panel de control. Es posible igualmente el control de las imágenes capturadas por la cámara. Adicionalmente, se puede conocer el estado de los procesos de sincronización y control del sistema en general. El accionar determinada función en un dispositivo controlado a través de EI, lleva consigo retardos motivados por diferentes factores: la cola de procesos que maneja el computador donde reside el sistema, el protocolo usado por el dispositivo, el tiempo de ejecución de las acciones en cada uno de ellos y las condiciones de la red. Para ejecutar una acción de encendido / apagado sobre las luces y los cambios de cámaras, los tiempos promedio varían entre 5 y 8 segundos. En el control del aire acondicionado el retraso se encuentra entre 3 y 5 segundos. Así mismo, el retraso en el video es de aproximadamente 2 8
segundos. Otro tiempo importante a considerar es el de la replicación de datos desde el servidor local al servidor principal, el cual es aproximadamente de 1 a 2 segundos y depende únicamente del nivel de tráfico presente en la red. A pesar de que estos tiempos de respuesta se encuentran dentro de los requerimientos iniciales de la empresa, se espera mejorarlos en las próximas versiones de Espacio Inteligente, debido a los cambios propios de los requerimientos del mercado. 3.3 -- Alcance del Proyecto ESPACIO INTELIGENTE 2.0 Si bien es cierto que Espacio Inteligente en su versión 1.0, es operativo en al menos un 90%, la empresa luego de un estudio minucioso sobre el mismo y de su proyección a futuro con el producto, decidió que era necesario llevar a Espacio Inteligente a una segunda versión, que mejorará el rendimiento y la funcionalidad del mismo, esperando que el sistema ingrese de manera contundente al mercado de la automatización doméstica. Se espera que sea desarrollado bajo las mismas herramientas de implementación y se desea realizar un estudio de mercado respecto a las tecnologías de automatización doméstica, para así considerar la ampliación del espectro de los dispositivos que podrían usarse en el Sistema. 3.4 -- Objetivos del Proyecto ESPACIO INTELIGENTE 2.0 En esta sección se establecen los objetivos generales y específicos propuestos para el proyecto ESPACIO INTELIGENTE 2.0. 3.4.1 -- Objetivo General Optimizar e integrar el software de un sistema de monitoreo y control remoto automatizado. (Espacio Inteligente) en su Versión 2.0. 9
3.4.2 -- Objetivos Específicos En referencia al sistema ESPACIO INTELIGENTE en su versión 2.0, se tienen los siguientes objetivos específicos: Generar los artefactos entregables correspondientes a cada una de las fases propuestas por la metodología de desarrollo de software (RUP). Investigación sobre tecnologías de automatización, protocolos de comunicación, dispositivos comerciales disponibles en el mercado y algoritmos que permitan mejorar la eficiencia de la ejecución del sistema en al menos un 60%, con respecto al nivel de la primera versión. Ampliar conocimientos en los lenguajes de programación a utilizar (PHP para el entorno Web, Perl para el desarrollo de los demonios encargados del control de eventos en el sistema). Mejorar la Interfaz Gráfica, buscando que sea mucho más intuitiva, más llamativa para el usuario y a su vez de fácil uso. Investigación sobre Net2Client, que es una herramienta modeladora de negocios creada por la empresa, y que permite a sus usuarios crear bases de datos relacionales. El cliente puede definir la estrategia de negocios a usar, puede establecer todos los requerimientos y la lógica de interacción con los usuarios. Luego Net2Client generará la aplicación. El sistema actual (Versión 1.0) está instalado y es compatible con Net2Client. Igualmente, realizar una investigación sobre Web Interactive Builder, manejador de contenidos para páginas Web creado y usado por la empresa en todos sus desarrollos. Mejorar la seguridad y el acceso al sistema. Esto es de vital importancia, en la idea de comercialización del mismo. Desarrollo de tres (3) nuevos módulos de control del sistema (PID, On/Off con Histéresis, Alarmas). Para ello, se seguirá con la arquitectura ya definida para el sistema. 10
CAPITULO IV -- MARCO TEORICO Este capítulo presenta todo el sustento teórico en el que se fundamentó el desarrollo del Espacio Inteligente. Por ello, se expondrán conceptos sobre algunos de los temas específicos que se trataron durante la pasantía. Se explicarán los fundamentos básicos del modelo Cliente-Servidor, las tecnologías Web que se encuentran en constante uso en la actualidad y, finalmente, se tratarán los temas relacionados a la automatización doméstica y se hará referencia a los equipos que se utilizaron en el sistema y que fueron instalados en la Oficina de GWT. Finalmente, se realizará una descripción detallada de la Plataforma Net2Client, de la herramienta WIB (Web Interactive Builder) con sus características principales. 4.1 -- Modelo Cliente/Servidor El modelo Cliente/Servidor es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático, permitiendo mejorar el rendimiento del sistema global de información [1]. En otras palabras, es un modelo que sustenta la idea de distribuir de manera más eficiente, las tareas realizadas entre dos computadores, simplificándolas. El funcionamiento del modelo comienza cuando un cliente hace una solicitud (usando algún protocolo de comunicación) de cierta información al servidor, quien al recibir la misma, realiza la autenticación necesaria y retorna la información que el cliente solicitó. En la actualidad es uno de los modelos más usados y entre sus características principales podemos mencionar: Tanto el cliente como el servidor pueden actuar como una sola entidad o como entidades separadas. En este último caso, pueden o no estar en plataformas de software diferentes. Un servidor debe estar en capacidad de prestar servicios a muchos clientes de manera concurrente. 11
Las funciones Cliente/Servidor pueden ser dinámicas, es decir, un servidor puede convertirse en cliente cuando realiza la solicitud de servicios a otros servidores dentro de la red. El modelo permite que el servidor no necesite tanta potencia de procesamiento ya que éste se reparte enteramente con el o con los cliente(s). Igualmente permite que el tráfico en la red se reduzca de manera considerable ya que los clientes sólo se conectan al servidor cuando sea necesario y cierran la conexión cuando no necesitan de ningún otro servicio. El ejemplo más claro de este modelo lo podemos encontrar en la actualidad y no es más que el de un explorador de Internet. Cada vez que un internauta desea ingresar a un sitio Web, el explorador se comunica con el servidor que hospeda dicho sitio y luego devuelve al mismo la información obtenida. 4.2 -- Modelo Alternativos Otro modelo de computación distribuida y/o paralela, es el modelo Maestro/Esclavo. En él, existe una Unidad Central que juega el rol del Maestro. Su función principal es la de dirigirse reiteradamente a cada una de las computadoras esclavas conectadas a él, y delegarle funciones específicas, para así distribuir la carga de las aplicaciones y hacer su ejecución más rápida y efectiva. El maestro también puede servir de puente entre esclavos, en el sentido de que puede preguntarle a un esclavo si desea enviar cierta orden a otro. Si esto es así, el esclavo envía la información al maestro y éste a su vez la reenvía a él o los esclavos destinatarios. Otro modelo alternativo al Cliente/Servidor es el Modelo Jerárquico, en el que el procesamiento de la información es distribuido a través de capas y en el que se distinguen diversos niveles entre los equipos conectados. Su principal problema es la poca independencia de los programas respecto a cómo están almacenados los datos, lo que dificulta además la programación de software de acceso a estos sistemas. 12
También se tiene el modelo Punto a Punto (Peer to Peer) que está referida a aquel modelo que no posee clientes y servidores fijos, sino una serie de nodos que se comportan simultáneamente como clientes y servidores de los demás nodos de la red. Contrasta con el modelo Cliente/Servidor el cual se rige por una arquitectura monolítica donde no hay distribución de tareas entre sí, solo una simple comunicación entre un usuario y una terminal en donde el cliente y el servidor no pueden cambiar de roles. Cualquier nodo puede iniciar, detener o completar una transacción compatible en el modelo Punto a Punto. 4.3 -- Tecnologías Web Son todas aquellas estructuras que permiten que un usuario pueda enviar, en cierto momento y a través del Internet, alguna información de manera fácil, íntegra y segura. Estas tecnologías abarcan todos los estándares y protocolos que permiten visualizar, a través de un navegador Web, toda la información que le solicitó un Internauta al servidor que hospeda el URL que se está visitando. Todos los lenguajes de programación que son ejecutados tanto en el cliente (en este caso a través del explorador Web) así como el servidor y los protocolos de comunicación entre ellos, se encuentran inmersos dentro de las Tecnologías Web. A continuación se mostrará la clasificación de algunas de las tecnologías más relevantes, relacionadas con el procesamiento de información de acuerdo al lugar donde son ejecutadas. 4.3.1 -- Tecnologías de Cliente Las Tecnologías de Cliente, son todas las funcionalidades incorporadas en el computador de un usuario, y que son usadas por los proveedores de contenido para mejorar la experiencia de los mismos. A pesar de ello, dicho proveedor no tiene control sobre las tecnologías, ya que las mismas están incluidas dentro del explorador Web, y dependen del tipo y versión del navegador instalado. Las tecnologías más usadas en la actualidad, son las siguientes: 13