You are on page 1of 10

1

Instituto Tecnolgico de Orizaba



Alumno: Gonzlez Garca Carlos Antonio

Ingeniera en Sistemas Computacionales

Profesor: Pioquinto Nava Castro

Programacin web - 10:00 a 11:00 Hrs.

26 Febrero 2014

Unidad 1: Arquitectura
2

Unidad 1: Arquitectura



1.1 Evolucin de las aplicaciones web

En 1991, Tim Berners Lee crea la World Wide Web, el cual es un sistema de
distribucin de documentos de hipertexto o hipermedios interconectados y accesibles va
Internet.

sta se clasifica en:

Web 1.0:

Es considerado como el acceso ms sencillo y comprensible al universo de la
informacin disponible en Internet.

Enlaza pginas o documentos localizados en la red sin importar su ubicacin fsica o
geogrfica.
Pocos productores de contenidos y muchos lectores de estos contenidos.
Paginas estticas.
La actualizacin de los sitios no se realiza en forma peridica.
Sitios direccionales y no colaborativos.
Los usuarios son lectores consumidores.
Interaccin mnima reducida a formularios de contacto, inscripcin boletines, etc.






3

Web 2.0:

Es la segunda generacin web. Se pasa de una web informativa, creada por expertos,
a una web social donde cualquiera puede participar fcilmente.

Aparecen aplicaciones Web muy potentes y sencillas de manejar enfocadas al usuario
final.
El usuario es quien crea y comparte
Conocimiento compartido
Facilidad de utilizacin de las herramientas
Es dinmica
Permite servicios y multimedia


Web 3.0:

La web semntica aade a la web sintctica lo necesario para crear un entorno donde
podamos acceder a la informacin que necesitamos de un modo exacto y completo.

Se facilita el procesado de la informacin y se resuelven los problemas de la
interoperabilidad entre aplicaciones.

Metadatos
Identificadores de recursos
Reduce la mediacin de operadores humanos
Creacin colectiva y colaborativa de recursos


4

1.2 Arquitectura de las aplicaciones web

Modelo cliente-servidor

La arquitectura tradicional de cliente/servidor tamin es conocida como arquitectura de
dos capas. Requiere una interfaz de usuario que se instala y se ejecuta en una PC o
estacin de trabajo y enva solicitudes a un servidor para ejecutar operaciones complejas.



Ventajas
El desarrollo de aplicaciones en un amibente de dos capas funciona
adecuadamente, pero no es necesariamente lo ms eficiente. Las herramientas
para el desarrollo con dos capas son robustas y ampliamente evaluadas
Las tcnicas de ingeniera de software de prototipo se emplean fcilmente. Las
soluciones de dos capas trabajan ien en ambientes no dinmicos estales, pero no
se ejecutan bien en organizaciones rpidamente cambiantes.

Desventajas:
Los ambientes de dos capas requieren control excesivo de las versiones y
demandan esfuerzo de distriucin de la aplicacin cuando se les hacen camios.
Esto se dee al hecho de que la mayora de la aplicacin lgica existe en la
estacin de trabajo del cliente.
La seguridad del sistema en un diseo de dos capas es compleja y a menudo
requiere administracin de las bases de datos; esto es deido al nmero de
dispositivos con acceso directo al amibente de esas bases de datos.
Las herramientas del cliente y de la base de datos, utilizadas en diseos de dos
capas, constantemente estn cambiando. La dependencia a largo plazo de
cualquier herramienta, puede complicar el escalamiento futuro o las
implementaciones.


5

Arquitectura de tres capas

La arquitectura de tres capas es un diseo reciente que introduce una capa intermedia
en el proceso. Cada capa es un proceso separado y bien definido corriendo en
plataformas separadas. En la arquitectura tradicional de tres capas se instala una interfaz
de usuario en la computadora del usuario final (el cliente). La arquitectura asada en Web
transforma la interfaz de bsqueda existente (el explorador de Web), en la interfaz del
usuario final.



Las diferentes capas suelen ser:
Capa 1: Cliente de aplicacin: Navegador Web
Capa 2 : Servidor de Aplicaciones: Apache, Servidor Tomcat con servlets
Capa 3 : Servidor de Datos: base de datos, servidor SMTP

Ventajas:
Las llamadas de la interfaz del usuario en la estacin de trabajo, al servidor de
capa intermedia, son ms flexibles que en el diseo de dos capas, ya que la
estacin solo necesita transferir parmetros a la capa intermedia.
Con la arquitectura de tres capas, la interfaz del cliente no es requerida para
comprender o comunicarse con el receptor de los datos. Por lo tanto, esa
estructura de los datos puede ser modificada sin cambiar la interfaz del usuario en
la PC.
El cdigo de la capa intermedia puede ser reutilizado por mltiples aplicaciones si
est diseado en formato modular.
La separacin de roles en tres capas, hace ms fcil reemplazar o modificar una
capa sin afectar a los mdulos restantes.

Desventajas:
Los ambientes de tres capas pueden incrementar el trfico en la red y requiere
ms balance de carga u tolerancia a las fallas.
Los exploradores actuales no son todos iguales.
6

La estandarizacin entre diferentes proveedores ha sido lenta en desarrollarse.
Muchas organizaciones son forzadas a escoger uno en lugar de otro, mientras que
cada uno ofrece sus propias y distintas ventajas.

1.3 Tecnologas para el desarrollo web

Servidor

Un servidor web es un programa que se ejecuta continuamente en un computador,
mantenindose a la espera de peticiones de ejecucin que le har un cliente o un usuario
de Internet. El servidor web se encarga de contestar a estas peticiones de forma
adecuada, entregando como resultado una pgina web o informacin de todo tipo de
acuerdo a los comandos solicitados.

Gracias a los avances en conectividad y la gran disponibilidad de banda ancha, hoy en
da es muy comn establecer los servidores web dentro de la propia empresa, sin tener
que recurrir a caros alojamientos en proveedores externos. Esto es posible gracias a
Apache, uno de los mejores y el ms utilizado entre los servidores Web que existen.
Apache ha construido una gran reputacin entre los servidores web gracias a su gran
estabilidad, confiabilidad y el gran aporte del grupo de voluntarios que planean y
desarrollan todo lo relativo a esta plataforma, desde la documentacin hasta el mismo
cdigo en si.

Lenguajes de programacin web

HTML
Lenguaje esttico. Basado en etiquetas. El estndar lo define el W3C (World Wide
Web Constortium). Interpretado. Extensiones de archivos .html .htm.
Texto estructurado. Archivos pequeos. Fcil aprendizaje. Compatible en todos los
exploradores. Esttico. Interpretacin diferente dependiendo del navegador. Exceso de
etiquetas.
JavaScript
Interpretado. Similar a Java. Orientado a objetos. El estndar definido y mantenido por
W3C a travs del DOM.
Lenguaje de scripting seguro y fiable. Los scripts tienen capacidades limitadas. Se
ejecuta en el lado del cliente. Cdigo visible por cualquier usuario. El cdigo debe
descargarse completamente. Puede poner en riesgo la seguridad del sitio con el uso XSS
(Cross Site Scripting). Problemas en navegadores antiguos.
PHP
Interpretado. Usado principalmente para sitios dinmicos. Del lado del servidor.
Embebido en HTML. Necesita de servidor Web. Extensiones de archivo .php. Lenguaje
libre. Multiplataforma. Descataca su conectividad con MySQL.
7

Fcil de aprender. Lenguaje rpido. Soporta objetos. Capacidad de conexin con la
mayora de motores de BD. Expande su potencial a travs de mdulos. Ampliamente
documentado. No hay que definir tipos de variables. Gran cantidad de funciones.
Necesita de servidor Web. Todo el trabajo se realiza en el servidor. La legibilidad del
cdigo puede verse afectada. Soporte a objetos an es muy deficiente. Dificulta la
organizacin por capas de la aplicacin. Hay que asegurar la implementacin.
ASP.NET
Es un framework de desarrollo. Comercializado por microsoft. Se puede usar C#,
VB.NET o J# en los desarrollos Web. Los archivos son extensin .aspx. Las aplicaciones
necesitan de Framework de .NET. Se ejecuta en el lado del servidor.
Completamente orientado a objetos. Controles de usuario personalizados. Permite la
divisin por capas: diseo y cdigo. Facilita el mantenimiento de grandes aplicaciones.
Rpido en la respuesta del servidor. Seguro.
Mayor uso de recursos
JSP
Orientado a desarrollar pginas Web en Java. Lenguaje multiplataforma. Se ejecuta
en el lado del servidor. Similar a ASP.NET en la potencia de los desarrollos. Necesita para
su funcionamiento el servidor Tomcat. Permite separar el cdigo dinmico del esttico.
Las pginas se compilan en la primera peticin. La extensin de archivo es .jsp. El cdigo
JSP se puede incrustar en HTML. Utiliza el motor de servlets de Java.
Ejecucin rpida de servlets. Multiplataforma. Cdigo bien estructurado. Se escribe en
Java. Integridad con los mdulos de Java. Complejidad en el aprendizaje.
Python
Lenguaje multipropsito. Lenguaje interpretado. Lenguaje multiparadigma: POO.
Programacin estructurada. Programacin funcional. Programacin orientada a aspectos..
Libre y de fuente abierta. Lenguaje de propsito general. Gran cantidad de funciones y
libreras. Sencillo y rpido de programar. Multiplataforma. Orientado a objetos. Portable.
Lento por ser interpretado.
Perl
Toma elementos del lenguaje C y shell. Es interpretado. Lenguaje de propsito
general. Soporta programacin estructurada, POO y programacin funcional. Gran
cantidad de mdulos. Rico en sintaxis. Poderoso en el manejo de expresiones regulares.

8

Entornos de programacin web

Es un programa compuesto por un conjunto de herramientas para un
programador, puede dedicarse en exclusiva a un slo lenguaje de programacin o
bien, poder utilizarse para varios. Consiste en un editor de cdigo, un compilador,
un depurador y un constructor de interfaz grfica, su meta es proveer un marco de
trabajo amigable para los programadores de algn lenguaje de programacin.

Los IDE (ambientes integrados de desarrollo) para aplicaciones Web son muy
numerosos, algunos son especficos para lenguajes del lado del servidor. Por
ejemplo, Visual Studio solo soporta ASP.NET del lado del servidor.

Entre varios IDEs destacan algunos:
Microsoft Visual Studio.
Microsoft Web Developer Express.
Mono (para ASP.NET).
Net Beans.
Jbuilder.
Eclipse.

1.4 Administracin de servidores
El servidor Apache HTTP, tambin llamado simplemente Apache, es el
estndar en la entrega de servicios web y ha abierto el camino para la mayor
expansin de las capacidades de la web. Apache se basa en una plataforma de
servicio web de fuente abierta originalmente desarrollada para servidores de
Linux/Unix, pero se configur posteriormente para que funcione con Windows y
otros sistemas operativos.
El servidor web Apache est equipado con muchas capacidades, lo que le
permite admitir varias secuencias de comando y mdulos para la web. Este
servidor admite la Interfaz de entrada comn (CGI en ingls) y el Server Side
Includes (SSI). CGI se usa como un medio comn de comunicacin entre el
software externo y el servidor web, mientras que SSI es un archivo de comandos
para el servidor. Los usuarios de Apache tambin pueden instalar otros mdulos
tales como un directorio de inicio para usuarios, redireccin de URL, autenticacin
del usuario y acceso annimo del usuario, entre otros.
Aunque el servidor web Apache sea gratuito, no deja de ser ms rpido en
comparacin con los servidores web ms caros del mercado que cuestan cientos
9

de dlares. Los servidores Apache pueden manejar ms de un milln de visitas
por da sin dificultades.

1.5 Planificacin de aplicaciones web

Diseo:
Consiste en organizar la interfaz del sitio web mediante un diseo que puede
ser una plantilla o generado manualmente por el desarrollador.


Estandares:



Las normas a cumplir para conseguir la Accesibilidad de un sitio, y por lo tanto
atender a este tipo de audiencias, estn separadas en tres reas a las que se les
asigna diferente nivel de Prioridad. Estas son consecutivas y pueden certificarse
individualmente.

10


Prioridad 1:
o Los puntos de verificacin de esta prioridad tienen que ser
satisfechos, porque, de lo contrario, uno o ms grupos de usuarios
encontrarn imposible acceder a la informacin del documento.
Satisfacer este punto de verificacin es un requerimiento bsico para
que algunos grupos puedan usar estos documentos Web.

Prioridad 2:
o Los puntos de verificacin de esta prioridad deben ser satisfechos,
porque, de lo contrario, uno o ms grupos tendrn dificultades en el
acceso a la informacin del documento. Satisfacer este punto de
verificacin eliminar importantes barreras de acceso a los
documentos Web.

Prioridad 3:
o Los puntos de verificacin de esta prioridad pueden ser satisfechos,
porque, de lo contrario, uno o ms grupos de usuarios encontrarn
alguna dificultad para acceder a la informacin del documento.
Satisfacer este punto de verificacin mejorar la accesibilidad de los
documentos Web.

You might also like