Intelimedia :: learning

"Tenemos los conocimientos y los cursos para que administres la tecnología "

[contacto]

 


 

"Utilice nuestros conocimientos.

Le ofrecemos asistencia técnica, consultorìa y capacitaciones"

[Contactarse]

Intelimedia :: Notas

 

Servicios de Internet en Windows Vista

(31/7/2006) - Windows Vista incluye la nueva versión de los servicios de Internet, mejor conocidos como IIS. Pero más que palabras, vamos a los hechos.

 

_OBJETIVO

Windows Vista forma parte del plan de unificación de la plataforma de servicios web de Microsoft. La integran: el servidor de Internet (IIS), ASP.NET, Windows Communication Foundation, y servicios SharePoint. Esto hace que los objetivos de IIS 7 sean:

•  unificar del ambiente de desarrollo y administración,

•  mejorar de seguridad, extensibilidad, y personalización,

•  simplificar el soporte de problemas a través de herramientas de monitoreo y seguimiento,

•  Mejorar la implementación de aplicativos en granjas de servidores.

 

_ADMINISTRACION

Consola de IIS 7La consola Web Management Tool (antes IIS Manager) consolida la administración inherente a IIS y ASP.NET 2.0. Destancando las características de Roles y Miembros de grupos de este último.

Para quienes conocen las versiones anteriores, verán que la interfaz es totalmente distinta.

Tiene dos formas de ejecución: aplicativo separado (ejecutando inetmgr.exe) o snap-in para Microsoft Management Console 3.0.

Como esta fundado en las nuevas MMCs hereda todas las mejoras gráficas de este módulo: más capacidades de navegación, personalizaciones, paneles de trabajo.

Además permite administración remota sobre el protocolo HTTP, algo que es útil sobre todo cuando se requieren realizar cambios a través de Internet. Y esta es una necesidad común. Un claro ejemplo son los hostings que deben recurrir a herramientas de terceros o generarlas ellos mismos.

Una característica interesante es la capacidad de delegación de permisos junto con la lista de administradores. Existen 3 roles: administrador del servidor, sitio y aplicación web. Estos determinan hasta que niveles puede configurar un determinado usuario.

Inclusive se pueden otorgar permisos a usuarios que no tengan privilegios de administración sobre el equipo en sí mismo. Me parece una interesante solución para los desarrolladores. Por facilidad usualmente son "masters de sus propios equipos". Con IIS 7 podría desarrollar aún siendo usuarios "rasos", trabajando en un ambiente similar a producción. Justamente un entorno sin tantos privilegios y restringido.

Otra novedad es que IIS 7 integra los ambientes, ya que se puede trasladar fácilmente la configuración de desarrollo a producción. Además , esto trae la ventaja de poder replicarla fácilmente a una granja de servidores.

Para ello, IIS 7 almacena los seteos en archivos XML. Los más relevantes son:

•  Machina.config, que almacena las configuraciones para todo el servidor.

•  System.Applicationhost.config, que contiene configuraciones para sitios, aplicaciones, directorios virtuales, y pools de aplicaciones.

•  System.webserver.config, que incluye los valores predeterminados globales y demás seteos generales.

•  Lee y escribe directamente los web.config . Tanto en el nivel raíz, como en cada aplicación. Esta es una muestra más de la integración entre ambos.

Las configuraciones, el solaparse se resuelven por herencia. Yendo desde los seteos más generales del equipo a los particulares de cada sitio o carpetas virtual.

 

Otro detalle que pude encontrar son los asistentes. En versiones anteriores la cantidad de workflows eran mínimos. Pero SienExisten mayor cantidad de workflows para guiar la aplicación de cambios. Inclusive con pasos previos de validación. Algo importante porque una confirmación final nunca viene nada mal.

 

_INTEGRACION CON ASP.NET

IIS 7 representa la unificación entre ASP.NET y el servidor web. Esto debe quedar claro. No solamente desde el punto de vista de la configuración, sino centralmente. Todos los conceptos de ASP.NET están incluidos en forma nativa en IIS.

Es por eso que el código fue dividido en más de 40 módulos de características e incluye un nuevo set de APIs.

 

_FTP E INTEROPERABILIDAD

Para dejar fuera cualquier clase de mitos sobre FTP y Webdav, les confirmo que sigue estando incorporado en IIS. Tan simple y efectivo como antes. Algunos hablan de bugs de este FTP. Por mi parte, las pruebas (las más simples) que hice fueron exitosas. Igualmente siempre hay que tener presente que estamos tratando con versiones Betas, supeditadas a controles y cambios finales.

Por otra parte, para mantener la interoperabilidad IIS 7 ofrece dos modos de ejecución:

•  Integrado: el preferido. Soporta ASP.NET 2.1 o superior

•  ISAPI: utilizado para correr las extensiones: ASP, ASP.NET 1.x, PHP, PERL, etc.

 

_PROCESAMIENTO

En pos de mejorar la performance y calidad se implementaron varios cambios en el servicio de Publicación de WWW (WWW Service) y el nuevo servicio de Activación de Windows (Windows Activation Service, WAS).

Si lo comparamos con el previo IIS 6, el Servicio de WWW muchas tareas adicionales: configurar los sitios mediante la metabase del IIS, controlar y monitorear el protocolo HTTP a través de los contadores de performance. Además, administra los pools y procesos de trabajo (worker processes). Es decir que los inicia, detiene, y hasta los recicla ante la detección de una falla.

En cambio IIS 7 ordena y separa las tareas. El servicio WWW continúa recolectando información de performance. Pero el procotolo esta específicamente bajo el control del nuevo controlador HTTP.sys.

El WAS es el encargado de administrar las configuraciones de los pools y procesos de trabajo.Esta separación trae aparejadas varias ventajas. En primer lugar, es posible utilizar la misma configuración de pools y procesos de trabajo para sitios HTTP y sitios no-HTTP. Luego, se puede utilizar WAS sin el servicio de Web. Por ejemplo, para los web services, que utilizan el controlador NET.TCP, en lugar del HTTP.sys.

Ante un requerimiento WAS analiza si existe un proceso de trabajo activo. Sino inicia un proceso para atenderlo.

En lo referente a pools de aplicaciones, IIS 7 continúa la aislación implementada por IIS 6. Con ello, se asegura que los problemas no se distribuyan entre diferentes aplicativos. Además, se puede especificar cómo procesas los requerimientos: modo integrado o ISAPI.

Veamos las diferencias.

En el modo integrado se aprovecha toda la nueva arquitectura de IIS + ASP.NET. Diversas tareas son unificadas ahorrando autenticaciones y pasos duplicados.

El modo ISAPI funciona como el modelo de IIS 6. Los diferentes procesos se pasan a diferentes controles. Por ejemplo: todo lo que es ASP.NET es interpretado y ejecutado por aspnet_isapi.dll. Y luego, el control vuelve al IIS.

A la hora de migrar el modo preferido es el integrado. Que se lleva todas las de ganar. Y de surgir problemas, la solución sería correrla en modo ISAPI. Pero recalco que este último solo debe ser utilizado para mantener la compatibilidad.

 

HERRAMIENTAS DE DIAGNOSTICO

IIS 7 permite más seguimiento en tiempo real del servidor y los sitios web. Toda la información esta expuesta a través de WMI (Windows Management Instrumentation). Por ello, es accesible a través de línea de comando, ejecución de scripts y otras herramientas.

Esto permite un sin fin de posibilidades de ejecución. Desde crear procesos automatizados hasta implementar cambios desde otros aplicativos o sitios web.

Una de las novedades que me parece destacar es la posibilidad de controlar el tiempo de respuesta de los "Worker Processes". Y a partir de ello, reciclarlos. Inicialmente, esta funcionalidad esta habilitada y se puede definir cuál es el tiempo que puede transcurrir sin respuesta.

Otra de las novedades es el seguimiento de solicitudes fallidas. Esta funcionalidad crea un archivo con los errores ocurridos. De esta forma no es necesario recrear el ambiente de falla para forzarlo. Para los seguimientos que se dilaten en el tiempo es posible crear reglas. Para entenderlo más veamos el asistente para crear estas reglas.

Paso 1: Abrir el IIS Manager y seleccionar el nivel donde se desea implementar la regla.

Paso 2: En la vista de características, doble-click sobre Reglas de seguimiento de Pedidos Fallidos (Failed Request Tracing Rules)

Paso 3: En la vista de Acciones, clickear Nueva Regla

Paso 4: el asistente pregunta qué tipo de contenido se desea controlar:

  • Todos (*): incluirá todos los archivos de la carpeta
  • ASP.NET (*.aspx)
  • ASP (*.asp)
  • Personalizado: donde se puede especificar la extensión: *.jpg, fotos*.gif, *.exe

Paso 5: en este paso se definen las condiciones del fallo. Se pueden especificar una o ambas condiciones:

  • Código de estado: el código/s de error http. Por ejemplo: 500, 403, 402
  • Tiempo que llevó el requerimiento: permite definir cual es el umbral admitido para la ejecución de los pedidos, y sobre el cual se seguirán aquellos que lo sobrepasen.

Paso 6: seleccionar el proveedor:

  • ASP.NET: analizar las transiciones entrando y saliendo de código .NET
  • ASP: seguir desde el inicio hasta el fin de código ASP
  • Extensiones ISAPI: para analizar las transiciones de requerimientos entre procesos e ISAPI.
  • WWW Server: seguimiento de pedidos a través de la cola de trabajos del IIS.

Para cada proveedor se puede seleccionar el nivel de mensajes a recolectar. general, errores críticos, errores, alertas, información y/o descriptivos.

Y luego dependiendo del proveedor el área de análisis. Por ejemplo para ASP.NET se puede investigar infraestructura, módulos, páginas o servicios de aplicaciones.

Paso 7: Fin del asistente

 

RESUMEN

IIS 7 es una evolución muy potenciada del servidor de Internet de Microsoft. Mejora la administración, con más herramientas de seguimiento y control. Y además incorpora cambios en el procesamiento para minimizar los tiempos muertos. Además de una integración necesaria y completa con .NET. Esto hace augurar un IIS de Windows 2007 muy superior. Veremos si el diseño se traduce en estadísticas.

 

Autor: Ing. Javier Becker (MCSE/MCSA/MCP W2003)

Fuentes:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/AppComp.asp http://technet2.microsoft.com/WindowsServer/en/Library/582b556d-d404-4150-aa07-c5c0c750b6c81033.mspx

 

 

:: la empresa :: productos :: servicios :: multimediales :: capacitación :: soporte :: A dos Tintas:: contacto ::

Javier Becker - Intelimedia - Rafaela - Prov. Santa Fe - Argentina