Microsoft URL Rewrite Module para IIS 7.0

En entornos Microsoft, para disponer de URL Rewrite como en Apache con Mod Rewrite, debíamos instalar un componente isapi en el servidor. La opción más conocida es Isapi Rewrite de Helicon.

En IIS7 disponemos de un módulo oficial creado por el equipo de IIS7, que ha sido publicado hace unos días en su versión Go Live Release, apta para entornos de producción.

url rewrite para dummies

Podemos crear reglas desde el administrador de IIS7, a mano o mediante una interfaz “para torpes”, o desde el archivo webconfig.xml de cada sitio web.

Entre las funcionalidades más interesantes que puede ofrecernos este módulo se encuentran la posibilidad de cachear las reglas por el servidor web, disponer de una herramienta gráfica para importar reglas de mod_rewrite de apache y la  integración con las trazas de iis para detectar errores en las reglasque creemos.

La gestión de las reglas en el webconfig es tremendamente sencilla:

<rewrite>
  <rules>
    <rule name="Fail bad requests">
      <match url=".*"/>
      <conditions>
        <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
      </conditions>
      <action type="AbortRequest" />
    </rule>
    <rule name="Rewrite to article.aspx">
      <match url="^blog/([0-9]+)/([_0-9a-z-]+)" />
      <action type="Rewrite" url="article.aspx?id={R:1}&title={R:2}" />
    </rule>
  </rules>
</rewrite>

Battle Stations prueba Windows 2008 Server superando en rendimiento a CentOS5 y Fedora9

Battle Stations es un juego para facebook tipo MMORTS (juego de estrategia online multijugador masivo en tiempo real), que recibe una media de 13000 jugadores diarios y que ha dado la fama gracias a su éxito a Tyler Projects.

screen-capture-18

El responsable de Tyler Projects, Tian Yang, tenía curiosidad por saber si una solución basada en Windows 2008 Server podría mejorar su infraestructura basada en CentOS5 y Fedora9.

Montar la aplicación en 2008 Server les llevó 30 minutos y los resultados obtenidos (versión Excel 2003) en cuanto a rendimiento son sorprendentes.

battlestations

Hicieron dos tipos de pruebas:

- En la primera prueba los tres sistemas operativos (WS2008, Centos5, Fedora9) se probaron “out of the box” es decir, sin ningún tipo de modificación
- En la segunda Windows 2008 se mantuvo con la configuración por defecto, y en Centos5 and Fedora9 fueron optimizados por Tian Yang.

Vemos como Windows 2008 Server consigue casi el doble de rendimiento que CentOS y Fedora.

Esta claro que las mejoras efectuadas en la pila TCP/IP, la nueva arquitectura de IIS7, el componente FastCGI oficial para php de Microsoft y la opción Server Core, hacen posible ver a Windows 2008 Server como una plataforma más que considerable para servir aplicaciones web para internet.

Más información, en el blog de Dennis Chung.

Enlaces técnicos recomendados

To UUID or not to UUID ? de MySQL Performance Blog

CRUD with PHP Doctrine de ProDevTips

PHP Rest Server de Lorna Jane

imified.com, servicio para crear bots para interactuar con tu aplicación web a través de servicios de mensajería instantánea (messenger, gTalk..)

Cortafuegos dinámicos con iptables, documentación de Gentoo linux

php-fpm: PHP FastCGI Process Manager, parche para php que nos permite gestionar procesos fastcgi de una forma más óptima (en teoría) que spawncgi (gracias Txarly!)

Repositorio para yum con la versión de php 5.2.5 (a día de hoy)

Activar subsistema UNIX en Windows Vista

Windows Vista SP1, al igual que Windows 2003 R2 y Windows 2008 Server, dispone de una característica poco conocida pero que es muy conveniente conocer, sobre todo para desarrolladores y administradores de UNIX.

Se trata de SUA (Subsystem for UNIX Applications), un subsistema basado en Interix que permite correr nativamente aplicaciones para UNIX/Linux en los sistemas operativos windows que lo implementen.

Para activarlo, basta con ir a agregar programas y características, del panel de control y activarlo allí.

activar sua

Debate sobre sistemas operativos en Lancelona

Tras dormir 2 horas después de una cena en Cheese Me y pasarlo como un enano en Pacha BCN, fuimos Sergio, Jonathan y yo al debate sobre sistemas operativos de Lancelona en el que un servidor charlaba sobre Microsoft Windows.

Aunque no pude exponerla, debido a que no teníamos proyector, llevaba preparada una presentación que podéis ver aquí o al final de estos párrafos. Esta semana escribiré un post más detallado con lo que iba a decir en esa presentación.

La verdad es que el debate me gustó y estuve agusto pero eché en falta un moderador que evitáse que entrásemos en temas de marketing, patentes, gadgets y licencias en los que se entró y creo que a la gente que fue a vernos no le interesaba en absoluto. También se echaron en falta varios micrófonos para darle más dinamismo a la cosa.

Sobre el tema de licencias, y tal como prometí en el debate, tengo pendiente escribir un post dedicado a la licencia de windows que hay que aceptar cuando instalas el mismo.

Yo me esperaba un debate más entrado en funcionalidad técnica de cada sistema operativos y de las posibilidades que ofrece cada uno. Creo que hubiese sido más didáctico que entrar en temas “éticos” y de marqueting. De esa forma cada uno hubiese presentado key features de cada sistema y los demás podrían haber mencionado como esas funcionalidades se pueden conseguir, o conseguir una solución aproximada, en otros sistemas y plataformas.

Aun así mereció de sobra la pena ir hasta Barcelona y conocer a personas (en persona) como Raul Illana, David Solanes, Joan Martínez Serres, Miguel López entre otros.

Os dejo con la presentación que tenía preparada y no pude exponer (prometo escribir esta semana sobre esa presentación).

Sistemas Microsoft Windows

View SlideShare presentation or Upload your own. (tags: microsoft sistemas)

PHP 5.3, cosas que deberías saber si lo vas a usar bajo Microsoft Windows

La próxima versión de php incluirá una serie de cambios generales, como la introducción de namespaces por ejemplo, que afectarán a todos las versiones de los diferentes sistemas operativos.

Pero en la versión para Microsoft Windows se incluyen una serie de cambios que debemos conocer los que desarrollamos bajo esta plataforma.

- Sólo serán soportados Windows 2000, XP, Server 2003, Vista y Server 2008. Se elimina el soporte para Windows 98, ME, and NT.

- Las nuevas versiones de php a partir de esta versión usarán el compilador VC9 (Microsoft Visual C++ 2008) por lo que requiere la librería msvcr90.dll. Si usas el instalador oficial, este incluirá dicha librería automáticamente.

Por razones de compatibilidad con algunas extensiones y con el servidor web Apache, durante las versiones php5.3.x se tendrá que utilizar la versión compatible con VC6, el cual data de 1998. En las siguientes versiones de php éste solo podrá ser compilado con VC9.

- Se incluirán versiones de 64 bits pero tendrán un soporte experimental por el momento.

- Las extensiones PECL no serán incluidas en php hasta que el nuevo sistema de compilado de PECL funcione correctamente.

- Los binarios se publicarán al mismo tiempo que el código fuente.

Texto a voz con php en Linux/UNIX

A veces tenemos que generar sintetizar texto a voz en nuestras aplicaciones web para usuarios con problemas de visión, mejorar la experiencia del usuario en general o realizar cualquier otra tarea.

En Linux/UNIX tenemos una serie de herramientas que nos pueden ayudar a realizar esta tarea. En este tutorial de Tony Bhimani podemos ver como usar el sintetizador de voz Festival con un encoder MP3 para generar archivos dinámicamente desde texto, con una aplicación web php.

Necesitamos tener instalado Festival y Lame MP3 Encoder para que todo esto funcione. Tony ha dejado un ejempo de cómo sería un frontend básico pero funcional para conseguirlo.

Origami Experience 2.0

El otro día leí en el blog de Eduardo Collado un planteamiento que hizo sobre si era mejor opción usar Windows o usar Linux en un dispositivo UltraMobile PC.

Estoy de acuerdo en algunas cosas que plantea y en desacuerdo en algunas otras.

De acuerdo estoy en que en un dispositivo UMPC de bajo coste es una opción muy acertada el uso de Linux, ya que en ese tipo de dispositivos, debido precisamente a su bajo coste, si queremos disponer de Windows Vista no tenemos hardware suficiente como para disfrutar de una experiencia de usuario óptima en el caso de conseguir instalar dicho sistema. Una pena que Microsoft no disponga de una sistema reducido a considerar para hardware menos potente o desfasado.

Sin embargo, no todos los sistemas UMPC son de bajo coste y no todo su uso tiene por qué ser esporádico. Yo soy de la opinión de que no todo es blanco ni negro y cada sistema operativo tiene su lugar.

En el caso de tener una buena máquina, no quiero decir que una opción de bajo coste sea una mala opción sino que es posible que no sea adecuado para ciertos usos, es interesante tener en cuenta Windows Vista como una opción por dos motivos: La seguridad y Origami Experience.

La seguridad de windows vista es un punto muy a considerar con respecto a su anterior versión XP y Origami es sencillamente una maravilla.

Como sobéis Microsoft tiende cada vez más al desarrollo de tecnologías y aplicaciones para su uso desde tecnologías táctiles. No es un secreto que Windows Mobile es una opción desfasada en este sentido y, frente a la aparición de tecnologías como WPF y Silverlight junto a la “competencia” con dispositivos como iPhone, es imperativo ver un cambio en la interacción con las aplicaciones de este sistema.

No he tenido la oportunidad de probar en mis propias manos Origami Experience, pero os dejo este video en el que os podéis hacer una idea de lo que hace… simplemente genial.

Seré ponente sobre sistemas operativos Microsoft en Lancelona 2008

Raul Illana en nombre de encuentros sociales, como colaborador de la organización de Lancelona, me ha ofrecido la oportunidad de ser ponente en dicho evento.

Será un conjunto de ponencias abiertas en las que, junto a otros profesionales que trabajan con sistemas operativos de otras plataformas, expondremos las posibilidades que ofrecen los mismos y por qué pueden ser buenos candidatos a su uso.

Me tocará defender a los sistemas operativos Microsoft de los mitos habituales que podemos encontrarnos, hablaré sobre tecnologías, tanto de escritorio como de servidor, que creo que hacen que el hecho de elegir sistemas Microsoft merezca la pena y hablaré desde un punto de vista realista de por qué, al usuario normal y a las empresas, les interesarían usar Microsoft Windows como sistema operativo doméstico y profesional respectívamente.

Los que me conocen saben de sobra que no soy talibán de ninguna tecnología (lo considero absurdo) y trabajo habitualmente con sistemas Microsoft, Linux y MacOSX.

Espero veros por la Lancelona el 29,30 y 31 de este mes!