7
Tecnológico de Estudios Superiores de Coacalco Programación web Francisco Javier Ordoñez Herrera DESARROLLO WEB Historia, tecnologías, arquitecturas y iweb

Historia Del Desarrollo Web

Embed Size (px)

Citation preview

DESArrollo web

Historia del desarrollo webLa Web no fue concebida para el desarrollo de aplicaciones. El problema que se pretenda resolver su inventor,Tim Berners-Lee,era el cmo organizar informacin a travs de enlaces.De hecho la Web naci en el laboratorio de partculas CERN bsicamente para agrupar un conjunto muy grande de informacin y datos del acelerador de partculas que se encontraba muy dispersa y aislada y Mediante un protocolo muy simple (HTTP), un sistema de localizacin de recursos (URL) y un lenguaje de marcas (HTML) se poda poner a disposicin de todo cientfico en el mundo la informacin existente en el CERN de tal forma que mediante enlaces se pudiese acceder a informacin relacionada con la consultada.El desarrollo web se refiere a la programacin necesaria para construir una aplicacin web, divida en parte cliente y parte servidor.Inicialmente se construy un navegador Web (llamado WorldWideWeb) y un servidor Web llamado (httpd) ambos bajo NEXTSTEP (que fue comprada en 1997 por Apple y del que su sistema operativo se bas para la construccin del que hoy en da es Mac OSX).Pronto se populariz el servicio y se vio en la necesidad que el servidor Web pudiese devolver pginas Web dinmicas y no nicamente contenido esttico residente en ficheros HTML. Para ello se desarroll la tecnologa CGI (Common Gateway Interface) donde el servidor Web invocaba un programa el cual se ejecutaba, devolva la pgina Web y el servidor Web remita este flujo de datos El lenguaje bsico que se debe conocer para la creacin de pginas web es el HTML, aunque las herramientas grficas para el diseo web ayudan mucho en esta tarea. Las dos aplicaciones ms difundidas son Dreamweaver y FrontPage. Luego, existen otros lenguajes de programacin que aumentan el poder de las pginas web, algunos destacables son: PHP, ASP y JavaScript (DHTML). Adems para aumentar las funcionalidades de un sitio web, tambin pueden incorporarse: Flash, Shockwave, Java applet, CGI, SVG, ActiveX, cookies, etc.Finalmente, la incorporacin de una base de datos puede simplificar muchas tareas a la hora de desarrollar ciertos sitios web al navegador.Un programa CGI poda ser cualquier programa que la mquina pudiese ejecutar: un programa en C, o en Visual Basic o en Perl. CGI era una solucin cmoda de realizar pginas Web dinmicas pero tena un grave problema de rendimiento que lo hizo insostenible en cuanto la demanda de la Web comenz a disparar las peticiones de los servidores Web.Los principales servidores Web del momento (Netscape e IIS) desarrollaron un sistema para la ejecucin dinmica de aplicaciones usando el propio contexto del servidor Web. En el caso de Netscape se le denomin NSAPI (Netscape Server Application Program Interface) y en el caso de IIS se le llam ISAPI.Bsicamente, hoy en da hay 4 grandes lenguajes de programacin Web que se basa en este sistema. Por un lado est Microsoft con ASP basado en Visual Basic Script. Por otro tenemos a SUN con su versin en Java llamada JSP (bueno, en Java tambin existe una tecnologa llamada Servlet que equivale a escribir un CGI en Java donde trabajas la peticin Web a un nivel ms bajo que con JSP), tambin est PHP basado en una sintaxis de C y por ltimo est ColdFusion de Adobe.

Aplicaciones basadas en arquitecturas 2, 3 y n capasEsta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa, la idea principal es utilizar aplicaciones que se ejecutana travs de la computadora, cada aplicacin constituye una sola accin para realizacin de tareas.Las aplicaciones forman parte de un conjunto lgico de programacin que interactan para desarrollar su funcionamiento, donde podemos encontrar una diversidad de servidores que tiene distintas funciones.Aplicacin de dos capas.La arquitectura de 2 capas en la actualidad es muy utilizada, aunque con muchas fallas, todava no se ha podido dejar de usar este tipo de arquitectura que fueron las primeras en aprovecharse de la estructura cliente-servidor.Las capas que esta arquitectura presenta son las siguientes:-nivel de aplicacin. Es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.-Nivel de la base de datos. Este nivel de la base de datos tambin llamado repositorio de datos, es la etapa en donde se almacena toda la informacin ingresada en el sistema y que se deposita en forma permanente. Existen herramientas para el desarrollo en 2 capas como puede ser Visual Basic, Acces y SQL.Aplicacin de 3 capas.La arquitectura de 2 capas si bien ayuda en unos aos atrs.Se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tena unos problemas en la capa de aplicacin ya que la principal desventaja de esta era el peso que se tena para el cliente.Por estas razones existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de 3 capas, la cual incluye lo siguiente:-Nivel de aplicacin. La diferencia de este nivel aplicado ahora en una arquitectura en 3 capas es que solo tiene que trabajar con la semntica propia de la aplicacin sin tener que preocuparse de cmo esta implementado este ni de su estructura fsica.-Nivel de dominio de la aplicacin. Este nivel se encarga de toda la estructura fsica y el dominio de aplicacin, algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora nicamente se cambia la regla en el servidor de aplicacin y esta actuara en todos los clientes; esto no sucede con la arquitectura en 2 capas, que si alguna regla se le cambia se tiene que ir a cada cliente a realizar cambios.-Nivel de repositorio.es la capa donde se almacenan los datos y toda la informacin que se ha procesado.Las herramientas para el desarrollo de 3 capas son las siguientes:1.SQL Server en lo que se refiere el repositorio de datos.2.Visual Basic en los que se refiere a la capa de aplicacin3.MTS en lo que se refiere al nivel del dominio de aplicacin.Aplicacin de n capas.En una aplicacin distribuida en n capas, los diferentes procesos estn distribuidos en diversas capas, no solo lgicas, sino tambin fsicas, los procesos se ejecutan en diferentes equipos, que pueden incluso recibir diferentes plataformas o sistemas operativos. Cada equipo posee una configuracin distinta y esta optimizada para realizar el papel que se le ha asignado dentro de la estructura de la aplicacin, de modo que tanto los recursos, como la eficiencia global del sistema se optimicen.El surgimiento de la tecnologa de componentes distribuidos es la clase de las arquitecturas de n capas, estos sistemas de computacin utilizan un numero de variables individuales que se comunican entre ellos utilizando estndares predefinidos de comunicacin para lograr la conexin con todos los usuariosTecnologas de Desarrollo webASP: es una tecnologa que trabaja sobre IIS y permite interactuar con el usuario interceptando solicitudes que ingresan y procesan las respuestas que se producen.VBscript: es como un subconjunto del lenguaje de programacin Visual Basic y a diferencia de este que se compila. VBScript es interpretado y convertido a lenguaje maquina en el momento en que se lee desde el navegador o el servidor, esto lo hace correr ms lento que un programa que previamente se ha compilado, pero nos beneficia en que el nmero de lneas de cdigo se ve reducido.JSP (Java Server Pages): permite mezclar HTML regular o esttico con un contenido generado dinmicamente a travs de los Servlets. Los Servlets son una tecnologa de Java, pensada en tener una funcionalidad similar a la programacin CGI (Common Gateway Interface). Son programas (clases) que corren en un servidor Web, actuando como una capa intermedia entre una solicitud proveniente de un Web Browser u otro cliente HTTP y bases de datos o aplicaciones en el servidor.PHP: Permite la generacin de un contenido dinmico en un servidor web, permite tener un dinamismo en el Web. Dentro de PHP existen muchos conceptos de Perl, C y Java por lo que gracias a esta sintaxis es ms fcil familiarizarse con l, incluso para programadores principiantes.XML: proviene de un lenguaje que invent IBM all por los aos 70. El lenguaje de IBM se llama GML (General Markup Language) y surgi por la necesidad que tenan en la empresa de almacenar grandes cantidades de informacin de temas diversos.AJAX - Combinacin de Javascript con XML que permite hacer peticiones a un servidor sin recargar la pgina, pasear y trabajar con documentos de XML, lo que resulta en una mejor experiencia de navegacin e interfaces ms amigables.JAVASCRIPT - Lenguaje de programacin que se usa comnmente para lograr validaciones en pginas y pequeas funcionalidades.HTML - Es el lenguaje de programacin de las pginas de Internet, lo utilizamos conforme estndares de W3 con hojas de estilo, manejo de DHTML, XHTML, etc.

IWEBiWebes una herramienta para crear pginas web y blogs, basadas en plantillasWYSIWYG, desarrollada porApple Computer. El usuario final no necesita tener conocimientos de lenguajes web para usar el producto en forma efectiva.Las caractersticas de iWeb son: Plantillas diseadas por Apple. Creacin fcil y flexible de sitios web. Soporte de "Drag and Drop" para archivos multimedia. Blogging Podcasting Publicacin al servicio mobileme con un slo click (para otros servicios, los usuarios pueden publicar sus sitios a una carpeta y subirlos por ftp con programas externos). Posibilidad de aadirle cdigosHTML.Algunas de las limitaciones son: iWeb actualmente crea diferentes archivos para cada pgina, en vez de usar un archivo central para ocupar menos espacio en disco. Sin soporte para contraseas que no sean de sitios web deMobileme. Limitado nmero de plantillas, aunque se pueden crear fcilmente.