programacion web

Upload: jennifer-viviana-duque

Post on 06-Jan-2016

7 views

Category:

Documents


0 download

DESCRIPTION

introduccion al desarrollo de aplicaciones web

TRANSCRIPT

  • Lenguajes de Programacin Web Sesin 1:

    Introduccin al desarrollo de Aplicaciones en Internet

    Profesor: Andrs Rey Piedrahita Ing. Electrnico

    Magister en Ingeniera Telemtica Magister (c) en Ingeniera Informtica

  • Contenido

    Presentacin Introduccin al desarrollo de Aplicaciones en Internet

    Internet y la la Web Conceptos (Pagina Web, Sitio Web) *Fundamentos Internet:

    Http Html

    Aplicacin Web (WebApp) Aplicacin Empresarial Aproximacin a la Evolucin de las Computadoras Historia y evolucin de la Web Otras Tecnologas

    PHP, ASP, Java, Javascript, XML, Ajax, etc.

    Actividades

    Glosario y Mapa conceptual Lnea tiempo historia Web Protocolo Http Videos y foro

  • Presentacin Docente y Estudiantes

  • Introduccin al desarrollo de Aplicaciones en Internet Internet y la Web (WWW)

    Internet Internet es un conjunto descentralizado de redes de comunicacin interconectadas que utilizan la familia

    de protocolos TCP/IP, garantizando que las redes fsicas heterogneas que la componen funcionen como una red lgica nica, de alcance mundial.

    La Web o WWW

    La WWW es un conjunto de protocolos que permite, de forma sencilla, la consulta remota de archivos de hipertexto. sta fue un desarrollo posterior (1990) y utiliza Internet como medio de transmisin.

    WWW es uno de los servicios que ms xito ha tenido en Internet hasta tal punto que es habitual la confusin entre ambos trminos.

  • Introduccin al desarrollo de Aplicaciones en Internet Internet y la Web (WWW)

    En poco ms de una dcada desde su aparicin, la WWW (World Wide Web) se ha convertido en un instrumento de uso cotidiano en nuestra sociedad, comparable a otros medios tan importantes como la radio, la televisin o el telfono a los que aventaja en muchos aspectos. Esta cambiando la vida de las personas (ejemplo: el correo, las compras, etc )

    Internet es hoy un medio extraordinariamente flexible y econmico para la

    comunicacin, el comercio, los negocios, ocio, entretenimiento, acceso a la informacin y servicios, difusin de cultura, etc.

  • Introduccin al desarrollo de Aplicaciones en Internet Internet y la Web (WWW)

    Importante

    La Web se concibe hoy en da como la plataforma universal para el despliegue de aplicaciones.

    W3C

    El Consorcio World Wide Web (W3C) es una comunidad internacional trabajan conjuntamente para desarrollar estndares Web.

    Liderado por el inventor de la Web Tim Berners-Lee (1990)

    La misin del W3C es guiar la Web hacia su mximo potencial

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas

    Paralelamente al crecimiento espectacular de la web, las tecnologas que la hacen posible han experimentado una rpida evolucin.

    Desde las primeras tecnologas bsicas: HTML y HTTP

    Hasta nuestros das, han emergido otras tecnologas como:

    CGI, Java, JavaScript, ASP, JSP, PHP, Flash, j2EE, XML, Ajax por citar algunas de las ms conocidas.

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Para entender a grandes rasgos el funcionamiento de la Web es necesario tener una idea bsica de: Pagina Web Sitio Web (*Portal Web) Navegador Web Servidor Web Arquitectura Cliente / Servidor

    Protocolo Http (Peticin / Respuesta)

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Pagina Web (*.html o *.xhtml)

    Algunas definiciones:

    Son las unidades bsicas de informacin de la WWW

    Las llamadas pginas web son archivos de texto (*.html o *.html) que contienen un cdigo interpretable por los navegadores. Este cdigo ordena cmo deben mostrarse los datos en la pantalla.

    Una pgina web es un documento HTML/XHTML que es accesible generalmente mediante el protocolo HTTP de Internet.

    A estas unidades de informacin de la Web se les conoce como hipertexto. Las paginas Web se crean con el lenguaje de marcacin de hypertexto (HTML)

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Paginas Web

    Algunas definiciones:

    Tipos de paginas:

    Estticas (no cambian la informacin es codificada en la pagina en el momento de crearla)

    Este tipo de paginas conforman lo que se conoce como Web Superficial

    Dinmicas (pueden cambiar ya que la informacin que muestran la consultan de la BD)

    Este tipo de paginas conforman lo que se conoce como Web Profunda

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Sitio Web (Web Site - Website)

    Algunas definiciones:

    Un sitio web es un espacio virtual en Internet que contiene un conjunto de pginas web relacionadas que son accesibles desde un mismo dominio (o subdominio).

    Los sitios web incluyen documentos HTML, fotografas, sonidos, vdeos, animaciones Flash y otro tipo de contenidos. La URL raz del sitio web se conoce como portada o homepage. Lo ms habitual es que esta portada facilite el acceso a todas las pginas del sitio mediante hipervnculos (tambin conocidos como enlaces o links).

    Analoga

    Si lo comparramos con un libro, un sitio web sera el libro entero y una pgina web de ese sitio web sera un captulo de ese libro. El ttulo del libro sera el nombre del dominio del sitio web.

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Sitio Web (Web Site - Website)

    Algunas definiciones:

    Por ejemplo:

    El sitio web del diario argentino Clarn se encuentra en http://www.clarin.com/. Es decir,

    Clarin.com es la homepage del sitio.

    Desde all es posible acceder al resto de las pginas que componen el sitio, como el suplemento

    de Espectculos (http://www.clarin.com/espectaculos.html) o los Clasificados

    (http://www.clasificados.clarin.com/).

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Sitio Web (Web Site - Website)

    Algunas definiciones:

    A veces se utiliza errneamente el trmino pgina web para referirse a sitio web. Una pgina web es parte de un sitio web y es un nico archivo con un nombre de archivo asignado, mientras que un sitio web es un conjunto de archivos llamados pginas web.

    Para acceder a un sitio web se necesita contar con un navegador en la computadora. Este es un programa informtico que posibilita la visualizacin de la informacin contenida en una pgina web .

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Navegador Web (Web Browser)

    Algunas definiciones:

    Un navegador web, navegador de Internet o explorador web (browser) es un programa

    (aplicacin de software) que permite al usuario recuperar y visualizar la informacin que contiene una pgina web desde servidores web de todo el mundo a travs de Internet.

    La funcionalidad bsica de un navegador web es permitir la visualizacin de documentos de texto, posiblemente con recursos multimedia incrustados.

    Los documentos pueden estar ubicados en la computadora en donde est el usuario, pero generalmente se ubican en Servidores Web.

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas Bsicas - Algunas Definiciones

    Servidor Web (Web Server)

    Algunas definiciones:

    Servidor

    Un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios.

    El trmino servidor ahora tambin se utiliza para referirse al ordenador fsico en el cual

    funciona ese software, una mquina cuyo propsito es proveer servicios de modo que otras mquinas puedan utilizar esos servicios.

    Servidor Web

    La principal funcin de un servidor Web es almacenar los archivos de un sitio y enviarlos por Internet a los usuarios que los soliciten.

    Cuando un usuario indica una pgina de Internet su navegador, este se comunica con el servidor solicitndole dicha pagina, y cuando esta es enviada por el servidor la interpreta y muestra en pantalla.

    El dialogo entre el cliente (Navegador Web) y el servidor Web se realiza usando el protocolo Http

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas bsicas de la Web: HTML

    HyperText Markup Language es un lenguaje muy sencillo que permite describir hipertexto, es decir, texto presentado de forma estructurada y agradable, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de informacin relacionadas, y con inserciones multimedia (grficos, sonido...)

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas bsicas de la Web: HTML

    El HTML se escribe en forma de etiquetas, rodeadas por corchetes angulares ()

    HTML no es un lenguaje de programacin (no se definen variables, estructuras de control, etc) solo sirve para definir el formato visual de la informacin

    Pero con HTML se pueden incluir script escritos en otras tecnologas o lenguajes (por ejemplo JavaScript), los cuales puede se interpretados por los navegadores web u otros procesadores de HTML.

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas bsicas de la Web: HTTP

    HTTP de HyperText Transfer Protocol (Protocolo de transferencia de hipertexto) es el

    mtodo ms comn de intercambio de informacin en la world wide web, el mtodo mediante el cual se transfieren las pginas web (principalmente pero pueden transferirse otro tipos de archivos) a un ordenador.

    Es imple

    Es un protocolo peticin/respuesta sin estado.

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas bsicas de la Web: HTTP

    Peticin Respuesta *(1) Para que se usa la URL describa su estructura. *(2) Definir la forma general que tienen la peticin y la respuesta. (Ver video ayuda)

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas bsicas de la Web: HTTP

    *(3) Consular cuales son las cabeceras que se pueden usar en la peticin *(4) Consultar que indican los cdigos de respuesta (20x , 40x, y 50x )

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas bsicas de la Web: HTTP

    En la prxima sesin se realizara una practica con el protocolo

    Http. (Practica 1)

  • Introduccin al desarrollo de Aplicaciones en Internet

    Aplicacin Web (WebApp)

    Algunas definiciones En la ingeniera software se denomina aplicacin web a aquellas

    aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a travs de Internet o de una intranet mediante un navegador.

    Las WebApp permiten soportar procesos bsicos del negocio de manera remota a travs de Internet. (Ejemplo : WebApp Video Tienda)

  • Introduccin al desarrollo de Aplicaciones en Internet

    Aplicacin Empresarial

    Algunas definiciones

    Una aplicacin empresarial es un sistema que integra todas las areas funcionales de la

    empresa, soportando los diferentes procesos de negocio a lo largo de toda la empresa.

    Por ejemplo, tener el inventario, la facturacin, la caja, la planilla y la contabilidad bajo un solo sistema.

    Ayudan a las empresas a volverse mas flexibles y productivas . Las WepApp pueden extenderse a Aplicaciones empresariales adicionando

    componentes (escalabilidad, seguridad, etc) (Ejemplo Video tienda 2)

  • Introduccin al desarrollo de Aplicaciones en Internet Los Sistemas/Aplicaciones una aproximacin

  • Introduccin al desarrollo de Aplicaciones en Internet Los Sistemas/Aplicaciones una aproximacin

    La Interfaz de Usuario

    Son el medio a travs del cual los humanos pueden comunicarse con los computadores o sistemas.

    Actual en dos sentidos: Por un lado, trasladando una accin del usuario a una forma que el computador pueda

    entender, permitiendo realizar cambios en el estado interno del sistema de acuerdo a estas rdenes;

    Y por el otro, presentando al usuario de una forma comprensible el estado interno del sistema

  • Introduccin al desarrollo de Aplicaciones en Internet Los Sistemas/Aplicaciones una aproximacin

    La Interfaz de Usuario

    Ejemplos de UI: Evolucin

    1D (humano aprende lenguaje maquina) Lnea Comandos 2D (humano aprende lenguaje maquina) GUI (WIMP) 3D (La maquina aprende lenguaje humano) Interfaces de Voz Captura Movimiento (Mocap) Tangibles *Multimodales

  • Introduccin al desarrollo de Aplicaciones en Internet Los Sistemas/Aplicaciones una aproximacin

    La Interfaz de Usuario

    Interfaces 3D (Post WIMP)

    El usuario hace parte de la interfaz.

  • Introduccin al desarrollo de Aplicaciones en Internet Aplicaciones algo sobre el Cdigo El Modelo y la Lgica del Negocio

    Lgica del Negocio (Modelo)

    El trmino lgica de negocio es la parte de un sistema que se encarga de las tareas

    relacionadas con los procesos de un negocio, tales como ventas, control de inventario, contabilidad, etc.

    Modelo Son los datos que proceden de una realidad sobre la que se pretende actuar, como

    supermercados, itinerarios de viaje, o cualquier dato requerido en un dominio problemtico particular

    El Controlador Encargado de hacer que se lleven a cabo las ordenes del usuario que se indican a travs de la

    interfaz.

  • Introduccin al desarrollo de Aplicaciones en Internet Aproximacin a la Evolucin de las Computadoras

  • Introduccin al desarrollo de Aplicaciones en Internet Arquitectura Cliente /Servidor

    Desde el punto de vista funcional, se puede definir la computacin Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la informacin (o servicios) en forma transparente an en entornos multiplataforma.

    En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado servicio a un servidor (hace una peticin), y este enva uno o varios mensajes con la respuesta (provee el servicio)

  • Introduccin al desarrollo de Aplicaciones en Internet Arquitectura Cliente /Servidor

    Servidor

    Back-end

    Ofrece servicio y atiende peticiones de mltiples clientes

    Pasivo esta a la espera de peticiones

    Usuarios del los servicios del Host*

    Cliente

    Front-end

    Utiliza el servicio enviando peticiones al servidor

    Activo

    Usuarios del sistema*

    *(5) Que es un usuario del sistema y un usuario de los servicios del Host. Cual es la diferencia? Ejemplo!

  • Introduccin al desarrollo de Aplicaciones en Internet Arquitectura Cliente /Servidor

    Como se distribuyen la funcionalidad del cdigo (Reparto de carga)?

  • Introduccin al desarrollo de Aplicaciones en Internet Arquitectura Cliente /Servidor

    Segn se reparte la carga entre el cliente y el servidor se habla de Cliente Ligero o Thin

    o Cliente Rico, Gordo o Rich Client

  • Aproximacin a la Evolucin de la Web

  • Futuro de Internet y Aplicaciones

  • Introduccin al desarrollo de Aplicaciones en Internet Tecnologas (Lenguajes) en el Cliente y en el Servidor

    Lenguajes web de cliente Javascript Visual Basic Script *DHTML CSS Applets Ajax Lenguajes web de servidor CGI Perl ASP PHP Servlet / JSP / JSF

    Otras tecnologas Trasversales XML *Ver Actividad 4

  • Cdigo Administrado y no Administrado

  • Otras Tecnologas de desarrollo Web

    Java

    Plataforma Java

    Cdigo Administrado

  • Otras Tecnologas de desarrollo Web Java EE

  • Otras Tecnologas de desarrollo Web Javascript

    Algunas definiciones

    Javascript es un lenguaje de programacin utilizado para crear pequeos programas que son insertados en las pginas web.

    Se utiliza principalmente en su forma del lado del cliente (client-side)

    Muchos confunden el Javascript con el Java pero ambos lenguajes son diferentes

    Analizar que pasa con la verificacin de los datos que se ingresen en la IU

  • Otras Tecnologas de desarrollo Web XML

    Algunas definiciones

    XML Siglas en ingls de eXtensible Markup Language ('lenguaje de marcas extensible'), es un

    lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C). Permite definir nuestras propias etiquetas para estructurar nuestra informacin. Esta diseado para trasportar y almacenar informacin. Es muy til cuando varias aplicaciones se deben comunicar entre s o integrar informacin.

    (Ejemplo: Recordar lo de los archivos planos). Resuelve problemas de interoperabilidad en lo referente al intercambio de informacin

    entre diferentes plataformas.

  • Otras Tecnologas de desarrollo Web Ajax

    Algunas definiciones

    Ajax, acrnimo de Asynchronous JavaScript And XML (JavaScript asncrono y XML), es una tcnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications).

    Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicacin asncrona con el servidor en segundo plano.

    De esta forma es posible realizar cambios sobre las pginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.