Mostrando entradas con la etiqueta HTML5. Mostrar todas las entradas
Mostrando entradas con la etiqueta HTML5. Mostrar todas las entradas

martes, 3 de junio de 2014

Disponibilizar aplicaciones Windows GDI/GDI+ en la Web

En estos tiempos donde la conectividad remota es un valor agregado interesante para cualquier aplicación, los que estamos en informática desde hace mucho tiempo conocemos la importancia de mantenerlas actualizadas y vivas. Y hay aplicaciones que han dado lo mejor de sí durante años, pero que hoy, con entornos cada vez más heterogéneos y dispositivos impensados hasta hace unos años, quedan relegadas y obsoletas.
Cuando la migración de esas aplicaciones no es posible (porque no se tienen los fuentes, o porque el esfuerzo de reescribirlas es algo que no se puede encarar), encontrar alguna alternativa que disminuya o elimine su obsolescencia es de un valor incalculable.

Dentro de la nueva línea de productos Thinfinity™ y luego de un largo tiempo de investigación y desarrollo, la empresa Cybele Software, Inc. presenta Thinfinity™ Virtual UI, un set de herramientas que permite transformar aplicaciones Windows convencionales de 32 y 64 bits (las típicas aplicaciones desktop) en aplicaciones accesibles desde entornos web.
Lo interesante es que esto se consigue prácticamente sin esfuerzo: sólo hay que agregar la librería correspondiente al programa y recompilar. Así, las aplicaciones pueden ser usadas como siempre y, además, ser accesibles desde cualquier browser, incluyendo dispositivos móviles y permitiéndonos, así, acceder a los beneficios de la virtualización sin el alto costo de instalación de entornos como Citrix XenApp® o Microsoft™ RemoteApp.

El esquema arquitectónico y de conectividad también es bastante simple:

  • Un set de librerías (dlls, fuentes, etc., dependiendo del lenguaje del programa original).
  • Un pequeño servidor http(s)/websockets que hace de enlace entre el browser y la aplicación final.

Lo bueno del enfoque es que acceder a la aplicación es apenas lo primero y básico que se puede conseguir: dado que el cliente es puro javascript (no hay java ni ningún plugin de browser de por medio) con la pericia suficiente las aplicaciones extendidas con Thinfinity™ Virtual UI se pueden integrar en circuitos de información SOA, sitios web ya existentes y cualquier otra combinación que se nos ocurra.

Los requisitos para su funcionamiento no son demasiados, aunque necesita, como entorno de ejecución final, Microsoft Windows 8, Microsoft Windows Server 2012, ó superior. Aquí va el detalle de los requisitos mínimos:

  • Para el desarrollo y pruebas
    • Sistema operativo:
      • Microsoft Windows 7 32­bit / 64­bit 
      • Microsoft Windows 8 32­bit / 64­bit 
      • Microsoft Windows Server 2012 32­bit / 64­bit 
    • Entorno de desarrollo (entre otros):
      • Microsoft Visual Studio
      • Delphi 5 to XE6
      • Microsoft Visual Basic
      • PowerBuilder
  • Servidor:
    • Microsoft Windows 8 32­bit / 64­bit
    • Microsoft Windows Server 2012 32­bit / 64­bit
  • Usuario final:
    • Cualquier browser con soporte HTML5 (todos los estándares del mercado lo soportan) sin importar el sistema operativo ni el tipo de dispositivo.
Para mayor información:

jueves, 23 de febrero de 2012

Del mainframe a la Web

Largo es el camino que hay entre aquellas terminales de mainframe con las que yo empecé a trabajar, hasta los browsers y dispositivos que hoy podemos usar no sólo para comunicarnos, sino también para usar aplicaciones. Allá cuando la sigla "PC" aún no había sido acuñada, yo trabajaba en un equipo de Digital, una VAX PDP-11 (de la que ya hablé en alguna oportunidad), e incluso llegué a utilizar una de las primera terminales VT que no tenía pantalla: el texto se iba escribiendo en una tira de papel continuo: la sensación de estar dentro de la película BRAZIL, de Terry Guilliam, era permanente.

Esas terminales, conocidas también como terminales bobas, apenas eran algo más que una pantalla y un teclado conectados a un equipo central, multitarea y multiusuario. Tuvieron su cuarto de hora y hasta los escritores de ciencia ficción imaginaron un futuro en el cual ciudades de datos albergaban los programas y la información a los cuales, desde lejos, los vaqueros de consola se conectaban.
Cuando las PC pasaron a dominar casi todos los escritorios y parecía que todo iba a terminar corriendo en estas nuevas máquinas, más poderosas e inteligentes, no fue así. Las aplicaciones de mainframe, por su robustez, su capacidad de trabajar con grandes volúmenes de datos y su lógica centralizada, siguieron resistiendo, aliadas a programas específicos, dedicados a emular aquellas terminales.

Utilizando protocolos estándar (por ejemplo TCP/IP, Telnet, SSL, SSH) estos emuladores ocuparon, por varias razones, el espacio que el viejo hardware fue abandonando, ahora como programas alojados en máquinas de escritorio.

Pero faltaba un paso más.
Con el crecimiento de Internet, las aplicaciones preexistentes escritas para mainframes también quisieron ganar su espacio en la web, ya que la disponibilidad sin límites pero con seguridad empezó a ser una necesidad, al menos de un buen sector de los usuarios. Muchas bibliotecas, universidades y organismos públicos utilizan este tipo de soluciones, al igual que aquellas empresas que pretenden disponibilidad sus aplicaciones más allá del límite de la oficina. Una solución era reescribirlas para el nuevo front-end, pero no es fácil reimplementar la lógica de una aplicación pulida durante años. La otra solución, claro, es la emulación bajo web. Los emuladores de terminal bajo web no son algo nuevo, pero hasta ahora y hasta donde conozco, los emuladores de browser suelen implementarse como componentes ActiveX o applets Java, lo que limita en muchos casos por su necesidad de instalación, el browser a utilizar (ActiveX está atado a Internet Explorer y las aplicaciones Java dependen de qué versión Java se tenga instalada).

He visto, también, algunos emuladores basados en HTML clásico, pero eran apenas algo más que prototipos. Pero ahora, con la nueva tecnología web y el centro en una interfaz HTML5, el camino vuelve a hacerse viable. Sin instalaciones, sin problemas de seguridad, sin límites en el dispositivo a usar. Un usuario típico puede usar una Mac o una PC con Windows, y a la vez utilizar un teléfono inteligente con Android, un iPad o una tableta de RIM, o la combinación que quieran imaginar. En este nuevo escenario, de múltiples dispositivos, múltiples OS, con conexión a Internet permanente, el movimiento natural nos lleva a tener un emulador de terminal que se pueda utilizar en todos ellos, indistintamente.

Imagino el siguiente escenario: voy al banco y el oficial de cuenta, en vez de ocupar su escritorio con una PC, teclado y mouse, me extiende su iPad para que veamos juntos el estado de mi cuenta. La aplicación sigue siendo la misma, y él me enseña cómo acceder, desde mi teléfono o mi propio iPad, a un resumen acotado y seguro de estos mismos datos.
Otra posibilidad sería reservar el libro que un estudiante necesita desde su propio teléfono, y usando la misma aplicación que utiliza desde una terminal dentro de su universidad.

¿No estaría bueno?

De eso se trata: Cybele Software está trabajando en un nuevo un emulador de terminal basado en HTML5, para llevar a estas aplicaciones hasta ese lugar  No hay nada que descargar. En su blog dice algo así como: "No hay nada que instalar. No hay problemas de seguridad. Sólo hay que abrir una nueva pestaña ¡y listo!".

Para más datos:

New technology sunrise: Pure-web Terminal Emulator coming soon!