lunes, marzo 16, 2009

WinASP, aplicaciones Internet buenas, bonitas y baratas.

Jorge Mason es sin duda uno de los programadores de lenguajes Xbase con mas nivel que conozco.

Le he visto hacer cosas muy interesantes en aquellos viejos tiempos del FiveWin, y pese a que desde algunos años está totalmente inmerso en el mundo de los desarrollos Web, no nos hemos perdido la pista.

Hace algunos ayeres, Jorge diseñó una cosa que quizá se adelantó a su tiempo: El WinASP.

¿ Que es WinASP ?

WinASP es un servidor Web.....

¿ y ?

hay muchos....

Si, hay muchos servidores WEB, pero ninguno que yo conozca que "interprete" código xHarbour "incrustado" dentro del código HTML.

Si conoces un poco de tecnología ASP (Active Server Pages), sabrás que usando el Internet Information Server, puedes montar un servidor ASP, ese servidor ASP es en realidad un "interprete" de código que tomará paginas web que llevan dentro codigo en Visual Basic Script, lo interpretan, ejecutan las acciones programadas y el resultado de esas acciones es convertido en código HTML y enviado a un equipo cliente.

Lo que ha hecho Jorge es crear SU PROPIO SERVIDOR WEB, que te permite hacer publicaciones de hojas HTML estáticas, o bien de páginas web "dinámicas" que pueden acceder a datos archivo .DBF o de SQL usando ODBC ó ADO y todo programado con el lenguaje xHarbour que ya conoces.

La instalación es super simple, solo desempacas el archivo comprimido y listo, nada de cosas del registro de Windows, ni instalar DLLs, ni nada de nada, ejecutas el programa EXE WinASP y no tienes que hacer nada más, solo te das cuenta de que está corriendo porque ves un icono en la barra de tareas de tu Windows.

Ya estas listo para trabajar, lo unico que tienes que hacer es crear archivos de texto con la extensión .XPS, que son archivos "medio" en HTML, medio en xHarbour, veamos el siguiente ejemplo:

<%
if !eof()
for n = 1 to nLineas
cClass=onnone(n,"rowlist","row")%>



<%=cClass%>" nowrap><%=tohtml(nRegistro+n-1)%>

<%=utrim(Empresa)%>&uid=<%=uid()%>" class="nav" title="Actualizar registro ..."><%=tohtml(Empresa)%>
<%=cClass%>" nowrap> <%=tohtml(Rut)%>
" nowrap> <%=tohtml(Dv)%>
" nowrap> <%=tohtml(Giro)%>
" nowrap> <%=tohtml(Nombre)%>
" nowrap><%=tohtml(Direccion,50)%>
" nowrap> <%=tohtml(Comuna)%>
" nowrap> <%=tohtml(Telefono)%>
" nowrap> <%=tohtml(Fax)%>
" nowrap> <%=tohtml(Postal)%>
" nowrap> <%=tomail(Email)%>
" nowrap><%=tohtml(Url,50)%>
" nowrap><%=tohtml(Notas,50)%>


<% skip
if eof()
exit
end if
next
end if
use
%>

En el ejemplo anterior he marcado con colores las distintas secciones del código para que te des una idea de como funciona WinASP, el código anterior contruye una tabla, mezclando tanto instrucciones HTML como instrucciones en xHarbour, nota que el codigo en xHarbour va metido entre <% %>, y que incluso dentro del codigo HTML puedes llamar a funciones usando la estructura <%=funcion()%>.

El WinASP te permite manejar "sesiones" es decir, conserva los datos de variables que hayas definido para cada usuairo accesando a tu sistema, con esto puedes controlar cosas como el tiempo que el usuario haya estado conectado a tu Web, el tiempo que ha estado sin hacer nada, etc.

Por otro lado también te permite trabajar con varias cosas al mismo tiempo, una especie de multi-tarea, puedes por ejemplo realizar una descarga de un archivo, y mientras seguir trabajando con el servidor como si nada, ya que el servidor no deja de atender peticiones.

Después de hacer algunas pruebas con el este fin de semana, me he dado cuenta de que es un herramienta bastante robusta, soporta bastantes conexiones simultaneas (yo probé con 50) y su velocidad de respuesta es estupenda.

La interfaz de WinASP es muy simple y está desarrollada con FiveWin, todo el manejo de sockets y el interprete de código xHarbour está desarrollado en xHarbour puro y duro, y si no quieres usar la interfaz Windows para configurar el servidor, basta cambiar valores en un archivo .INI, cuenta además con una serie de funciones que te facilitan la vida si no conoces mucho de HTML o de conexión SQL.

Lo que echo de menos en WinASP es soporte para Advantage Database Server, pero comentado con Jorge sobre esto me dice que se podría hacer sin mucho problema, pero sería una mejora "bajo pedido" y que solo funcionaría con un servidor remoto, ya que la licencia del servidor LOCAL de ADS claramete explica que no está permitido su uso en aplicaciones WEB.

El costo del producto es bastante razonable, 250 dólares por una versión totalmente funcional, y 500 dólares por la versión que incluye el código fuente (esta desde luego es tu mejor opción sobre todo si te gusta aprender), en realidad no me parece caro para todo lo que hace.

Jorge ha montado un ejemplo COMPLETISIMO en su web (www.htcsoft.cl), es una gestión comercial totalmente programada en WinASP, este mismo ejemplo con código fuente te lo entrega cuando adquieres tu licencia del producto. Tengo que admitir que usando este ejemplo como plantilla de desarrollo estás haciendo aplicaciones Web con xHarbour en mucho menos tiempo del que te imaginas.

Para acceder al demo "on-line" ve a la pagina de HtSoft, selecciona la opción DEMO del menú superior, cuando accedas al sistema , deja en blanco el espacio del password del usuario y listo tendrás acceso a ver todo lo que puedes hacer con el WinASP.

Si estás buscando publicación de datos en Web con xHarbour, no busques mucho, WinASP te da una solución justo a la medida de tus necesidades y a un buen precio.

1 comentario:

Unknown dijo...

Yo lo compre y me funciona bastante bien, sin mayores inconvenientes

es increiblemente rapido...