colabora linux

Programación Linux en el Guille

Corriendo Aplicaciones Web y Web Services .NET en Linux

Corriendo en Linux Aplicaciones Web y Web Services desarrollados en .NET con C#, VB o Java

Autor: Omar Chávez (omar_chavez@hotmail.com)
Fecha: 15/Jul/2007 (14/Julio/07)

La empresa para la cual trabajo es parner de Microsoft, por lo tanto todas las aplicaciones que alli realizamos son enteramente hechas en dichas plataformas, mas especificamente con la arquitectura .NET 2005.

Como soy un poco rebelde, siempre me he querido inclinar al uso de Tecnologías abiertas como Linux, PHP y MySQL (especificamente), pero como debo comer y en las empresas en las que he laborado están casadas con las tecnologías Microsoft, no me ha quedado de otra mas que especializarme en las mismas.

Pero como en casa, la tecnología la designo yo, despues de varios intenos he decidido trabajar sobre Linux. Me tope con mil detalles, como hacer funcinoar mi computadora (Laptop DELL Inspiron 6000) con algun distro de Linux que sea no instalado en mi equipo de modo definitivo (ya que todas mis herramientas de trabajo son sobre aquel que ya mencioné).

Probé usar primero distros en PenDrive (Memoria USB), pero leyendo por alli (por si no lo habían considerado) me di cuenta que las memorias tienen una limitada vida en numero de escrituras, por lo que utilizandolas normalmente no te acabas en años la memoria, pero como Linux hace muchas escrituras a disco, terminas sin memoria al cabo de un tercio de meses (claro, usandolo diario y dandole una carga normal).

Por fin, me decidí por utilizar un distro en LiveCD (correr el Linux desde un CD) y excelente!!! Pero otro problema fue que mi tarjeta de red wifi funcionará. Total, el distro de WifiSlax es la solución mas buena que encontré. (Me costo saber como, pero pude hecharla andar y ahora mismo estoy en ella. Si quieres saber como hice para que funcionara mi Wireless con una Intel ProSet/Wireless 2200BG y que me registrara el DHCP automaticamente, mandame un correo. Es facil, lo dificil es encontrar el como).

Bien! Ahora si... Mi maquina con el Linux, trabajando de las mil maravillas. Y ahora? ... ok, puedo hacer mis cosas personales aqui, pero la mayor parte del tiempo la dedico a cosas relacionadas con mi trabajo. Que hago ahora trabajar o ver mis desarrollos en .NET sin dejar Linux? MONO? no es 100% compatible con VS2005!!! Ademas, ya tengo el Linux funcionando y trabaja super-veloz! Como aprobechar esta velocidad para regresar a Windows solo cuando sea indispensable?

Buscando alternativas, una que se me ocurrió fue instalar el VMWare y trabajar mi Windows desde Linux... Así que me puse a descargarlo.

Mientras se descargaban los ciento y tantos megas que mide el VMWare busque mas opciones, y dentro de tantas opiniones (todas aterrizadas en el uso de VMWare) me encontré algo muuuuuy interesante, y de lo que poco veo que se hable en los POST. Un nuevo producto llamado formalmente Visual MainWin for J2EE Developer Edition, pero mejor conocido como "Grasshopper". Y lo mejor de todo: "GRATUITO"... Así es... sin costo (hay una versión mas completa que si cuesta, pero para iniciar, no esta nada mal).

Resulta que Mainsoft lanzó el plug-in Grasshopper de manera gratuita. Pueden ver detalles en el foro de la comunidad de desarollo (developer community forum).

Pero, ¿que es o en que consiste? Pues resulta que si tienes un desarrollo (o vas a realizar alguno) en VS2005, ya sea con C#, VB o Java, puedes correr dicha solución sobre Windows, Linux o cualquier plataforma que corra Java. Se integra el frameworks 2.0 sin problemas (Así lo entendí, si existe alguna observacion de que no sea exactamente así, avisenme a mi o al Guille para realizar dicha corrección) corriendo sobre WebSphere® Application Server y/o Apache Tomcat. Trabaja perfectamente con ADO.NET y se puede debuguear corriendo en WebSphere o Tomcat.

¿Como trabaja? Basicamente toma el MSIL generado para la aplicación .NET y lo convierte en Bytecode, teniendo la capacidad de correr la aplicación en cualquier plataforma de las antes mencionadas.

¿Que tiene eso de bueno? Pues bien. En alguna ocación se solicitó un desarrollo de una Aplicación Web que correría en Linux, pero por falta de experiencia en dicha plataforma, no se realizó así y se optó por desarrollar, pero montado en un servidor Windows 2003 Web Server. Como quiera se aceptó el proyecto, pero siempre queda la espinita esa de "Si pudiera desarrollar para Linux, se incrementarían mis posibilidades de acceder a proyectos interesantes con empresas que no tienen servidores en Windows".

Con Grasshopper se elimina el problema, ya que se desarrolla como normalemente se tiene acostumbrado, y con el plug-in se entrega la solución lista para ser lanzada en un servidor que corra Linux.

No he tenido la oportunidad de probarlo, pero sería excelente abrir un foro (en español) en el que dejemos nuestra experiencia con esta nueva solución.

Saludos, y felices codigos!


la Luna del Guille o... el Guille que está en la Luna... tanto monta...