Sie sind auf Seite 1von 26

Introduccin a la Arquitectura Web

Logro
Al finalizar la unidad el alumno:

identifica las ventajas de la arquitectura


web y discute las tecnologas vigentes sobre esta plataforma.

Contenido
Introduccin a la arquitectura Arquitectura Fsica
o Separacin Horizontal (HW y SW) o Separacin Vertical o Cluster de servidores Arquitectura Lgica o Mainframe o Cliente / Servidor o 3 capas o N capas Servicios transversales Frameworks o Struts o Spring o Seam Tecnologas y lenguajes de programacin Servidores de aplicaciones HTML CSS

Arquitectura
La arquitectura se encarga de implementar patrones de diseo de tal manera que el software generado cumpla con los siguiente lineamientos:

Escalabilidad Separacin de responsabilidades Portabilidad Componentizacin de los servicios de infraestructura Gestin de la sesin del usuario

Escalabilidad
Por qu es importante? Posible incremento vertiginoso del nmero de usuarios

Cmo solucionarlo? El correcto dimensionamiento de la aplicacin. La adaptabilidad del sistema ante el incremento de demanda. Opciones: Escalabilidad Horizontal Escalabilidad Vertical Cluster de servidores

Separacin de responsabilidades
Por qu es importante? Es parte del proceso de escalamiento. Cmo solucionarlo? Distintas Responsabilidades no deben ser delegadas en la misma clase.

Opciones: Capa de presentacin Capa de negocio Capa de persistencia

Portabilidad
Por qu es importante? Cuando los sistemas crecen muchas veces se separan fsicamente en distintos equipos. Cmo solucionarlo? Una aplicacin web debe poder adaptarse a las distintas arquitecturas fsicas posibles en el despliegue. Las tareas de adaptacin a un nuevo entorno deben limitarse al mbito de la configuracin, no del desarrollo.

Opciones: Capa de presentacin Capa de negocio Capa de persistencia

Arquitectura Fsica
Separacin Horizontal HW

El sistema se clona y se balancea la carga


Sistema
Balanceador

Sistema

Sistema

Sistema

La sesin no se puede mantener porque el balanceo es aleatorio y esta debe ser


mantenido por otros medios (Cookies, BD)

Arquitectura Fsica
Separacin Horizontal SW

Se examina el paquete a nivel del protocolo HTTP para garantizar el mantenimiento de la sesin de usuario. Una peticin siempre regresa al mismo servidor, lo que permite mantener la sesin del cliente. Es una solucin barata (Se puede implementar con Apache).
Separacin Horizontal Mixta (HW / SW)

Son equipo de Hardware que examinan los paquetes a nivel de protocolo Es una solucin intermedia.

Arquitectura Fsica
Cluster de servidores

Es una agrupacin de equipos unidos en una red de alta velocidad. Tipos:


o Unidos por Hardware o Unidos por Software Servicios que brindan: o Alto rendimiento o Alta disponibilidad o Equilibrio de carga o Escalabilidad

Arquitectura Lgica
Mainframe Cliente / Servidor 3 Capas

Aplicacin

Presentacin y Negocio

Presentacin

Cliente
Servidor

Negocio Persistencia

Negocio y Acceso a datos

Servidor

Servidor

Capa de presentacin
Comprende las responsabilidades de lgica de presentacin:

Navegabilidad del sistema Validacin de datos de entrada Formateo de los datos de salida Internacionalizacin Renderizado de presentacin Otros

Capa de Negocio
Comprende las responsabilidades de lgica de negocio (o dominio) del sistema.

Reglas de negocio Debe ser independiente Debe poder ser probado (test)

Capa de Persistencia
Comprende las responsabilidades de lgica de persistencia de las entidades que maneja el sistema en desarrollo.

Insercin Eliminacin Actualizaciones Bsquedas Etc.


No tiene porqu tratarse necesariamente de una base de datos relacional.

Servicios transversales
Son componentes independientes del dominio. Rompen con la separacin vertical de las capas. Dan lugar a una capa considerada como de infraestructura.

Algunos ejemplo:
o Servicio de Logging o Pool de JDBC o Sistema de configuracin o Manejo de Permisos y Seguridad o Manejo de la sesin

Frameworks
Struts

Es una herramienta de soporte para el desarrollo web Esta basado en el patrn de diseo MVC Actualmente se encuentran disponible las versiones 1.3 y 2 Normalmente se integra con otros frameworks para dar soporte a todas las capas. La combinacin ms comn es "Struts/Spring/Hibernate" o ms recientemente "Struts/
Spring / JPA"

Frameworks
Spring
Es un framework open source basado en el patrn de Inversin de control que ayuda a desarrollar aplicaciones Web.

Caractersticas: Inversin de control Programacin orientada a aspecto Manejo de acceso a datos Manejo de transacciones Implementacin del modelo MVC Convencin antes que configuracin Soporte para realizar Testing Seguridad

Frameworks
Seam Es un framework cuyo objectivo es provee un contenedor que permita unir JSF con EJBs facilmente. Existen dos versiones diferenciadas 2.x y 3.x. La 3.x es un complementador de la tecnologa CDI. Caractersticas: Acceso desde JSF a componentes Seam Extensin de los contextos Libreras de soporte (Genera PDF, Excel, Seguridad, etc) Se integra con Richfaces y IceFaces Permite generar un CRUD rpidamente mediante lnea de comandos.

Tecnologas y lenguajes
Se puede desarrollar web dinmicas en distintos lenguajes:

Java - Empresarial ASP. Net - Empresarial PHP - Sencilla y rpida Ruby - Elegante y fcil de usar Python - Elegante y fcil de usar
Cada lenguaje presenta diferentes patrones para el desarrollo.

Servidor de aplicaciones
Se popularizaron con el lenguaje Java por lo que un servidor de aplicaciones hace referencia a Java EE. Componentes:

Servidor de pginas web (Recursos estticos) Contenedor web (JSP y Servlets) Contenedor EJB (Enterprise Java Beans)
Sin embargo Microsoft considera a IIS (Internet information server) como un servidor de aplicaciones.

Servidor de aplicaciones
Caractersticas comunes:

Middleware (Software de conectividad) Proveen un API para interactuar con el servidor (til para entornos de produccin). Soportan una gran variedad de estndares. Soporta conexiones a diferentes fuentes de datos, sistemas y dispositivos.

Servidor de aplicaciones
Algunos servidores comerciales:

IBM Websphere Oracle WebLogic SAP Netweaver


Algunos servidores Open Source

Tomcat (Slo web container) Glash fish JBoss Geronimo

HTML
Lenguaje de marcado de hypertexto (Hyper text Mark Language) Es usado para describir la estructura y contenido de un texto. Se escribe en forma de etiquetas. Es la base de la mayora de pginas web existentes en el mundo.

Elementos HTML
Los elementos son la estructura bsica de HTML Tiene dos propiedades: Atributos y contenidos La mayora de elementos est compuesto de una etiqueta de apertura y otra de cierre. Dentro se encuentra el contenido. Formato:
<elemento atributo="valor">contenido</elemento>

Existe HTML y XHTML que es una combinacin entre XML y HTML, XHTML es estricto respecto a la notacin utilizada. Para declarar un file XHTML debe usarse la extensin .xhtml y usarse el siguiente
DOCTYPE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

CSS
CSS es un lenguaje utilizado para definir la presentacin de un documento en HTML y XML (XHTML) CSS naci por la necesidad de separar la presentacin del contenido. Tiene un sintaxis muy sencilla:
selector [, selector2, ...] [:pseudo-class] { propiedad: valor; [propiedad2: valor2; ...] } /* comentarios */ Formas de utilizar el CSS o Estilos en lnea o Hoja de estilos interna o Hoja de estilos externa

Ventajas y limitaciones de CSS


Ventajas Todos los estilos estn centralizados en unos cuantos files. Separacin entre contenido y presentacin. Optimizacin del ancho de banda. Mejora la accesibilidad en el documento.

Limitaciones

Los selectores no pueden usarse de forma ascendente Dificultad para alineamientos No todos los navegadores soportan toda la especificacin Falta de expresiones numricas Las pseudo clases no puede deshabilitarse desde el navegador

Das könnte Ihnen auch gefallen