xumarhu.net xumarhu.net Cursos Tópicos Selectos de Tecnologías Web

Práctica 2 - Grid Computing

2.1) No. de Práctica: 2

2.2) Nombre: Creación de un Grid Computing.

2.3) Objetivo: Desarrollar e implementar una red de clientes web que se conecten a un servidor y formen una Grid Computing para compartir tiempo de procesamiento.

2.4) Introducción:

El procesamiento y almacenamiento de la información ya no se hace solamente sobre una computadora, si no que se utilizan todos los recursos necesarios de la red (incluyendo servidores, computadoras de escritorio, laptops y dispositivos móviles) para llevar a cabo este objetivo, se le conoce como Grid Computing. Actualmente se utiliza el Grid Computing como un método para repartir cargas de trabajo para buscar una solución en conjunto o para realizar múltiples tareas utilizando todos los recursos de la red, tanto locales (intranet) como externos (dispositivos localizados en internet).

2.5) Especificar la correlación con él ó los temas y subtemas del programa de estudio vigente:

Grid Computing el segundo tema de la Unidad 1 “Computación Distribuida” de la materia de “Tópicos Selectos de Tecnologías Web”. Es muy importante conocer los ambientes distribuidos, ya que son la base del Internet que ahora conocemos. El Grid Computing nos permite compartir las cargas de trabajo entre diferentes tipos de computadoras que posea la red y solucionar algún problema algorítmico o dar servicios de red a varios usuarios.

El uso masivo de información como el Big Data y el incremento de dispositivos a la red (Internet de las Cosas) nos indican que se requieren grandes redes de procesamiento y almacenamiento de datos que nos permitan afrontar los grandes retos que se avecinan, y el Grid Computing es un excelente método para resolverlos.

2.6) Material y equipo necesario:

HARDWARE

Mínimo 2 computadoras, recomendadas 3, 2 clientes y un servidor (pueden ser laptops o de escritorio, se recomienda laptop por la movilidad).

Laptop con Linux Laptop con MacOS Laptop con Windows












Conexión en Red: Esto puede ser de 3 maneras:

a) Cableada: Interconectar las 2 computadoras por medio de un cable de red cruzado.

cable rj45












b) Interconectar las 2 computadoras por medio de un cable recto utilizando un switch.

switch tplink












c) Inalámbrica: Interconectar las 2 computadoras por medio de un Access Point.

access point cisco












SOFTWARE

1) Sistema Operativo:

Cada computadora deberá tener uno de los 3 sistemas Operativos mas usados (Linux, Mac, Windows).

Recomendaciones: Se recomienda usar Linux Ubuntu 15.10, Mac OS X 10.11 El Capitán y Windows 8 respectivamente, ya que son las versiones mas nuevas para cada sistema operativo, aunque se puede trabajar con versiones anteriores, dependiendo de la capacidad del hardware de la computadora empleada y de los requisitos de los diferentes tipos de software a instalar.

linux mac windows












2) Lenguaje de Programación del lado del cliente: Se recomienda HTML5, CSS3 y JavaScript

html 5 css 3 javascript












3) Servidor Web:

Se recomienda Apache Web Server.

apache












4) Lenguaje de Programación del lado del Servidor: Se recomienda PHP

php












5) Manejador de Base de Datos: Se recomienda MySQL.

mysql












Recomendaciones: Una de las 2 computadoras fungirá como servidor P2P, por lo cual deberá tener instalado el servidor Apache, junto con PHP y MySQL. Se recomienda instalar XAMPP, el cual nos instala los 3 componentes juntos al mismo tiempo.

ampp












6) Navegador Web:
Se recomienda utilizar los siguientes navegadores (en este orden por su compatibilidad con HTML 5):
chrome firefox opera safari internet explorer
CHROME FIREFOX OPERA SAFARI EXPLORER

2.7) Metodología:

a) Sistema Operativo:
Instalar en cada computadora uno de los 3 sistemas operativos recomendados:

b) Configurar clientes:
Instalar como mínimo un navegador web en cada computadora cliente:

c) Configurar Servidor:
Instalar Apache+PHP+MySQL en la computadora servidor (aquí se encuentra la Instalación de Apache-PHP-MySQL (XAMPP en Linux)).

d) Interconectar equipos
Computadoras clientes y servidor deben estar interconectados:

grid computing






















e) Página Web
Hacer una página web en el Servidor 1, que al cargarse por el Cliente n, envíe los datos del cliente al servidor. Los posibles datos a enviar (aunque pueden ser mas) serían: Es posible que no todos los datos se puedan recolectar, esto depende del sistema operativo donde corra el navegador y los permisos que tenga. Los datos se enviarán vía AJAX al servidor web. Aquí se encuentra un código de ejemplo para Detectar las características de la computadora de un cliente con JavaScript y enviarlas a un servidor.

f) Almacenar datos
Un servidor web recibirá los datos y los almacenará en una base de datos Aquí se encuentra un código de ejemplo para Preguntar los datos de un usuario y lo registra en una base de datos.

g) Página Web del Administrador
Hacer otra página web (página del administrador) donde se muestre los usuarios y sus datos que han enviado. Se deben ordenar los datos de acuerdo a la computadora que tenga mas capacidad de cómputo (velocidad, memoria, etc.).

h) Distribuidor de Procesos
Dentro de la página del Administrador debe haber un botón de “Iniciar Grid” donde se envíe a todas las computadoras conectadas a la Grid Computing un proceso o parte de un proceso que entre todas tienen que resolver y terminar. El proceso a distribuir puede ser el siguiente: Práctica 2 Grid Computing

2.8) Sugerencias didácticas:

Se sugiere trabajar en equipos de máximo 3 personas para que puedan instalar la red con al menos 2 computadoras por equipo.

2.9) Reporte del alumno (resultados):

El reporte será en 2 partes:

a) Revisión
Varios usuarios se conectan a la página del servidor y se debe observar en la página del administrador los datos de manera dinámica.

b) Código
Al término de la práctica, se entregará por equipo el código en una memoria USB.


FECHA DE ENTREGA: viernes 17 de febrero

2.10) Bibliografía preliminar:

Coulouris, George, Dollimore, Jean y Kindberg, Tim . 2001. Sistemas Distribuidos. Conceptos y Diseño. Madrid España:Tercera Edición Addison Wesley Pearson Educación.
Deitel, Paul, Deitel, Harbey y Deitel, Abbey . 2013. Cómo programar Internet & World Wide Web. Naucalpan de Juárez, Estado de México:Pearson Educación de México.
Firtman, Maximiliano. 2008. Ajax Web 2.0 para profesionales. México D.F.:Alfaomega Grupo Editor
Orós, Juan Carlos. 2011. Diseño de páginas Web con XHTML, JavaScript y CSS. México D.F.:Alfaomega Grupo Editor.
Tanenbaum, Andrew S. y Van Steen, Maarten. 2008. Sistemas distribuidos. Principios y Paradigmas. México D.F.:Segunda Edición Pearson Educación.


Portal de Tecnología desarrollado por: Rogelio Ferreira Escutia
Valid CSS Valid XHTML 5