DESARROLLO DE APLICACIONES WEB EN EL SERVIDOR
Tema 1: Conceptos generales: Introducción al módulo
PHP Un lenguaje de script al lado del servidor
CONCEPTOS SOBRE DESARROLLO WEB
Qué pretende explicar este módulo
- El objetivo de este módulo lo describe su propio nombre.
Objetivo
Desarrollo de aplicaciónes web en entorno servidor
|
- En esta introducción analizaremos qué entendemos por Desarrollo de aplicaciones web en el entorno servidor.
- Para ello vamos a ir desgranando el nombre del módulo y analizándolo en cada una de sus partes.
- Partes a analizar
- Desarrollar una aplicación
- Aplicaciones Web
- Entorno servidor
Desarrollar una aplicación
Conocimiento previo
Qué es Desarrollar una aplicación
|
- Son muchas las posibles respuestas, pero al menos deberíamos saber dar una de forma correcta
Actividad
Vamos a dar una definición entre todos. Aportar ideas
|
- Posible definición
Definición
- Dado un problema de naturaleza lógica,
- desarrollar una aplicación consiste en
- implementar o construir un programa usando un determinado lenguaje de programación,
- Dicho programa consiste en un conjunto de instrucciones que ejecutadas en un entorno computacional solucionan de forma automatizada el problema planteado.
|
- Desarrolar una aplicación
- Cuando decimos implementar nos referimos a :
- Analizar el problema.
- Diseñar una solución algorítmica válida.
- Escribir el código de dicha solución utilizando uno o varios lenguajes de programación concreto, interpretables o complilables.
- Fases en el desarrollo tradicional
:
Actividad
Realizar la aplicación Ecuaciones de segundo grado con este esquema
|
- Desarrollar una aplicación
Pregunta
¿Compilación o interpretación?
|
- Las instrucciones escritas, de alguna manera han de pasar a código máquina para que se puedan ejecutar en un entorno computacional.
- Para ello dichas instrucciones pueden Compilarse o Interpretarse
Conocimiento previo
Diferencias entre Compilacion Vs Interpretación
|
Pregunta
Java es un lenguaje compilado o interpretados
|
Pregunta
En un entorno de ejecución web, qué tipo de modelo se debe de usar y por qué
|
Una Aplicación Web
Conocimiento previo
Qué es una Aplicación Web
|
- Normalmente en un ordenador vemos un programa o aplicación ejecutándose, con el cual podemos estar interactuando.
- No todos los programas o aplicaciones son del mismo tipo, tenemos diferentes tipos de software
- Tipos de aplicaciones
- Aplicaciones de escritorio.
- Aplicaciones de ingeniería.
- Aplicación de Tiempo real.
- Software de Inteligencia artificial.
- Software de predicciones metereológicas, cálculo científico.
- Aplicaciones de juegos.
- Aplicaciones web.
- ...
- Tipos de sorftware
- Los diferentes lenguajes de programación son todos de propósito general, esto es, pueden implementar cualquier algoritmo correcto.
- No obstante presentan diferentes características que los hacen más idóneos para implementar código en determinados tipo de software, de modo que dependiendo el tipo de software que vamos a desarrollar deberíamos de ver que tipos de lenguajes tenemos disponibles.
- Tipos de sorftware
- Por otro la la encapsulación y abstracción en lenguajes orientada a objetos (También ocurre con la tendencia de lenguajes de tipo TAD (tipos abstractos de datos)) permite que los diferentes lenguajes ofrezcan librerías o clases en terminología OOP, que nos hacen mucho del trabajo habitual para ese tipo de aplicaciones.
- Son componentes que directamente podemos usar
- framework
- También van apareciendo framework donde con un lenguaje de programación se toma una metodología de trabajo y se adapta un determinado lenguaje (Por ejemplo creando dentro del framework determinados objetos) para facilitar el trabajo al desarrollador.
Framework
Investiga y haz una breve exposición de algún framework que te llame la atención relacionado con la programación web
|
Pregunta
Qué carácterísticas tiene una apliación web
|
- Es una aplicación que se ejecuta en la web
- La Web
WWW Word Wide Web
Definición
Sistema de documentos de hipertexto (html)
que se encuentran enlazados entre sí y a los que se accede por medio de Internet, (red de tipo Tcp/ip) .
A través de un software conocido como navegador, los usuarios pueden visualizar diversos sitios web (los cuales contienen texto, imágenes, videos y otros contenidos multimedia) y navegar a través de ellos mediante los hipervínculos.
Mas información http://definicion.de/www/#ixzz4LCeMtP5L
|
- La Web
- Uno de los elementos que ha permitido que haya tenido tal éxito es la forma dinámica entre la se se enlazan diferentes páginas de todo el mundo a través de los enlaces (hipertexto e hipervículos) de las páginas creadas con el leguaje de etiquetas html.
- En la imagen vemos una serie de elementos
- Un entorno de cliente.
- Un entorno de servidor.
- Una parte de comunicaciones y protocolo.
- Entornos en una aplicación web
- En realidad cada un de estas partes se estudia en sus respectivos módulos en este ciclo.
- La parte de cliente la cubren los módulos de Diseño de interfaces y Desarrollo de aplicaciones en entorno cliente
- La parte de comunicaciones y protocolo y algo de aplicaciones del servidor en el entorno del servidor se cubre en el módulo de depliegue web.
- La parte del entorno servidor la cubrimos en este módulo: Desarrollo de aplicaciones en entorno servidor.
- Lógicamente una aplicación web a de tener cada una de esas partes
- Especialemente está condicionada la parte del entorno servidor
- En este módulo usaremos conceptos vistos en los otros.
El cliente en el proceso de ejecución de una aplicación web
- Es el usuario final el que empieza el proceso.
- También se conoce como agente.
- En el cliente necesitamos tener una serie de elementos
- Un programa (navegador) dónde el usuario escribe la solicitud (Lá página a la que quiero acceder, la máquina en la que se encuentra, y dentro de la página su ubicación).
- Necesitamos encontrar la ip de la máquina a partir de su nombre (DNS)
- Interpretar y visualizar la información que el servidor nos facilite en formato html (El navegador).
- Ejecutar los script que aporte la respuesta del servidor por ejemplo código en java Script (Todos los navegadores modernos interpretan el código JavaScript y lo ejecutan.
Especificadno el recurso
- El cliente hace una petición de una página web
- Para ello escribe la URI en el navegador indicando máquina dónde está.
- También nombre de la página que solicita, protocolo usado y puerto por el que realiza la solicitud.
- (En la mayoría de las ocasiones se toma el puerto por defecto para ese protocolo
- http 80, https 443
- También se puede incluir lo que se llama solicitud y fragmento.
- La solicitud son parejas variabla=valor que se pasan en la solicitud
- El fragmenta representa una parte concreta de la página que se solicita,
- Para el fragmento se utiliza el método GET dentro del protocolo http.
Los medios en el proceso de ejecución de una aplicación web
- Aparte de la comunicación física necesitamos unos protocolos
- Protocolos de la familia tcp/ip.
- Protocolos utilizados Http, tpc/udp, piv4 ipv6 icmp, y otros muchos que se pueden usar a nivel de aplicación.
El servidor en el proceso de ejecución de una aplicación web
- Servidor Web
- Recibe e interpreta la solicitud del cliente
- Accede a bases de datos según necesidades
- Ejecuta código en el servidor, generando como resultado una página html que es lo que da al cliente
- (El cliente no ve el código del servidor).
Pregunta
¿Podemos visualizar una página web sin que intervenga un servidor web?
|
Actividad
- Realiza en un documento usando diagramas y detallando el proceso de carga de una página web
- Contempla la posibilidad de tener que ejecutar script tanto en cliente como en servidor
- Identifica en un bloque cada uno de los elementos (CLIENTE, SERVIDOR o MEDIOS) o programas necesarios (programa navegador, protocolo http en cliente, servidor dns, interprete de javaScript, ...)
|
El comando curl
- Si no está instalado se instala fácil
sudo apt-get install curl
- Con este comando podemos establecer comunicación con servidores usando los diferentes protocolos que soporta.
- Curl
- Usando la sintaxis URL podemos transferir ficheros entre cliente y servidor.
- Veamos algún uso que puede resultar interesante
- Suele ser interesante conocer los códigos http
- Nos interesará conocer los códigos del servidor 5xx
Ejemplos de uso del comando
- Ver el contenido de una página wqeb
curl url_página_web
- Guardar una página web en un fichero -o
curl -o nombreFichero url_página_web
- Ver la cabecera de una web
curl --head url_pagina_web
- Si la web nos redirige, hay que especificarlo con -L
curl -L url_página_web Para que accedamos a la página que nos redirige url_pagina_web
- Para ver toda la traza de información de un servidor
- Podemos también simular el envío de datos a un servidor bien por POST y bien por GET. Simulando un formulario.
Estos conceptos ya los veremos y utilizaremos mas adelante
Actividad
Investiga y explica al menos 3 opciones del comando curl, pudiendo ser las vistas anteriormente
|
|