= TolGrid = {{{ #!div style="background:#fcc; border: 1px solid red; color:red; padding-left:1em; margin-right:1em" To be translated. }}} '''TOLGrid''' es un entorno de cómputo distribuido para aplicaciones escritas en el lenguaje ''TOL''. '''TOLGrid''' permite la ejecución simultánea de múltiples instancias del intérprete de ''TOL'' en una red de computadoras físicas y/o virtuales.[[BR]] El esquema siguiente muestra un esquema de la estructura de '''TOLGrid''':[[BR]][[BR]] [[Image(tolgrid_design.png)]][[BR]] Los elementos principales que aparecen en el gráfico anterior son:[[BR]] * __'''TOLMachine'''__: es un programa que tiene incrustada una instancia del intérprete de ''TOL'', funciona como una máquina de cómputo que es capaz de ejecutar código escrito en el lenguaje de programación TOL. En una máquina física o virtual de una red de computadoras se pueden ejecutar múltiples instancias de TOLMachine, tantas como la capacidad de hardware lo permita. Un usuario de TOLGrid podría tener asignadas varias TOLMachines, las cuales podrían estar ejecutándose en máquinas físicas distintas.[[BR]] * __'''TOLMachine Server'''__: es un programa servidor que corre en una máquina física o virtual y tiene como función la administración de las instancias de TOLMachine que se ejecutan en esa máquina. En cada máquina física o virtual de la red de computadoras se ejecuta una instancia de TOLMachine Server, la cual es responsable de la administración de todas las instancias de TOLMachine que se ejecuten en dicha máquina. Sus funciones se resumen a arrancar, parar y asignar TOLMachines a los usuarios que lo requieren, así como permitirles el monitoreo de las mismas.[[BR]] * __'''TOLGrid Server'''__: es un programa que corre en una de las máquinas físicas o virtuales de la red de computadoras y su función es administrar todo el entorno de cómputo distribuido. Sólo se ejecuta una instancia de TOLGrid Server en toda la red; este programa se comunica con las instancias de TOLMachine Server que se están ejecutando en las máquinas de la red para realizar sus actividades.[[BR]] * __'''TOLGrid Console'''__: es una aplicación de escritorio con una interfaz gráfica de usuario mediante la cual se pueden establecer conexiones tanto al TOLGrid Server como a los TOLMachine Servers para:[[BR]] * Monitorear las instancias de TOLMachine que se ejecutan: ver su estado, revisar el log, matarlas.[[BR]] * Administrar los usuarios que pueden acceder.[[BR]] * Crear instancias de TOLMachines e interactuar con ellas: ejecutar código, revisar el log, explorar variables.[[BR]] * __'''Clientes TOLGrid'''__: los clientes de '''TOLGrid''' pueden ser aplicaciones de consola, de escritorio, móviles o web que utilizan los recursos de cómputo distribuido para su propio funcionamiento. Actualmente hay dos aplicaciones desarrolladas que hacen uso de '''TOLGrid''' y, en este sentido, son sus clientes:[[BR]] * __''Bayes Web Suite''__: aplicación web que usan los clientes de Bayes para realizar simulaciones de los modelos y generar diversos tipos de reportes a partir de los mismos.[[BR]] * __''TOLGrid Process Server''__: servicio de ejecución de procesos ''TOL'' paralelizados que permite la ejecución masiva de procesos subdividiéndolos en procesos más pequeños que pueden ser ejecutados en paralelos por medio de '''TOLGrid'''. Aunque desde el punto de vista del tipo de aplicación, ésta es un servidor, para '''TOLGrid''', ésta es un cliente que explota sus recursos de cómputo distribuido.[[BR]] == Requerimientos para la instalación de TOLGrid == En esta sección describimos, tanto los requerimientos de hardware como los de software para una instalación de '''TOLGrid'''.[[BR]] === Requerimientos generales === Todos los componentes de '''TOLGrid''' requieren de un Entorno de Ejecución Java, JRE (Java Runtime Environment) versión 1.6.x; este entorno es distribuido por Oracle en dos formas: como parte del Kit de Desarrollo de Java, JDK (Java Development Kit) o de forma independiente. En cualquiera de las dos formas de distribución sirve, escoger una u otra forma de distribución, depende de si se requiere algún componente del JDK como requisito para otro software o actividad.[[BR]] Hay otras distribuciones de Java, pero sólo recomendamos la proveniente de Oracle porque es la que ha sido probada extensamente y asegura la compatibilidad 100%. Ya se ha establecido que Open JDK presenta problemas de compatibilidad con algunos de los componentes de '''TOLGrid''' o del software requerido por éste. No se han realizado pruebas con otras distribuciones de Java.[[BR]] === Requerimientos de TOLGrid Server === '''''TOLGrid Server''''' es una aplicación Java pura por lo que no impone requerimientos en cuanto al sistema operativo. En cuanto al hardware sólo se requiere garantizar que dispone de 4GB de memoria RAM y de 10GB de disco (aunque quizás este tamaño nunca se llegue a alcanzar) para una pequeña base de datos incrustada que maneja este servidor.[[BR]] '''''TOLGrid Server''''' se distribuye como un fichero ‘.zip’ que tiene todo lo requerido para la ejecución.[[BR]] === Requerimientos para TOLMachine/TOLMachine Server === '''''TOLMachine''''' y '''''TOLMachine Server''''' funcionan de forma conjunta y deben estar instalados en la misma máquina; en cada máquina se ejecuta una instancia de '''''TOLMachine Server''''', la cual es responsable de la ejecución de varias '''''TOLMachines''''', cuyo número dependerá de la configuración y la demanda.[[BR]] '''''TOLMachine''''' es una aplicación nativa que en su primera versión sólo funciona en máquinas con Linux; se disponen versiones compiladas para ''Redhat/Centos 5.x'' y ''Ubuntu 10.x''. En estas máquinas se requiere que TOL esté instalado y funcionando correctamente. '''''TOLMachine''''' requiere que la biblioteca de enlace dinámico libtol.so pueda ser encontrada por el sistema, por lo que se recomienda que se añada a la configuración de ''ld'' como se describe más adelante.[[BR]] '''''TOLMachine Server''''' requiere de tres puertos abiertos, uno se usa para recibir peticiones de los clientes, otro establecer conexiones con las instancias de '''''TOLMachine''''' que se ejecuten y otro para escuchar las peticiones de '''''TOLGrid Server'''''. Cada '''''TOLMachine''''' utiliza tres puertos, cuyos números son asignados por '''''TOLMachine Server''''' de un rango configurado; se debe garantizar que el rango a configurar sea suficiente para el número máximo de '''''TOLMachines''''' que se pueden ejecutar en forma concurrente en un momento dado.[[BR]] == Documentación == A continuación relacionamos un conjunto de documentos en los que se exponen las funcionalidades de '''TOLGrid''', los documentos han sido organizados atendiendo lo que se requiere hacer un usuario ya que no todos los usuarios están interesados en los mismos aspectos; por ejemplo, a una analista, probablemente lo que le interese es hacer uso de la ''Consola de TOLGrid'' y no cómo se configuran los diversos componentes. Ya que los documentos están concebidos de forma independiente uno de otro, hay tópicos que se repiten, o sea, el mismo tópico puede aparecer en más de un documento, como es el caso de la estructura general y componentes de '''TOLGrid'''.[[BR]] === Lista de documentos === * [https://docs.google.com/document/pub?id=1tWGzciWWQzRxJm6XP1_z3VhPb6H-0n300wAP2KR23Qo TOLGrid: Manual del Administrador]