Introduccion a La Www Introduccion a la

  • A.P.U. 2008 Programacin y Servicios Web Pg. 1PROGRAMACION Y SERVICIOS WEBUNIDAD 1 – Introduccin a WWWContenido UNIDAD 1 – Introduccin a WWW……………………………………………………………………………………1Historia de la World Wide Web……………………………………………………………………………………2Arquitectura de la www y conceptos……………………………………………………………………………3URL (Uniform Resource Locator)………………………………………………………………………………3HTTP (HyperText Transfer Protocol = Protocolo de Transferenciade HiperTexto) …………..4HTML (HyperText Markup Language = Lenguaje de Marcas deHiperTexto) ……………………5HTTP (HyperText Transfer Protocol)……………………………………………………………………………..7Introduccin a CSS (Cascading Style Sheets = Hojas de estilo encascada) …………………………9Funcionamiento bsico de CSS…………………………………………………………………………………9Incluir cdigo CSS en nuestra pgina Web HTML………………………………………………………11Definicin de estilos CSS………………………………………………………………………………………..13Medios CSS………………………………………………………………………………………………………….14Comentarios CSS………………………………………………………………………………………………….14Servidor de Aplicaciones Web……………………………………………………………………………………15Servidores Web……………………………………………………………………………………………………15Tipos de Servidores Web……………………………………………………………………………………….15Arquitecturas de las aplicaciones web…………………………………………………………………….17AplicacinWeb…………………………………………………………………………………………………….19Procesamiento Esttico y Dinmico………………………………………………………………………..20Lenguajes de Programacin Web……………………………………………………………………………….22LenguajePHP……………………………………………………………………………………………………….22Lenguaje ASP……………………………………………………………………………………………………….23Lenguaje ASP.NET…………………………………………………………………………………………………23Lenguaje JSP………………………………………………………………………………………………………..24
  • A.P.U. 2008 Programacin y Servicios Web Pg. 2Historia de la World Wide Web La World Wide Web naci cerca deGinebra (Suiza) en el CERN, el laboratorio europeo de fsicade partculas. Su principal creador fue Tim Berners-Lee (nacidoen Londres en 1955), quepropuso en 1989 la creacin de un sistema de hipertexto parafacilitar el intercambio deinformacin entre los investigadores del CERN. En el verano de1991, este sistema (servidor ynavegador) se puso a disposicin de todos los usuarios deInternet. El xito de la web impulsla creacin en 1994 del W3C (World Wide Web Consortium),organismo formado por empresasy universidades de todo el mundo. El W3C se organiza en gruposde trabajo, en los que lasempresas y organismos interesados desarrollan por consensoespecificaciones que, una vezpublicadas, reciben el nombre de recomendaciones.El W3C est presidido por Berners-Lee y su objetivo es conducirla web a su pleno desarrollo,asegurando su estabilidad. El xito de la web como espaciocompartido de informacin yentretenimiento ha hecho necesario ir ampliando las capacidadesde la web. Para conseguirlo,el W3C ha publicado un gran nmero de recomendaciones, que puedenconsultarse en la web.Pese al extraordinario desarrollo y utilizacin de la web, subreve historia est llena de crisis,pasos atrs y conflictos enquistados. Los usuarios de la web estninteresados en que existanunas normas comunes que permitan la interoperabilidad y lacompetencia, pero las empresasque dominan un mercado suelen preferir que no existan normascomunes para que susproductos se conviertan en la norma «de facto» y asegurar sudominio.El W3C tiene sedes en varios pases. Desde octubre de 2003,existe una oficina espaola delW3C, con sede en Asturias. Entre otras cosas, mantienen unalista de recomendaciones delW3Ctraducidas al espaol.El W3C no es el nico organismo que juega un papel en eldesarrollo de la web.La IETF (Internet Engineering Task Force) se ocupa desde 1986del desarrollo de la arquitecturade Internet y publica las normas (que por razones histricasreciben el nombre de Request ForComments) que definen los protocolos empleados en Internet. LaIANA (Internet AssignedNumbers Authority) se ocupa desde 1972 de la asignacin dedirecciones a cada computadoraconectada a Internet.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 3Arquitectura de la www y conceptos Para que la web funcione, senecesitan 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 decomunicacin son aspectosrelativamente estables, mientras que el formato de losdocumentos ha tenido una evolucinms compleja y contina en desarrollo. A continuacin se describenlos diferentes estndaresque conforman la web.URL (Uniform Resource Locator)Los URL (Uniform Resource Locator) son una notacin estndar parala especificacin derecursos presentes en Internet. Constituyen la piedra angulardel Web, ya que hacen posibleque un link de HTML se refiera a cualquier objeto de la red.Un URL representa de un modo compacto la localizacin y el mtodode acceso de cualquierrecurso de la red (Berners-Lee, Masinter y McCahill, 1994). Noslo hay ms de dos millones deordenadores conectados a los varios miles de redes que forman laInternet, sino que existenmltiples protocolos o formas diferentes de acceder a lainformacin (ftp, gopher, http, etc.).Los URL aportan esos dos datos esenciales: dnde se encuentra unrecurso y cmo se puedeacceder a l.La sintaxis de los URL es la siguiente:URL::El esquema es un trmino convenido que representa el mtodo deacceso a un recurso. Laparte especfica del esquema informa sobre su localizacin en lared, de un modo que dependede cada mtodo de acceso. Un ejemplo nos ayudar a entenderesto.Cuando utilizamos ftp annimo para copiar un fichero de unordenador remoto a nuestroordenador necesitamos saber lo siguiente: host o nombre delordenador remoto donde seencuentra el fichero y path o que conduce al fichero dentro dela estructura de ficheros delordenador remoto. Supongamos que el fichero se llama README, yque est en el directoriopub 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 losURL esta informacin se
  • A.P.U. 2008 Programacin y Servicios Web Pg. 4omite dado que es conocida. Sin embargo, es posible incluirlasi, por ejemplo, no se trata deftp annimo, sino que se necesita especificar un usuario real ysu password. La sintaxisgenrica de los URL para objetos accesibles por ftp es lasiguiente:URL:ftp://[user[:password]@]host[:port]/path[;type=]El «port» puede omitirse si el servidor de ftp emplea el portestndar de ftp (el 21). Esteprincipio de omitir lo ya conocido se sigue en todos los URL. Silos distintos servidores siguenlas recomendaciones de la Internet no es necesario incluirinformacin redundante.El «path» es la lista ordenada de subdirectorios por los que hayque pasar para llegar al fichero,separados por «/», seguida del nombre del fichero.El «type» es «d», «a», «i». «d» indica que se requiere latransmisin de una lista de nombres deficheros (un directorio). «a» solicita una transmisin de lneasde texto. «i» solicita unatransmisin binaria.En la actualidad existen esquemas definidos para los siguientesservicios:Esquema Sintaxis ftp (File Transfer Protocol)ftp://user:[email protected]:port/path;type= http (HyperText TransferProtocol) http://:/? gopher (gopher) gopher://:/ mailto (correoelectrnico) mailto:HTTP (HyperText Transfer Protocol = Protocolo de Transferenciade HiperTexto)El esquema bsico de cualquier transaccin HTTP entre un cliente yun servidor es el siguiente(Berners-Lee, 1993):Conexin: El cliente establece una conexin con el servidor atravs 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, elobjeco demandado o uncdigo de error).Cierre: Ambas partes cierran la conexin.HTTP (HyperText Transfer Protocol) es el protocolo de alto niveldel World-Wide Web que rigeel intercambio de mensajes entre clientes y servidores delWeb.Un protocolo es:»Una descripcin formal de los formatos de los mensajes y lasreglas que deben seguir dosordenadores para intercambiar dichos mensajes. Los protocolospueden describir detalles debajo nivel de los interfaces de mquina a mquina (por ejemplo, elorden en el cual debenenviarse bits y bytes a travs de un cable) o intercambios dealto nivel entre programas (porejemplo, la forma en que dos programas transfieren un fichero atravs de la Internet).»(Malkin y LaQuey Parker, 1993, pg. 39).
  • A.P.U. 2008 Programacin y Servicios Web Pg. 5El HTTP es un protocolo genrico orientado a objetos que nomantiene la conexin entretransacciones (Berners-Lee, 1993d). Ha sido especialmentediseado para atender lasexigencias de un sistema hipermedia distribuido como es elWorld-Wide Web. Suscaractersticas principales son:Ligereza: reduce la comunicacin entre clientes y servidores aintercambios discretos, de modoque no sobrecarga la red y permite saltos hipertextualesrpidos.Generalidad: puede utilizarse para transferir cualquier tipo dedatos, segn el estndarMIME. Esto incluye tambin los que desarrollen en el futuro, yaque el cliente y elservidor pueden negociar en cualquier momento el modo derepresentacin de losdatos: el cliente notifica al servidor una lista de formatos queentiende, y en adelanteel servidor slo remitir al cliente datos que este sea capaz demanejar. El cliente debeaceptar al menos dos formatos: text/plain (texto normal) ytext/html (hipertextocodificado en HTML: el lenguaje en el que se escriben loshipertextos del Web –vaseel apartado siguiente).Extensibilidad: contempla distintos tipos de transaccin entreclientes y servidores(«mtodos», en la jerga HTTP), y la futura implementacin de otrosnuevos. Esto abreposibilidades ms all de la simple recuperacin de objetos de lared: bsquedas,anotaciones, etc.HTML (HyperText Markup Language = Lenguaje de Marcas deHiperTexto)El HTML (HyperText Markup Language) es el lenguaje en el que seescriben los hipertextos delWorld-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: partessensibles del documentodesde dnde podramos saltar otras partes del Web.Todo este «valor aadido» al texto se codifica como etiquetas(«tags», en la jerga) que seinsertan en el propio texto. Un ejemplo nos permitir hacernosuna idea de todo ello:
  • A.P.U. 2008 Programacin y Servicios Web Pg. 6Las etiquetas del HTML se delimitan por medio de los signos <y >. Por ejemplo, la etiquetamarca el inicio de cada prrafo. Otras, la mayor parte, van porparejas: yabren y cierran, respectivamente, el ttulo del documento.Los links se abren y cierran con las etiquetas y . El objeto dela red a donde nos llevael link se codifica en la etiqueta de apertura por medio de unanotacin que se ha convertidode hecho en un estndar de Internet: los llamados URL.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 7HTTP (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 yenva los tipos para responder:GET (solicitud de datos por parte del cliente)POST y PUT se utilizan para enviar mensajes que cargan datos enel 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. 8Una transaccin HTTP consiste en:Conexin: establecimiento de una conexin (puerto 80)Solicitud: envo (cliente) de un mensaje de solicitud alservidor.Respuesta: envo (servidor) de una respuesta al cliente.Cierre: fin de la conexin
  • A.P.U. 2008 Programacin y Servicios Web Pg. 9Introduccin a CSS (Cascading Style Sheets = Hojas de estiloencascada)En el cdigo HTML se pueden incluir una serie de etiquetasrepresentando tanto la clase deelementos y secciones que queremos incluir en nuestra pgina comoel estilo a aplicar en lasmismas.En los ltimos aos, cada vez se va tendiendo ms a separar loscontenidos de la presentacin,el marcado de los contenidos de los estilos de visualizacin delos mismos.Al crear una pgina web: o Se utiliza en primer lugar el lenguajeHTML/XHTML para marcar loscontenidos, es decir, designar la funcin de cada elemento de lapgina: seccin, prrafo, textodestacado, tabla, lista ordenada, control, etc. La idea es queesta parte tenga cada vez mssemntica, dotando de sentido a los documentos generados y sussecciones. o En segundolugar, 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, elmotor de renderizado, seencarga de interpretar el cdigo HTML con las etiquetas y elcdigo CSS de formateo, y mostrarel contenido con su formato en la ventana del navegador. Haydistintas versiones de HTML yde CSS que van evolucionando, y su soporte en distintos motoreses variable.Una de las claves para el buen funcionamiento de nuestrasaplicaciones web en distintosnavegadores es la estandarizacin. Conviene conocer las normasoficiales, ms all delconjunto de funcionalidades implementadas en un momento dado enun navegador concreto,lo que ir cambiando. El estado actual de las especificacionesestndar actual es CSS3.Funcionamiento bsico de CSSPodemos definir una pgina web muy sencilla con:Esta pgina se visualizar como:
  • A.P.U. 2008 Programacin y Servicios Web Pg. 10Podramos cambiar el estilo de la cabecera y los prrafos con:Ahora se visualizara como:Hemos logrado el cambio de visualizacin deseado, pero a costa demezclar los contenidos(una cabecera principal, y dos prrafos) con el formato a dar alos mismos. Sin embargo, unacuestin concierne a la persona que decide el tipo de informacina presentar, y otra a la
  • A.P.U. 2008 Programacin y Servicios Web Pg. 11persona encargada de definir la presentacin/maquetacin de lainformacin, que no tendranpor qu ser la misma, se estn mezclando innecesariamente lasresponsabilidades (contenido ypresentacin). Adems, si toda cabecera principal se debe poner enazul, deberemos indicar lamisma instruccin en todas las cabeceras, lo cual es redundante ypuede implicarincoherencias de estilo.Propuesta con CSS: La alternativa sera separar ambas, de modoque las etiquetas delimiten eltipo de contenido (etiqueta, o ) y posiblemente clase (class),quedando el cdigocomo:Como vemos, se han eliminado las referencias a color o tamao detexto como atributos de lasetiquetas . En su lugar, se ha dejado sin atributo la etiqueta>, y se hacalificado uno de los prrafos como importante, lo cual tiene unaconsideracin mssemntica, y ser la hoja de estilo la que nos diga cmo presentarlas cabeceras, los prrafosnormales (por defecto) y los prrafos importantes (calificados).A simple vista podemos verque se establece dentro de un de tipo text/css, y que en suinterior definimosel formato a aplicar a las etiquetas (color de texto blue), y aaquello que se califiquecomo importante, .imp (tamao de texto x-large).Incluir cdigo CSS en nuestra pgina Web HTMLExisten tres formas de incluir cdigo CSS del tipo que hemosvisto 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. 12Se pueden emplear instrucciones de estilo CSS con el atributostyle dentro de cualquieretiqueta HTML. Es la opcin menos aconsejada y usada, puesto queno permiteseparacin entre contenido y presentacin, ni estandarizar yreutilizar, pero es laopcin a emplear en caso de querer aplicar un formato de formaexcepcional a un soloelemento.Por ejemplo:Incluir el estilo a nivel de pginaSe pueden emplear instrucciones de estilo CSS empleando unaetiqueta > en laseccin HEAD de nuestro documento HTML.Por ejemplo, como vimos anteriormente:Permite aplicar el estilo definido a todos los elementos de undeterminado tipo decontenido (a nivel de etiqueta), de una determinada clase (anivel de class), o bien a unelemento determinado (a nivel de id).Incluir el estilo en archivo .css independiente, y usar a nivelde sitioNos referimos con sitio web a todas las pginas que componennuestra aplicacin,compuesta de un nmero determinado de pginas.Podemos definir un documento CSS con el estilo, y utilizarlo asen todas las pginasdel sitio de manera uniforme.Es la opcin ms aconsejada, por ser la que permite una mejorseparacin entrecontenido y presentacin.El cdigo en el fichero aparte sera del mismo tipo de la opcinanterior, pero sin laetiqueta style. Por ejemplo, podemos tener un archivomiestilo.css:
  • A.P.U. 2008 Programacin y Servicios Web Pg. 13Para importarlo, bastar con escribir en las pginas que queramosaplicar el estilo:De esta forma, cuando el navegador carga la pgina HTML, al veresta etiquetadescarga los archivos CSS externos enlazados mediante y aplicalos estilos a loscontenidos de la pgina.Definicin de estilos CSSUna seccin de definicin de estilos CSS (tanto en etiqueta stylecomo 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,yUn conjunto de declaraciones, indicando los estilos a aplicar alos elementos seleccionados.Una declaracin se compone de una o varias propiedades CSS consus valores, siendo:Propiedad: caracterstica a modificar.Valor: establece el valor a aplicar a la caracterstica encuestin.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 14Los estilos aplicados directamente sobre un elemento HTMLincluyen nicamente la seccin dedeclaraciones, ya que el elemento seleccionado es sobre el queestamos actuando con elatributo style.En la especificacin actual, CSS 2.1, hay definidas 115propiedades, si bien en CSS3 ya va por239, a falta de cerrar la especificacin de este estndar.Medios CSSPodemos aplicar distintos estilos sobre la misma declaracin decontenidos HTML, definiendoel 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 posiblessalidas o medios.Si queremos aplicar las reglas en un determinado medio, se puedeindicar mediante:media=»screen» como atributo de la etiqueta .@import url(«estilos_seccion.css») screen; dentro de la etiquetastyle.En la seccin style, para un determinado conjunto de reglas:@media print {body { font-size: 10pt }}Comentarios CSSLos comentarios dentro de la seccin de CSS se indican entre /* y*/: o /* Este es micomentario */.Pueden ocupar una o varias lneas.No confundir con los comentarios HTML:
  • A.P.U. 2008 Programacin y Servicios Web Pg. 15Servidor de Aplicaciones WebServidores WebLos servidores web son aquellos cuya tarea es alojar sitios y/oaplicaciones, las cuales sonaccedidas por los clientes utilizando un navegador que secomunica con el servidor utilizandoel protocolo HTTP (hypertext markup language).Bsicamente un servidor WEB consta de un interprete HTTP el cualse mantiene a la espera depeticiones de clientes y le responde con el contenido segn seasolicitado. El cliente, una vezrecibido el cdigo, lo interpreta y lo exhibe en pantalla.Adems los servidores pueden disponer de un intrprete de otroslenguajesde programacin que ejecutan cdigo embebido dentro del cdigo HTMLde las pginas quecontiene el sitio antes de enviar el resultado al cliente. Estose conoce como programacin delado del servidor y utiliza lenguajes como ASP, PHP, Perl, Ajax,etc. Las ventajas de utilizarestos lenguajes radica en la potencia de los mismos ejecutandotareas ms complejas como, porejemplo acceder a bases de datos abstrayendo al cliente de todala operacin.El servidor web, se encarga de contestar a peticiones deejecucin realizadas por los clientes o unusuario de internet o intranet; de forma adecuada, entregandocomo resultado una pgina web oinformacin de todo tipo de acuerdo a los comandossolicitadosTipos de Servidores WebServidor Dedicado: se refiere a una computadora servidora alsitio del cliente(para aplicacionesde alta demanda) (Hosting)Servidor Compartido: lo que significa que un mismo servidor(computadora + programasservidos) se usara para varios clientes compartiendo losrecursos
  • A.P.U. 2008 Programacin y Servicios Web Pg. 16Servidor ApacheEs un servidor http(1996), de cdigo abierto ymultiplataforma(Unix (BSD, GNU/Linux, etc.), MicrosoftWindows, Macintosh)Ventajas:Su extensibilidad y construccin modular. Se puede poner mdulospara ampliar sufuncionabilidad (por ejemplo mod_php para ejecutar paginasPhP)La nocin de sitio virtual: Posibilidad de colocar mltiplessitios web en la misma maquina.Robusto y estableDesventajaFalta de una interfaz grafica que ayude a su configuracinMicrosoft Internet Information Services IISEs un servidor web y un conjunto de servicios para el sistemasoperativo Microsoft Windows,las computadoras que tienen este servicio instalado puedepublicar pginas web tanto localcomo remotamente.Los servicios que ofrece son: FTP,SMTP,NNTP y HTTP/HTTPS.Se basa en varios mdulos que le dan capacidad para procesardistintos tipos de pginas. Porejemplo ASP(Active Server Pages) y Asp.NetTambin pueden ser incluidos los otros fabricantes como PHP oPERL.IIS vs ApacheAmbos son software utilizados en el servidor para ofrecerservicios, los cuales son:Apache: HTTP, HTTPS, FTP y FTPS (usando mdulo mod_ftp), SMTP(usando mdulomod_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 seve ampliada gracias a una gran cantidad de mdulos que pueden seraadidos, por ejemplopara la gestin de las bases de datos. Tambin poseen en comn laposibilidad de uso delenguajes como PHP, Perl y Python.Diferencia: a diferencia de IIS, Apache no permite el uso de ASPa menos que se importe unmdulo especifico. Una diferencia importante entre ambos es queApache es software libre ymultiplataforma, mientras que IIS es software propietario y esthecho para sistemasWindows. En cuanto al aumento de funcionalidad por mdulos, enambos casos es muy grandey no existe gran diferencia. En relacin al rendimiento, algunoslugares indican un mejorrendimiento en Apache aunque esto depende del sistema operativoutilizado.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 17Arquitecturas de las aplicaciones webLas aplicaciones web se basan en una arquitecturacliente/servidor: por un lado est el cliente(el navegador, explorador o visualizador) y por otro lado elservidor (el servidor web). Existendiversas variantes de la arquitectura bsica segn como seimplementen las diferentesfuncionalidades de la parte servidor. Las arquitecturas mscomunes son:1. Todo en un servidor: un nico ordenador aloja el servicio deHTTP, la lgica denegocio y la lgica de datos y los datos. El software que ofreceel servicio de HTTPgestiona tambin la lgica de negocio. Las tecnologas que empleanesta arquitecturason ASP y PHP.2. Servidor de datos separado: a partir de la arquitecturaanterior, se separa la lgica dedatos y los datos a un servidor de bases de datos especfico. Lastecnologas queemplean esta arquitectura son ASP y PHP.3. Todo en un servidor, con servicio de aplicaciones: en laarquitectura nmero 1 sesepara la lgica de negocio del servicio de HTTP y se incluye elservicio deaplicaciones para gestionar los procesos que implementan lalgica de negocio. Latecnologa que emplea esta arquitectura es JSP.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 184. Servidor de datos separado, con servicio de aplicaciones: apartir de la arquitecturaanterior, se separa la lgica de datos y los datos a un servidorde bases de datosespecfico. La tecnologa que emplea esta arquitectura es JSP.5. Todo separado: las tres funcionalidades bsicas del servidorweb se separan en tresservidores especficos. La tecnologa que emplea esta arquitecturaes JSP.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 19El objetivo de separar las distintas funcionalidades (serviciode HTTP, lgica de negocio ylgica de datos) en distintos servidores es aumentar laescalabilidad del sistema de cara aobtener un mayor rendimiento. Al separar las distintasfuncionales en distintos servidores,cada uno de ellos se puede configurar (dimensionar) de formaadecuada a los requisitos quepresenta cada uno de ellos. Por ejemplo, para ofrecer elservicio de HTTP hace falta unordenador con una buena conexin a Internet, rpido pero singrandes necesidades dealmacenamiento. Sin embargo, para el servidor de bases de datoshace falta un ordenador conmucha memoria y con un disco duro de alta capacidad dealmacenamiento y rpido paramantener todos los datos.Otra ventaja que se obtiene al separar las funcionalidades, esque al aislar la lgica de negocioy la lgica de datos en servidores separados que no estnconectados directamente a Internetse aumenta el nivel de seguridad, ya que no es tan fcil accedera ellos.En algunos casos, las arquitecturas donde se separan el serviciode HTTP del resto deservicios es la nica opcin disponible. Por ejemplo, en lossistemas heredados ( legacysystems), donde ya existe una lgica de negocio en un servidor deaplicaciones y una lgica dedatos en un servidor de bases de datos, la nica forma de accederdesde Internet al sistemaheredado es a travs de un servidor que ofrezca el servicio deHTTP y se comuniqueinternamente con el servidor de aplicaciones.Aplicacin WebLas aplicaciones web utilizan lo que se conoce como clienteslivianos (light clients) los cualesno ejecutan demasiadas labores de procesamiento para la ejecucinde la aplicacin misma.Desde el punto de vista de la arquitectura se distinguen doslados; uno es el cliente, donde seencuentra el usuario final utilizando la aplicacin por medio deun navegador (como InternetExplorer o Mozilla Firefox). A travs de este cliente web, elusuario interacta con la aplicacinlocalizada al otro lado, en el servidor, que es donde residenrealmente los datos, reglas ylgica de la aplicacin.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 20Procesamiento Esttico y DinmicoProcesamiento estticoEn muchos casos, el servidor es un programa que simplemente tomael pedido que recibe ydevuelve una pgina (compuesta por uno o ms archivos HTML,imgenes, animaciones, etc.)que est guardada en algn lugar del disco. En estos casos decimosque son pginas estticas.A no ser que el administrador del sitio actualice su contenido,al ingresar en la p- gina websiempre obtendremos el mismo resultado, no importa cundoingresemos ni desde dnde.Para la gran mayora de sistemas de negocios, este tipo deservicio no es muy til, ya que sesuele necesitar que se devuelva una pgina con contenido dinmico,que cambie segn quinpidi la pgina, segn la fecha, etc.El servidor de pginas estticas siempre devuelve el mismo recursopara el mismo pedido.Procesamiento DinamicoPensemos, por ejemplo, en el sistema de un banco. Si ingreso enel sitio del banco y quieroconsultar mi saldo, debera devolverme mi saldo actual al momentoexacto de pedirlo. Si elsitio web slo provee contenido esttico, entonces deberan teneruna pgina guardada en eldisco para cada saldo posible. Esto, obviamente, esimpracticable. Y tampoco es viable quehaya una persona que est actualizando las pginas de saldos detodos los usuarios a medidaque van realizando operaciones sobre sus cuentas. En esos casos,el servidor efectaoperaciones (yendo a buscar datos a una base de datos,consultando con otro servidor oaccediendo a otro tipo de servicios de negocios) y devuelve unapgina dinmica; esto es, unapgina que no est guardada en ningn lugar dentro del servidor,sino que fue creada en elmomento para quien la pidi. El servidor accede a los datosvariables, en este caso, el saldo delusuario, luego construye en memoria la pgina con este dato y sela devuelve al cliente, que lamuestra en pantalla.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 21El servidor web dinmico construye una respuesta distinta paracada pedido.La programacin web entonces, consiste en escribir programas que,dada una peticin webrealizada por un cliente (un navegador), procesen el pedido ygeneren y devuelvan unresultado. Como en todo proceso de desarrollo de software, haymucho de reutilizacin.Podremos ver que, por ejemplo, la parte de recibir el pedido yenviar la respuesta por logeneral no cambia, solamente cambia la lgica de negocios de cadapedido y el contenido de larespuesta generada. En este libro utilizaremos herramientas yadesarrolladas de cdigo abiertoque nos ayudarn en la creacin de aplicaciones web.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 22Lenguajes de Programacin WebLenguaje PHPEs un lenguaje de programacin utilizado para la creacin de sitioweb. PHP es un acrnimorecursivo que significa PHP Hypertext Pre-processor,(inicialmente se llam Personal HomePage). Surgi en 1995, desarrollado por PHP Group.PHP es un lenguaje de script interpretado en el lado delservidor utilizado para la generacinde pginas web dinmicas, embebidas en pginas HTML y ejecutadas enel servidor. PHP nonecesita ser compilado para ejecutarse. Para su funcionamientonecesita tener instaladoApache o IIS con las libreras de PHP. La mayor parte de susintaxis ha sido tomada de C, Java yPerl con algunas caractersticas especficas. Los archivos cuentancon 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 yherencia.Es un lenguaje multiplataforma: Linux, Windows, entre otros.Capacidad de conexin con la mayora de los manejadores de base dedatos: MysSQL,PostgreSQL, Oracle, MS SQL Server, entre otras.Capacidad de expandir su potencial utilizando mdulos.Posee documentacin en su pgina oficial la cual incluyedescripcin y ejemplos decada una de sus funciones.Es libre, por lo que se presenta como una alternativa de fcilacceso para todos.Incluye gran cantidad de funciones.No requiere definicin de tipos de variables ni manejo detalladodel 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 msineficiente a medida que las solicitudes aumenten de nmero.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 23La legibilidad del cdigo puede verse afectada al mezclarsentencias HTML y PHP.La programacin orientada a objetos es an muy deficiente paraaplicaciones grandes.Dificulta la modularizacin.Dificulta la organizacin por capas de la aplicacin.Lenguaje ASPEs una tecnologa del lado de servidor desarrollada por Microsoftpara el desarrollo de sitioweb dinmicos. ASP significa en ingls (Active Server Pages), fueliberado por Microsoft en1996. Las pginas web desarrolladas bajo este lenguaje esnecesario tener instalado InternetInformation Server (IIS).ASP no necesita ser compilado para ejecutarse. Existen varioslenguajes que se pueden utilizarpara crear pginas ASP. El ms utilizado es VBScript, nativo deMicrosoft. ASP se puede hacertambin en Perl and Jscript (no JavaScript). El cdigo ASP puedeser insertado junto con elcdigo 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 funcionessencillas.Tecnologa propietaria.Hospedaje de sitios web costosos.Lenguaje ASP.NETEste es un lenguaje comercializado por Microsoft, y usado porprogramadores para desarrollarentre otras funciones, sitios web. ASP.NET es el sucesor de latecnologa ASP, fue lanzada almercado mediante una estrategia de mercado denominada .NET.El ASP.NET fue desarrollado para resolver las limitantes quebrindaba tu antecesor ASP. Creadopara desarrollar web sencillas o grandes aplicaciones. Para eldesarrollo de ASP.NET se puedeutilizar C#, VB.NET o J#. Los archivos cuentan con la extensin(aspx). Para su funcionamientode las pginas se necesita tener instalado IIS con el Framework.Net. Microsft Windows 2003incluye este framework, solo se necesitar instalarlo enversiones anteriores.Ventajas:Completamente orientado a objetos.
  • A.P.U. 2008 Programacin y Servicios Web Pg. 24Controles 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 JSPEs un lenguaje para la creacin de sitios web dinmicos, acrnimode Java Server Pages. Estorientado a desarrollar pginas web en Java. JSP es un lenguajemultiplataforma. Creado paraejecutarse del lado del servidor.JSP fue desarrollado por Sun Microsystems. Comparte ventajassimilares a las de ASP.NET,desarrollado para la creacin de aplicaciones web potentes. Poseeun motor de pginasbasado en los servlets de Java. Para su funcionamiento senecesita tener instalado un servidorTomcat.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 pginasweb.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.
  • Publicaciones Similares