Instituto Tecnológico del Norte de Nayarit
Programación Web
Unidad I: Arquitectura
Ing. TIC´s Gustavo Yael Guerra Aguayo
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
¿Que es una aplicación web?
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
¿Que es una aplicación web?
"un programa o conjunto de programas para ayudar al
usuario de un ordenador para procesar una tarea
específica"
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Las aplicaciones Web interactivas poco a poco han revolucionado la forma de
utilizar internet, aumentando el contenido de las páginas con texto estático
(texto que no evoluciona, sino que permanecen como es) a un contenido rico e
interactivo, por lo tanto escalable.
Evolución de las Aplicaciones Web
El concepto de la aplicación web no es nuevo. De hecho, uno de los primer
lenguaje de programación para el desarrollo de aplicaciones web es el "Perl". Fue
inventado por Larry Wall en 1987 antes de que internet se convirtiera en
accesible para el público en general.
Pero fue en 1995 cuando el programador Rasmus Lerdorf puso a disposición el
lenguaje PHP con lo que todo el desarrollo de aplicaciones web realmente
despegó. Hoy en día, incluso muchas de estas aplicaciones se han desarrollado
en PHP, como Google, Facebook y Wikipedia.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
http://www.evolutionoftheweb.com/?hl=es#/growth/day
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Aplicación Web = Pagina Web
¿Que tipos de paginas web
conoces?
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Pagina Web Estática
Las páginas web estáticas son básicamente informativas y están enfocadas
principalmente a mostrar una información permanente, donde el navegante se
limita a obtener dicha información sin poder interactuar con la página visitada.
En las páginas web estáticas no se utilizan bases de datos ni se requiere
programación.
Para desarrollarlas es suficiente utilizar código HTML y construirlas
principalmente con hipervínculos o enlaces (links) entre las páginas que
conforman el sitio.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Pagina Web Estática
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Ventajas
 Portabilidad, funcionan en cualquier servidor.
 Tiempos de acceso óptimos, tardan muy poco en cargarse.
 Máximo desempeño y funcionalidad.
 Facilitan el posicionamiento.
 Diversidad de aplicaciones y componentes existentes.
 Costos de alojamiento menores.
 Mínimos requerimientos técnicos para su operación.
 No se requiere ninguna instalación ni configuración de software.
Pagina Web Estática
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
 Ausencia de movimiento y funcionalidades
 Absoluta opacidad a los deseos o búsquedas del visitante a la página.
 El visitante no tiene ninguna posibilidad de seleccionar, ordenar o modificar
los contenidos o el diseño de la página a su gusto.
 El administrador web debe acceder al servidor donde está alojada la página
para cambiar los contenidos de la página.
 El proceso de actualización es lento, tedioso y esencialmente manual.
 No se pueden utilizar funcionalidades tales como bases de datos, foros, etc.
Desventajas
Pagina Web Estática
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Pagina Web Dinámica
Las páginas web dinámicas son aquellas en las que la información presentada se
genera a partir de una petición del usuario de la página.
Contrariamente a lo que ocurre con las páginas estáticas, en las que su
contenido se encuentra predeterminado, en las páginas dinámicas la
información aparece inmediatamente después de una solicitud echa por el
usuario. Esto se hace posible porque una página dinámica tiene asociada una
Base de Datos desde la que se permite visualizar la información contenida en
ella.
Para la creación de este tipo de páginas, además de la existencia de una Base de
Datos asociada a las mismas deberán utilizarse etiquetas HTML y algún lenguaje
de programación que se ejecute “del lado del servidor”, es decir, que esté
alojado en el mismo servidor en el que está alojada la página web.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Pagina Web Dinámica
Los lenguajes utilizados para la generación de este tipo de páginas son
principalmente: Perl CGI, PHP , JSP y ASP .
Los manejadores de bases de datos que pueden trabajar con páginas dinámicas
son principalmente: PostgresSQL, MySQL , Oracle y Microsoft SQL Server.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Pagina Web Dinámica
• Una mayor interactividad con el usuario ya que este puede alterar en parte
el diseño, contenidos o presentación de la página a su gusto (tipos de letra,
colores o fondos, tamaño de pantalla, etc.) siempre y cuando los
desarrolladores de la página hayan activado dichas funcionalidades.
Ventajas
• Enorme número de posibilidades en su diseño, desarrollo y sobre todo…
mantenimiento.
• Gran número de funcionalidades tales como bases de datos, foros,
contenido dinámico, etc.
• Control total sobre la administración de contenidos.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
• Mayores requerimientos técnicos para su alojamiento en Servidores de pago.
• Costos de alojamiento mayores.
• En algunos casos, un mayor costo de desarrollo.
Pagina Web Dinámica
Desventajas
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 2 capas
Generalidades:
• Llamado Modelo Cliente/Servidor
• El cliente principal son los Browsers
• El servidor son los que proporcionan el
contenido
• Funciones por peticiones
• Existen Distintos tipos de servidores
Es aquella red de comunicaciones en la que todos los clientes están conectados a
un servidor, en el que se centralizan los diversos recursos y aplicaciones con que
se cuenta; y que los pone a disposición de los clientes cada vez que estos son
solicitados.
Red Cliente/Servidor:
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 2 capas
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 2 capas
Quien es el cliente:
• Inicia las peticiones
• Espera las respuestas del servidor
• Es multiconexion.
• Interactúa con los usuarios finales mediante una interfaz grafica.
Quien es el Servidor:
• Recibe las peticiones
• Procesa las solicitudes y envía la respuesta al cliente
• Puede existir mas de un servidor.
• Puede aceptar conexiones de múltiples clientes.
• Se puede considerar como dispositivo “Esclavo” al esperar peticiones del cliente.
• No es frecuente que interactúe con los usuarios finales.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 2 capas
Ventajas:
Centralización del control: los accesos, recursos y la integridad de los datos son
controlados por el servidor de forma que un programa cliente defectuoso o no
autorizado no pueda dañar el sistema.
Escalabilidad: se puede aumentar la capacidad de clientes y servidores por
separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier
momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores).
Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre
varios ordenadores independientes, es posible reemplazar, reparar, actualizar, o
incluso trasladar un servidor, mientras que sus clientes no se verán afectados por
ese cambio
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 2 capas
Desventajas:
Trafico Limitado: Cuando una gran cantidad de clientes envían peticiones
simultáneas al mismo servidor, puede ser que cause muchos problemas para éste (a
mayor número de clientes, más problemas para el servidor).
Especificaciones Técnicas: El software y el hardware de un servidor son
generalmente muy determinantes. Un hardware regular de un ordenador personal
puede no poder servir a cierta cantidad de clientes. Normalmente se necesita
software y hardware específico, sobre todo en el lado del servidor, para satisfacer el
trabajo.
Disposición de Recursos: El cliente no dispone de los recursos que puedan existir en
el servidor. Por ejemplo, si la aplicación es una Web, no podemos escribir en el disco
duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la
ventana previa de impresión de los navegadores.
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 3 capas
Evolución de las Aplicaciones Web
Programación Web Unidad I: Arquitectura
Modelado por capas
Modelo de 3 capas
Que es la capa de Presentación:
• Es la que el usuario maneja, comunica la información por medio de un proceso
en el que se filtró de errores
• Es conocida también como la “capa grafica”
• Se comunica exclusivamente con la capa de Negocio
Que es la capa de Negocio:
• Se encuentran todos los programas que se ejecutan en la capa de datos
• Recibe las peticiones del usuario y envía las respuestas.
• Se comunica con la capa de presentación para mostrar los resultados al usuario
Que es la capa de Datos:
• Residen todos los datos y es la encargada de acceder a ellos
• Esta formado por uno o mas gestores de Base de Datos.
• Reciben solicitudes de almacenamiento desde la capa de negocio

Arquitectura- Programacion WEB

  • 1.
    Instituto Tecnológico delNorte de Nayarit Programación Web Unidad I: Arquitectura Ing. TIC´s Gustavo Yael Guerra Aguayo
  • 2.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura ¿Que es una aplicación web?
  • 3.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura ¿Que es una aplicación web? "un programa o conjunto de programas para ayudar al usuario de un ordenador para procesar una tarea específica"
  • 4.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Las aplicaciones Web interactivas poco a poco han revolucionado la forma de utilizar internet, aumentando el contenido de las páginas con texto estático (texto que no evoluciona, sino que permanecen como es) a un contenido rico e interactivo, por lo tanto escalable. Evolución de las Aplicaciones Web El concepto de la aplicación web no es nuevo. De hecho, uno de los primer lenguaje de programación para el desarrollo de aplicaciones web es el "Perl". Fue inventado por Larry Wall en 1987 antes de que internet se convirtiera en accesible para el público en general. Pero fue en 1995 cuando el programador Rasmus Lerdorf puso a disposición el lenguaje PHP con lo que todo el desarrollo de aplicaciones web realmente despegó. Hoy en día, incluso muchas de estas aplicaciones se han desarrollado en PHP, como Google, Facebook y Wikipedia.
  • 5.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura http://www.evolutionoftheweb.com/?hl=es#/growth/day
  • 6.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Aplicación Web = Pagina Web ¿Que tipos de paginas web conoces?
  • 7.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Pagina Web Estática Las páginas web estáticas son básicamente informativas y están enfocadas principalmente a mostrar una información permanente, donde el navegante se limita a obtener dicha información sin poder interactuar con la página visitada. En las páginas web estáticas no se utilizan bases de datos ni se requiere programación. Para desarrollarlas es suficiente utilizar código HTML y construirlas principalmente con hipervínculos o enlaces (links) entre las páginas que conforman el sitio.
  • 8.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Pagina Web Estática
  • 9.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Ventajas  Portabilidad, funcionan en cualquier servidor.  Tiempos de acceso óptimos, tardan muy poco en cargarse.  Máximo desempeño y funcionalidad.  Facilitan el posicionamiento.  Diversidad de aplicaciones y componentes existentes.  Costos de alojamiento menores.  Mínimos requerimientos técnicos para su operación.  No se requiere ninguna instalación ni configuración de software. Pagina Web Estática
  • 10.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura  Ausencia de movimiento y funcionalidades  Absoluta opacidad a los deseos o búsquedas del visitante a la página.  El visitante no tiene ninguna posibilidad de seleccionar, ordenar o modificar los contenidos o el diseño de la página a su gusto.  El administrador web debe acceder al servidor donde está alojada la página para cambiar los contenidos de la página.  El proceso de actualización es lento, tedioso y esencialmente manual.  No se pueden utilizar funcionalidades tales como bases de datos, foros, etc. Desventajas Pagina Web Estática
  • 11.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Pagina Web Dinámica Las páginas web dinámicas son aquellas en las que la información presentada se genera a partir de una petición del usuario de la página. Contrariamente a lo que ocurre con las páginas estáticas, en las que su contenido se encuentra predeterminado, en las páginas dinámicas la información aparece inmediatamente después de una solicitud echa por el usuario. Esto se hace posible porque una página dinámica tiene asociada una Base de Datos desde la que se permite visualizar la información contenida en ella. Para la creación de este tipo de páginas, además de la existencia de una Base de Datos asociada a las mismas deberán utilizarse etiquetas HTML y algún lenguaje de programación que se ejecute “del lado del servidor”, es decir, que esté alojado en el mismo servidor en el que está alojada la página web.
  • 12.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Pagina Web Dinámica Los lenguajes utilizados para la generación de este tipo de páginas son principalmente: Perl CGI, PHP , JSP y ASP . Los manejadores de bases de datos que pueden trabajar con páginas dinámicas son principalmente: PostgresSQL, MySQL , Oracle y Microsoft SQL Server.
  • 13.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Pagina Web Dinámica • Una mayor interactividad con el usuario ya que este puede alterar en parte el diseño, contenidos o presentación de la página a su gusto (tipos de letra, colores o fondos, tamaño de pantalla, etc.) siempre y cuando los desarrolladores de la página hayan activado dichas funcionalidades. Ventajas • Enorme número de posibilidades en su diseño, desarrollo y sobre todo… mantenimiento. • Gran número de funcionalidades tales como bases de datos, foros, contenido dinámico, etc. • Control total sobre la administración de contenidos.
  • 14.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura • Mayores requerimientos técnicos para su alojamiento en Servidores de pago. • Costos de alojamiento mayores. • En algunos casos, un mayor costo de desarrollo. Pagina Web Dinámica Desventajas
  • 15.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 2 capas Generalidades: • Llamado Modelo Cliente/Servidor • El cliente principal son los Browsers • El servidor son los que proporcionan el contenido • Funciones por peticiones • Existen Distintos tipos de servidores Es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Red Cliente/Servidor:
  • 16.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 2 capas
  • 17.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 2 capas Quien es el cliente: • Inicia las peticiones • Espera las respuestas del servidor • Es multiconexion. • Interactúa con los usuarios finales mediante una interfaz grafica. Quien es el Servidor: • Recibe las peticiones • Procesa las solicitudes y envía la respuesta al cliente • Puede existir mas de un servidor. • Puede aceptar conexiones de múltiples clientes. • Se puede considerar como dispositivo “Esclavo” al esperar peticiones del cliente. • No es frecuente que interactúe con los usuarios finales.
  • 18.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 2 capas Ventajas: Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema. Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores). Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus clientes no se verán afectados por ese cambio
  • 19.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 2 capas Desventajas: Trafico Limitado: Cuando una gran cantidad de clientes envían peticiones simultáneas al mismo servidor, puede ser que cause muchos problemas para éste (a mayor número de clientes, más problemas para el servidor). Especificaciones Técnicas: El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo. Disposición de Recursos: El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicación es una Web, no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana previa de impresión de los navegadores.
  • 20.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 3 capas
  • 21.
    Evolución de lasAplicaciones Web Programación Web Unidad I: Arquitectura Modelado por capas Modelo de 3 capas Que es la capa de Presentación: • Es la que el usuario maneja, comunica la información por medio de un proceso en el que se filtró de errores • Es conocida también como la “capa grafica” • Se comunica exclusivamente con la capa de Negocio Que es la capa de Negocio: • Se encuentran todos los programas que se ejecutan en la capa de datos • Recibe las peticiones del usuario y envía las respuestas. • Se comunica con la capa de presentación para mostrar los resultados al usuario Que es la capa de Datos: • Residen todos los datos y es la encargada de acceder a ellos • Esta formado por uno o mas gestores de Base de Datos. • Reciben solicitudes de almacenamiento desde la capa de negocio