Diferencia entre revisiones de «Plantilla:TecnologiaDesarrloWeb/ArquitecturaWeb»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con « ===Los componentes de una aplicación web=== *1.-'''''Un servidor web''''' para recibir las peticiones de los clientes web **Suelen ser los navegadores. Reciben la págin...»)
 
 
(19 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 +
 +
<div class="slide">
 +
===Qué es Arquitectura Web===
 +
*Hay que empezar diciendo que en este campo nuestro objetivo es '''''construir una aplicación''''' que funcione en  '''''un entorno web'''''
 +
*Como toda construcción vamos a tener una forma de hacerlo,
 +
#planificar y analizar, diseñar y construir el producto final.
 +
#Usaremos  un determinado material o herramientas para construirlo.
 +
</div>
 +
 +
<div class="slide">
 +
;Arquitectura Web
 +
{{MRM_Definicion|Title=Qué es la arquitectura|
 +
*La estructura de nuestro producto final
 +
*que se va a ir perfilando es todo su desarrollo,
 +
*Los principales momentos, esos primeros
 +
*En ellos se construye los planos de lo que se va a construir,
 +
*hay que decidir al principio qué herramientas (tecnologías) vamos a utilizar
 +
'''(comparación con una construcción clásica por ejemplo de edificios)'''
 +
}}
 +
</div>
 +
 +
<div class="slide">
 +
;Arquitectura: Constuyendo los planos
 +
<br />
 +
[[Imagen:ArquitecturaWeb1.jpg|center|300px]]
 +
</div>
 +
 +
<div class="slide">
 +
 +
;Como en toda construcción vamos a necesitar una serie de elementos (herramientas, tecnologías).
 +
[[Imagen:ArquitecturaWeb2.jpg|center|300px]]
 +
<br />
 +
{{MRM_Pregunta|¿Tecnologías en las aplicaciones web?}}
 +
<br />
 +
</div>
 +
 +
 +
<div class="slide">
 +
 +
;Como en toda construcción va a haber diferentes roles que pueden ser cubiertos por una o varias personas
 +
[[Imagen:ArquitecturaWeb3.png|center|300px]]
 +
{{MRM_Pregunta|¿Roles en el desarrollo?}}
 +
 +
</div>
 +
 +
 +
<div class="slide">
  
 
===Los componentes de una aplicación web===
 
===Los componentes de una aplicación web===
 
*1.-'''''Un servidor web''''' para recibir las peticiones de los clientes web
 
*1.-'''''Un servidor web''''' para recibir las peticiones de los clientes web
**Suelen ser los navegadores. Reciben  la página que solicitan
+
{{MRM_Definicion|Title=Servidor web|
**El servidor web debe conocer el procedimiento a seguir para generar la página web:
+
*Un servidor web es un software (programa) encargado de recibir una solicitud por la red; En una red de tipo tcp/ip que es la que usamos en internet, la solicitud se recibe usando el protocolo http y responder a dicha solicitud.
Para ello tendrá módulos encargados de la ejecución del código y cómo se debe comunicar con él.
+
*Responder a dicha solicitud implica verificar permisos, ejecutar script, puede que tenga que hacer solicitudes de información a otros servidores
*2.-'''''El módulo encargado de ejecutar el código o programa'''''.
+
}}
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
 
 +
{{MRM_Definicion|Title=Servidor web|
 +
y generar un mensaje de respuesta usando igualmente el protocolo http. Es muy frecuente que la respuesta es una página html.}}
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
;2.-El Servidor de Bases de datos
 +
{{MRM_Definicion|Title=Servidor Bases de datos|
 +
*Un servidor web es un software (programa) encargado de gestionar una bases de datos
 +
*Dada la importancia de esta sección confidencialidad y posible cuello de botella en una aplicación, el servidor de bases de datos suele estar en un servidor dedicado específicamente a ese cometido
 +
}}
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
 
 +
*3.- El módulo de ejecución de código en el servidor
 +
{{MRM_Definicion|Title=Ejecutando código en el servidor|Ante una solicitud del cliente el servidor no solo entrega una página web, antes de ello es muy frecuente que ejecute código del cual el cliente nunca será consciente. Para ello tenemos que tener un módulo instalado en el servidor para ejectuar ese código.Nosotros usaremos PHP y posteriormente JavaScript en el servidor con NodeJS. Es el aspecto fundamental para este módulo o asignatura}}
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
;;Módulo de ejecución de script en el servidor
 
**genera la página web resultante.  
 
**genera la página web resultante.  
 
**Este módulo debe integrarse de alguna forma con el servidor web
 
**Este módulo debe integrarse de alguna forma con el servidor web
 
**Dependerá del lenguaje y tecnología que utilicemos para programar la aplicación web.
 
**Dependerá del lenguaje y tecnología que utilicemos para programar la aplicación web.
*3.- '''''Un gestor  de base de datos''''', será un servidor.
+
</div>
**Este módulo no es estrictamente necesario pero se usa casi siempre.
+
 
*4.-'''''El lenguaje de programación''''' que utilizarás para desarrollar las aplicaciones.
+
 
 +
<div class="slide">
 +
 
 +
*2.- El cliente
 +
Ya lo hemos visto, corresponde al inicio del proceso, generalmente un navegador
 +
*En el cliente se recibe la página del servidor  
 +
*Se interpreta las etiquetas de html con sus atributos
 +
*Se aplica el estilo detallado en las páginas css
 +
*Se ejecuta el código javascript y se atiende a los eventos javascript que haya configurados en código en la página que el servidor nos entrega
 +
**Suelen ser los navegadores. Reciben  la página que solicitan
 +
Para ello tendrá módulos encargados de  la ejecución del código y cómo se debe comunicar con él.
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
 
 +
*; 4.-El lenguaje de programación
 +
*Tanto para los script del cliente como del servidor o bien CGI, que utilizarás para desarrollar las aplicaciones.
 +
*Aquí es donde se pueden usar diferentes opciones incluso con el mismo servidor web
 +
</div>
 +
 
 +
 
 +
<div class="slide">
  
 
===La arquitectura de la aplicación===
 
===La arquitectura de la aplicación===
Línea 18: Línea 115:
 
*Muchas de las arquitecturas que se usan en la programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones en capas o niveles.
 
*Muchas de las arquitecturas que se usan en la programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones en capas o niveles.
 
*El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un servidor distinto (en caso de que sea necesario).
 
*El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un servidor distinto (en caso de que sea necesario).
 +
 +
</div>
 +
 +
 +
<div class="slide">
 +
;La arquitectura de una aplicación
 
*Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos;
 
*Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos;
 
  cada servidor se puede encargar de ejecutar una parte de la aplicación.  
 
  cada servidor se puede encargar de ejecutar una parte de la aplicación.  
*Internamente se puede dividir la funcionalidad de una aplicación web en:
+
*Internamente se puede dividir la funcionalidad de una aplicación web en tres capas
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
;Arquitectura de 3 capas
 
#'''''capa de acceso a datos''''': que se tendrá que encargar de almacenar la información de la aplicación en una base de datos y recuperarla cuando sea necesario.  
 
#'''''capa de acceso a datos''''': que se tendrá que encargar de almacenar la información de la aplicación en una base de datos y recuperarla cuando sea necesario.  
 
#'''''capa intermedia''''' :  donde deberás programar la funcionalidad de tu aplicación.
 
#'''''capa intermedia''''' :  donde deberás programar la funcionalidad de tu aplicación.
 
#'''''capa cliente:'''''  que es donde programarás todo lo relacionado con el interface de usuario, esto es, la parte visible de la aplicación con la que interactuará el usuario.
 
#'''''capa cliente:'''''  que es donde programarás todo lo relacionado con el interface de usuario, esto es, la parte visible de la aplicación con la que interactuará el usuario.
*También en la parte del ser
 
 
 
 
 
 
  
 
*
 
*
Línea 37: Línea 139:
  
  
{{Recursos de la Web|
+
{{MRM_Recursos de la Web|
 
*Qué es una aplicación web en [http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web wikipedia]
 
*Qué es una aplicación web en [http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web wikipedia]
 
*Qué es un desarrollo web en http://es.wikipedia.org/wiki/Desarrollo_web wikipedia]
 
*Qué es un desarrollo web en http://es.wikipedia.org/wiki/Desarrollo_web wikipedia]
 
*Ques es una URL vs diferencia con http://www.hispamedios.com/articles/id34-url-y-uri URI]
 
*Ques es una URL vs diferencia con http://www.hispamedios.com/articles/id34-url-y-uri URI]
 
}}
 
}}
 +
</div>

Última revisión de 09:25 12 oct 2019

Qué es Arquitectura Web

  • Hay que empezar diciendo que en este campo nuestro objetivo es construir una aplicación que funcione en un entorno web
  • Como toda construcción vamos a tener una forma de hacerlo,
  1. planificar y analizar, diseñar y construir el producto final.
  2. Usaremos un determinado material o herramientas para construirlo.
Arquitectura Web


Icon define.gif
Qué es la arquitectura
  • La estructura de nuestro producto final
  • que se va a ir perfilando es todo su desarrollo,
  • Los principales momentos, esos primeros
  • En ellos se construye los planos de lo que se va a construir,
  • hay que decidir al principio qué herramientas (tecnologías) vamos a utilizar
(comparación con una construcción clásica por ejemplo de edificios)


Arquitectura
Constuyendo los planos


ArquitecturaWeb1.jpg
Como en toda construcción vamos a necesitar una serie de elementos (herramientas, tecnologías).
ArquitecturaWeb2.jpg




Icon qmark.gif
Pregunta
¿Tecnologías en las aplicaciones web?



Como en toda construcción va a haber diferentes roles que pueden ser cubiertos por una o varias personas
ArquitecturaWeb3.png



Icon qmark.gif
Pregunta
¿Roles en el desarrollo?



Los componentes de una aplicación web

  • 1.-Un servidor web para recibir las peticiones de los clientes web


Icon define.gif
Servidor web
  • Un servidor web es un software (programa) encargado de recibir una solicitud por la red; En una red de tipo tcp/ip que es la que usamos en internet, la solicitud se recibe usando el protocolo http y responder a dicha solicitud.
  • Responder a dicha solicitud implica verificar permisos, ejecutar script, puede que tenga que hacer solicitudes de información a otros servidores





Icon define.gif
Servidor web

y generar un mensaje de respuesta usando igualmente el protocolo http. Es muy frecuente que la respuesta es una página html.



2.-El Servidor de Bases de datos


Icon define.gif
Servidor Bases de datos
  • Un servidor web es un software (programa) encargado de gestionar una bases de datos
  • Dada la importancia de esta sección confidencialidad y posible cuello de botella en una aplicación, el servidor de bases de datos suele estar en un servidor dedicado específicamente a ese cometido



  • 3.- El módulo de ejecución de código en el servidor


Icon define.gif
Ejecutando código en el servidor
Ante una solicitud del cliente el servidor no solo entrega una página web, antes de ello es muy frecuente que ejecute código del cual el cliente nunca será consciente. Para ello tenemos que tener un módulo instalado en el servidor para ejectuar ese código.Nosotros usaremos PHP y posteriormente JavaScript en el servidor con NodeJS. Es el aspecto fundamental para este módulo o asignatura



Módulo de ejecución de script en el servidor
    • genera la página web resultante.
    • Este módulo debe integrarse de alguna forma con el servidor web
    • Dependerá del lenguaje y tecnología que utilicemos para programar la aplicación web.


  • 2.- El cliente

Ya lo hemos visto, corresponde al inicio del proceso, generalmente un navegador

  • En el cliente se recibe la página del servidor
  • Se interpreta las etiquetas de html con sus atributos
  • Se aplica el estilo detallado en las páginas css
  • Se ejecuta el código javascript y se atiende a los eventos javascript que haya configurados en código en la página que el servidor nos entrega
    • Suelen ser los navegadores. Reciben la página que solicitan

Para ello tendrá módulos encargados de la ejecución del código y cómo se debe comunicar con él.


  • 4.-El lenguaje de programación
  • Tanto para los script del cliente como del servidor o bien CGI, que utilizarás para desarrollar las aplicaciones.
  • Aquí es donde se pueden usar diferentes opciones incluso con el mismo servidor web


La arquitectura de la aplicación

  • Además de los componentes a utilizar, también es importante decidir cómo vas a organizar el código de la aplicación.
  • Esto se conoce como la arquitectura de la aplicación web.
  • Muchas de las arquitecturas que se usan en la programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones en capas o niveles.
  • El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un servidor distinto (en caso de que sea necesario).


La arquitectura de una aplicación
  • Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos;
cada servidor se puede encargar de ejecutar una parte de la aplicación. 
  • Internamente se puede dividir la funcionalidad de una aplicación web en tres capas


Arquitectura de 3 capas
  1. capa de acceso a datos: que se tendrá que encargar de almacenar la información de la aplicación en una base de datos y recuperarla cuando sea necesario.
  2. capa intermedia : donde deberás programar la funcionalidad de tu aplicación.
  3. capa cliente: que es donde programarás todo lo relacionado con el interface de usuario, esto es, la parte visible de la aplicación con la que interactuará el usuario.



Icon inter.gif
Recursos de la Web