Depende de si vamos a realizar un sistema de aplicaciones web o un servicio web, utilizaremos uno u otro.
Ya vimos las recomendaciones del Curso de Servicios Web de utilizar Glassfish para montar servicios web (WSDL) pero también se puede utilizar PHP y Apache, ya depende del número de usuarios y otros parámetros avanzados.
Este artículo se dirige a los que no saben tanto o para aquellos que deseen recordar o comentar los pros y contras de cada servidor, por qué utilizar un servidor con soporte Python (Django) o Rails (Ruby on Rails) en lugar de Apache con módulos para estas tecnologías, por qué no usar un servidor de Microsoft (ver llamadas al sistema y problemas de permisos en Windows),etc.
Empezaremos por una pequeña presentación y continuaremos con un par de vídeos relacionados.
Hoy en día estamos acostumbrados a usar redes sociales, pero ya no pensando que sólo hay un servidor o un único ordenador sino un sistema de redes de computadores que comparten la información de los usuarios cuando es emitida, creando copias en almacenes transparentes llamados granjas.
Estas granjas funcionan como clusters de datos, a modo de RAID, es decir, como copias de seguridad, los servicios web se utilizan para fusionar la sinergía de comunicación entre copias, actualizaciones, modificaciones,etc.
En la presentación puede verse como se analiza un servidor de la red social tuenti, mi curiosidad me llevó a comprobar en cuántos servidores eran almacenados los datos, cuál fué mi sorpresa que encontré varios subdominios de tuenti dedicados a distribuir imágenes. Para gestionarlos, las empresas de este tipo de redes dan acceso por puerto 22 a sus empleados, así como a otros puertos para operar con ficheros. Normalmente se utiliza GNU/Linux.
Eso se puede saber gracias al software nmap de toda la vida…
Un navegador abre el puerto 80 (o el que le especifiquemos) y pregunta al servidor web en lenguaje de «páginas web» que le dé la página web tecleada por el usuario. Usando programación sockets leerá el flujo de datos obtenido del servidor y representará la información, realizando consultas de forma paralela y transparente para obtener información extra como son: imágenes y resto de contenido multimedia, etc.
En el vídeo vemos como realizar esa consulta y el resultado obtenido en modo texto del fichero HTML por defecto de google, vemos más tarde como se utilizan las herramientas de firefox para desarrolladores web para obtener información de la cabcera, cookies, estado de los ficheros en la red, etc. Comprobamos que el famoso buscador graba algunas cookies de dudosa confianza pues se encuentran codificadas, son para llevar un estudio de nuestra navegación durante la búsqueda, analizan si hemos encontrado lo que buscábamos, si volvemos, cuanto tiempo pasamos navegando,etc. (sí, se molestan en hacer muchas más cosas que no sabemos)
Normalmente Apache es una buena opción para empezar si estás montando una aplicación sencilla, una tienda virtual, etc. la cosa se complica si quieres crear el nuevo facebook o un servicio de gestión de dispositivos complejos intercomunicados con servicios web.
PHP suele ser uno de los lenguajes,como Python ,más de moda, ya que un servidor Glassfish es un poquito más caro y cada vez se está utilizando más Ruby, sin embargo es un poco más difícil de aprender.
Opiniones?