lunes, 26 de marzo de 2012

GBridge - La VPN de Google

Uno de nuestros proyectos debía de integrar los aplicativos clientes (Facturación) con la sede central  (Contabilidad) ubicada geográficamente en otro lugar, para esto debíamos de implementar una VPN para que las operaciones puedan verse en tiempo real. Siendo así comencé a evaluar diferentes software que permitan crear una VPN, de los cuales, el que me sorprendió por su rápida configuración y los servicios que ofrecía fue GBridge (http://www.gbridge.com/).


GBridge es un software gratuito que te permite controlar a distancia las PC, las carpetas de sincronización, compartir archivos y chatear de forma segura y sencilla. Una extensión del servicio de Google es el servicio GTalk, GBridge forma automáticamente una colaboración, cifrada VPN (Virtual Private Network) que conecta los ordenadores y los ordenadores de tus amigos directamente y de forma segura con la tecnología patentada. 


GBridge tiene muchas características únicas, y se mencionan a continuación:

DesktopShare (VNC) : Accede a tu computadora de escritorio de forma remota o compartir su escritorio con su amigo de cualquier parte del mundo. GBridge automáticamente atraviesa firewalls y routers NAT sin necesidad de configuración.
SecureShare : Tiene una forma segura de compartir archivos entre sus ordenadores, por lo que puede tener acceso remoto a sus archivos, por ejemplo, reproducir mp3, con la máxima privacidad. Forma segura de compartir archivos a su amigo designado, por lo que el amigo seleccionado pueden ver instantáneamente las imágenes en miniatura generados automáticamente y presentación de diapositivas de forma remota. No web de carga / descarga es necesario.
AutoSync : Transferencia de archivos de gran tamaño y la sincronización de carpetas desde y hacia cualquier lugar nunca ha sido tan fácil. AutoSync soporta programación automática, las transferencias de carpetas de manera incremental y no hay restricciones de tamaño. 
EasyBackup : Instalación de una copia de seguridad automática periódica de la carpeta importante para un PC local o remoto es muy sencillo.

GBridge utiliza los servidores GTalk de Google por ello para utilizarlo lo único que vamos a necesitar es disponer de una cuenta de Google. 

Al abrir por primera vez nos mostrará esta pantalla 
Lo único que tenemos que hacer es poner el nombre de usuario y password de nuestra cuenta Google, nos apuntamos el nombre de Hostname porque luego lo usaremos desde el cliente. 


Una vez dentro podemos ver los equipos conectados con las mismas credenciales que nosotros.
Para este caso, si hacemos clic derecho sobre la PC a la que nos queremos conectar, y seleccionamos "Browse Gbridge SecureShares", podremos visualizar los archivos y las carpetas compartidas desde el otro equipo, a través de nuestro navegador.

También podemos ver los detalles de la conexión (Bridge) en el centro de redes y recursos compartidos.




El cliente "Gbridge" puede configurarse para que los demás clientes se conecten a este y puedan acceder a sus archivos directamente, para esto debe tener activado en la parte de Opciones -> Advanced Options..

Y en la ventana de Opciones avanzadas, debemos seleccionar "Windows Share Folder", con lo que le indicamos a Gbridge que habilite el compartir carpetas mediante la VPN.


A continuación una aplicación cliente (IbExpert), conectándose a una base de datos (Firebird)  ubicada en una red remota, mediante Gbridge.



Sin duda es una excelente herramienta para la creación de una VPN.



Servidos.

martes, 20 de marzo de 2012

¿Dónde está la Transacción de Firebird?

Está entrada la dedico a mi socio CSP, quién acostumbrado a gestores como Oracle o SQL Server, tuvo un problema al tratar de encontrar una transacción bloqueada en Firebird, lo cual le causó una molestia porque me indicó que los demás gestores si tenían esta funcionalidad. 

Pues, Firebird a partir de la versión 2.1, a incluido nuevas tablas referidas al "Monitoreo" del sistema, que justamente permitirán a los administradores acceder a información muy importante como son las conexiones existentes, las consultas ejecutadas, las transacciones activas, y muchas más. A continuación las tablas mencionadas:




  • MON$DATABASE: base de datos conectada. Con información como ruta de la base de datos, versión de ODS, identificadores de proceso, etc.

  • MON$ATTACHMENTS: Conexiones realizadas. Con información de estado, usuario que hace la conexión, protocolo de conexión, etc.
  • MON$STATEMENTS: Sentencias preparadas para ejecutar. Con información como identificadores, texto, estado, etc.
  • MON$CALL_TACK: Pila de llamadas de las sentencias PSQL activas.
  • MON$IO_STATS: Estadísticas de I/O.
  • MON$RECORD_STATS: Estadísticas a nivel de fila.
  • MON$MEMORY_USAGE: Uso de memoria actual.
  • MON$CONTEXT_VARIABLES: Variables de contexto conocida.

Ejemplos de consultas que se pueden realizar con estas tablas:
  • Para saber todos los identificadores de procesos con carga de CPU actuales:
SELECT MON$SERVER_PID
FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION
AND MON$STATE = 1


  • Para obtener información sobre las aplicaciones clientes
SELECT MON$USER, MON$REMOTE_ADDRESS,
MON$REMOTE_PID,
MON$TIMESTAMP
FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION


  • Para obtener el nivel de aislamiento de la transacción actual
SELECT MON$ISOLATION_MODE
FROM MON$TRANSACTIONS
WHERE MON$TRANSACTION_ID = CURRENT_TRANSACTION


  • Para obtener las sentencias actualmente activas
SELECT ATT.MON$USER,
ATT.MON$REMOTE_ADDRESS,
STMT.MON$SQL_TEXT,
STMT.MON$TIMESTAMP
FROM MON$ATTACHMENTS ATT
JOIN MON$STATEMENTS STMT
ON ATT.MON$ATTACHMENT_ID = STMT.MON$ATTACHMENT_ID
WHERE ATT.MON$ATTACHMENT_ID <> CURRENT_CONNECTION
AND STMT.MON$STATE = 1 



Realizando las consultas indicadas podemos obtener los siguientes resultados.


Servidos.

sábado, 28 de enero de 2012

El Evento DwnKey (KeyPress) en un Datawindow

A continuación mencionaré como implementar funcionalidad sobre el evento KeyPress del objeto Datawindow de Power Builder, realmente es algo muy sencillo. Para esto consideramos tener una ventana con un objeto datawindow en el que requerimos ejecutar alguna acción al presionar una tecla específica.

Primero debemos editar el objeto datawindows, para esto hacemos clic derecho sobre el objeto y seleccionamos "Script".


Ahora dentro del script del objeto, debemos ubicar la lista de eventos y crear uno nuevo (New Event).


Ahora veremos la pantalla de creación de eventos, en esta ocasión debemos seleccionar un "Event ID", y ubicar en la lista el "event ID" llamada pbm_dwnkey, así de esta manera se podemos identificar la tecla presionada y codificar la funcionalidad requerida.

Luego podemos incluir el código para agregar funcionalidad según la tecla presionada.

Y los resultados los podemos visualizar como sigue.


Servidos.