3 de marzo de 2010

SOHT

Situación
Necesito acceder a un servidor a través de un puerto TCP.

Problema
No se puede acceder porque hay un proxy en medio que no permite conexiones de socket directas, sólo admite pedidos HTTP.

Solución
Un software, a instalar del lado del cliente y del servidor, que permite atravesar el proxy, transformando las conexiones de socket, en conexiones y pedidos HTTP, es decir, Socket over HTTP Tunneling.

Como me gustó, aquí dejo un diagrama funcional de ejemplo y lo básico del archivo soht.properties para configurarlo.


El SOHT cliente es una aplicación java (.jar) y se ejecuta directamente teniendo instalada la maquina virtual java, el SOHT servidor es un servlet (.war) y requiere por tanto un Servlet Container para ejecutarse (deploy), puede ser por ejemplo Tomcat (esta podría ser la parte más "difícil" de la instalación, o menos común, aquí dejo una página de cómo instalar tomcat en un Debian linux)

Se puede además utilizar GlassFish (es un servidor de Oracle también open source)

UPDATE:

Una vez funcionando el servidor podrá ingresarse mediante http://localhost:8080/soht/login.jsp y aparecerá una pantalla de administración, el valor por defecto de password es soht. El cual debería cambiarse luego.


Para los curiosos, el diagrama está hecho con yEd Graph Editor.