martes, 9 de diciembre de 2014

Respaldos Automatizados con WinRar

Una de las tareas más comunes en el mundo de la informática es tener que mantener copias de seguridad si bien existen muchas maneras de realizar este trabajo  desde hacerlas manualmente, recurrir a programas especializados o hacer uso del comando "robocopy" de Windows que esta pensado precisamente para este tipo de trabajo resulta que normalmente después de hacer la copia de seguridad con Robocopy tenemos que comprimir dicho respaldo por lo cual prefiero hacer uso del famoso WinRar, en este caso de la interfaz de linea de comando que posee WinRar, que por cierto es bastante poderosa.



Básicamente solo hay que seguir dos pasos: 

1.-Crear un archivo BAT con el código para que realice el respaldo (en realidad es sólo una linea o comando la que realiza el trabajo) pero en el ejemplo agrego la funcionalidad de mostrar un mensaje al iniciar la tarea y mensaje al terminar la tarea esperamos unos segundos y cerramos la ventana de MS-DOS además de estar comentado con detalle.
2.-Agregar una tarea automática en Windows e invocar al archivo creado
      Inicio>>Todos Los Programas>> Accesorios>>Herramientas del Sistema>>Programador de Tareas
    Crear tarea básica
    Ingresar nombre y descripción de lo que hace la tarea en este caso se trata de un respaldo
    Indicar la periodicidad (Diario, Semanal; Mensual)
    Indicar horario
    Seleccionar la opcion "Iniciar un Programa"
    Seleccionar el archivo .bat que creamos en el paso 1
   Finalizar el asistente.

   

Aquí dejo un ejemplo de un archivo BAT 


@ECHO off
REM *** Script creado el 2014/12/08 por Guillermo Rmz P.***
REM *** Este script crear un na copia de seguridad en la carpeta "\\PC-Destino\Carpeta-Destino\Nombre-del-Archivo"  de la carpeta  "C:\Carpeta-Orige"
REM *** El respaldo es creado por el programa WinRar, por lo cual es indispensble que se encuentre instaldo
REM *** Explicación de comando:
REM ***                "c:\Archivos de programa\WinRAR\WinRar" : Ruta donde esta instalado WinRar
REM ***                a: Agrega el archivo
REM ***                -ag: Agrega la Fecha al archivo creado
REM ***                +YYYYMMDD: Establece el formato AAA MM DD
REM *** ping localhost -n 10 >nul  es  solo un "truco" para mantener la ventana abierta durante 10 segundo si requieres mas tiempo cambia el 10 por el numero de segundos; si no requieres que se mantenga la ventana elimina esta linea

REM *****************Inicio del Script ***************************

ECHO El proceso de copia de seguridad ha iniciado: %date% " " %time%

"c:\Archivos de programa\WinRAR\WinRar" a -ag+YYYYMMDD "\\PC-Destino\Carpeta-Destino\Nombre-del-Archivo" "C:\Carpeta-Orige"

ECHO El proceso de copia de seguridad ha terminado: %date% " " %time%

ping localhost -n 10 >nul

Exit

Nota: Si deseas comprimir solo cierto tipo de archivos puedes modificar la ruta de origne de la siguiente manera C:\Carpeta-Orige\*.txt

De esta manera se comprimirán los archivos con extensión *.txt

lunes, 3 de noviembre de 2014

Modificar Reportes Aspel SAE o CAJA (agregar una nueva consulta)

    Como ya lo comenté no soy fanático de ASPEl sin embargo muchos de mis clientes usan alguno de estos sistemas así que no queda de otra mas que aprender un poco y en esta ocasión quiero compartirles la manera en la que se puede agregar una nueva consulta a un reporte; en especifico estoy modificando el reporte "Emisión de Compras" ya que debo agregarle el precio público y como se darán cuenta este campo no viene en ninguna de las tablas o consultas del reporte por lo cual hay que generar la consulta y relacionarla con la tabla cdtsPartidas



Para modificar un reporte debemos seguir estos pasos

1.-Reportes-->>Administrador de reportes

2.-Navegamos hasta el reporte que deseamos modificar y lo seleccionamos (dando un clic)

3.-Damos clic con el botón secundario del ratón y seleccionamos la opción Editar Reporte

4.-Damos clic en el icono amarillo (Base de datos)

5.-Nuevo

6.-Query

7.-Ingresamos el nombre para la nueva consulta,

8.-Seleccionamos la tabla MAESTRA, esto no es otra cosa mas que la tabla o consulta que del reporte y que nos servirá para relacionar la nueva consulta con una consulta del reporte, la cual realizara la albor de Tabla Maestra. Esto es muy similar a realizar un INNER JOIN

9.-Generamos la consulta en este caso sería:

SELECT  cve_art, precio
FROM     PRECIO_X_PROD01
WHERE  cve_precio = 1
       AND cve_art = :cve_art

Esta consulta selecciona la clave del articulo y el precio de la lista de precios filtrando solo  los precios al publico (cve-precio = 1)  y  relaciona esta consulta con el campo cve_art de la Tabla Maestra, en este caso cdtsPartidas (cve_art = :cve_art)

10.-Finalmente no queda nada mas que dar clic en la boton Parámetros, donde nos aparecera nuestro unico parametro, seleccionamos el tipo de dato, en este caso string y seleccionamos la opcion Asignar valor desde el conjunto de datos maestro.

Ahora podemos usar el campo precio en nuestro reporte y sabemos que este precio es el precio publico ya que nosotros filtramos la consulta ..




Guillermo Ramírez Palomares
Tecnotlan... Ciudad de la Tecnología
Salu2


jueves, 8 de mayo de 2014

Servidores Proxy Web

Servidor Proxy WEB

  En términos generales un servidor Proxy , es un equipo que actúa como intermediario entre dos equipos o dispositivos; para el caso especifico del servidor Proxy WEB  se trata de un servidor que recibe peticiones de los clientes, estas peteciones son accesos a contenido WEB de ahí su nombre, este ejecuta la consulta, en nombre del cliente, y devuelve el contenido.

Usos:

Controlar y Administrar: Un servidor Proxy WEB nos permite controlar y administrar la navegación hacia Internet por parte de los usuarios, asì pues el servidor proxi nos da la posibilidad de aplicar reglas de navegación a ciertos usuarios.   Por ejemplo podríamos definir tres grupos de usuarios: "Operadores", "Administrativos", "Directores" y aplicar las sigueintes reglas:

Operadores: Sin acceso a Internet
Administrativos: Acceso a Internet, excepto a páginas de redes sociales  y contenido inapropiado
Directores: Acceso ilimitado a Internet


Reducción del Trafico:  Esta es otra de las ventajas que podemos tener al implementar un Servidor Proxy WEB, siempre y cuando tenga habilitado el cache; Como se mencionó anteriormente el servidor recibe peticiones de los clientes (usuarios) y devuelve el recurso (normalmente páginas de Internet), al cliente, así que al tener  habilitada la función de chache es posible almacenar este recurso ("pagina") en el disco duro del servidor para cuando otro cliente (usuario) solicite la misma página el servidor no tendrá que volver a ejecutar la consulta sino que podrá devolver la pagina que tiene almacenada en cahce,  de esta manera se logra reducir el trafico generado hacia Internet.


Servidores Proxy Populares

Squid

 Squid es sin duda uno de los más famosos servidores WEB que existen es usado  tanto para pequeñas oficinas como grandes por corporativos. Su función es implementar un servidor proxy con cache.

En honor a la verdad resulta ser un excelente servidor proxy,  pero su configuración no es lo  mas sencilla especialmente si estamos acostumbrados a los asistentes de Microsoft y a las interfaces gráficas, en otra publicación tratare de abordad con detalle la manera de instalarlo y configurarlo desde cero y a "mano". Aqui les dejo la liga de la pagina por si estan interesados en ingresar a las entrañas del mundo de Squid (http://www.squid-cache.org/)


 Microsoft Proxy Server

  Proxy Server, de Microsoft tiene coo funcion controlar el acceso desde la red local a Internet permitiendo hacer cache de los recurso de internet acelerando la navegacion y reforzando las politicas de seguridad y acceso desde la red local hacia Internet. 

En escencia es exactamente lo mismo que Squid, aun que solo he trabajado muy poco con el  puedo decir que resulta amigable pero no tan flexible como lo puede ser Squid, ademas que  hay que pagar licencias.


Zentyal

  Zentyal es mucho pero mucho mas que un servidor Proxy con Cache, en es un conjunto de herramientas Open Source integradas en una sola distribución y con una interfaz WEB extremadamente intuitiva que lo convierte en un software muy amigable, el principal objetivo de Zentyal no es ser un servidor WEB sino un reemplazo de  Microsoft Exchange, al ser 100% compatible con los clientes de correo outlook (Correos, calendarios, agenda)

Bueno retomando Zentyal como servidor proxy es importante recalcar que la implantación del servidor proxy no es otra que Squid junto con DansGuardian, sólo que Zentyal nos hace las cosas fáciles, pues tiene una Interfaz gráfica muy intuitiva, como es costumbre en Zentyal, y el se encarga de hacer el trabajo rudo,














viernes, 10 de enero de 2014

El Infierno Aspel

No sé si he tenido muy mala suerte o si no me he adentrado lo suficiente en los sistemas de Aspel pero de verdad creo que los Aspel (Coi, Noi, SAE, Caja) diseña sus programas de tal manera que se asegura de obligarnos a pagar costosas pólizas de servicio  y constantes actualizaciones.

Aun no termino de entender porque es tan popular siendo, desde mi punto de vista, tan malo.

Tendría un sin fin de quejas con casi todos sus sistemas, pero comenzare con Aspel Caja:


En la versión 3.5 finalmente se decidieron a usar una base de datos "moderna", pues en la versiones anteriores venían usando maneja dores de base de datos de la era de los dinosaurios. En esta versión optaron por FireBird que es un derivado de mysql , y a juzgar por las pruebas no es nada malo el manejador lo que es realmente malo es el diseño de la base. a quien que sea medianamente inteligente o que tenga nociones de bases de datos relacionales se le ocurre hacer una tabla para cada día de operaciones.

Asi es caja crea varias tablas por cada dia de operacion, entre lasque recuerdo son

VXXXXX: Donde V indica quese trata de una tabla de ventas
DXXXXX: Donde D indicaq que se trata de una tabla de detalle de venta
IXXXXX:   Donde I indica que se trata de una tabla de Ingresos o era Impuestos ( no recuerdo).


Asi que despues de un añode funcionamiento tendra usted en su base de datos más de mil tablas si 1000 tablas. Ni varios de los ERPS mas robustos que conozco tienen esa cantidad de tablas. Pero esperen eso no es todo estaba olvidando comentar que crea una de estas tablas por cada tienda o por cada caja que esten configurada; asi que supongamos que tiene una tienda con 6 cajas * 3 tablas ( en realidad son mas) * 365 días, después de un año tendremos mas de 6,500 (seis mil quinientas) tablas en la base de daos.

Ya se imaginaran lo lenta que se puede volver la base de datos y lo complicado que resulta intentar hacer una consulta.

Por ejemplo para consultar las ventas de dos días de dos cajas diferentes  (desde estas tablas ) se tendría que hacer algo  como esto:

Select   *
From    VentasCajaUnoDiaUno
Union
Select *
Fom     VentasCajaDosDiaUno
Union
Select *
Fom     VentasCajaUnoDiaDos
Union
Select *
Fom     VentasCajaDosDiaDos

Dios Santo.......esto es solo para dos días y dos cajas, en lugar de poder hacer algo similar a esto:

Select *
from Ventas
Where ven_fecha between Fecha1 and Fecha2
            and ven_cve_caja in (1,2)
 

Quien les enseño a diseñar bases de datos, de verdad son tan tontos ? No lo creo mas bien creo que ha sido una cuestión de mantener la base de datos bastante mal estructurada hasta el punto que sea casi imposible obtener información de ella si no es a través de sus reportes .

Espero sus comentarios


 
 
En este espacio pretendo compartir algunas experiencias, trucos y aprendizajes que he tenido a lo largo de mi pasar por el mundo de la tecnología, algunas son cosas muy sencillas otras no tanto pero todas me han sido de utilidad y espero que cumpla con estos dos objetivos:


  • Facilitar el trabajo de alguien más.
  • Me sirvan de referencia cuando me enfrente de nuevo al mismo problema.