Introduccion a La Www Introduccion a la www.pdf

  • Published on
    10-Apr-2016

  • View
    13

  • Download
    9

DESCRIPTION

Introduccion a la www.pdf Introduccion a la www.pdf Introduccion a la www.pdf Introduccion a la www.pdf Introduccion a la www.pdf

Transcript

  • A.P.U. 2008 Programacin y Servicios Web Pg. 1

    PROGRAMACION Y SERVICIOS WEB

    UNIDAD 1 - Introduccin a WWW

    Contenido UNIDAD 1 - Introduccin a WWW ................................................................................................1

    Historia de la World Wide Web ................................................................................................2

    Arquitectura de la www y conceptos .......................................................................................3

    URL (Uniform Resource Locator) ..........................................................................................3

    HTTP (HyperText Transfer Protocol = Protocolo de Transferencia de HiperTexto) ..............4

    HTML (HyperText Markup Language = Lenguaje de Marcas de HiperTexto) ........................5

    HTTP (HyperText Transfer Protocol) .........................................................................................7

    Introduccin a CSS (Cascading Style Sheets = Hojas de estilo en cascada) ..............................9

    Funcionamiento bsico de CSS .............................................................................................9

    Incluir cdigo CSS en nuestra pgina Web HTML ...............................................................11

    Definicin de estilos CSS .....................................................................................................13

    Medios CSS .........................................................................................................................14

    Comentarios CSS ................................................................................................................14

    Servidor de Aplicaciones Web ................................................................................................15

    Servidores Web ..................................................................................................................15

    Tipos de Servidores Web ....................................................................................................15

    Arquitecturas de las aplicaciones web ...............................................................................17

    Aplicacin Web...................................................................................................................19

    Procesamiento Esttico y Dinmico ...................................................................................20

    Lenguajes de Programacin Web ...........................................................................................22

    Lenguaje PHP......................................................................................................................22

    Lenguaje ASP ......................................................................................................................23

    Lenguaje ASP.NET ...............................................................................................................23

    Lenguaje JSP .......................................................................................................................24

  • A.P.U. 2008 Programacin y Servicios Web Pg. 2

    Historia de la World Wide Web La World Wide Web naci cerca de Ginebra (Suiza) en el CERN, el laboratorio europeo de fsica

    de partculas. Su principal creador fue Tim Berners-Lee (nacido en Londres en 1955), que

    propuso en 1989 la creacin de un sistema de hipertexto para facilitar el intercambio de

    informacin entre los investigadores del CERN. En el verano de 1991, este sistema (servidor y

    navegador) se puso a disposicin de todos los usuarios de Internet. El xito de la web impuls

    la creacin en 1994 del W3C (World Wide Web Consortium), organismo formado por empresas

    y universidades de todo el mundo. El W3C se organiza en grupos de trabajo, en los que las

    empresas y organismos interesados desarrollan por consenso especificaciones que, una vez

    publicadas, reciben el nombre de recomendaciones.

    El W3C est presidido por Berners-Lee y su objetivo es conducir la web a su pleno desarrollo,

    asegurando su estabilidad. El xito de la web como espacio compartido de informacin y

    entretenimiento ha hecho necesario ir ampliando las capacidades de la web. Para conseguirlo,

    el W3C ha publicado un gran nmero de recomendaciones, que pueden consultarse en la web.

    Pese al extraordinario desarrollo y utilizacin de la web, su breve historia est llena de crisis,

    pasos atrs y conflictos enquistados. Los usuarios de la web estn interesados en que existan

    unas normas comunes que permitan la interoperabilidad y la competencia, pero las empresas

    que dominan un mercado suelen preferir que no existan normas comunes para que sus

    productos se conviertan en la norma "de facto" y asegurar su dominio.

    El W3C tiene sedes en varios pases. Desde octubre de 2003, existe una oficina espaola del

    W3C, con sede en Asturias. Entre otras cosas, mantienen una lista de recomendaciones del

    W3Ctraducidas al espaol.

    El W3C no es el nico organismo que juega un papel en el desarrollo de la web.

    La IETF (Internet Engineering Task Force) se ocupa desde 1986 del desarrollo de la arquitectura

    de Internet y publica las normas (que por razones histricas reciben el nombre de Request For

    Comments) que definen los protocolos empleados en Internet. La IANA (Internet Assigned

    Numbers Authority) se ocupa desde 1972 de la asignacin de direcciones a cada computadora

    conectada a Internet.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 3

    Arquitectura de la www y conceptos Para que la web funcione, se necesitan tres mecanismos:

    la identificacin de los recursos disponibles (URI)

    reglas de comunicacin entre el servidor y el navegador (HTTP)

    un formato comn para los documentos intercambiados (HTML, XML)

    Tanto la identificacin de los recursos como las reglas de comunicacin son aspectos

    relativamente estables, mientras que el formato de los documentos ha tenido una evolucin

    ms compleja y contina en desarrollo. A continuacin se describen los diferentes estndares

    que conforman la web.

    URL (Uniform Resource Locator)

    Los URL (Uniform Resource Locator) son una notacin estndar para la especificacin de

    recursos presentes en Internet. Constituyen la piedra angular del Web, ya que hacen posible

    que un link de HTML se refiera a cualquier objeto de la red.

    Un URL representa de un modo compacto la localizacin y el mtodo de acceso de cualquier

    recurso de la red (Berners-Lee, Masinter y McCahill, 1994). No slo hay ms de dos millones de

    ordenadores conectados a los varios miles de redes que forman la Internet, sino que existen

    mltiples protocolos o formas diferentes de acceder a la informacin (ftp, gopher, http, etc.).

    Los URL aportan esos dos datos esenciales: dnde se encuentra un recurso y cmo se puede

    acceder a l.

    La sintaxis de los URL es la siguiente:

    URL::

    El esquema es un trmino convenido que representa el mtodo de acceso a un recurso. La

    parte especfica del esquema informa sobre su localizacin en la red, de un modo que depende

    de cada mtodo de acceso. Un ejemplo nos ayudar a entender esto.

    Cuando utilizamos ftp annimo para copiar un fichero de un ordenador remoto a nuestro

    ordenador necesitamos saber lo siguiente: host o nombre del ordenador remoto donde se

    encuentra el fichero y path o que conduce al fichero dentro de la estructura de ficheros del

    ordenador remoto. Supongamos que el fichero se llama README, y que est en el directorio

    pub del host ftp.uji.es; el URL de tal objeto sera ste:

    Al recuperar un fichero mediante ftp annimo usamos "anonymous" como nombre de usuario,

    y nuestra direccin de correo electrnico como password. En los URL esta informacin se

  • A.P.U. 2008 Programacin y Servicios Web Pg. 4

    omite dado que es conocida. Sin embargo, es posible incluirla si, por ejemplo, no se trata de

    ftp annimo, sino que se necesita especificar un usuario real y su password. La sintaxis

    genrica de los URL para objetos accesibles por ftp es la siguiente:

    URL:ftp://[user[:password]@]host[:port]/path[;type=]

    El "port" puede omitirse si el servidor de ftp emplea el port estndar de ftp (el 21). Este

    principio de omitir lo ya conocido se sigue en todos los URL. Si los distintos servidores siguen

    las recomendaciones de la Internet no es necesario incluir informacin redundante.

    El "path" es la lista ordenada de subdirectorios por los que hay que pasar para llegar al fichero,

    separados por "/", seguida del nombre del fichero.

    El "type" es "d", "a", "i". "d" indica que se requiere la transmisin de una lista de nombres de

    ficheros (un directorio). "a" solicita una transmisin de lneas de texto. "i" solicita una

    transmisin binaria.

    En la actualidad existen esquemas definidos para los siguientes servicios:

    Esquema Sintaxis ftp (File Transfer Protocol) ftp://user:password@host:port/path;type= http (HyperText Transfer Protocol) http://:/? gopher (gopher) gopher://:/ mailto (correo electrnico) mailto:

    HTTP (HyperText Transfer Protocol = Protocolo de Transferencia de HiperTexto)

    El esquema bsico de cualquier transaccin HTTP entre un cliente y un servidor es el siguiente

    (Berners-Lee, 1993):

    Conexin: El cliente establece una conexin con el servidor a travs del puerto 80

    (puerto estndar), u otro especificado.

    Peticin: El cliente enva una peticin al servidor.

    Respuesta: El servidor enva al cliente la respuesta (esto es, el objeco demandado o un

    cdigo de error).

    Cierre: Ambas partes cierran la conexin.

    HTTP (HyperText Transfer Protocol) es el protocolo de alto nivel del World-Wide Web que rige

    el intercambio de mensajes entre clientes y servidores del Web.

    Un protocolo es:

    "Una descripcin formal de los formatos de los mensajes y las reglas que deben seguir dos

    ordenadores para intercambiar dichos mensajes. Los protocolos pueden describir detalles de

    bajo nivel de los interfaces de mquina a mquina (por ejemplo, el orden en el cual deben

    enviarse bits y bytes a travs de un cable) o intercambios de alto nivel entre programas (por

    ejemplo, la forma en que dos programas transfieren un fichero a travs de la Internet)."

    (Malkin y LaQuey Parker, 1993, pg. 39).

  • A.P.U. 2008 Programacin y Servicios Web Pg. 5

    El HTTP es un protocolo genrico orientado a objetos que no mantiene la conexin entre

    transacciones (Berners-Lee, 1993d). Ha sido especialmente diseado para atender las

    exigencias de un sistema hipermedia distribuido como es el World-Wide Web. Sus

    caractersticas principales son:

    Ligereza: reduce la comunicacin entre clientes y servidores a intercambios discretos, de modo

    que no sobrecarga la red y permite saltos hipertextuales rpidos.

    Generalidad: puede utilizarse para transferir cualquier tipo de datos, segn el estndar

    MIME. Esto incluye tambin los que desarrollen en el futuro, ya que el cliente y el

    servidor pueden negociar en cualquier momento el modo de representacin de los

    datos: el cliente notifica al servidor una lista de formatos que entiende, y en adelante

    el servidor slo remitir al cliente datos que este sea capaz de manejar. El cliente debe

    aceptar al menos dos formatos: text/plain (texto normal) y text/html (hipertexto

    codificado en HTML: el lenguaje en el que se escriben los hipertextos del Web --vase

    el apartado siguiente).

    Extensibilidad: contempla distintos tipos de transaccin entre clientes y servidores

    ("mtodos", en la jerga HTTP), y la futura implementacin de otros nuevos. Esto abre

    posibilidades ms all de la simple recuperacin de objetos de la red: bsquedas,

    anotaciones, etc.

    HTML (HyperText Markup Language = Lenguaje de Marcas de HiperTexto)

    El HTML (HyperText Markup Language) es el lenguaje en el que se escriben los hipertextos del

    World-Wide Web y permite aadir a un documento de texto:

    La especificacin de estructuras del texto. Por ejemplo, ttulos, encabezamientos,

    lmites de los prrafos, listas de elementos.

    Estilos: texto enfatizado, citas, etc.

    Objetos multimedia: imgenes o sonido, pongamos por caso.

    Conexiones hipertextuales a otros objetos de la red: partes sensibles del documento

    desde dnde podramos saltar otras partes del Web.

    Todo este "valor aadido" al texto se codifica como etiquetas ("tags", en la jerga) que se

    insertan en el propio texto. Un ejemplo nos permitir hacernos una idea de todo ello:

  • A.P.U. 2008 Programacin y Servicios Web Pg. 6

    Las etiquetas del HTML se delimitan por medio de los signos < y >. Por ejemplo, la etiqueta

    marca el inicio de cada prrafo. Otras, la mayor parte, van por parejas: y

    abren y cierran, respectivamente, el ttulo del documento.

    Los links se abren y cierran con las etiquetas y . El objeto de la red a donde nos lleva

    el link se codifica en la etiqueta de apertura por medio de una notacin que se ha convertido

    de hecho en un estndar de Internet: los llamados URL.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 7

    HTTP (HyperText Transfer Protocol)

    Uso y finalidad:

    Uso: Se usa para el envo y recepcin de peticiones Web.

    Finalidad: Transferencia de hipertexto.

    Est basado en ASCII.

    Por ejemplo:

    http (el protocolo o esquema)

    www.cisco.com (el nombre del servidor)

    Index.html (archivo especfico solicitado).

    Mensajes HTTP:

    HTTP define los tipos de mensajes para solicitar la pgina Web y enva los tipos para responder:

    GET (solicitud de datos por parte del cliente)

    POST y PUT se utilizan para enviar mensajes que cargan datos en el servidor :

    POST (carga al informacin en un texto sin formato)

    PUT (carga los recursos o el contenido en el servidor)

  • A.P.U. 2008 Programacin y Servicios Web Pg. 8

    Una transaccin HTTP consiste en:

    Conexin: establecimiento de una conexin (puerto 80)

    Solicitud: envo (cliente) de un mensaje de solicitud al servidor.

    Respuesta: envo (servidor) de una respuesta al cliente.

    Cierre: fin de la conexin

  • A.P.U. 2008 Programacin y Servicios Web Pg. 9

    Introduccin a CSS (Cascading Style Sheets = Hojas de estilo en

    cascada)

    En el cdigo HTML se pueden incluir una serie de etiquetas representando tanto la clase de

    elementos y secciones que queremos incluir en nuestra pgina como el estilo a aplicar en las

    mismas.

    En los ltimos aos, cada vez se va tendiendo ms a separar los contenidos de la presentacin,

    el marcado de los contenidos de los estilos de visualizacin de los mismos.

    Al crear una pgina web: o Se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los

    contenidos, es decir, designar la funcin de cada elemento de la pgina: seccin, prrafo, texto

    destacado, tabla, lista ordenada, control, etc. La idea es que esta parte tenga cada vez ms

    semntica, dotando de sentido a los documentos generados y sus secciones. o En segundo

    lugar, se emplea CSS para definir el aspecto de cada elemento (color, tamao, tipo de letra,

    posicin, etc.).

    Los navegadores contienen diversos componentes. Uno de ellos, el motor de renderizado, se

    encarga de interpretar el cdigo HTML con las etiquetas y el cdigo CSS de formateo, y mostrar

    el contenido con su formato en la ventana del navegador. Hay distintas versiones de HTML y

    de CSS que van evolucionando, y su soporte en distintos motores es variable.

    Una de las claves para el buen funcionamiento de nuestras aplicaciones web en distintos

    navegadores es la estandarizacin. Conviene conocer las normas oficiales, ms all del

    conjunto de funcionalidades implementadas en un momento dado en un navegador concreto,

    lo que ir cambiando. El estado actual de las especificaciones estndar actual es CSS3.

    Funcionamiento bsico de CSS

    Podemos definir una pgina web muy sencilla con:

    Esta pgina se visualizar como:

  • A.P.U. 2008 Programacin y Servicios Web Pg. 10

    Podramos cambiar el estilo de la cabecera y los prrafos con:

    Ahora se visualizara como:

    Hemos logrado el cambio de visualizacin deseado, pero a costa de mezclar los contenidos

    (una cabecera principal, y dos prrafos) con el formato a dar a los mismos. Sin embargo, una

    cuestin concierne a la persona que decide el tipo de informacin a presentar, y otra a la

  • A.P.U. 2008 Programacin y Servicios Web Pg. 11

    persona encargada de definir la presentacin/maquetacin de la informacin, que no tendran

    por qu ser la misma, se estn mezclando innecesariamente las responsabilidades (contenido y

    presentacin). Adems, si toda cabecera principal se debe poner en azul, deberemos indicar la

    misma instruccin en todas las cabeceras, lo cual es redundante y puede implicar

    incoherencias de estilo.

    Propuesta con CSS: La alternativa sera separar ambas, de modo que las etiquetas delimiten el

    tipo de contenido (etiqueta, o ) y posiblemente clase (class), quedando el cdigo

    como:

    Como vemos, se han eliminado las referencias a color o tamao de texto como atributos de las

    etiquetas . En su lugar, se ha dejado sin atributo la etiqueta >, y se ha

    calificado uno de los prrafos como importante, lo cual tiene una consideracin ms

    semntica, y ser la hoja de estilo la que nos diga cmo presentar las cabeceras, los prrafos

    normales (por defecto) y los prrafos importantes (calificados). A simple vista podemos ver

    que se establece dentro de un de tipo text/css, y que en su interior definimos

    el formato a aplicar a las etiquetas (color de texto blue), y a aquello que se califique

    como importante, .imp (tamao de texto x-large).

    Incluir cdigo CSS en nuestra pgina Web HTML

    Existen tres formas de incluir cdigo CSS del tipo que hemos visto en nuestra pgina web,

    como veremos a continuacin.

    Incluir el estilo como atributo de la etiqueta HTML

  • A.P.U. 2008 Programacin y Servicios Web Pg. 12

    Se pueden emplear instrucciones de estilo CSS con el atributo style dentro de cualquier

    etiqueta HTML. Es la opcin menos aconsejada y usada, puesto que no permite

    separacin entre contenido y presentacin, ni estandarizar y reutilizar, pero es la

    opcin a emplear en caso de querer aplicar un formato de forma excepcional a un solo

    elemento.

    Por ejemplo:

    Incluir el estilo a nivel de pgina

    Se pueden emplear instrucciones de estilo CSS empleando una etiqueta > en la

    seccin HEAD de nuestro documento HTML.

    Por ejemplo, como vimos anteriormente:

    Permite aplicar el estilo definido a todos los elementos de un determinado tipo de

    contenido (a nivel de etiqueta), de una determinada clase (a nivel de class), o bien a un

    elemento determinado (a nivel de id).

    Incluir el estilo en archivo .css independiente, y usar a nivel de sitio

    Nos referimos con sitio web a todas las pginas que componen nuestra aplicacin,

    compuesta de un nmero determinado de pginas.

    Podemos definir un documento CSS con el estilo, y utilizarlo as en todas las pginas

    del sitio de manera uniforme.

    Es la opcin ms aconsejada, por ser la que permite una mejor separacin entre

    contenido y presentacin.

    El cdigo en el fichero aparte sera del mismo tipo de la opcin anterior, pero sin la

    etiqueta style. Por ejemplo, podemos tener un archivo miestilo.css:

  • A.P.U. 2008 Programacin y Servicios Web Pg. 13

    Para importarlo, bastar con escribir en las pginas que queramos aplicar el estilo:

    De esta forma, cuando el navegador carga la pgina HTML, al ver esta etiqueta

    descarga los archivos CSS externos enlazados mediante y aplica los estilos a los

    contenidos de la pgina.

    Definicin de estilos CSS

    Una seccin de definicin de estilos CSS (tanto en etiqueta style como en archivo externo)

    permite definir un conjunto de reglas CSS.

    Las reglas CSS se componen de:

    Un selector que indica a qu elementos HTML se aplicar la regla, y

    Un conjunto de declaraciones, indicando los estilos a aplicar a los elementos seleccionados.

    Una declaracin se compone de una o varias propiedades CSS con sus valores, siendo:

    Propiedad: caracterstica a modificar.

    Valor: establece el valor a aplicar a la caracterstica en cuestin.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 14

    Los estilos aplicados directamente sobre un elemento HTML incluyen nicamente la seccin de

    declaraciones, ya que el elemento seleccionado es sobre el que estamos actuando con el

    atributo style.

    En la especificacin actual, CSS 2.1, hay definidas 115 propiedades, si bien en CSS3 ya va por

    239, a falta de cerrar la especificacin de este estndar.

    Medios CSS

    Podemos aplicar distintos estilos sobre la misma declaracin de contenidos HTML, definiendo

    el formato aplicar sobre distintos medios como la pantalla (screen), impresoras (print),

    dispositivos de mano (handheld), etc.

    Por defecto nuestro estilo se mostrar para todas las posibles salidas o medios.

    Si queremos aplicar las reglas en un determinado medio, se puede indicar mediante:

    media="screen" como atributo de la etiqueta .

    @import url("estilos_seccion.css") screen; dentro de la etiqueta style.

    En la seccin style, para un determinado conjunto de reglas:

    @media print {

    body { font-size: 10pt }

    }

    Comentarios CSS

    Los comentarios dentro de la seccin de CSS se indican entre /* y */: o /* Este es mi

    comentario */.

    Pueden ocupar una o varias lneas.

    No confundir con los comentarios HTML:

  • A.P.U. 2008 Programacin y Servicios Web Pg. 15

    Servidor de Aplicaciones Web

    Servidores Web

    Los servidores web son aquellos cuya tarea es alojar sitios y/o aplicaciones, las cuales son

    accedidas por los clientes utilizando un navegador que se comunica con el servidor utilizando

    el protocolo HTTP (hypertext markup language).

    Bsicamente un servidor WEB consta de un interprete HTTP el cual se mantiene a la espera de

    peticiones de clientes y le responde con el contenido segn sea solicitado. El cliente, una vez

    recibido el cdigo, lo interpreta y lo exhibe en pantalla.

    Adems los servidores pueden disponer de un intrprete de otros lenguajes

    de programacin que ejecutan cdigo embebido dentro del cdigo HTML de las pginas que

    contiene el sitio antes de enviar el resultado al cliente. Esto se conoce como programacin de

    lado del servidor y utiliza lenguajes como ASP, PHP, Perl, Ajax, etc. Las ventajas de utilizar

    estos lenguajes radica en la potencia de los mismos ejecutando tareas ms complejas como, por

    ejemplo acceder a bases de datos abstrayendo al cliente de toda la operacin.

    El servidor web, se encarga de contestar a peticiones de ejecucin realizadas por los clientes o un

    usuario de internet o intranet; de forma adecuada, entregando como resultado una pgina web o

    informacin de todo tipo de acuerdo a los comandos solicitados

    Tipos de Servidores Web

    Servidor Dedicado: se refiere a una computadora servidora al sitio del cliente(para aplicaciones

    de alta demanda) (Hosting)

    Servidor Compartido: lo que significa que un mismo servidor (computadora + programas

    servidos) se usara para varios clientes compartiendo los recursos

  • A.P.U. 2008 Programacin y Servicios Web Pg. 16

    Servidor Apache

    Es un servidor http(1996), de cdigo abierto y multiplataforma(Unix (BSD, GNU/Linux, etc.), Microsoft

    Windows, Macintosh)

    Ventajas:

    Su extensibilidad y construccin modular. Se puede poner mdulos para ampliar su

    funcionabilidad (por ejemplo mod_php para ejecutar paginas PhP)

    La nocin de sitio virtual: Posibilidad de colocar mltiples sitios web en la misma maquina.

    Robusto y estable

    Desventaja

    Falta de una interfaz grafica que ayude a su configuracin

    Microsoft Internet Information Services IIS

    Es un servidor web y un conjunto de servicios para el sistemas operativo Microsoft Windows,

    las computadoras que tienen este servicio instalado puede publicar pginas web tanto local

    como remotamente.

    Los servicios que ofrece son: FTP,SMTP,NNTP y HTTP/HTTPS.

    Se basa en varios mdulos que le dan capacidad para procesar distintos tipos de pginas. Por

    ejemplo ASP(Active Server Pages) y Asp.Net

    Tambin pueden ser incluidos los otros fabricantes como PHP o PERL.

    IIS vs Apache

    Ambos son software utilizados en el servidor para ofrecer servicios, los cuales son:

    Apache: HTTP, HTTPS, FTP y FTPS (usando mdulo mod_ftp), SMTP (usando mdulo

    mod_smtpd), NNTP (aunque debe ser implementado aparte).

    IIS: HTTP, HTTPS, FTP, FTPS, SMTP y NNTP.

    Una de las principales caractersticas en comn adems de sus usos, es que su funcionalidad se

    ve ampliada gracias a una gran cantidad de mdulos que pueden ser aadidos, por ejemplo

    para la gestin de las bases de datos. Tambin poseen en comn la posibilidad de uso de

    lenguajes como PHP, Perl y Python.

    Diferencia: a diferencia de IIS, Apache no permite el uso de ASP a menos que se importe un

    mdulo especifico. Una diferencia importante entre ambos es que Apache es software libre y

    multiplataforma, mientras que IIS es software propietario y est hecho para sistemas

    Windows. En cuanto al aumento de funcionalidad por mdulos, en ambos casos es muy grande

    y no existe gran diferencia. En relacin al rendimiento, algunos lugares indican un mejor

    rendimiento en Apache aunque esto depende del sistema operativo utilizado.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 17

    Arquitecturas de las aplicaciones web

    Las aplicaciones web se basan en una arquitectura cliente/servidor: por un lado est el cliente

    (el navegador, explorador o visualizador) y por otro lado el servidor (el servidor web). Existen

    diversas variantes de la arquitectura bsica segn como se implementen las diferentes

    funcionalidades de la parte servidor. Las arquitecturas ms comunes son:

    1. Todo en un servidor: un nico ordenador aloja el servicio de HTTP, la lgica de

    negocio y la lgica de datos y los datos. El software que ofrece el servicio de HTTP

    gestiona tambin la lgica de negocio. Las tecnologas que emplean esta arquitectura

    son ASP y PHP.

    2. Servidor de datos separado: a partir de la arquitectura anterior, se separa la lgica de

    datos y los datos a un servidor de bases de datos especfico. Las tecnologas que

    emplean esta arquitectura son ASP y PHP.

    3. Todo en un servidor, con servicio de aplicaciones: en la arquitectura nmero 1 se

    separa la lgica de negocio del servicio de HTTP y se incluye el servicio de

    aplicaciones para gestionar los procesos que implementan la lgica de negocio. La

    tecnologa que emplea esta arquitectura es JSP.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 18

    4. Servidor de datos separado, con servicio de aplicaciones: a partir de la arquitectura

    anterior, se separa la lgica de datos y los datos a un servidor de bases de datos

    especfico. La tecnologa que emplea esta arquitectura es JSP.

    5. Todo separado: las tres funcionalidades bsicas del servidor web se separan en tres

    servidores especficos. La tecnologa que emplea esta arquitectura es JSP.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 19

    El objetivo de separar las distintas funcionalidades (servicio de HTTP, lgica de negocio y

    lgica de datos) en distintos servidores es aumentar la escalabilidad del sistema de cara a

    obtener un mayor rendimiento. Al separar las distintas funcionales en distintos servidores,

    cada uno de ellos se puede configurar (dimensionar) de forma adecuada a los requisitos que

    presenta cada uno de ellos. Por ejemplo, para ofrecer el servicio de HTTP hace falta un

    ordenador con una buena conexin a Internet, rpido pero sin grandes necesidades de

    almacenamiento. Sin embargo, para el servidor de bases de datos hace falta un ordenador con

    mucha memoria y con un disco duro de alta capacidad de almacenamiento y rpido para

    mantener todos los datos.

    Otra ventaja que se obtiene al separar las funcionalidades, es que al aislar la lgica de negocio

    y la lgica de datos en servidores separados que no estn conectados directamente a Internet

    se aumenta el nivel de seguridad, ya que no es tan fcil acceder a ellos.

    En algunos casos, las arquitecturas donde se separan el servicio de HTTP del resto de

    servicios es la nica opcin disponible. Por ejemplo, en los sistemas heredados ( legacy

    systems), donde ya existe una lgica de negocio en un servidor de aplicaciones y una lgica de

    datos en un servidor de bases de datos, la nica forma de acceder desde Internet al sistema

    heredado es a travs de un servidor que ofrezca el servicio de HTTP y se comunique

    internamente con el servidor de aplicaciones.

    Aplicacin Web

    Las aplicaciones web utilizan lo que se conoce como clientes livianos (light clients) los cuales

    no ejecutan demasiadas labores de procesamiento para la ejecucin de la aplicacin misma.

    Desde el punto de vista de la arquitectura se distinguen dos lados; uno es el cliente, donde se

    encuentra el usuario final utilizando la aplicacin por medio de un navegador (como Internet

    Explorer o Mozilla Firefox). A travs de este cliente web, el usuario interacta con la aplicacin

    localizada al otro lado, en el servidor, que es donde residen realmente los datos, reglas y

    lgica de la aplicacin.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 20

    Procesamiento Esttico y Dinmico

    Procesamiento esttico

    En muchos casos, el servidor es un programa que simplemente toma el pedido que recibe y

    devuelve una pgina (compuesta por uno o ms archivos HTML, imgenes, animaciones, etc.)

    que est guardada en algn lugar del disco. En estos casos decimos que son pginas estticas.

    A no ser que el administrador del sitio actualice su contenido, al ingresar en la p- gina web

    siempre obtendremos el mismo resultado, no importa cundo ingresemos ni desde dnde.

    Para la gran mayora de sistemas de negocios, este tipo de servicio no es muy til, ya que se

    suele necesitar que se devuelva una pgina con contenido dinmico, que cambie segn quin

    pidi la pgina, segn la fecha, etc.

    El servidor de pginas estticas siempre devuelve el mismo recurso para el mismo pedido.

    Procesamiento Dinamico

    Pensemos, por ejemplo, en el sistema de un banco. Si ingreso en el sitio del banco y quiero

    consultar mi saldo, debera devolverme mi saldo actual al momento exacto de pedirlo. Si el

    sitio web slo provee contenido esttico, entonces deberan tener una pgina guardada en el

    disco para cada saldo posible. Esto, obviamente, es impracticable. Y tampoco es viable que

    haya una persona que est actualizando las pginas de saldos de todos los usuarios a medida

    que van realizando operaciones sobre sus cuentas. En esos casos, el servidor efecta

    operaciones (yendo a buscar datos a una base de datos, consultando con otro servidor o

    accediendo a otro tipo de servicios de negocios) y devuelve una pgina dinmica; esto es, una

    pgina que no est guardada en ningn lugar dentro del servidor, sino que fue creada en el

    momento para quien la pidi. El servidor accede a los datos variables, en este caso, el saldo del

    usuario, luego construye en memoria la pgina con este dato y se la devuelve al cliente, que la

    muestra en pantalla.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 21

    El servidor web dinmico construye una respuesta distinta para cada pedido.

    La programacin web entonces, consiste en escribir programas que, dada una peticin web

    realizada por un cliente (un navegador), procesen el pedido y generen y devuelvan un

    resultado. Como en todo proceso de desarrollo de software, hay mucho de reutilizacin.

    Podremos ver que, por ejemplo, la parte de recibir el pedido y enviar la respuesta por lo

    general no cambia, solamente cambia la lgica de negocios de cada pedido y el contenido de la

    respuesta generada. En este libro utilizaremos herramientas ya desarrolladas de cdigo abierto

    que nos ayudarn en la creacin de aplicaciones web.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 22

    Lenguajes de Programacin Web

    Lenguaje PHP

    Es un lenguaje de programacin utilizado para la creacin de sitio web. PHP es un acrnimo

    recursivo que significa PHP Hypertext Pre-processor, (inicialmente se llam Personal Home

    Page). Surgi en 1995, desarrollado por PHP Group.

    PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generacin

    de pginas web dinmicas, embebidas en pginas HTML y ejecutadas en el servidor. PHP no

    necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado

    Apache o IIS con las libreras de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y

    Perl con algunas caractersticas especficas. Los archivos cuentan con la extensin (php).

    Ventajas:

    Muy fcil de aprender.

    Se caracteriza por ser un lenguaje muy rpido.

    Soporta en cierta medida la orientacin a objeto. Clases y herencia.

    Es un lenguaje multiplataforma: Linux, Windows, entre otros.

    Capacidad de conexin con la mayora de los manejadores de base de datos: MysSQL,

    PostgreSQL, Oracle, MS SQL Server, entre otras.

    Capacidad de expandir su potencial utilizando mdulos.

    Posee documentacin en su pgina oficial la cual incluye descripcin y ejemplos de

    cada una de sus funciones.

    Es libre, por lo que se presenta como una alternativa de fcil acceso para todos.

    Incluye gran cantidad de funciones.

    No requiere definicin de tipos de variables ni manejo detallado del bajo nivel.

    Desventajas:

    Se necesita instalar un servidor web.

    Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser ms

    ineficiente a medida que las solicitudes aumenten de nmero.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 23

    La legibilidad del cdigo puede verse afectada al mezclar sentencias HTML y PHP.

    La programacin orientada a objetos es an muy deficiente para aplicaciones grandes.

    Dificulta la modularizacin.

    Dificulta la organizacin por capas de la aplicacin.

    Lenguaje ASP

    Es una tecnologa del lado de servidor desarrollada por Microsoft para el desarrollo de sitio

    web dinmicos. ASP significa en ingls (Active Server Pages), fue liberado por Microsoft en

    1996. Las pginas web desarrolladas bajo este lenguaje es necesario tener instalado Internet

    Information Server (IIS).

    ASP no necesita ser compilado para ejecutarse. Existen varios lenguajes que se pueden utilizar

    para crear pginas ASP. El ms utilizado es VBScript, nativo de Microsoft. ASP se puede hacer

    tambin en Perl and Jscript (no JavaScript). El cdigo ASP puede ser insertado junto con el

    cdigo HTML. Los archivos cuentan con la extensin (asp).

    Ventajas:

    Usa Visual Basic Script, siendo fcil para los usuarios.

    Comunicacin ptima con SQL Server.

    Soporta el lenguaje JScript (Javascript de Microsoft).

    Desventajas:

    Cdigo desorganizado.

    Se necesita escribir mucho cdigo para realizar funciones sencillas.

    Tecnologa propietaria.

    Hospedaje de sitios web costosos.

    Lenguaje ASP.NET

    Este es un lenguaje comercializado por Microsoft, y usado por programadores para desarrollar

    entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnologa ASP, fue lanzada al

    mercado mediante una estrategia de mercado denominada .NET.

    El ASP.NET fue desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Creado

    para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede

    utilizar C#, VB.NET o J#. Los archivos cuentan con la extensin (aspx). Para su funcionamiento

    de las pginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003

    incluye este framework, solo se necesitar instalarlo en versiones anteriores.

    Ventajas:

    Completamente orientado a objetos.

  • A.P.U. 2008 Programacin y Servicios Web Pg. 24

    Controles de usuario y personalizados.

    Divisin entre la capa de aplicacin o diseo y el cdigo.

    Facilita el mantenimiento de grandes aplicaciones.

    Incremento de velocidad de respuesta del servidor.

    Mayor velocidad.

    Mayor seguridad.

    Desventajas:

    Mayor consumo de recursos.

    Lenguaje JSP

    Es un lenguaje para la creacin de sitios web dinmicos, acrnimo de Java Server Pages. Est

    orientado a desarrollar pginas web en Java. JSP es un lenguaje multiplataforma. Creado para

    ejecutarse del lado del servidor.

    JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET,

    desarrollado para la creacin de aplicaciones web potentes. Posee un motor de pginas

    basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor

    Tomcat.

    Caractersticas:

    Cdigo separado de la lgica del programa.

    Las pginas son compiladas en la primera peticin.

    Permite separar la parte dinmica de la esttica en las pginas web.

    Los archivos se encuentran con la extensin (jsp).

    El cdigo JSP puede ser incrustado en cdigo HTML.

    Ventajas:

    Ejecucin rpida del servlets.

    Crear pginas del lado del servidor.

    Multiplataforma.

    Cdigo bien estructurado.

    Integridad con los mdulos de Java.

    La parte dinmica est escrita en Java.

    Permite la utilizacin se servlets.

    Desventajas:

    Complejidad de aprendizaje.