| Artículos | 01 NOV 2006

Internet Information Services 7: Microsoft se supera a sí mismo (I)

Tags: Histórico
Analizamos en profundidad las mejoras de la nueva versión del servidor web de Microsoft
Iván González.
Siete es el número de notas en la escala musical, es el número que más solemos escoger cuando se nos pregunta por una cifra entre uno y diez, es el número de islas en la mítica Atlántida, es el día en que Dios descansó tras la creación del mundo, James Bond es el agente 007 y, ahora en tecnología? siete es la nueva versión del servidor web de Microsoft, Internet Information Services. Y siete son también las áreas donde Internet Information Services (ISS) presenta mejoras importantes en esta nueva versión, donde Microsoft ha logrado superar a la versión predecesora, adaptándose además a las nuevas necesidades que el mercado demanda. A continuación procedemos a presentar las primeras grandes áreas en las que IIS 7 ha mejorado notablemente, labor que continuaremos el próximo mes. La lista de estas áreas está compuesta por el núcleo del servidor web, la extensibilidad y la configuración, que trataremos en estas páginas, y la administración, el despliegue, la seguridad y el diagnóstico y la resolución de problemas, que centrarán el reportaje del mes que viene. Núcleo del servidor web Una de las carencias que se le podía achacar a IIS 6.0 o anteriores era su falta de flexibilidad en ciertos aspectos, su rigidez. Esto era debido a que la mayor parte de la funcionalidad de IIS estaba implementada dentro de una sola DLL, w3core.dll. Para solucionar este problema, el equipo de IIS ha rediseñado el núcleo del servidor web partiendo toda esa funcionalidad en diferentes componentes, siendo posible incluso ser eliminados o reemplazados sin dificultad. El objetivo de todo esto, obtener una mayor modularidad en el servidor web. La forma de conseguirlo, la separación del núcleo del servidor en diferentes componentes. Toda la funcionalidad del servidor web está formada ahora por componentes aislados que pueden ser añadidos, quitados o reemplazados. Esto nos proporciona una serie de ventajas importantes sobre versiones anteriores de IIS: 1. Permite reducir la superficie de ataque mejorando la seguridad. Reducir la superficie del área de ataque es uno de los mecanismos más potentes para mejorar la seguridad en un servidor. IIS7 nos permite eliminar todas las características que no vayamos a usar, alcanzando la mínima exposición posible, al mismo tiempo que preservamos la funcionalidad necesaria para nuestra aplicación. De hecho, eliminando todos los módulos del servidor web, obtendremos un servidor web más rápido y seguro, además de contar con una configuración totalmente personalizada a nuestro entorno. 2. Mejora el rendimiento y reduce el consumo de memoria. Eliminando las características no utilizadas podemos reducir el uso de memoria del servidor. De esta forma, reducimos la cantidad de código que se ejecuta en cada petición realizada a la aplicación. Éste es un aspecto muy interesante para los ISP y todos aquellos que ejecutan un gran número de aplicaciones web, porque les permite ejecutar más aplicaciones con igual o menos requerimientos de hardware, sacando el máximo partido de nuestra máquina. De hecho, la nueva doctrina de Internet Information Services 7 nace del principio de seguridad por defecto; partimos de cero y añadimos únicamente aquellos componentes que realmente necesitamos. 3. Construcción de servidores personalizados o especializados. Seleccionado un conjunto de características particulares podemos construir servidores personalizados que están optimizados para realizar una función específica. Podemos añadir nuevas características, o extender y reemplazar las ya existentes, usando nuestros desarrollos u otros de terceros, construidos ambos sobre las nuevas API de extensibilidad. Esta arquitectura, basada en componentes, proporciona beneficios a largo plazo a la comunidad de IIS, ya que facilita el desarrollo de nuevas funcionalidades según surjan las necesidades, bien por parte de Microsoft, bien por la comunidad, o bien por terceros. Por otra parte, el modelo de activación de procesos introducido en IIS 6.0 con los Grupos de Aplicaciones (Application Pools), ha sido aislado en un componente para desligarlo del protocolo HTTP, de tal forma que pueda ser usado con otro tipo de aplicaciones que no sean específicamente diseñadas para consumir vía web, recibiendo peticiones o mensajes sobre otros protocolos. Este servicio de activación de procesos independiente del protocolo, denominado Windows Process Activation Service (WAS), nos ofrece una solución excelente para hospedar servicios WCF (Windows Communication Foundation) y aprovecharnos de todas las ventajas de los Grupos de Aplicaciones, como el reciclado de procesos, por ejemplo. WAS, en definitiva, nos permite salvar la limitación de tener que usar como protocolo única y exclusivamente HTTP cuando queremos hospedar nuestros servicios WCF dentro de IIS. Extensibilidad El segundo punto debemos posicionarlo al lado del primero, de hecho, sin él tendría una complicada existencia. La modularidad de la nueva arquitectura se puede aprovechar para construir nuevos componentes que extiendan o reemplacen la funcionalidad ya existente. Esto significa que, si algo no nos gusta podemos cambiarlo, si algo no nos hace falta lo podemos quitar, y si necesitamos cualquier servicio adicional, siempre tenemos la posibilidad de hacerlo nosotros a la medida necesaria. Esta característica dota de gran potencia a la nueva versión del servidor web de Microsoft, ya que cuenta con varias ventajas, que nos permitan desarrollar accesorios para IIS 7: 1. Más potencia para las aplicaciones web. Extender IIS permite a las aplicaciones web beneficiarse de funcionalidades, muy potentes, que en muchos casos antes no estaban accesibles en la capa de aplicación. Usando la extensibilidad de IIS administrada o nativa, los desarrolladores pueden construir soluciones que añaden valor para todos los componentes de aplicación, como mecanismos propios de autenticación, monitorización y logging, filtrado de seguridad, balanceo de carga, redirección de contenidos y gestión de estado. 2. Mejor experiencia de desarrollo. El nuevo modelo de extensibilidad en C++ alivia la mayor parte de los problemas que anteriormente asolaban el desarrollo de ISAPI, introduciendo una API orientada a objetos simplificada que promueve la escritura de código más robusto. A mayores, una mejor integración con Visual Studio redunda en una mejor experiencia de desarrollo para IIS. 3. Aprovechar toda la potencia de ASP.NET. La integración de ASP.NET en IIS7 permite desarrollar rápidamente módulos para el servidor web con las interfaces ya conocidas y los servicios de aplicación de ASP.NET 2.0. Los módulos de ASP.NET son capaces de proporcionar servicios de forma uniforme a ASP, CGI, ficheros estáticos y otros tipos de contenido, y son capaces de extender el servidor sin las limitaciones que arrastrábamos en versiones anteriores. IIS7 permite a las aplicaciones web aprovechar todas las características y la extensibilidad de ASP.NET 2.0. Características de ASP.NET, como la autenticación basada en formularios, el servicio de Membership, la gestión del estado y otras muchas, se pueden usar ahora para todos los tipos de contenidos, proporcionando una experiencia unificada en toda la aplicación. Asimismo, los desarrolladores pueden usar el modelo de extensibilidad de ASP.NET y la potencia de las API de .NET para construir características del servidor tan potentes como aquellas desarrolladas usando las API nativas en C++. Configuración IIS7 proporciona a los desarrolladores y a los administradores un sistema de configuración unificado para almacenar la configuración de IIS y de ASP.NET en un solo archivo XML, e incluye un conjunto de API para acceder desde código manejado y scripts a dicha configuración. Como resultado, la configuración en IIS7 es más limpia, en el sentido de que, como se basa en un fichero XML bien estructurado, es fácil de leer y editar. Dentro de él, los valores de configuración se almacenan como cadenas de texto fáciles

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información