viernes, 4 de julio de 2008

Compartir ficheros AIX vs WINDOS con WinSCP

Un día entero me llevó conseguir esto... y lo realmente fácil que es.

Hasta el mes pasado estábamos descargando unos ficheros manualmente desde un servidor AIX a uno de nuestros servidores de aplicación Windows 2003. Usábamos un cliente de WinSCP y, pese a que la tarea era manual, esta rutina solo se llevaba a cabo una vez por semana.
El problema vino cuando, para un nuevo proyecto, necesitamos que los datos sean descargados para su posterior proceso todos los días y además de madrugada. El caso es que no nos apetecía descargar los ficheros a manubrio (obviamente) y el lío en si es la diferencia de formatos de almacenamiento entre un LINUX y WINDOWS, con lo que no se podía programar una tarea de transporte de ficheros a pelo. Había que transformarlos de alguna manera.
Buscando y buscando al fin volví al punto de partida (el bendito WinSCP) y su ¿lenguaje? para hacer Scritping. Gloria a eso ahora hemos diseñado un pequeño script que nos sincroniza cada día las carpetas que necesitamos. Simplemente después hay que ejecutar en un CMD el script por medio de su motor y ¡A volar!
La programación de la ejecución de terminal la podéis hacer, como por ejemplo la hemos hecho nosotros, por medio de un SQLServer y su gestor de paquetes.

El Script, simplemente abrid un bloc de notas y guardadlo como un txt normalillo:


# Para que sepa ejecutarlo en batch
option batch on
# Quitamos el alert de confirmación de movimiento
#(en un batch no tiene sentido tener confirmaciones)
option confirm off
# Conexión: Usuario:contraseña@IpServidor
open yomismo:12345@12.123.45.789
# Cambio al directorio deseado
cd /directorio/subdirectorio
# Sincronizo las carpetas deseadas
# Parte izquierda Windows, parte derecha AIX
synchronize both c:\cosas\Cosa2\ /varetisdf/cc_collectsource
# Desconecto
close
# Y salgo
exit

Tras todo esto, simplemente hacemos la llamada desde el terminal, o desde cualquier programa utilizando un shell. En este caso he puesto el script en la misma ruta que el ejecutable del WinSCP.

winscp.exe /console /script=miScript.txt

Como Siempre, espero os haya servido de ayuda y ya sabeis, si teneis alguna duda poned un comentario y se intentará exprimir un poco más nuestra experiencia.

lunes, 21 de abril de 2008

Vamos a empezar por algo sencillo, algo de javascript.

Para un proyecto en ColdFusion necesitabamos que el usuario mediante la pulsación de una combinación de teclas fuese capaz de dar el foco a un determinado campo de un formulario. Con un keypress capturamos el código de la tecla y lo almacenamos en un array, cuando los dos elementos de dicho array sean las dos teclas que queremos, dispararemos la acción, en este caso un focus.


-- Función Keypress

<script language="JavaScript" type="text/javascript">

var KPAry=new Array();
function KeyPress(e)
{
KPAry[KPAry.length]=e;
if (KPAry.length==2){
if (KPAry[0]==16&&KPAry[1]==65)
{
document.Suche.nam.focus();
}

KPAry=new Array();
}
}

document.onkeydown=function(evt){ KeyPress(evt?evt.keyCode:event.keyCode); }

</script>




Espero que os haya sido de utilidad.

Un saludo.

P.D: Un buen ejemplo de página: Información de Galapagar

domingo, 20 de abril de 2008

Introducción

Es increíble lo que ha avanzado la programación en los últimos años. A día de hoy tenemos múltiples y variados lenguajes de programación para hacer una misma cosa (y no digamos plataformas). Esta diversidad nos lleva más rápida y fácilmente a nuestros objetivos, sin embargo hemos de pagar el precio de la ignorancia. Hoy en día los programadores somos una herramienta multilenguaje, somos unos políglotas del código y unos humanistas del método... sabios en general, ignorantes en particular.

Con la llegada de Internet, los plazos de programación se acortan y aquella romántica concepción del estudio y análisis de los proyectos que nos enseñaron en la carrera, queda atrás como un Framework de sabiduría compartimental olvidado entre las nuevas versiones de conocimiento.

Buena parte del tiempo de mi jornada como trabajador lo paso buscando trozos de código (da igual el lenguaje) que me ayuden a acortar los plazos de entrega para poder ir a tomar un café al bar con mis colegas de oficina. Dichos fragmentos de código, la mayoría de las veces, son confusos y no se acercan para nada a lo que se necesita. Los hardcoders que cohabitan en los foros de Internet no hacen más que intentar demostrar su valía en un determinado lenguaje, sin importar si el que los lee, realmente quiere saber tan en profundidad la complejidad del algoritmo que han diseñado durante sus horas de sueño.

En este minúsculo rincón perdido de la red global intentaré mostrar las soluciones que día a día mis colegas del departamento de desarrollo de mi empresa y yo, hemos ido consiguiendo y diseñando para nuestros propios casos reales, de una manera asequible (espero).

Salu2.