Sie sind auf Seite 1von 24

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. 1

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. 2

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:<esquema>:<parte-especfica-del-esquema>

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. 3

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=<typdecode>]

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
ftp (File Transfer Protocol)
http (HyperText Transfer Protocol)
gopher (gopher)
mailto (correo electrnico)

Sintaxis
ftp://user:password@host:port/path;type=<typecode>
http://<host>:<port>/<path>?<searchpart>
gopher://<host>:<port>/<gopher-path>
mailto:<rfc822-addr-spec>

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. 4

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. 5

Las etiquetas del HTML se delimitan por medio de los signos < y >. Por ejemplo, la etiqueta <P>
marca el inicio de cada prrafo. Otras, la mayor parte, van por parejas: <TITLE> y </TITLE>
abren y cierran, respectivamente, el ttulo del documento.
Los links se abren y cierran con las etiquetas <A> y </A>. 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. 6

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. 7

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. 8

Introduccin
cascada)

a CSS (Cascading Style Sheets = Hojas de estilo en

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. 9

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. 10

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, <h1> o <p>) 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 <h1> >, 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 <head> un <style> de tipo text/css, y que en su interior definimos
el formato a aplicar a las etiquetas <h1> (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. 11

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 <style> > 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. 12

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. 13

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: <!-- comentario -->

A.P.U. 2008 Programacin y Servicios Web

Pg. 14

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. 15

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. 16

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. 17

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. 18

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. 19

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. 20

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. 21

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. 22

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. 23

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.

A.P.U. 2008 Programacin y Servicios Web

Pg. 24

Das könnte Ihnen auch gefallen