¡Esta es una revisión vieja del documento!
La web son páginas (En formato HTML, Imagen, JSON, XML ,etc) que se interconectan entre ellas por enlaces (urls).
Su estructura es la siguiente:
El navegador solicita por TCP/IP el recurso a obtener. El formato de como solicita ese recurso es por el protocolo HTTP. Y el servidor de TCP/IP responde usando el protocolo HTTP devolviendo los datos.
En el ejemplo podemos ver que se pide el recurso /index.html. Una vez obtenido , el navegador ve que hay enlaces a otros recursos que también solicita al servidor:
Con todo ello , muestra la página HTML+CSS+Imagen y ejecuta el código JavaScript sobre la página dentro del navegador.
En el host servidor se estaba ejecutando el servidor TCP/IP que entiende el protocolo HTTP. A ese software lo llamaremos servidor Web. El servidor es "personalizable" permitiendo que se ejecute código específico para nuestra aplicación. Ese código específico es el código de servidor que se suele escribir en Java, PHP, NodeJS, etc.
Por lo tanto en una app web hay 3 tipos de código:
Los navegadores suelen llevar herramientas para depurar las páginas web. En Chrome , si pulsamos F12 y pinchamos en la opción de "Network" (Menu superior), podemos ver todas las peticiones que hace el navegador al cargar una página.
Podemos ver en la página del CIPFP Mislata, como se han hecho 40 peticiones , siendo entre ellas:
Servidor | Ruta dentro del servidor |
---|---|
www.gstatic.com | /charts/loader.js |
www.fpmislata.com | /moodle/lib/javascript.php/1588418173/lib/requirejs/require.min.js |
www.fpmislata.com | /logos/amadeus.png |
www.fpmislata.com | /moodle/theme/image.php?theme=clean&component=core&image=help |
Para desplegar hay muchas cosas a tener en cuenta.
Herramientas que vamos a usar en clase:
Otras herramientas y Servicios:
En el siguiente diagrama se vería el ejemplo "4" donde , el servidor web, la base de datos y el servidor de copias de seguridad son servidores distintos:
Ejemplo de PAAS en Java:
El IAAS es mas versátil ya que solo nos ofrecen el ordenador y nosotros nos montamos todo como queremos. El problema es que es mas complicado todo de hacer y tenemos que administrarlo todo: Sistema operativo, servidor web y aplicación
Por otro lado en el PAAS, solo nos tenemos que preocupar de nuestra aplicación lo que hace que sea mas sencillo. El problema es que ya no hay tanta versatilidad, ya que debemos ceñirnos al entorno que nos ofrece la empresa
NodeJS (o simplemente node) es un lenguaje de programación basado en JavaScript. Al ser un lenguaje interpretado, su forma de trabajar es mas similar a BASH que a Java. ¿Porque vamos a usar NodeJS? Porque muchas herramientas para el desarrollo web están hechas en node. Además del lenguaje de programación, node incluye un gestor de paquetes similar al de Linux (como apt) que se llama "npm" (Node package manager )
Antes de empezar, deberemos configurar el proxy que se usa en el CIPFP Mislata para la orden apt, para ello editar el fichero "/etc/apt/apt.conf" y añadir lo siguiente:
Acquire::http::proxy "http://172.16.0.9:8080/"; Acquire::https::proxy "http://172.16.0.9:8080/";
Ejecutar los siguientes comandos:
sudo apt update sudo apt install nodejs sudo apt install npm
Instalar NodeJS desde la página oficial de Node.JS
Ahora vamos a configurar el proxy para el gestor de paquetes de node.
Lanzar los siguientes comandos:
npm config set proxy http://172.16.0.9:8080 npm config set https-proxy http://172.16.0.9:8080
package.json
que es fundamental en node ya que contiene toda la información del proyecto
npm init
node_modules
Instalar la librería de JavaScript llamada "jQuery"
npm install jquery
npm install typescript -g
node_modules
npm install
Ahora vamos a ver como ejecutar código node.
El programa mas sencillo es hacer el "Hola Mundo". Para ello creamos un fichero llamado "app.js" con el contenido siguiente:
#!/usr/bin/env node console.log('Hola Mundo');
Para ejecutarlo hay que lanzar la orden:
node app.js
Y mostrará por consola el mensaje "Hola mundo"
Como en NodeJS se usa JavaScript, podemos usar todo lo que sabemos de JavaScript en un programa de node.
Navega a la página https://www.apache.org/ e indica:
Del apartado "Ejemplos de Tipos de Despliegue" de este tema, haz un diagrama del esquema de Hosts que se usan y que software se instalaría en cada uno de ellos. Pero solo para los ejemplos 2, 5 y 10
Imagina un nuevo ejemplo de despliegue que tenga al menos 4 servidores. Deberás explicarlo y hacer su esquema.
Busca por internet el nombre de 2 servidores web que permitan aplicaciones en Java y de 2 servidores web que permitan aplicaciones en PHP
Busca por internet el nombre de 2 balanceadores de carga y indica cuando usarías cada uno de ellos.
Busca por internet el nombre de dos empresas que ofrezcan servicios de tipo IAAS
Busca por internet el nombre de dos empresas que ofrezcan servicios de tipo PAAS
Busca por internet el nombre de dos empresas que ofrezcan servicios de tipo SAAS
Busca dos empresas de Hosting y comprara el precio de sus VPS, suponiendo características parecidas. ¿Cual elegirías?
Busca por internet una empresa con su precio y características para poder tener:
NodeJS tiene una librería llama Math.js que permite trabajar con números complejos.
Haz una aplicación en node que sume los números complejos (2+4i) y (-5+3i) y muestre el resultado por pantalla.Indica como ejecutar la aplicación