« El plan VIVEEl brazo biónico »

Servidores web embebidos

4.06.2008 | por | Categorías: Software, Internet

A veces, necesitas que tu servicio de Windows o tu aplicación de escritorio Java puedan ser accedidos desde una aplicación web (quizá para administrarlo, para aprovechar código que has desarrollado para un servidor web más grande) o que puedan exponer funcionalidad a través de servicios web.

La manera dura de hacer eso es instalar un servidor web o de aplicaciones y comunicar nuestra aplicación web con la de escritorio, mediante RMI, WCF o Remoting, por ejemplo. Pero hay otra manera más sencilla: un servidor web embebido. Advierto de antemano que quizá ninguna de estas soluciones sea la mejor, pero solucionan muchos problemas de este tipo.

En el mundo Java tenemos el archiconocido Jetty, un servidor web que también es capaz de ejecutar servlets y trabajar con JSPs y que es utilizado en aplicaciones como CruiseControl, OpenFire y otras muchas. En muchos de los casos se usa para tener una interfaz web de administración (o de presentación de estadísticas) que pueda comunicarse con un servicio windows o proceso ejecutable. Para usarlo, basta meter los .jar de Jetty en el classpath e invocar al método que arranca el servidor.

Pero además, el otro día descubrí Apache CXF, unas librerías herederas del XFire que permiten incrustar servidores y clientes de servicios web en cualquier aplicación Java, sin necesidad de servidor de aplicaciones. Como era de esperar, se apoyan en varias librerías de Jetty.

Esto permite que nuestra aplicación de escritorio pueda ser accedida directamente desde un cliente de servicios web, lo que ahorra bastante trabajo. Además de servicios web, Apache CFX soporta JSON o CORBA e incluye varias utilidades para generar WSDLs, para convertir clases Java en servicios web y viceversa, etc.

Por otro lado, el mundo .NET también dispone de su servidor web integrado, capaz de soportar páginas ASP.NET (aunque sólo 1.1 y 2.0) y servicios web. Su nombre es UltiDev Cassini y también merece la pena echarle un vistazo en esos casos en los que no queremos obligar al usuario a instalar un IIS.

Tened en cuenta que dado que estos servidores web embebidos corren en el mismo entorno que nuestra aplicación, compartirán memoria, por lo que no es aconsejable usarlos cuando se esperan muchos usuarios concurrentes o gran carga de trabajo. Eso sí, todos los que he mencionado en este post son gratis.

 

No hay opiniones, todavía


El formulario está cargando...

Buscar

Linkedin

Ver perfil de Alberto de Vega Luna en LinkedIn

Licencia

Creative Commons License
Esta obra se publica bajo una licencia de Creative Commons. Es necesario citar la fuente y el autor si se utilizan estos contenidos.
multi-blog