You are on page 1of 14

INSTITUTO TECNOLGICO SUPERIOR DE LA MONTAA

INGENIERA EN SISTEMAS COMPUTACIONALES


PROGRAMACION WEB
TEMA: SERVIDOR WEB Y SOAP ALUMNO: JAIME DOLORES CASARRUBIAS

DOCENTE: ING. NOEL DOMINGUEZ CARDONA

TLAPA DE COMONFORT, GRO., ENERO DEL 2013

INDICE SERVIDOR WEB Concepto. 3 Caractersticas.. 4 Funcionamiento.. 6

SOAP Concepto 11 Caractersticas 11 Funcionamiento 12

BIBLIOGRAFIA 14

SERVIDOR WEB

CONCEPTO. Un servidor web es un programa que se ejecuta continuamente en un computador, mantenindose a la espera de peticiones de ejecucin que le har un cliente o un usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una pgina web o informacin de todo tipo de acuerdo a los comandos solicitados. En este punto es necesario aclarar lo siguiente: mientras que comnmente se utiliza la palabra servidor para referirnos a una computadora con un software servidor instalado, en estricto rigor un servidor es el software que permite la realizacin de las funciones descritas. El servidor vendra a ser la "casa" de los sitios que visitamos en la Internet. Los sitios se alojan en computadores con servidores instalados, y cuando un usuario los visita son estas computadoras las que proporcionan al usuario la interaccin con el sitio en cuestin. Cuando se contrata un plan de alojamiento web con una compaa, esta ltima proporciona un servidor al dueo del sitio para poder alojarlo; al respecto hay dos opciones, optar por un "servidor dedicado", lo que se refiere a una computadora servidora dedicada exclusivamente al sitio del cliente (para aplicaciones de alta demanda), o un "servidor compartido", lo que significa que un mismo servidor (computadora + programa servidos) se usar para varios clientes compartiendo los recursos.

CARACTERISTICAS: Cuando contratamos un servidor dedicado (o cualquier otro plan de hosting, pero especialmente un servidor dedicado), es muy importante elegir uno cuyas caractersticas de hardware cumplan con todos los requisitos que necesiten nuestros proyectos web. Bsicamente, las principales caractersticas en las que debemos fijarnos a la hora de contratar un servidor web son las siguientes: - Procesador: Seguramente nos darn a elegir entre intel o AMD, entre ncleo, doble ncleo, 4 ncleos, etc. Aqu sin ser un experto os recomendara lo siguiente (por experiencia propia). Si vuestro servidorweb no va a ser utilizado para vender hosting, ni vais a instalar VPS en l, puede bastar un modelo normalito, sin excesos. - Memoria RAM: Importante no quedarse corto. Cuando la RAM se agota, se tira de memoria virtual (disco duro) y se ralentiza todo, pudiendo incluso colapsar el servidor y provocar cada de servicios en el mismo. Opino que 1GB es lo mnimo, pero mejor 2GB para ir sueltos. - Modelo de disco duro: nos indicar su velocidad y su rendimiento. Que no nos pongan un disco pelotero, preguntad marca y modelo, creedme que a veces dan gato por liebre.

Apache: Es un servidor web HTTP de cdigo abierto para plataformas Unix, Microsoft Windows, Macintosh,entre otras.Las caractersticas de este servidor son:-Implementa el protocolo HTTP/1.1 y la nocin de sitio virtual.-Se desarrolla dentro del proyecto HTTP server (HTTPD) de la apache software fundacin.-Es de cdigo abierto.-Presenta caractersticas altamente configurables, bases de datos de autenticacin y negociado decontenido.-Es de Multi-plataforma Internet Information Server (IIS): Es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows.Sus caractersticas son-Es muy fcil de instalar. La instalacin y puesta en marcha es cuestin de minutos y la publicacinde pginas y ficheros es tambin igual de simple.-Trabaja como un servicio NT, por lo que se integra perfectamente con el resto de servicios de NT.-Utiliza una herramienta de configuracin grfica muy sencilla, que ayuda en las labores deadministracin y seguridad del servidor.-Permite la administracin remota va Web, utilizando para ello un navegador (por ejemplo, elInternet Explorer).-Est completamente integrado con el sistema de seguridad de Windows NT. Los usuarios accedena las pginas en funcin de sus permisos sobre ellas.-Permite la publicacin mediante herramientas Web, como el FrontPage y similares, o mediante lasimple copia de ficheros sobre la red.-Permite utilizar mecanismos de seguridad avanzados, como Autentificacin cifrada de NT.-Permite integrar de un modo sencillo el servidor SQL de Microsoft. Podemos utilizar variosmecanismos para crear consultas a las bases de datos (idc/htx, dbweb y otros).-Podemos crear pginas activas y scripts, soportando Active Server Pages (ASP), protocolos CGI yISAPI, que aaden dinamismo a nuestras pginas. Tomcat: Apache Tomcat funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta enla Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y deJavaServer Pages (JSP) de Sun Microsystems.Sus caractersticas son:-Implementa Servlet 3.0 JSP 2.2 y EL 2.2.-Detecta y previene "fugas de memoria" en las aplicaciones web.-Cuenta con limpieza interna de cdigo.-Da soporte para la inclusin de contenidos externos directamente en una aplicacin web.-Tiene soporte para Comet a travs de la interfaz CometProcessor.-Funciona en plataformas Unix. Lighttpd: Es un servidor web diseado para ser rpido, seguro, flexible, y fiel a los estndares.Es de software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux y UNIX de formaoficial. Para Microsoft Windows actualmente hay una distribucin conocida como Lighttpd ForWindows mantenida por Kevin Worthington.Cuenta con las siguientes caractersticas:-Puede alojar varios dominios en la misma IP (Virtual hosting)-Cuenta con soporte para PHP, Ruby, Python y otrosEntorno chroot-Cuenta con cifrado SSL-Autenticacin (LDAP, htpasswd, otros)-Server Side

Includes-Consumo de memoria constante-Redirecciones HTTP, y reescrituras de URL-Puede enviar partes de un fichero (rangos)-Puede usar select() o poll() -Tambin permite otros sistema de notificacin de eventos como kqueue y epoll-Hace estadsticas mediante RRDtool-Muestra un listado de ficheros cuando se entra a un directorio sin index.htmlPermite mdulos externos-Cuenta con cache Meta Language -Acepta parte de WebDAV Thttpd Es un servidor web de cdigo libre disponible para la mayora de las variantes de Unix.Se caracteriza por ser:-Es simple:Porque esto maneja slo el mnimo necesario para poner en prctica el protocolo HTTP, algunasveces un poco ms que el mnimo.-PequeoPorque esto tambin tiene un pequeo tamao de perodo de explotacin, ya que esto no sedivide en dos partes y es muy cuidadoso sobre la asignacin de memoria.-Porttil,Porque esto se compila limpiamente sobre la mayora de sistemas operativos, expresamenteincluyendo FreeBSD, SunOS 4, Solaris 2, BSD/OS, GNU/Linux, OSF.-RpidoPorque en el empleo tpico es sobre todo ms rpido que los mejores servidores "destacados"(Apache), y bajo la carga extrema es mucho ms rpido.-SeguroPorque este se extiende a grandes longitudes para proteger el servidor Web contra ataques deotros sitios.

FUNCIONAMIENTO: El Servidor web se ejecuta en un ordenador mantenindose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una pgina web que se exhibir en el navegador o mostrando el respectivo mensaje si se detect algn error. El servidor responde al cliente enviando el cdigo HTML de la pgina; el cliente, una vez recibido el cdigo, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el cdigo HTML, es decir, de mostrar las fuentes, los colores y la disposicin de los textos y objetos de la pgina; el servidor tan slo se limita a transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacin de la misma.

Adems de la transferencia de cdigo HTML, los Servidores web pueden entregar aplicaciones web. stas son porciones de cdigo que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que distinguir entre: Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la mquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el cdigo de las aplicaciones al cliente y ste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (tambin llamadas scripts). Comnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden aadirse ms lenguajes mediante el uso de plugins. Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicacin; sta, una vez ejecutada, genera cierto cdigo HTML; el servidor toma este cdigo recin creado y lo enva al cliente por medio del protocolo HTTP. Las aplicaciones de servidor muchas veces suelen ser la mejor opcin para realizar aplicaciones web. La razn es que, al ejecutarse sta en el servidor y no en la mquina del cliente, ste no necesita ninguna capacidad aadida, como s ocurre en el caso de querer ejecutar aplicaciones javascript o java. As pues, cualquier cliente dotado de un navegador web bsico puede utilizar este tipo de aplicaciones. El hecho de que HTTP y HTML estn ntimamente ligados no debe dar lugar a confundir ambos trminos. HTML es un lenguaje de marcas y HTTP es un "protocolo". Un servidor web es un programa que sirve para atender y responder a las diferentes peticiones de los navegadores, proporcionndo los recursos que soliciten usando el protocolo HTTP o el protocolo HTTPS (la versincifrada y autenticada). Un servidor web bsico cuenta con un esquema de funcionamiento muy simple, basado en ejecutar infinitamente el siguiente bucle:

Espera peticiones en el puerto TCP indicado (el estndar por defecto para HTTP es el 80). Recibe una peticin. Busca el recurso. Enva el recurso utilizando la misma conexin por la que recibi peticin. Vuelve al segundo punto.

Un servidor web que siga el esquema anterior cumplir todos los requisitos bsicos de los servidores HTTP, aunque slo podr servir ficheros estticos. A partir del anterior esquema se han diseado y desarrollado todos los servidores de HTTP que existen, variando slo el tipo de peticiones (pginas estticas, CGIs, Servlets, etc.) que pueden

atender, en funcin de que sean o no sean multi-proceso o multi-hilados, etc. A continuacin se detallan algunas de las caractersticas bsicas de los servidores web, que amplan, obviamente el esquema anterior.

Servicio de ficheros estticos

Todos los servidores web deben incluir, al menos, la capacidad para servir los ficheros estticos que se hallen en alguna parte del disco. Un requisito bsico es la capacidad de especificar qu parte del disco se servir. No resulta recomendable que el programa servidor obligue a usar un directorio concreto, aunque s puede tener uno por defecto. La mayora de servidores web permiten aadir otros directorios o subdirectorios para servir, especificando en qu punto del "sistema de ficheros" virtual del servidor se localizarn los recursos. Algunos servidores web permiten tambin especificar directivas de seguridad (quin puede acceder a los recursos), mientras que otros hacen posible la especificacin de los ficheros que se deben considerar como ndice del directorio.

Seguridad y autenticacin

La mayora de los servidores web actuales permiten controlar desde el programa servidor los aspectos relacionados con la seguridad y la autenticacin de los usuarios. Podemos, por ejemplo, tener la siguiente situacin:

En este caso, el servidor debera traducir las direcciones web de esta manera:

El modo ms sencillo de control es el facilitado por el uso de ficheros .htaccess. Se trata de un sistema de seguridad que deriva de uno de los primeros servidores web ("NCSA httpd"), que consiste en incluir un fichero de nombre .htaccess en cualquier directorio del contenido web que se deba a servir, indicando en este fichero qu usuarios o mquinas, etc. tienen acceso a los ficheros y a los diferentes subdirectorios del directorio donde est instalado el .htaccess. Como el "NCSA httpd" fue el servidor ms utilizado durante mucho tiempo, la mayora de servidores actuales permiten utilizar un fichero .htaccess respetando la sintaxis original del servidor de NCSA.

Hay otros servidores que permiten especificar reglas de servicio de directorios, subdirectorios y ficheros en la configuracin del programa servidor web, indicando qu usuarios, mquinas, etc. tienen acceso al recurso indicado. En cuanto a la autenticacin (validacin del nombre de usuario y la contrasea o clave indicados por el cliente), las prestaciones ofrecidas por los difernetes servidores web son variopintas. La mayora permite, al menos, facilitar al servidor web un fichero con nombres de usuario y contraseas mediante el cual se pueden validar los datos enviado desde

el cliente. De todas formas, es frecuente que los servidores faciliten pasarelas que permiten delegar las tareas de autenticacin y validacin en otro software (como RADIUS, LDAP, etc.). Si se utiliza un sistema operativo como Linux, el cual dispone de una infraestructura para autenticacin como PAM ("pluggable authentication modules"), se puede usar tal funcionalidad como modo de autenticacin del servidor web, permitindo de este modo utilizar los mltiples mtodos disponibles en PAM para autenticar contra diversos sistemas de seguridad.

Contenido dinmico

Uno de los aspectos fundamentales del servidor web elegido es el nivel de soporte que ofrece para servir contenido dinmico. Puesto que la mayor parte del contenido web que se sirve no viene de pginas estticas, sino que se genera de forma dinmica, y esta tendencia se mueve claramente al alza, el soporte para contenido de tipo dinmico que ofrece un servidor web es uno de los puntos crticos en la eleccin. La mayor parte de los servidores web ofrecen soporte para CGI (se debe recordar que los CGI son el mtodo ms antiguo y sencillo para generar contenido dinmico). Otros muchos ofrecen soporte para algunos lenguajes de programacin (normalemente lenguajes interpretados) como PHP, JSP, ASP, etc. Es muy recomendable que el servidor web que vayamos a utilizar proporcione soporte para algunos de estos lenguajes, especialmente PHP, sin tener en cuenta JSP, que normalmente requerir un software externo para funcionar (como un contenedor de Servlets). La oferta es muy amplia, pero antes de elegir un lenguaje de programacin de servidor se debe plantear si se desea un lenguaje muy estndar para que la aplicacin no dependa de un servidor web o una arquitectura concreta o si, al contrario, la portabilidad no es prioritaria y s lo es alguna otra prestacin concreta que pueda ofrecer algn lenguaje de programacin concreto.

Servidores virtuales

Una prestacin que gana aceptacin y usuarios rpidamente, muy especialmente entre los proveedores de servicios de Internet y las empresas de alojamiento de dominios, es la capacidad de algunos servidores web de facilitar mltiples dominios con una nica direccin IP, discriminando entre los diferentes dominios alojados en funcin del nombre de dominio enviado en la cabecera HTTP. Esta prestacin permite la administracin racional y ahorradora de un bien escaso, las direcciones IP. Si se necesitan muchos nombres de servidor (porque proporcionamos alojamiento o por cualquier otro motivo) debemos asegurarnos de que el servidor web elegido ofrezca esta facilidad y que el soporte que ofrece para servidores virtuales permita una

configuracin distinta para cada servidor. Sera perfecto que cada servidor se comportara como si fuese un ordenador diferente.

Prestaciones extra

Son muchas las prestaciones que ofrecen los diferentes servidores web para diferenciarse de la competencia. Algunas son realmente tiles y pueden decidir la eleccin de servidor. Hay que ser conscientes, sin embargo, de que si utilizamos algunas de estas caractersticas, o si stas devienen imprescindibles, ello nos puede ligar a un determinado servidor web e imposibilitar una migracin posterior. Algunas caractersticas adicionales de ciertos servidores web de cdigo libre son: Spelling (Apache). Esta prestacin permite definir una pgina de error que se sirve cuando el servidor no ha encontrado el recurso solicitado. Proporciona una pgina web configurable generada por el servidor que muestra, por ejemplo, su estado de funcionamiento o su nivel de respuesta. RXML Tags (Roxen). Aade al lenguaje HTML algunos tags (etiquetas, comandos de HTML), mejorados que permiten generar contenido dinmico. SQL Tags (Roxen). Aade al HTML extendido de Roxen (RXML, antes mencionado), ciertos comandos para acceder a bases de datos SQL desde las pginas HTML. Graphics (Roxen). Aade al HTML extendido de Roxen (RXML, antes mencionado), ciertos comandos para generar grficos, ttulos, etc. Bfnsgd (AOLServer), mod_gd (Apache). Permite realizar grficos partiendo de texto y de fuentes True Type. mod_mp3 (Apache), ICECAST, MPEG (Roxen). Permiten convertir el servidor web en un servidor eficiente de msica (con streaming, etc.). Throttle (Roxen), mod_throttle (Apache). Facilitan herramientas para limitar la velocidad del servicio de HTTP, en funcin del usuario, del servidor virtual, etc. Nsxml (AOLServer), tDOM (AOLServer), mod_xslt (Apache). Permiten transformar ficheros XML a partir de XSL. Kill Frame (Roxen). Enva con cada pgina web un cdigo que evita que la web quede enmarcada (como "frame") dentro de otra pgina web. En cierto modo, evita que nos "roben" nuestra pgina web.

SOAP

CONCEPTO: SOAP (siglas de Simple Object Access Protocol) es un protocolo estndar que define cmo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo creado por David Winer en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y otros y est actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los servicios Web.

CARACTERISTICAS: SOAP puede formar la capa base de una "pila de protocolo de web service", ofreciendo un framework de mensajeria bsica en la cual los web services se puedan construir. Este protocolo basado en XML consiste de tres partes: un sobre (envelope), el cual define qu hay en el mensaje y cmo procesarlo; un conjunto de reglas de codificacin para expresar instancias de tipos de datos; y una conversin para representar llamadas a procedimientos y respuestas. El protocolo SOAP tiene tres caracteristicas principales: Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo). Neutralidad (SOAP puede ser utilizado sobre cualquier protocolo de transporte como HTTP, SMTP, TCP o JMS). Independencia (SOAP permite cualquier modelo de programacin). Como ejemplo de cmo los procedimientos SOAP pueden ser utilizados, un mensaje SOAP podra ser enviado a un sitio Web que tiene habilitado Web service, para realizar la bsqueda de algn precio en una base de datos, indicando los parmetros necesitados en la consulta. El sitio podra retornar un documento formateado en XML con el resultado, ejemplo, precios, localizacin, caractersticas. Teniendo los datos de respuesta en un formato estandarizado "parseable", este puede ser integrado directamente en un sitio Web o aplicacin externa. La arquitectura SOAP consiste de muchas capas de especificacin: para el formato del mensaje, MEP (Message Exchange Patterns), subyacentes enlaces de protocolo de transporte, modelo de procesamiento de mensajes, y extensibilidad del protocolo. SOAP es el sucesor de XML-RPC, a pesar de que toma el transporte y la neutralidad de la interaccin y el envelope / header / body de otra parte (probablemente de WDDX).

FUNCION: La funcionalidad que aporta SOAP es la de proporcionar un mecanismo simple y ligero de intercambio de informacin entre dos puntos usando el lenguaje XML. SOAP no es ms que un mecanismo sencillo de expresar la informacin mediante un modelo de empaquetado de datos modular y una serie de mecanismos de codificacin de datos. Esto permite que SOAP sea utilizado en un amplio rango de servidores de aplicaciones que trabajen mediante el modelo de comunicacin RPC (Remote Procedure Call). SOAP consta de tres partes: El SOAP envelope que define el marco de trabajo que determina qu se puede introducir en un mensaje, quin debera hacerlo y si esa operacin es opcional u obligatoria. Las reglas de codificacin SOAP que definen el mecanismo de serializacin que ser usado para encapsular en los mensajes los distintos tipos de datos. La representacin SOAP RPC que define un modo de funcionamiento a la hora de realizar llamadas a procedimientos remotos y la obtencin de sus resultados. El servicio web del servidor de informes utiliza la mensajera del Protocolo simple de acceso a objetos (SOAP, Simple Object Access Protocol) para enviar comandos basados en texto a travs de una red. Estos comandos adoptan la forma de texto XML que se enva a travs de World Wide Web utilizando HTTP. Al usar SOAP como protocolo de comunicaciones, el servicio web del servidor de informes permite a las aplicaciones y componentes intercambiar datos con el servidor de informes utilizando una infraestructura abierta y ampliamente aceptada. Cualquier aplicacin cliente puede actuar como cliente SOAP siempre que conozca dicho protocolo y pueda enviar solicitudes SOAP. El Administrador de informes es un cliente SOAP de este tipo. Proporciona una interfaz para la base de datos del servidor de informes en la que se almacenan todos los informes y el contenido relacionado con los informes. Los usuarios finales pueden utilizar la aplicacin para explorar y administrar los informes y carpetas en el espacio de nombres del servidor de informes. El Administrador de informes se integra en la infraestructura del servicio web del servidor de informes. Un servidor de informes acta como servidor SOAP, un servicio que conoce SOAP y puede aceptar las solicitudes de los clientes SOAP y crear las respuestas adecuadas. El servidor administra las solicitudes y enva las respuestas codificadas al cliente. Los mensajes SOAP en Reporting Services adoptan muchas formas diferentes, segn el tipo de solicitud que realice el cliente. En el ejemplo siguiente se representa una solicitud de cliente SOAP simple para quitar un elemento de la base de datos del servidor de informes A la hora de realizar el diseo de SOAP se han tenido en cuenta una serie de consideraciones con el fin de cumplir una serie de objetivos claros, objetivos que le darn el potencial que reside en SOAP y que le harn tan atractivo. stos son:

Establecer un protocolo estndar de invocacin a servicios remotos que est basado en protocolos estndares de uso frecuente en Internet, como son HTTP (Hiper Text Transport Protocol) para la transmisin y XML (eXtensible Markup Language) para la codificacin de los datos. Independencia de plataforma hardware, lenguaje de programacin e implementacin del servicio Web. El logro de estos objetivos ha hecho de SOAP un protocolo extremadamente til, ya que el protocolo de comunicacin HTTP es el empleado para la conexinsobre Internet, por lo que se garantiza que cualquier cliente con un navegador estndar pueda conectarse con un servidor remoto. Adems, los datos en la transmisin se empaquetan o serializan con el lenguaje XML, que se ha convertido en algo imprescindible en el intercambio de datos ya que es capaz de salvar las incompatibilidades que existan en el resto de protocolos de representacin de datos de la red. Por otra parte, los servidores Web pueden procesar las peticiones de usuario empleando tecnologas tales como Servlets, pginas ASP (Active Server Pages), pginas JSP (Java Server Pages) o sencillamente un servidor de aplicaciones con invocacin de objetos mediante CORBA, COM o EJB. Un ejemplo tpico de diseo de un servicio Web utilizando las ventajas de

La especificacin SOAP (SOAP Specification 1.1) indica que las aplicaciones deben ser independientes del lenguaje de desarrollo, por lo que las aplicaciones cliente y servidor pueden estar escritas con HTML, DHTML, Java,Visual Basic o cualquier otra herramienta o lenguaje disponibles.

BIBLIOGRAFIA http://bibing.us.es/proyectos/abreproy/11214/fichero/TOMO+I%252F06+Capitulo+6+SOA P.pdf. http://www.cibernetia.com/manuales/instalacion_servidor_web/1_conceptos_basicos.ph p. http://es.wikipedia.org/wiki/Servidor_web http://www.monografias.com/trabajos75/servidores-web/servidores-web.shtml http://www.w3schools.com/soap/default.asp

You might also like