Desarrollo de Sistemas ERP/CRM y Software Libre, Linux, Desarrollo de Proyectos, Programación OpenSource. Web

jueves, agosto 31, 2006

Reflexiones en pos del ERP y las bases de datos

Leyendo un articulo de Esther Shein del sitio Managing Automation [1] titulado "How to Implement a Single, Global ERP System" me pongo a reflexionar sobre la necesidad que tienen las grandes empresas y sobre todo las que tienen una infraestructura nacional o internacional y donde las comunicaciones cumplen un papel fundamental para contar con sistemas integrados de gestion de recursos.

La importancia que tienen en estas infraestructuras las bases de datos es fundamental, esto unido a las redes de datos han modelado el panorama de los sistemas ERP durante muchos años, reflejandose en la modelacion de sistemas distribuidos ya que las bases de datos no pueden accederse centralmente y en los mecanismos de replicacion de datos para poder contar con la informacion en los lugares donde esta sea necesaria.

Se existiese un esquema de replicacion minimo, tal que sea posible hacer una replicacion de datos top-down y down-top de manera que en el servidor primario este toda la informacion y en el secundario solo la que se necesita, podria utilizarse este esquema para potenciar sistemas distribuidos ERP ya que la naturaleza propia de las organizaciones es la de contar con estructuras que asemejan arboles por lo cual es suficiente poder replicar la informacion hacia arriba todo, hacia abajo solo lo necesario segun el modelo de negocio que se implante.





[1] How to Implement a Single, Global ERP System

XMLREG de nuevo a la carga

Hola amigos bloggeros

Mi proyecto XMLREG va de nuevo a la carga, con nuevas ideas, he logrado mejorar la definicion de datos e incluso la definicion de documentos de validacion, creo que en estos momentos esta mas claro lo que pretendo con este proyecto.

La idea principal es brindar una via estandar de extensibilidad de datos y definiciones. Visto desde la optica de los sistemas de gestion informativa seria posible definir todo el sistema e ir implementando las funcionalidades en la medida que estas fueran necesarias sin que esto suponga un gasto de mantenimiento, readaptacion o de reprogramar funcionalidades, asi mismo, en las interfaces de datos, el estandar de facto XML es "demasiado" extensible, IMHO, y eran necesarios mecanismos para estandarizar tambien la forma en que estos documentos se pueden extender, o sea, definir estructuras practicas para almacenar informacion dentro de documentos XML, para esto nada mejor que adaptar el modelo relacional de E. F. Codd.

Ya se encuentra disponible un primer documento de definicion de intenciones, caracteristicas basicas de los documentos y sistemas que cumplan con el modelo de documento del proyecto XMLREG y un caso de uso, ademas de ejemplo de documento.

Si Ud. esta interesado en colaborar o conocer mas sobre XMLREG o desea consultar la documentacion del mismo, escribame a:

ernesto@consumimport.mincex.cu

Las criticas y sugerencias seran mas que bienvenidas.

lunes, julio 17, 2006

Una Wiki AJAX con bastantes extras

Ahora tengo un nuevo juguetico, la Wiki AJAX IRDB2, Inicialmente pensado como una plataforma para el desarrollo de aplicaciones Web basadas en definiciones de datos y sus interrelaciones asi como sus caracteristicas independientemente si el motor de datos las soporte o no, esta parte espero comenzarla pronto y darle a la esta Wiki un toque de distincion entre el resto de los motores Wiki del mundo, tanto libres como comerciales.

Aun me faltan varios retoques y sintaxis que poder parsear, asi como un player de videos flash, de audios, page file uploader, downloader, y varias cositas mas. Ya Yahima (mi novia) comenzara a utilizarla para un proyecto de Web educativa de contenidos pedagogicos aprovechando la posibilidad de definir comandos propios que le permitan describir ejercicios tipos, con la posibilidad de contar con las respuestas si se desea y aprovechando la caracteristicas de ser auto-contenidos para poder distribuir estas paginas Wiki a traves de la red de centros de enseñanza en la municipalizacion.

Si tuviera un SVN cubano lo subiria para que la prueben, mientras solo pueden escirbirme y les mando la instalacion para que la prueben, o los fuentes si estan interesados en colaborar.


viernes, julio 07, 2006

Estoy de vuelta

Despues de un incidente que dejo mi empresa sin redes de datos, ya estoy de vuelta, con buenas noticias. En este tiempo de actividad limitada logramos terminar el Sitio Wiki de la empresa y digo "logramos" pues conte con la ayuda de una increible compañera, Zaili, estudiante de Ingenieria Informatica del ISPJAE (o CUJAE) de 3er año, que paso las practicas profesionales este año aca conmigo.

Nos batimos bien duro con una GLC (Gramatica Libre de Contexto) para el WikiFormatting, similar a la de MediaWiki (solo similar) que nos permite ahora contar con un marco idoneo para seguir desarrollando los Servicios de Datos que estan planificados hospedar en dicho Sitio Wiki.

El nombre del sitio "CONSUMIMPORT Wikinet", un abanico de posibilidades para extension, utiliza registro encriptado de usuarios, AJAX para toda la interaccion de paginas, permisos sobre paginas, ficheros adjuntos, comentarios de pagina y unas cuantas cositas mas, aqui les dejo una captura de pantalla:



viernes, junio 09, 2006

Modelo de negocios de Tienda Virtual

El comercio electronico es prioridad para muchas empresas que todavia no han podido tener resultados en este variante de gestion comercial debido en gran medida a las dificultades de infraestructura y tecnologicas necesarias para lograr realizar el e-commerce de manera real y eficiente. Muchos son los aspectos que aun faltan por resolver, de manera que una opcion viable para las empresas nacionales es potenciar el uso de catalogos o "vitrinas" virtuales donde sus productos sean vistos, valorados y "comprados", en un proceso que no puede catalogarse como completamente electronico, ya que algunos pasos del ciclo de compra, por algunas limitantes, no pueden ser realizadas completamente de manera virtual en Internet, como son el Pago y el Envio de la mercancia.
En mi empresa por limitantes tecnicas no es posible hacer una relacion directa de la tienda virtual (como recurrentemente la llaman) y el sistema de inventarios y contabilidad que finalmente emite, registra y contabiliza las facturas de venta, puediendo ser estas de gran variedad lo que le adiciona un grado mayor de complejidad, siendo el sistema en cuestion, un sistema propietario por el que la empresa paga una licencia, que no le da derecho siquiera a inmiscuirse en las bases de datos de este para extraer informacion o actualizarla de forma que los clientes puedan interactuar directamente con el sistema desde la tienda virtual, aun cuando el conocimiento necesario para poder realizar esta labor tendria que necesariamente ser obtenido por ingenieria Inversa, proceso que ademas esta prohibido por la licencia de uso. Resultando en una dilatacion de los tiempos de puesta en marcha de dicha tienda virtual con el consecuente gasto que en el tiempo ya se ha realizado por conceptos de hosting, desarrollo, etc.
A mi juicio lo que falla aqui es el modelo de negocios que se quiere implantar, en donde tenemos un componente clave que no es posible (por ahora) eliminar, siendo el sistema de contabilidad e inventarios la piedra angular del asunto, ya que todos los sistemas de tiendas que se han desarrollado chocan con la inevitable interaccion directa entre estos y el sistema de contabilidad, caracteristica deseable pues permitiria automatizar un proceso de venta que aliviaria la carga de los vendedores. Interaccion impuesta por el modelo de negocios escogido inicialmente y nunca puesto a discusion. Pero? Seria conveniente cambiar el modelo de negocio de manera que los usuarios no estarian directamente interactuando contra las bases de datos del sistema (cosa por demas peligrosa) realizando pedidos y emitiendo facturas automaticamente que en definitiva tendrian que ser revisadas por los vendedores, pues como todos sabemos este proceso no puede escapar del control necesario para garantizar la seguridad y eficiencia del mismo?
Creo que el modelo de negocio podria ser otro, en el cual se tendria una tienda virtual general y donde:

  • Los vendedores (de las consignaciones o tiendas o puntos de ventas que sean) registran en la tienda los productos que ellos consideren susceptibles de ser vendidos mediante la red, especificando precios, descripciones, medios audiovisuales, tarifas, formas de pago, envios, etc. Donde estos pueden ser agrupados por los tipos, almacenes, puntos de venta, y muchas otras categorias para agilizarle la busqueda a los clientes. Garantizando siempre que las existencias de la tienda se correspondan sino exactamente, en menor cuantia a las que tiene en el almacen.
  • Los clientes cuando busquen un producto, se registran en el sitio, garantizando la seguridad de las operaciones y cuando hagan su seleccion estas le seran desglosadas segun los puntos de venta a los cuales sus ofertas seran dirigidas.
  • Estas ofertas de compra, son redirigidas electronicamente al vendedor el cual les da curso de forma electronica, ya sea registrando la informacion de la compra en "SU" sistema de inventarios y contabilidad conformando una prefactura que le es enviada de vuelta al cliente a traves de la tienda virtual. y donde este si esta conforme emite sus cheques y se dirige a los puntos de ventas con su prefactura y su cheque a hacer las facturas, pagar y retirar la mercancia, o en su defecto designar a un transportista a que realice la operacion, ya sea propio o sugerido por la tienda virtual. conformandose el ciclo de venta completo.
Este modelo de negocio ya ha sido usado por el portal B2BCuba y da oportunidades a varias empresas a publicar sus productos en un unico lugar, donde los clientes pueden hacer sus compras con regularidad, permite la creacion de servicios de transporte adicionales y es susceptible de ser integrado con los sistemas de las empresas que lo permitan, donde no sea posible entonces el vendedor asumira la tarea de intermediario.


Registro Seguro IRDB2+DataServices, resumen MD5 de 'root'

Implementando el registro de usuarios en IRDB2, coincido con varios autores que refieren el uso de la funcion Hash MD5 para encriptar la contrasenna, eligiendo la variante de doble encriptacion en el cliente con transformacion por secuencia aleatoria en el segundo paso lo que garantiza que tanto en el cliente como en el servidor las contrasennas permanezcan encriptadas y no sea posible realizar una suplantacion de identidad por clientes no autorizados, lo cual ya era una posibilidad en IRDB y donde se ha mejorado el proceso.
Como dato curioso, probando el metodo de encriptacion en el cliente muestro en el navegador el resumen MD5 del texto 'root' y al no poder copiarlo (no se por que?) le he dado a la opcion buscar sobre el numerito en cuestion (con el fin de copiarlo desde el google) y me han salido casi 350 resultados del resumen de la palabra 'root':

63A9F0EA7BB98050796B649E85481845

La mayoria (por no decir todos) son referencias a claves de usuarios administradores en diversos sistemas, desde una DB sobre biodiversidad de la U. Texas Austin, un sistema nombrado Mantis, MySQL, algo de XOOPS, y asi...

En tanto ya IRDB2 registra sus usuarios contra el DataServices perfectamente, en base a esto pueden ser establecidos varios esquemas de seguridad segun las necesidades de desarrollo, para la Wikinet de la empresa el modelo es sencillo, por grupos jerarquicos, de manera que los niveles superiores tienen mas de rechos sobre los contenidos que los niveles inferiores, siendo posible implementar casi cualquier modelo de seguridad que tenga como base a usuarios, grupos y permisos.

miércoles, mayo 31, 2006

Wiki + Intranet + Servicio de Datos = Wikinet

Estoy en estos dias tratando de reutilizar un viejo proyecto (IRDB) para desarrollar un sitio Web para la Intranet de la empresa, particularmente me interesaba tener una Wiki y algunos Servicios de Datos, pero haciendolo mucho mas sencillo, pues IRDB tenia algunas deficiencias organizativas que espero superar esta vez, dandole un toque mas descriptivo a la definicion del sitio y las funcionalidades de este y prescindiendo de la base de datos de uso obligatorio en IRDB.

Asi, esta surgiendo poco a poco IRDB2, basado en DataServices, un proyecto de implementacion de XMLREG que poco a poco va rindiendo sus primeros frutos y ya da soporte para definicion XML de todos los ficheros, plantillas pre-procesadas, Upload de ficheros, registro encriptado, AJAX y Wiki.

Los proximos pasos van orientados a dar soporte de XMLREG, definicion, estilo y motor de registros para trabajo con datos (captura, reporting, navegacion, filtrado inteligente, etc.). Todo desarrollado en Java, para aprovechar lo desarrollado previamente y aguardando un SVN nacional para publicacion y desarrollo colaborativo (preferentemente con buena disponibilidad)

martes, mayo 16, 2006

Compvtadoras no es Compvtacion

Realmente no espero que este sea un post reflexivo, solo pretendo criticar el hecho de que cuando queremos impulsar la computacion en el pais y en las empresas, pues nos limitamos a solamente hacer grandes gastos en infraestructura, compramos muchas computadoras, pentium IV o lo que sea, simplemente las ultimas que haya y renovamos el parque tecnologico con la esperanza que nuestros problemas informaticos desaparezcan cuando en realidad no hacemos nada concreto que pueda ayudar. Recientemente se esta extendiendo una moda (por lo menos aqui) de prohibir, entre las que estan: La musica (comprensible hasta cierto punto), las fotos personales (ahora si no lo entiendo), los correos basados en web , las listas de correo (fuente muchas veces unica de informacion), los chats (como ya comente) y cualquier otro uso de las maquinas que sea considerado previamente. Creo que habria que ser un poco mas considerados con personas que pasan muchas veces mas de 8 horas diarias frente a una computadora.
Vaya, como si alguien estuviera aplicando las reglas del mercado del software privativo a las maquinas, esto es realmente novedoso (fue una ironia...)
Me han baneado, desde Jabber.com, hasta la lista de discusion de Python, y no he querido ir mas alla para no volverme loco y pedir la baja de este centro que hace todo lo que puede por la computacion pero no lo que deberia.
Es una lastima.

El demonio C|-|AT

El demonio del Chat, si un demonio como nos lo quieren imponer, simplemente eliminado de cualquier servicio de Internet sin que nadie sepa o pueda dar una razon del por que esta prohibido el chateo.

Creo que prohibirlo tiene una componente de pesimismo tremenda sucitado por una cadena de particularidades tan discimiles como: Si pudieras chatear, es seguramente para pasarte todo el dia hablando sin trabajar, perderas rendimiento, perderas recursos asignados a ti por el estado, y al final cuando no cumplas con tu trabajo no podre despedirte de todas formas, por lo que estare condenado a seguir aguantando tu ineficiencia hasta que desees marcharte a otro lado.

Pesimista sin duda, por que mejor no: Si pudieras chatear, le ahorrarias a la empresa mucho dinero por concepto de llamadas telefonicas nacionales e internacionales, acercaras al desarrollo de la empresa a todos los profesionales amistades tuyas que en un momento determinado puedan estar on-line y responder dudas sobre algun problema en tu trabajo, siempre estaras accesible en tu puesto de trabajo y sobre todo te concentraras mas en tu objetivo al tener resueltos muchos problemas de comunicacion.

Acaso es tan distinto el telefono de un chat? cual es mas caro? con cual se pierde mas el tiempo? deberiamos prohibir el telefono tambien?

Creo que tener las condiciones necesarias para trabajar es un aspecto esencial para todo profesional, la comunicacion es parte de estas condiciones, pues garantizandole al trabajador todo lo que necesita estaremos en condiciones de exigirle mas y exigirle calidad.

Notemos que la comunidad empresarial a nivel mundial se mueve en el entorno de la mensajeria instantanea corporativa, siendo Jabber el puntero en este sentido.

En mi misma empresa cuando comence a trabajar el pasillo era un hervidero de personas viajando de oficina en oficina, buscando informacion, muchas veces para solo comunicarse algo, incluso se llamaban por telefonos directos con el gasto consecuente aun teniendo redes de computadoras que solo usaban para correo e internet (sin chat claro). Despues de varias peticiones de usuarios concientes, se comenzo a instalar un sistema de mensajeria instantanea en el cual hoy en dia estan todos los usuarios, con la posibilidad de incluso mandar ficheros por la red y saber el estado de actividad de los usuarios.

Hoy en el pasillo solo estan los fumadores o los pasilleros de siempre, conversadores en potencia a los que la tecnologia no ha podido contagiar.

Referencias


[2] IM Corporative, Google
[1] Mensajeria Instantanea Corporativa, Google
[3] Jabber

sábado, mayo 13, 2006

Complemento al Post anterior

En resumen... hacer algo y describir como hacerlo son equivalentes.

Ya estoy en esto.

miércoles, mayo 10, 2006

Factorizando las Aplicaciones de Gestion

Toda aplicacion de gestion cumple con un principio basico: Todas tienen datos, conectividad sobre estos y forma de visualizar, analizar, capturar, procesar, etc. la misma por los usuarios del sistema.

Visto, quizas de una manera simplista, desde la optica del usuario, son una suma de funcionalidades asociadas a datos que se interrelacionan para lograr un fin comun. Por ejemplo, un sistema contable se le presentara a los usuarios como pantallas de captura y reportes, listados de cuentas, de movimientos, de operaciones, etc. Cada una personalizada de acuerdo a las caracteristicas de los datos con los que trabaja y compartiendo todas, en el mejor de los casos el estilo de interfaz que resulta conveniente para facilitarle el aprendizaje del sistema al usuario, quedando resumido los sistemas de la siguiente manera:

Sistema = Modulo A + Modulo B + ... + Modulo N

Donde cada Modulo es:

Modulo X = (Datos X * Formularios X * Reportes X * Otros X)

y siendo:

Datos X = (Definicion X * Estructura X * Conectividad X * Interfaz de Datos X)

Definicion X, la definicion formal de los datos para el modulo X
Estructura X, la estructura de los datos X, que muchas veces no coincide con la definicion.
Conectividad X, la forma de conectarse con los datos X
Interfaz de Datos X, la forma de interactuar con los datos (generalmente comun, SQL)

Formularios X, la forma de visualizacion de los datos con las funcionalidades asociadas.

Reportes X, la forma de crear reportes o los reportes definidos en el Modulo X

Otros X, cualquier otra funcionalidad de datos que sea asociada al Modulo

En aras de brindar sencillez al desarrollo de explicaciones siguientes vamos a hacer notar que como Formularios X, Reportes X y Otros X son basicamente funcionalidades de X, mejor las denotamos como Funcionalidades X. quedando la ecuacion de la siguiente forma:

Sistema = Datos A*Funcionalidades A +
Datos B*Funcionalidades B + ... + Datos N*Funcionalidades N

sustituyendo:

Sistema =
Def. A * Est. A * Con. A * Intrfz. A * Func. A + Def. B * Est. B * Con. B * Intrfz. B * Func. B + ... + Def. N * Est. N * Con. N * Intrfz. N * Func. N

Que gano con esto?

Aun nada, pues como las Funcionalidades de cada Modulo son muy particularizadas a estos, no es posible simplificar mucho la ecuacion, pero, si en cambio puedo contar con un elemento Funcionalidades que sirva para cualquier Datos X, (lo que representaria contar con herramientas genericas) tendria...

Sistema = Func.*(Def. A * Est. A * Con. A * Intrfz. A + Def. B * Est. B * Con. B * Intrfz. B + ... + Def. N * Est. N * Con. N * Intrfz. N)

Asi mismo seria si pudiera contar con alguna forma de hacer lo mismo para otros componentes de la ecuacion, como por ejemplo la Conectividad de Datos y la Interfaz de Datos, cosas que ya se vienen haciendo desde siempre, quedando entonces:

Sistema = Func.*Con.*Intrfz*(Def. A * Est. A + Def. B * Est. B + ... + Def. N * Est. N)

Es claro que para que todos estos componentes de la ecuacion funcionen correctamente es necesario un conjunto de informacion que ellos no poseen y solo los modulos pueden brindar por lo que es necesario introducir un elemento en cada modulo, que sirva para describir como las funcioanlidades que han sido sacadas como elementos comunes, el elemento que se necesita es Metadata X, quedando la ecuacion:

Sistema = Func.*Con.*Intrfz*(Def. A * Est. A *Met. A+ Def. B * Est. B*Met. B + ... + Def. N * Est. N*Met. N)

Como el elemento Definicion X es inherentemente de definicion, descriptivo, este puede ser mezclado con el elemento Metadata X, ganandose en simpleza y efectividad.

Sistema = Func.*Con.*Intrfz*(Met. A * Est. A + Met. B * Est. B+ ... + Met. N * Est. N)

Ahora, en este ultimo sistema lo principal es contar con buenas herramientas de Funcionalidades, de Conectividad y de Interfaz de Datos, lo demas es definir y modelar y ya tendras un sistema listo para ser usado, extensible por naturaleza y adaptable a cualquier contexto.

sábado, abril 22, 2006

Mi primer intento con Python, Una Wiki

Hace varios dias vengo probando Python, un lenguaje de script, pero con muchas funcionalidades que lo hacen perfecto para muchas tareas de programacion (incluso desarrollar sistemas completos), muy facil, bien documentado y con cantidad de librerias que vienen incluidas para todo tipo de aplicaciones, especialmente para Web y pequeños scripts, que pueden contar con toda la funcionalidad que uno desee dada la gran cantidad de librerias que ya incluye Python y las que la comunidad ha desarrollado.
Una de estas librerias (mas bien un ficherito) es WEB.PY, un perfecto servidor Web con tremenda capacidad de resolucion de URLS a traves de expresiones regulares y la posibilidad de asociar estas a clases en python lo que agiliza mucho el desarrollo de aplicaciones Web, dandose a conocer como el "antiframework framework".
En el sitio de WEB.PY vienen algunos ejemplos de uso, uno de ellos una Wiki hecha en Python, con WEB.PY, me gusto y decidi probar el lenguaje y las facilidades de script tratando de modificar en algo inicialmente esta Wiki. a la que le agregue algunas mejoras y pongo a disposicion de Uds. para que comprueben lo facil que es desarrollar en Python y la potencia de las soluciones.

Debido a que no tengo sitio donde hospedar ficheros, les dejo mi correo y si quieren les envio el fichero de wiki.py, el web.py y el markdown.py, y les instruyo de como correrlo.



jueves, abril 13, 2006

Redes de datos de bajo costo

Las empresas del pais estan cambiando su forma de procesar los datos, algunas ya, la necesidad las ha obligado a utilizar sistemas de gestion de datos para poder controlar la gran cantidad de informacion que se mueve de forma digital y donde las computadoras y las tecnologias asociadas a esta se han convertido en una herramienta indispensable para lograr los objetivos que estas se imponen.

Es comun pues, encontrar en las empresas redes de datos orientadas a brindar servicios como el correo electronico, Internet, trabajo en grupo, etc. y eventualmente acceso a los sistemas de gestion de la empresa que generalmente funcionan en redes locales o mediante redes IP.

Si la empresa se excede fisicamente mas alla de los limites del inmueble y alcanza agrupar varias sucursales, almacenes o puntos de ventas en otros lugares, pues la solucion inminente si los sistemas de gestion lo permiten es, interconectar los puntos mediante una infraestructura de conectividad, generalmente caras e intentar que el sistema que utilizan pueda ser usado en esas condiciones.

La otra opcion es dotar a esa sucursal de conectividad para correo electronico, mucho mas barato dependiendo del alcance de la mensajeria y efectuar algunas salvas de datos que quizas si el tamaño lo permite enviarlas por correo e importar esos datos en el sistema de la empresa. En el caso de que no sea posible por el tamaño de los datos a enviar estos pueden ser enviados de manera fisica, en un soporte magnetico o de cualquier otro tipo con el invonveniento que esto puedo acarrear.

El proyecto XMLREG, ha tomado como objetivo, el de independizar la conectividad a datos donde quiera que estos se encuentren y brindar esquemas de replicacion de datos sencillos y eficientes que puedan servir de base para ofrecer conectividad a datos localmente y sincronizados con bases de datos centrales por redes de conectividad de bajo costo, como el correo electronico.

Ya comence los primeros prototipos en Mono y espero poner a funcionar la primera red de datos de bajo costo en la empresa, sobre la cual se montaran distintos servicios.

miércoles, abril 12, 2006

MonoDevelop 0.10

Acostumbrado a programar en C#, al que considero uno de los lenguajes mejor diseñados del tipo OO, (mi segundo preferido es Java) y habiendo probado versiones previas de MonoDevelop, llega la version 0.10, con varias funcionalidades que extrañe en versiones anteriores como un GUI Designer e integracion con Bases de datos. Creo que es mucho mas facil ahora desarrollar aplicaciones para Mono.
Aunque aun no me acostumbro al estilo de layouts de GTK, a configurar bien Postgre y su pgAdmin3, pero todo esta muy facil a primera vista solo es cuestion de costumbre.
Creo que al fin me doy el brinco final.


martes, abril 04, 2006

SIG, Color Coding Funcional

En las visualizaciones de datos el uso del color se ha popularizado pues aporta mucho a la usabilidad de los sistemas, generalmente por la asociacion de colores concretos a estados de los datos que puedan darle una idea rapida a los usuarios sobre la informacion que se les presenta. El mas basico esquema de coloreado a mi juicio es el usado por muchos programas (especialmente para GNU/Linux) que distinguen una linea de otra por tonalidades de blanco alternadas que proporciona una guia visual entre lineas.

En el SIG, esta funcionalidad esta implementada recientemente en su componente de visualizacion de consultas QueryBrowserControl, de manera que es posible programarle los codigos de coloreado a los elementos de datos visualizados, por filas (por columnas me parecio excesivo, pero tiene sentido tambien). Un aspecto interesante de la implementacion de los codigos de color del SIG es que por cada linea de datos se puede controlar el color de fondo y letras, de manera simple ya que es necesario una funcion que transforme el codigo de color segun la linea de datos y devuelva el nuevo codigo de colores, esto permite que sean implementados esquemas de colores por degradacion, tinte, etc. Lo que significa que es posible hacer codigos de colores que permitan mezclado de colores y asi nuevos significados visuales a colores formados por las mezclas de varios estados.

Asi, ya en varios modulos del SIG de Proyectos, Logistica y Facturacion han sido empleados los codigos de colores aumentando la usabilidad de los mismos, en particular, Listado de Ordenes de Compra, que muestra en rojo las Ordenes no aprobadas y en verde las enviadas y el Listado de Ofertas que muestra en rojo las caducadas.

Asi y todo se trabaja en implementar un modelo descriptivo para la codificacion de colores y que ademas incluya las columnas.

Ya veremos...

viernes, marzo 31, 2006

XMLREG Pospuesto

Con gran pesar me cuesta anunciar que pospondre el desarrollo del Proyecto XMLREG para dentro de unos meses por motivos de falta de tiempo para dedicarle al mismo. Actualmente llevo por parte de la mi empresa, el desarrollo de un Sistema de Gestion Informatica (SIG) que se encuentra en fase de terminacion y explotacion y al que por el momento tendra toda mi atencion.

Muchas de las caracteristicas y funcionalidades que se venian promoviendo en el proyecto ya estan implementadas en el SIG y otras ya estan en fase de implementacion, por lo que en el momento que el SIG pase a conformar un producto informatico terminado, esperamos en conjunto con los consultores del mismo, licenciarlo como OpenSource para poder dar un mejor soporte a los potenciales usuarios del mismo.

Tambien me enfocare en migrar todo el SIG para Mono.NET con el objetivo de poder usarlo en GNU/Linux y poder comenzar a migrar mis usuarios de red a SL.

Espero esto no les afecte.



martes, marzo 28, 2006

SIG, Centro de Reportes

Enmarcado en la filosofia del SIG de brindar herramientas faciles a la gestion de los especialistas y directivos usuarios del sistema, se crea (aun en fase de desarrollo) el Centro de Reportes del SIG.

Este modulo brinda la facilidad de agrupar Reportes por Tipo de una forma visual agradable y poder definir nuevos reportes con una herramienta de administracion, todo resguardado en la base de datos del SIG y extensible a otros proyectos SIG, ya que no esta enlazado a ninguna tabla especifica de la base de datos del proyecto SIG de Importacion.

El Modulo Centro de Reportes esta accesible desde el menu de opciones Corporativas.


martes, marzo 14, 2006

Del SIG, nueva funcionalidad del Kernel

El Kernel del SIG se ha visto enriquecido con una nueva funcionalidad incorporada, la posibilidad de Crear Reportes de Impresion de Listados, con funciones de Agrupacion, Resumen Parcial y Total, Filtrado Previo, etc.

Esta funcionalidad es accesible desde el componente de Listado de Consultas (QueryBrowserControl) que ya incorporaba: Paginado automatico, Filtrado Inteligente, Enlaces de Adicion, Edicion, Borrado, Eventos asociados a los Enlaces, Autoresumenes por campos, y ahora incluye esta herramienta de Impresion personalizada, donde ademas el programador del modulo que incorpore el componente puede programar de forma fija algunos reportes para que sean mostrados ademas en el Boton de Impresion a la manera de acceso rapido, siendo por defecto seleccionado el de Reporte Personalizado.

Esta funcionalidad rapidamente ha sido incorporada a todos los modulos para Comerciales del SIG Proyectos, Logistica y Facturacion, en continuo desarrollo.

En estos momentos se trabaja ademas en una mejor manera de sincronizar definiciones de bases de datos de manera que los cambios en estas puedan ser actualizados en otras bases de datos sin mucho esfuerzo de manera eficiente y segura. Y aparejado a esto se programara un modulo Central de Reportes, donde, a partir de la funcionalidad de sincronizacion de definiciones se podra crear por parte del usuario de reportes personalizables con posibilidad de salvarlos para posterior uso.

Me gustaria hacer notar que los problemas de eficiencia del SIGServer notados por algunos usuarios fueron solucionados y en estos momentos tenemos varios SIGServer con un uptime de casi un mes (el tiempo desde la ultima actualizacion del SIGServer incorporando soporte para actualizaciones de definiciones)

La herramienta SIG solo necesita algunas funcionalidades mas.

Saludos

Publicados Primeros Documentos de XMLREG en CubaForge

Las primeras especificaciones de XMLREG estan publicadas en el sitio del Proyecto en CubaForge

http://forge.cujae.edu.cu/projects/xmlreg

En el area de documentos se pueden encontrar los documentos de definicion.

Solo falta la definicion de operaciones con Registros y Comenzar con las implementaciones para lo cual se haran sub-proyectos separados, con vistas a poder dar soporte a varias plataformas y clientes en varias arquitecturas inclusive, incluyendo, J2SE y j2ME, .NET Compact Framework, Mono y Python (para linea de comandos exclusivo)

Esperamos en una semana concluir con las definiciones de operaciones y comenzar el trabajo con el server y cliente de linea de comandos.

Colaboraciones bienvenidas.







lunes, febrero 27, 2006

Especificacion XMLREG para Registros

Desde hace varias semanas vengo estudiando y diseñando las especificaciones del XMLREG para definicion de registros y sus interacciones asi como el formato de datos "desmontables" (Dockable Data). Ya esta bastante avanzado y sera publicado proximamente en el CubaForge para su consulta y desarrollo colaborativo.

En esta primera version se exponen la forma de definicion de Registros y una forma de Serializacion propuesta para la exportacion, importacion y edicion/visualizacion offline de los datos.

El Proyecto en CubaForge tendra el nombre de XMLREG ya esta registrado, solo falta la respuesta de los administradores del Forge.

La primera version del documento se publicara en la carpeta de proyectos de XMLREG en el Forge.

Espero sus revisiones y criticas.

Datos personales

Licenciado en Ciencias de la Computacion, Facultad de Matematicas y Computacion, Universidad de la Habana, 2004. Telefono: 45-3619, Cel: 282-8661