Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/DWES/Tema1/Introduccion»
De WikiEducator
(11 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | |||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
{|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;" | {|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;" | ||
Línea 19: | Línea 18: | ||
<!--2------------------------------------------------------> | <!--2------------------------------------------------------> | ||
<div class="slide"> | <div class="slide"> | ||
− | =CONCEPTOS SOBRE DESARROLLO WEB= | + | ===CONCEPTOS SOBRE DESARROLLO WEB=== |
</div> | </div> | ||
Línea 25: | Línea 24: | ||
<!--3------------------------------------------------------> | <!--3------------------------------------------------------> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | ===Qué pretende explicar este módulo=== |
− | *El objetivo de este módulo | + | *El objetivo de este módulo lo describe '''''su propio nombre'''''. |
{{Objetivo|'''''Desarrollo de aplicaciónes web en entorno servidor'''''}} | {{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'''''. | *En esta introducción analizaremos qué entendemos por '''''Desarrollo de aplicaciones web en el entorno servidor'''''. | ||
Línea 39: | Línea 38: | ||
#Aplicaciones Web | #Aplicaciones Web | ||
#Entorno servidor | #Entorno servidor | ||
− | [[Imagen:Dwes_1.png|center]] | + | [[Imagen:Dwes_1.png|center|400px]] |
</div> | </div> | ||
Línea 48: | Línea 47: | ||
{{Conocimiento previo|Qué es '''''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 | *Son muchas las posibles respuestas, pero al menos deberíamos saber dar una de forma correcta | ||
− | |||
− | |||
+ | </div> | ||
+ | <div class="slide"> | ||
<!--6---------------------------------------------------> | <!--6---------------------------------------------------> | ||
+ | {{Actividad|Vamos a dar una definición entre todos. Aportar ideas}} | ||
+ | </div> | ||
+ | |||
+ | |||
+ | |||
+ | <!--7---------------------------------------------------> | ||
<div class="slide"> | <div class="slide"> | ||
+ | ;Posible definición | ||
{{Definicion| | {{Definicion| | ||
*Dado un problema de naturaleza lógica, | *Dado un problema de naturaleza lógica, | ||
*desarrollar una aplicación consiste en | *desarrollar una aplicación consiste en | ||
*'''''implementar''''' o construir un programa usando un determinado lenguaje de programación, | *'''''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.}} | + | *Dicho programa consiste en '''''un conjunto de instrucciones''''' que ejecutadas en un entorno computacional '''''solucionan''''' de forma automatizada '''''el problema planteado'''''.}} |
+ | </div> | ||
+ | |||
+ | |||
+ | |||
+ | <!--8---------------------------------------------------> | ||
+ | <div class="slide"> | ||
+ | [[Imagen:DesarrollarAplicacion.png|center|700px]] | ||
</div> | </div> | ||
+ | <!---8---> | ||
<!--7---------------------------------------------------> | <!--7---------------------------------------------------> | ||
Línea 76: | Línea 90: | ||
;Fases en el desarrollo tradiciona | ;Fases en el desarrollo tradiciona | ||
[[Imagen:AnalisisDiseñoImple1.png]]: | [[Imagen:AnalisisDiseñoImple1.png]]: | ||
+ | {{Actividad|Realizar la aplicación '''Ecuaciones de segundo grado''' con este esquema}} | ||
</div> | </div> | ||
Línea 128: | Línea 143: | ||
*Los diferentes '''''[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html lenguajes de programación'''''] son todos de propósito general, esto es, pueden implementar cualquier algoritmo correcto. | *Los diferentes '''''[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 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. | *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. | ||
− | |||
</div> | </div> | ||
Línea 184: | Línea 198: | ||
*Es el usuario final el que empieza el proceso. | *Es el usuario final el que empieza el proceso. | ||
*También se conoce como agente. | *También se conoce como agente. | ||
− | *En el cliente necesitamos tener | + | *En el cliente necesitamos tener una serie de elementos |
+ | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
*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). | *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) | + | *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. |
+ | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
+ | |||
===Especificadno el recurso=== | ===Especificadno el recurso=== | ||
*El cliente hace una petición de una página web | *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á | + | *Para ello escribe la URI en el navegador indicando máquina dónde está. |
− | *También se puede incluir lo que se llama solicitud y fragmento. La solicitud son parejas variabla=valor que se pasan en la solicitud | + | *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 | ||
+ | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
+ | |||
+ | *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. | ||
</div> | </div> | ||
<!--7--> | <!--7--> | ||
Línea 210: | Línea 244: | ||
*Si se elude alguna parte se toma el valor por defecto o lo que establezca el servidor web | *Si se elude alguna parte se toma el valor por defecto o lo que establezca el servidor web | ||
</div> | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
==Los medios en el proceso de ejecución de una aplicación web== | ==Los medios en el proceso de ejecución de una aplicación web== | ||
Línea 215: | Línea 252: | ||
*Protocolos de la familia tcp/ip. | *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. | *Protocolos utilizados Http, tpc/udp, piv4 ipv6 icmp, y otros muchos que se pueden usar a nivel de aplicación. | ||
+ | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
+ | |||
==El servidor en el proceso de ejecución de una aplicación web== | ==El servidor en el proceso de ejecución de una aplicación web== | ||
*Servidor Web | *Servidor Web | ||
*Recibe e interpreta la solicitud del cliente | *Recibe e interpreta la solicitud del cliente | ||
*Accede a bases de datos según necesidades | *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 | + | *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). | ||
+ | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
{{Pregunta| | {{Pregunta| | ||
¿Podemos visualizar una página web sin que intervenga un servidor web? | ¿Podemos visualizar una página web sin que intervenga un servidor web? | ||
}} | }} | ||
+ | </div> | ||
+ | |||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
<!--MRM Tarea 1--> | <!--MRM Tarea 1--> | ||
{{Actividad| | {{Actividad| | ||
Línea 229: | Línea 280: | ||
*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, ...) | *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, ...) | ||
}} | }} | ||
− | + | </div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <!--13----------------------------------------------------> | |
− | + | <div class="slide"> | |
+ | ===El comando [http://es.wikipedia.org/wiki/CURL curl]=== | ||
+ | *Si no está instalado se instala fácil | ||
+ | <source lang="bash"> | ||
+ | sudo apt-get install curl | ||
+ | </source> | ||
+ | *Con este comando podemos establecer comunicación con servidores usando los diferentes protocolos que soporta. | ||
+ | </div> | ||
+ | <!--13----------------------------------------------------> | ||
+ | <div class="slide"> | ||
+ | ;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 [http://es.wikipedia.org/wiki/Anexo:C%C3%B3digos_de_estado_HTTP códigos] http | ||
+ | *Nos interesará conocer los códigos del servidor 5xx | ||
+ | </div> | ||
− | + | <!--13----------------------------------------------------> | |
− | = | + | <div class="slide"> |
+ | 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''''' | ||
+ | </div> | ||
− | + | <!--13----------------------------------------------------> | |
− | + | <div class="slide"> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | *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 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</div> | </div> | ||
− | <!-- | + | <!--13----------------------------------------------------> |
<div class="slide"> | <div class="slide"> | ||
+ | {{Actividad| | ||
+ | Investiga y explica al menos 3 opciones del comando curl, pudiendo ser las vistas anteriormente}} | ||
+ | </div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | |||
|} | |} |
Última revisión de 09:30 25 sep 2015
|