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

lunes, noviembre 20, 2006

Enterp... 2.0 necesariamente mas

Recientemente he descubierto el termino Enterp... 2.0, asi a medias para no violar patentes, ya que es una marca registrada y todo. Cuando leo lo que significa el concepto a traves de innumerables blog posts, comentarios, citas, referencias, veo una clara equivalencia con Web 2.0 y un enfoque interno de empresa.
La idea es clara, utilizar herramientas claramente Web 2.0 y esperar que estas den provecho o adaptarlas para que lo hagan. El proposito es bueno, el conocimiento empresarial ha sido historicamente mal gestionado y aprovechado. Con buenos resultados incluso se muestran algunos ejemplos concretos de empresas que ya utilizan el enfoque. Muchas veces en la forma de una Wiki Empresarial, Blogs, tags y nubes.
Personalmente creo que la disciplina y el ambito de estos enfoques esta siendo minimizado. Serian necesarias nuevas formas de gestionar el conocimiento empresarial, empezando por identificar nuevas formas del mismo, no solo en paginas personales y documentos en el sentido general.
Esta parece ser la hora de los gestores de informacion a la Web 2.0, todos orientados a la gestion de documentos on-line, con toda la parafernalia que conlleva el termino en su segunda version. Ahora...
Todos sabemos que la informacion de las empresas se almacenan en complejos sistemas (ERP, CRM, SCM, o cualquier otra combinacion de tres letras mayusculas) de gestion de informacion. Seria prudente brindar una solucion donde ademas se incorporen otros tipos de recursos a gestionar, incluyendo aquellos que son mas susceptibles de encontrarse en una empresa en sentido general.
Enterp... 2.0 deberia ser mas amplio, no la mera aplicacion de formulas generales a un ambito concreto con algunas adecuaciones que aunque funcionales, generan ruido en el tema.
Preferiria que Enterp... 2.0 resolviera el problema de los Sistemas a la Medida en Tiempo Real, o el de la integracion de estos y consecuentemente un menor gasto por concepto de mejoras continuas.

martes, noviembre 14, 2006

Subversion listo localmente para SCE

En estos dias me he entretenido creando un SVN para gestionar el proyecto SCE en el que estoy trabajando, aunque lo hospedo localmente, me gustaria poderlo a disposicion de todos los que quieran colaborar con el mismo pero desgraciadamente no cuento con un SVN en Internet accesible desde aqui. SourceForge.org, no es una opcion debido a las dificultades que impone para acceder a sus repositorios, con autenticacion, puertos especiales y todo un conjunto de cosas a las que no tengo acceso.

Si el SVN de CubaForge estuviera funcionando seria genial poder hospedar el proyecto alli y darle seguimiento desde cualquier lugar, mas ahora que voy a cambiar de trabajo y me gustaria conservar muchas de las cosas que ya empece aqui.

Actualmente SCE da soporte para autenticacion segura (utiliza SHA1 para encriptar el password) gestion basica de recursos, tiene un pequeño interprete de consola, para poder ir probando los avances y mas adelante incluira su propio servidor Web basado en CherryPy. El soporte de bases de datos sera con independencia de gestor e inicialmente se dara soporte a PostgreSQL solamente.





lunes, noviembre 06, 2006

A proposito de ERP + Web 2.0

Hace unos meses comence un proyecto personal de desarrollo, sin fines comerciales, aunque si a forma de mantener mi mente ocupada y de paso familiarizarme con el lenguaje Python y llegar a sentirme bien programando con el. Mi unico objetivo es implementar una idea para probar un concepto que creo puede ser util a la hora de desarrollar herramientas de gestion de informacion empresarial.

La idea es simple. Implementar servicios basicos de datos, listados, filtrado, busquedas, insercion de datos, actualizacion y borrado, etc. independientes de la estructura de datos. Es decir, basados en una estructura de datos el sistema pueda hacer reconocimiento de estructura e implementar las funcionalidades requeridas. En un segundo paso se podria agregar funcionalidades a partir de descripciones asociadas a la descripcion de los datos, mediante plugins u otra arquitectura de extension de funcionalidades.

Yo le he dado el nombre de Community ERP, mas que nada porque tengo previsto darle el mismo funcionamiento de los sitios Web 2.0, tomando como los recursos a compartir y gestionar las tablas de datos con determinado grado de agrupacion para garantizar que se pueda compartir estas entre los usuarios, siempre contando con una base compartida entre todos que seria el nucleo del sistema ERP como tal.

A raiz del post anterior decidi reescribir la parte del manejo de recursos para poder hacerlo extensible y poder gestionar otros tipos de recursos. Ya sean Imagenes, Documentos (para lo que pienso utilizar TinyMCE), Videos, Sonidos, etc.

En cuanto este lista la primera parte podre disponer de un SVN publico para que pueda ser descargado y probado por todo el que quiera.



viernes, noviembre 03, 2006

Web 2.0 + ERP Posible?

Web 2.0 es un termino que esta rondando por la cabeza de muchos desarrolladores del mundo y ha causado no pocos dolores. En parte por su difusa definicion. Segun la Wikipedia

...refers to a supposed second-generation of Internet-based services — such as social networking sites, wikis, communication tools, and folksonomies — that let people collaborate and share information online in ways previously unavailable.

O sea servicios basados en Internet, redes sociales, wikis y herramientas de comunicacion que le permitan a las personas colaborar y compartir informacion en linea, de formas antes imposibles.

Los sistemas ERP se pudieran beneficiar grandemente de estas caracteristicas propuestas para la Web 2.0. Basicamente seria contar con sistemas ERP completamente en la Web (Intranet o Internet) con funcionalidades inherentes a las redes sociales (en este caso, redes empresariales) wikis y comunicaciones para permitirle a los trabajadores colaborar y compartir informacion.

Haciendo una abstraccion (minima) de los principales sitios que se denominan a si mismos o han sido catalogados como Web 2.0 se pueden identificar dos elementos, Los Usuarios y Los Recursos.

Los usuarios en todos los sistemas tienen una misma significacion. Los recursos en cambio son mas interesantes, en la siguiente lista les muestro algunos ejemplos:

YouTube: Videos
Flickr: Fotos
Trumba: Calendarios
Blogger: Blog (Bitacoras)
del.icio.us: Marcadores de paginas web

Otros ejemplos, (aunque mas integrados) son el servicio de Docs & Spreadsheets de Google Mail o el Google Calendar, con respecto a su servicio de correos Gmail.

Los recursos y la colaboracion en torno a estos son la principal fortaleza del Web 2.0. En el caso de los ERP, seria pues, necesario, identificar los recursos motivo de colaboracion y en todos los sistemas ERP el unico componente que es equivalente y podria utilizarse serian los datos, ya bien en su forma basica (tablas relacionadas) o bien el resultado de algun proceso sobre estos, Reportes, Informes, etc.

Quizas la si existiese algun ERP que hubiera sido desarrollado desde cero con esta concepcion seria posible hoy contar con extensiones para incorporar el manejo de otros recursos en la gestion empresarial.

Todo sea por gestionar los recursos, en este caso los empresariales.

lunes, octubre 30, 2006

Dejando mi trabajo

Este es un dia amargo para mi, tengo firmada mi peticion de baja en el buro y solo espero que llegue alguien de la Direccion para entregarla. Se que la noticia no va a agradar a muchos, quizas otros se alegren.
En sentido general mis motivos son bien firmes, sencillamente no me gusta el trabajo dando servicio tecnico, y mas cuando en esta empresa hay muy poca cultura informatica y las personas equivocan el ambito de accion del "Informatico" como cariñosamente se nos llama.
La figura del "Informatico" es bien curiosa. Generalmente se nos asocia con un joven, con todos los males propios de la juventud y ninguna virtud. Se nos menosprecia y casi nunca se nos tiene en cuenta para ninguna actividad, somos un satelite con mayor o menor grado de integracion en la empresa. Eso si, que no fallen el Correo e Internet si no estas "frito".
El tema del desarrollo de sistemas, aplicaciones y en sentido general Desarrollo Informatico esta en cero aqui, y sin posibilidades futuras de cambiar, por lo tanto decidi irme.
Alguien dijo una vez: "Busca un empleo que te guste y no tendras que trabajar nunca en la vida" Yo tengo una profesion que me gusta, he dedicado mas de 14 años de mi vida a la Computacion y no estoy dispuesto a sacrificar todo ese tiempo y el que sigue arreglando errores ortograficos, alineacion de tablas, impresoras y cables de red.
Renuncio

lunes, octubre 16, 2006

Mejoras a XMLREG (v0.1.3)

En estos dias he estado trabajando algo en un proyecto de servicio de datos y como estoy trabajando con Python y CherryPy para trabajar en Web tuve que mejorar algo la interfaz de XMLREG para poder realizar un conjunto de tareas que me son necesarias.

Por esto he añadido soporte para Salvar los documentos en el Contexto, para extender las propiedades de los documentos referenciados.

Tambien he redefinido los mecanismos de escritura/lectura, estableciendo la opcion de escritura por defecto.

Tambien he escrito un pequeño demo de uso de XMLREG de manera que otros objetos/clases puedan extender su funcionalidad y cargar documentos XML desde un contexto de datos.

Falta por crear un demo de contexto de datos desde bases de datos, para ejemplificar su uso en este sentido.

Mas tarde les hablare del Servicio de Datos en el que estoy trabajando.

Saludos

sábado, septiembre 23, 2006

Lo que XMLREG es y no es (y nunca sera)

Hoy asisti a la conferencia "La forma Canonica del Modelo de Objetos" impartida por Medardo R. en el Palacio de Computacion y a pesar de la poca asistencia, creo que fue genial, llegando a considerar que algo asi deberia darse en las carreras de Ciencias de la Computacion en las Universidades del pais (si es que en alguna no se esta dando ya).

El enfasis en la Teoria de la Informacion a lo largo de la conferencia era evidente, y como se que Medardo es un gran entusiasta del XML ya yo le he hablado de XMLREG y sus objetivos, siempre recomendandome de su parte que le eche un vistazo a RDF [1], no quedando claro en realidad Que es y que No es ni sera XMLREG para lo cual me gustaria comentarlos aqui.

Que es XMLREG?

XMLREG es un metodo (modelo) para almacenar informacion refente a configuraciones, definiciones simples, datos jerarquicos, basandose en XML y el modelo de objetos DOM, pero mucho mas sencillo, facil y menos engorroso.

Para esto XMLREG cuenta con 2 principales conceptos, el Contexto, que no es mas que el ambito de donde los datos son obtenidos formando una jerarquia de objetos de datos y el Elemento, componentes principales de esta jerarquia, los cuales son los que contienen la informacion como tal. Accesible mediante una nomenclatura de referencia o como propiedades basicas de los Elementos.

Originalmente XMLREG No esta diseñado para escritura de elementos, solo lectura, aunque se le han incorporado algunas facilidades para esto. O sea XMLREG es solamente un modelo de registro de datos con vista a proveer una manera simple de crear definiciones, configuraciones, etc.

Que No es XMLREG y nunca Sera?

XMLREG no pretende brindar un modelo de persistencia de datos ni objetos, ni de bases de datos para los cuales existen muchas variantes. Tampoco interesa describir recursos dispersos en redes de computadoras.

En general ningun tipo de uso derivado de interacciones lectura-escritura de datos o que impliquen persistencia.

Uso propuesto para XMLREG?

Definicion de funcionalidades, caracteristicas, sistemas, configuraciones, que generalmente tienen una estaticidad prolongada y estructura jerarquica.

Se ha desarrollado con el proposito de potenciar a bajo nivel el desarrollo de varias herramientas genericas de sistemas de gestion, entre gestion de datos, presentacion, generacion de reportes, etc.







lunes, septiembre 18, 2006

XMLREG v0.1.2 terminado, Comienza segunda etapa

Ya termine la codificacion de la primera version usable de XMLREG v0.1.2, en base a esta ya comenzamos la segunda etapa, la de la definicion de los modelos de datos.

Estos modelos cumpliran con las siguientes caracteristicas:
1. Independencia de Fuentes de Datos, podran usarse varios servidores de datos (PostgreSQL, MySQL, Firebird)
2. Extensibilidad de las funcionalidades de datos.
3. Interfaz simplificada de datos. con funcionalidades basicas
4. Mecanismos de salva y replicacion de datos

Otras caracteristicas podran ser adicionadas segun surja la necesidad y debidamente documentadas y comentadas aca.


martes, septiembre 12, 2006

XMLREG v0.1.0b

Haciendo un poco de esfuerzo ya que es mi primer trabajo con Python que pienso llevar a buen termino. Escribo la primera implementacion de XMLREG v0.1.0b, cuenta con algunas funcionalidades del modelo de registro y contiene 3 clases y 3 tipos de Excepciones.

De las 3 clases, una es el contexto de datos, basado en el sistema de ficheros y las otras dos son los elementos y conjuntos de elementos de los documentos XMLREG.

Aun carece de validacion mediante XMLREG Schema con todas las posibilidades que esto trae. Pero se incluye soporte para declaracion explicita de tipos y para varios tipos de datos (actualmente, int, float, boolean, date, time)

Esta disponible un changelog para ir teniendo idea de los cambios que se van haciendo y espero que para la version 0.1.6 ya este funcional y listo para ser usado en entornos productivos.

A falta de SVN o CVS publicos quedo limitado a proveer los ficheros a solicitud, por correo, solo escribame para notificarme su interes.

jueves, septiembre 07, 2006

Python me parece que No, Mono pase adelante

Recientemente comence a implementar el modelo de registro de datos XMLREG del cual ya les he comentado aca y sucede que como estoy intentando hacer un primer prototipo, utilice Python por la facilidad conque se pueden probar cosas sobre todo en la linea de comandos y me topo con una caracteristica de Python que me deja un tanto desilusionado a utilizarlo para XMLREG. El inconveniente es que no se pueden crear en Python (al menos hasta hoy) crear propiedades o metodos privados de clase, lo cual crea una seria deficiencia a la hora de definir la interfaz para poder interactuar con estos datos ya que parte de la misma incluye la definicion de tipos de solo lectura lo que no veo forma de implementar en Python.

Debido a esto recomence la implementacion utilizando Mono, en C# espero en unos dias terminar una primera beta de lo que seria una DLL para trabajo con XMLREG, que aunque seguramente le faltarian muchas caracteristicas del modelo ya seria usable para pruebas de concepto. Mas adelante hare los ports necesarios para Java, que aunque tenga sus consideraciones de Licencia, al parecer en unos meses ya podremos contar con un JVM (HotSpot) libre.

martes, septiembre 05, 2006

Compiz y Xgl en Ubuntu

Siempre crei que era muy dificil instalar estos fenomenales paquetes pero he encontrado un pequeño tutorial donde me muestran en 5 pasos como hacerlo.

Resultado: Tengo Xgl instalado y funcionando en mi maquina de maravillas. Cabe decir que tengo video on-board de Intel 815 (si mal no recuerdo) y aunque funciona un poco lento, todo funciona correctamente. Hoy lo probare en la casa, alla tengo una ATI RADEON 7000 con 64Mb de video, espero que funcione mas rapido.

lunes, septiembre 04, 2006

Hoy se cumple un año

Hoy se cumple un año de postear en este blog, que sinceramente espero haya sido de utilidad para inculcar la idea del software libre en la comunidad de desarrolladores de sistemas de gestion empresarial. Y espero poder seguir contribuyendo modestamente en el esfuerzo de contar con mejores sistemas, libres y sobre todo cubanos.

A todos los que alguna vez leyeron este blog, Gracias.

2+2 en todos los tiempos

Me gustaria ilustrar mi punto de vista sobre el desarrollo del software a lo largo de estos años desde la vision de un programa para calcular 2+2

Las primeras computadoras se programaban con cableado para poder realizar la operacion de calculo y obtener el resultado, 4.

Despues ya se podia en un programa guardado en cinta o tarjetas perforadas guardar la operacion (2+2) y correr el programa y obtener el resultado 4.

Posteriormente aprovechando las posibilidades de los nuevos lenguajes de programacion se pudo crear un programa donde los terminos de la suma se introducian en tiempo de ejecucion, quedando el programa en A+B y donde uno si queria calcular 2+2 solo tenia que introducir estos terminos y obtener el resultado 4.

A lo que le sigue una innumerable cantidad de formas de especificar los terminos, ya sea en interfaces Web, de escritorio, ventanas, documentos XML, bases de datos, etc. etc. y con la posibilidad tambien de que el resultado almacenarlo, visualizarlo de mil maneras, enviarlo por correo, etc. Aun teniendo la dificultad de que solo podemos calcular A+B.

Mi reflexion es: Porque todavia estamos atados a la logica del negocio codificada fuertemente en el programa al nivel de lineas de codigo? No es tiempo ya de que podamos programar a un nivel mayor de abstraccion?

En mi opinion, parte del costo elevado del desarrollo de aplicaciones es la unidad atomica de composicion de sistemas, "Las lineas de codigo" que visto metaforicamente equivalen a construir una casa a partir solo de arena.

La gran cantidad de estandares impuestos, propuestos y en desarrollo nos debieran permitir la creacion de sistemas a un nivel mayor de abstraccion.

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.

lunes, febrero 13, 2006

Dockable Data

Hola Blog, y lectores (dejenme sus comentarios por favor)


Sucede que hace unos dias, instale el SIG en uno de los puntos de ventas de la empresa, donde utilizarian los modulos de Clientes como sub-sistema de Fichas de Clientes y los del nivel Corporativo, incluyendo Mis Registros, que seria utilizado para llevar lo que los vendedores conocen como la Biblia de facturas emitidas y despues de configurar la Biblia como un registro compartido por todos por consignaciones, surge la pregunta (obvia) de que si podian llevarse ese sistema para la casa, entiendase si podian utilizarlo desde sus casas y no precisamente conectandose al servidor sino como un fichero que podrian copiar y actualizar cuando vinieran al otro dia a trabajar o inclusive los fines de semana. Evidentemente no se puede hacer esto actualmente pero el gusanito de la inquietud y la mejora constante (como casi siempre sucede) me llevo a pensar en una solucion a esto, para lo cual estoy replanteandome muchas caracteristicas del sistema de registros personales que les propuse en un post anterior y es que la definibilidad de los datos propiamente dicha podria dar cabida a documentos XML que puedan ser exportados e importados sin problemas por los usuarios dandoles la posibilidad de poder "llevarse el trabajo a casa" y de paso, con lo modernos sistemas PDA, utilizarlos en el coche, en los viajes, exportar para compartir y toda una gama de funcionalidades inherentes a los documentos XML que ya conocemos.
Para lo cual se me ha ocurrido este termino (buzzword) "Dockable Data", que aunque no se si este ya acuñado a otro significado pero me ilustra perfectamente lo que se deberia permitir por todo sistema de gestion, si bien no por todos los usuarios y algunas veces hasta de forma automatica.
En estos momentos me encuentro haciendo una definicion de "Dockable Data" como lenguaje de marcado XML extensible pero con un conjunto de funcionalidades que podrian hacer mucho mas facil la tarea de desarrollar sistemas de gestion, con captura, busquedas, reporting, y otro termino que tambien viene en camino "Navigate & Report" (Navegacion y Reporte) que aparejado a Dockable Data pueden hacer mucho por el desarrollo de sistemas a medida en el pais.

Saludos

jueves, febrero 09, 2006

Mis Registros, herramienta para la gestión de información

Resumen

Mis Registros es un sistema sencillo de gestión de registros de datos, con funcionalidades básicas de gestión de información que abarca desde la captura, edición, borrado e impresión de la información hasta la interrelación entre registros, las búsquedas con filtrado inteligente, el reporting automático, los eventos de registro, la importación y exportación desde fuentes de datos externas, brindando la base necesaria para que complejos sistemas de gestión sean modelados progresivamente de acuerdo a las necesidades y capacidades de las entidades que lo implementen.

Objetivos

Los objetivos de este proyecto son simples en su complejidad programatica pero ambiciosos en el alcance objetivo que el mismo posee. Las necesidades de sistemas de gestión que le brinden a las empresas cubanas la capacidad de automatizar y controlar los recursos de la misma de manera efectiva, progresiva, documentada y accesible a todos los trabajadores se hacen más evidentes cada día, en la medida que las nuevas tecnologías de la información y las comunicaciones van abarcando todos los campos del desarrollo empresarial cubano y mundial.

Soluciones a sistemas empresariales existen muchas y de calidad en el mercado internacional, y Cuba posee la fuerza y la capacidad necesarias para ir supliendo las necesidades de software de este tipo que las empresas nacionales tienen, y que, ante la falta de opciones efectivas para su implantación se ven en la necesidad de sub-contratar los servicios de empresas de software que les modelen y programe su software, no siempre resultando en soluciones validas que se adapten a los cambios constantes en el sector empresarial nacional. Donde muchas de estas soluciones carecen de consideraciones de tipo legal, al utilizar tecnologías propietarias no licenciadas, ya sean de gestores de bases de datos, de plataformas de desarrollo o de sistemas operativos y al no contar la empresa con los códigos fuentes de los sistemas que tiene en funcionamiento, bien porque forma parte de un desarrollo cerrado de los proveedores de software o porque ni siquiera los proveedores pueden contar con él.

De cara a la migración hacia software libre, las necesidades de software de gestión se hacen mas patentes, siendo una de las principales causas de que todavía muchas instituciones no realicen la tan “deseada” migración, argumentando que no poseen sistemas de reemplazo para aquellos que no son susceptibles de migrar hacia plataformas de software libre (en particular Linux) especialmente el software de gestión, contables, financieros, de producción, etc.

La posibilidad de contar con una herramienta para la definición e implementación efectiva de sistemas de gestión de información es un imperativo en las empresas nacionales de todos los sectores. Herramientas que deben tener requisitos mínimos de usabilidad, accesibilidad, disponibilidad, eficiencia, fiabilidad, seguridad y modularidad, básicos para poder, en el marco de la empresa, contar con un sistema que dé respuesta a las necesidades de automatización de toda la información y los procesos asociados a esta que en la misma se generen y además sea factible su adecuación a los cambiantes entornos de trabajo.

Definición de Requisitos y Funcionalidades

Los requisitos del sistema/herramienta son descritos debajo de manera que puedan ser implementados en su totalidad. Siempre con la posibilidad de extender esta para dar soluciones a problemas más complejos cada vez.

Requisitos del sistema

1. Estar programado en una (o varias) plataformas de desarrollo libres.

2. Código abierto.

3. Independencia en los gestores de bases de datos.

4. Estructura de datos única para cualquier registro configurado en el sistema (esto es que la definición de las tablas y sus relaciones en la base de datos es única, que de cabida a todas las funcionalidades y los registros configurados)

5. Integración con esquemas independientes de seguridad (Ej. ActiveDirectory para Windows o LDAP para Linux, etc.)

6. Asegurar esquemas de Cliente/Servidor con alta disponibilidad y soporte para bitácoras de acciones por usuario.

Estos requisitos garantizaran que el sistema sea accesible a las empresas, tengan estos la infraestructura de redes que mejor les convenga y los sistemas de bases de datos que escojan, también que el sistema estará disponible para ser analizado y abierto a las colaboraciones de programadores de todo el país o extranjeros dispuestos a colaborar con el mismo, que el sistema resultante no se vera comprometido a crecer en tablas y relaciones innecesarias, cuando el conjunto de estas será limitado a las necesarias para poder modelar las funcionalidades básicas propuestas, que contara con métodos efectivos de garantizar la seguridad y fiabilidad de los datos, ya que estará regido por tecnologías de seguridad muy eficientes y finalmente que el sistema estará accesible a los usuarios en todo momento sin caídas y que toda acción que el usuario realice en el será auditable y propensa a ser revisada por los directivos de la empresa o los administradores del sistema en cuestión.

Antes de enumerar las funcionalidades, seria correcto definir elementos comunes en el desarrollo de este proyecto.

Registro: Un registro es el equivalente a una tabla con campos de diferentes tipos, validables y con un tratamiento determinado de acuerdo a su definición puntual, son autodocumentables, gestionados a través de listados, tablas o cualquier otro tipo de elemento de interacción y con la posibilidad de ser compartidos por varios usuarios, relacionados con otros registros formando registros mas complejos y toda una trama de relaciones que componen el sistema de gestión de información, con la posibilidad de definición en caliente de los datos.

Usuario: Un usuario es la persona que utiliza el sistema para ver los registros a los que tiene permisos asignados, ya sean de escritura, lectura o administración.

Listado: Forma común de listar un registro, tiene apariencia de tabla e incorpora todas las funcionalidades básicas de gestión de datos (inserción, edición, borrado, impresión) así como las de filtrado, etc. No siendo la única forma de visualizar el contenido de un registro.

Filtrado: Acción de restringir un conjunto de datos de un registro a los que cumplen con determinadas condiciones, mejora la navegación llegándose a acelerar el tiempo de búsqueda de información en el registro.

Las funcionalidades del sistema son muchas y muy variadas y todas en conjunto dan un soporte básico para poder realizar todo un conjunto de operaciones y definiciones que potenciaran las aplicaciones de gestión de la empresa, tenemos:

1. Definición de Registros, ya sea a nivel central como a nivel personal (Todos los registros están al mismo nivel en teoría, pero en la practica el grado de alcance y de interrelación los sitúa a niveles distintos, Ej. Un registro de Contratos es de nivel empresarial y el registro de un usuario de tareas por cumplir es de corte personal, el primero tendrá evidentemente muchas relaciones con otros registros de nivel empresarial, accesible por muchos usuarios y el segundo solo por el usuario que lo creó con fines muy particulares, pudiendose crear relaciones entre ellos visibles solamente a los usuarios que tengan los permisos)

2. Los registros deberán tener, nombre, creador, usuarios con acceso, descripción del mismo y tratamiento particular, eventos, formatos de impresión. Así como los campos de los registros, tendrán información relacionada al tipo, validación, formulas, relaciones con otros registros, descripción para auto-documentación, restricciones de unicidad, resúmenes.

3. Se proveerá de una herramienta de Importación y Exportación de datos, inicialmente para XML y CSV.

4. Se podrán navegar los registros hacia abajo y filtrar hacia arriba los registros relacionados en las relaciones teniendo un grado de dependencia primario-secundario (Ej. Clientes-Contratos donde Clientes es primario y Contratos secundario, de manera que se pueden navegar desde Clientes todos los contratos para un cliente determinado, pero en Contratos solamente puedo filtrar el registro por un Cliente determinado y ver todos los contratos con ese cliente en particular)

5. Cuando se hace una impresión de un dato de registro particular, se podrá solicitar que imprima sucesivamente todos los listados de registros asociados (hacia abajo) según sus filtros aplicados (Ej. Si imprimo un Contrato, me mostrara sucesivamente, a petición, todas las Facturas asociadas, etc.)

6. La definición de los esquemas de impresión, (layouts) configurable por los usuarios, permitiendo el uso de múltiples esquemas, para lo cual es necesario implementar una herramienta de confección de estos.

7. Archivador de registros, con la posibilidad de crear CDs (o DVDs) con toda la información salvada de un periodo largo de trabajo, autoejecutable con un navegador de datos (sin posibilidad de edición, inserción ni borrado)

Implementaciones prácticas del proyecto.

La implementación practica del proyecto esta pendiente de realizarse, es necesaria la ayuda de personal comprometido y capacitado. Además de contar con los recursos necesarios, de tiempo, de infraestructura, documentación, comunicación, etc.

La implementación puede ser hospedada en un sitio con CVS (Concurrent Versioning System) de manera que los cambios que vayan haciéndose en el proyecto sean de conocimiento publico y donde las versiones puedan ser publicadas con cierta periodicidad así como los cambios y las adiciones de funcionalidades y las mejoras continuas en el sub-sistema subyacente.

Recomiendo el uso de tecnologías libres de desarrollo, multiplataformas, en particular Java y .NET, por ser de gran efectividad y por su facilidad de uso, programación y la potencia de sus soluciones.

Caso ejemplo demostrativo.

Para ilustrar un caso practico de aplicación del sistema supongamos una empresa comercializadora de artículos de uso general (de consumo) que tiene puntos de venta en varios lugares del país y que no tienen una infraestructura de red conectada 24 horas y solo cuentan con servicio de correo nacional y una casa matriz donde se lleva a cabo el proceso de contabilidad y gestión de marketing, etc.

Algunos problemas que presenta esta empresa serian la gestión de los clientes (Fichas de clientes), La emisión de facturas y el control de la deuda (conocido en el ámbito comercial como la Biblia)

Pues bien, contando cada punto de venta con el sistema de registros se podrían tener fácilmente.

Primero: Control de Fichas de Clientes, implementación, se crea un registro, uniforme para todas las sucursales y la casa matriz de clientes que contenga la información referente al cliente, desde nombre, código reeup, contactos, información bancaria, etc. Pasando por el personal autorizado a efectuar compras (contenido en un registro asociado) y el numero de código interno de contabilidad. Con mecanismos automáticos de manera que el código interno sea un numero consecutivo automático y cada vez que un cliente nuevo se presenta en el punto de venta se le da la planilla de Ficha de cliente para que la llene, se le informa de los tramites necesarios y se da información de a donde tiene que enviar la información (la casa matriz o la sucursal encargada de este tramite) donde es validada (investigada la veracidad de los datos) e introducida en el registro de clientes central con un mecanismo automático (configurado en ese registro) de replicación hacia todas los puntos de ventas, que de forma automática incorporaran la información sin necesidad de introducirla ellos mismos en sus sistemas que aunque aislados están en constante actualización con el sistema central. Garantizando la unicidad del código interno por clientes.

Segundo: Emisión de Facturas, igualmente si las Fichas de clientes pudiesen ir del sistema central al de las sucursales, las facturas de las sucursales pueden automáticamente enviarse al sistema central, por medio de otro registro de facturas asociadas a clientes, de forma tal que, en la casa matriz se tengan un registro con todas las facturas que se emiten en todos los puntos de ventas por clientes (casi en tiempo real) teniendo un control de todo lo vendido a un cliente en particular.

Tercero: Control de la Deuda, los clientes pagan a la empresa de diversas maneras, ya sea en las sucursales o directamente en la casa matriz, de forma que un registro con los pagos de los clientes es necesario, registro que asociado a clientes y a facturas puede establecer cuanto dinero deben los clientes a la empresa, de forma central. Este registro quizás no necesite ser replicado en los puntos de venta, ya que los cheques o el efectivo se envía a la casa matriz estableciéndose otros controles al efecto.

Para los trabajadores de la empresa, las facilidades de búsqueda y gestión de la información son una garantía de realizar un trabajo con eficiencia, ya que se podrían hacer filtrados por clientes en facturas, o bien ver para un cliente toda la información asociada a el, y según las circunstancias extender las definiciones de los registros, o incluir registros nuevos que den respuesta a las crecientes demandas de información de otras áreas de la empresa, sin ponerle limites a lo que se puede hacer con el sistema y hasta donde el sistema puede llegar adaptándose a los cambios en el entorno económico, financiero, social y legal de la misma.

En este sencillo caso, vemos como es posible llevar un control optimizado de información que hasta este momento no tienen solución practica en la actualidad y donde, dada la gran cantidad de casos, no existe una respuesta favorable de los proveedores de software para cada necesidad.

miércoles, febrero 08, 2006

Freyre, como Ambigrama

Me acabo de leer "Angeles y Demonios" de Dan Brown, muy buen libro que les recomiendo, en donde aparecen varios elementos graficos llamados ambigramas, que no son mas que palabras escritas que pueden tener mas de una lectura, ya sea al derecho o de reves, se pueden leer dos cosas en el mismo, o quizas la misma palabra pero leible desde ambos angulos opuestos. ni decir que lograr uno no es sencillo, los hay incluso que la segunda lectura hay que hacerla mirando el dibujo en un espejo, en fin.
Ahora, basandome en algunos ambrigramas del mismo libro, le modifique algunas letras, otras las cree yo mismo y aqui les muestro como me quedo un ambigrama con mi nombre (mi apellido Freyre)

Es evidente que necesita un poco de retoque para que queda tan estilizado como en el libro de Brown, pero es un primer acercamiento al mundo de los ambigramas, que puede mejorarse.

Si tienen dudas de que se pueda leer al reves, denle vuelta al monitor.


SIG Mis Registros, posibilidades

El Modulo SIG Mis Registros ha demostrado ser una herramienta de gran utilidad practica, aun careciendo de algunas funcionalidades básicas sugeridas por usuarios del sistema, me he propuesto incorporarle algunas de estas funcionalidades que podrían convertirlo en un kill-module que podría inclusive competir con todos los restantes módulos al poder dar soporte a todas las funcionalidades básicas y los casos posibles de uso para las relaciones que se establecen en el sistema.

Para esto son necesarias algunas funcionalidades básicas que incluyen:

  • Soporte para sub-registros relacionados, comprende la posibilidad de incorporar varios sub-registros a un registro principal
  • Registro nomenclador, posibilidad para hacer selección de un dato como nomenclador de otro registro.
  • Impresión personalizada de registros, con soporte para formulas.
  • Importación y Exportación de datos de fuentes de datos externas (XML, CSV, etc.)
  • Replicación de datos automatizada desde registros, con sub-registros.
  • Campos de formula, campos auto-numéricos (o de consecutivo)
  • Enlaces directos desde menú y/o barra de herramientas.

Con este conjunto de funcionalidades básicas es posible ampliar el nivel de solución del modulo para darle cabida a registros con mayor complejidad de manera que sea posible crear complejos sistemas de gestión en poco tiempo y con funcionalidades y solución uniforme a todos los niveles.

Un extra en este listado de funcionalidades seria la posibilidad de crear flujos de trabajo asociados a eventos en registros de manera que sea posible redirigir actividades a través del SIG conformando enlaces de datos que puedan convertir al SIG programado en ese modo en completo sistema, sin necesidad de otros módulos particulares.

Este modulo así implementado podría dar solución a las necesidades de software de gestión existentes en el país, y de cara a la migración hacia software libre, al brindar un modulo que prácticamente podría convertirse en gestor de casi cualquier tipo de información, incluyendo las funcionalidades básicas de reportes, integración, usabilidad, modularidad, extensibilidad necesarias. Para esto evidentemente es necesaria una implementación libre que cumpla con la especificación de SIG Mis Registros incluyendo las características expuestas aquí.

miércoles, enero 25, 2006

Localizacion en SIG, preparados para todo

Desarrollando parte de los modulos del SIG en una PC prestada, me di cuenta que casi todos los modulos funcionaban mal y la razon aparente de todo eran la configuracion regional del equipo que era Español (España) que tiene configurado las fechas en el formato dd/MM/yyyy y en el formato de numero decimal la coma es utilizada como separador (Ej. 190,50). Este particular de la coma como separador de los lugares decimales fue lo desencadeno que reconociera los errores de localizacion y se le incorporara al kernel una clase de localizacion para el tratamiento de estos datos, ya sea el formato decimal, la conversion de numeros flotantes para insercion en bases de datos o la conversion de fechas para independencia de metodo de conversion por el servidor de datos, ademas de que todos los modulos hechos hasta la fecha fueron chequeados y ajustados para realizar estas tareas y recompilados. Quedando el SIG Proyectos, Logistica y Facturacion listo para localizacion regional, solo faltando el apartado de idiomas que mas adelante sera resuelto, aunque ya los modulos pueden incorporar informacion de texto localizable sin necesidad de hacer cambios en el SIG Kernel.
Inicialmente se proveeran 3 idiomas (Ingles, Español, Portugues)

lunes, enero 16, 2006

SIG Mis Registros, comenzo a ser usado

El Modulo SIG Mis Registros comenzo a ser usado en el sistema SIG de la empresa, para satisfaccion de varios usuarios, pioneros en el uso del sistema que han comenzado con alguna ayuda a definir sus propios registros de datos, ya sean para gestiones aduanales, registros financieros, de entrada y salida de documentos, de emision de facturas , etc. Es evidente que este modulo no competira en funcionalidades con el resto de los modulos planteados para el area de Importaciones, Logistica y Facturacion, que tienen la posibilidad de interelacionar sus datos para darle seguimiento constante a la cadena de suministro de la empresa de una manera mas eficiente, si ayudara a los usuarios a irse familiarizando con la interfaz del SIG, con la forma en la que el SIG gestiona la informacion y todas las facilidades que brinda de una forma coordinada y coherente.
El impacto de este modulo es grande y como en definitiva este es un blog para compartir y para desarrollar, quisiera poner a disposicion de la comunidad el diagrama relacional de las tablas que potencian el modulo de Mis Registros, el cual es el mejor acercamiento al modelo de desarrollo empresarial libre que vengo promoviendo hasta ahora y que haya programado. Otras versiones iran surgiendo, evidentemente, ya les comentare los resultados aca. y sobre el plan de desarrollo del modelo de aplicaciones empresariales que estamos diseñando, ya espero que con la ayuda del Lic. Luis (el loco) Fernandez, gran programador y amigo mio que esta dispuesto a colaborar con el proyecto aun antes de conocerlo, espero que sume sus ideas a las mias y pueda salir a la luz, despues de tanto tiempo de espera.
Aqui esta el comentado diagrama, quizas por la resolucion de la imagen no se definan bien los nombres de los campos y/o las relaciones, de ser asi, escribame a mi correo (ernestofreyre@yahoo.com) para hacerle llegar una version mas grande y nitida. Sirvase pues a implementar una version libre de Mis Registros y pruebelo en su ambiente productivo (pruebelo en una arquitectura cliente/servidor para impactar mas en los resultados) y notara que las personas que trabajan en el estaran siempre dispuestas (si son astutas) a adoptar rapidamente soluciones tecnologicas que alivien su carga de trabajo y mejoren su desempeño laboral.



jueves, enero 12, 2006

SIG Mis Registros

Dada la gran cantidad de registros propios que algunos usuarios del SIG llevan y que no son objetivos del sistema desarrollar en estos momentos, he decidido crear un modulo de MisRegistros, donde los usuarios del SIG puedan crear sus propias tablas de registro y mantener estas con los datos que ellos mismos van insertando y manteniendo, pudiendo desde un entorno sencillo, definirlas, mantenerlas, adicionar registros, borrarlos, actualizarlos, compartirlas con otros usuarios, realizar filtrados, búsquedas, reportes, etc.

Los tipos de datos estándares son:
- Cadena de caracteres alfanuméricos.
- Numero entero
- Numero decimal
- Fecha
- Fichero asociado
- Verdadero/Falso
- Nomencladores sencillos (Valor a escoger, textual de selección, Ej. Femenino, Masculino, con posibilidades de operaciones sobre estos datos, adicionar, editar, borrar)

Los registros se pueden Crear, Cambiar, Actualizar, Borrar y Compartir por todos los usuarios y los usuarios con permisos podrán ver todos los registros existentes en el sistema y realizar con ellos todas las acciones antes mencionadas.

Este modulo le dará la posibilidad a los usuarios de Crear sus propios registros de datos y poder tener funcionalidades muy simples sobre estos que incluyen: Listar, Adicionar elementos, Editar elementos, Borrar elementos, realizar búsquedas, Filtrado de datos, Impresión de listados, Envío por correo, etc.

Espero que ayude en la implantacion del SIG en la empresa.

martes, enero 10, 2006

SIG Updates Listo, proximo feature: Replicacion de datos

El subsistema de Updates del SIG ya esta listo, como se describio en anteriores post, el sistema de Updates del SIG permite que nuevas funcionalidades sean añadidas al sistema en ejecucion, mejoras, cambios de DLLs, etc. de forma jerarquica, permitiendo que sucesivas actualizaciones sean aplicadas de forma ordenada y que la implantacion y/o adaptacion de los modulos del sistema ERP de la empresa sea progresiva.

Proxima feature: Replicacion de datos.

La replicacion de datos en servidores es un tema bien conocido por todos y su utilidad practica reconocida en ambientes donde las multiples redes que componen la infraestructura de comunicaciones de la empresa estan separadas fisicamente pero en comunicacion por algun tipo de medio como correo electronico. Este es el caso particular de mi empresa, y por lo cual me veo en la situacion de incorporarle al SIG algunas herramientas de replicacion, para que los datos que se quieran replicar hacia otros servidores SIG puedan hacerse automaticamente.
El proceso tengo planeado hacerlo por correo, con una cuenta asociada al SIG y con varias opciones para hacerlo automatico o manual, previendo las operaciones de insercion, actualizacion y borrado de los datos.

lunes, enero 09, 2006

ERP y la mentalidad de cambio

Los sistemas ERP generan anualmente billones de dolares de beneficios a los proveedores mundiales de este tipo de software, las grandes empresas y trasnacionales de todo el mundo los utilizan, asi como las pymes (Pequeña y Mediana Empresa) y organizaciones y entidades estatales de todos los paises en desarrollo. Es tambien muy grande el beneficio que por concepto de retorno de inversion y el logro de ventajas competitivas que repercuten en las utilidades de las empresas y aun asi es comun encontrar muchos casos donde la implantacion de un sistema ERP, sea problematica y lejos de generar ganancias, genere perdidas. A que se debe esto?
Pues una gran cantidad de fuentes señalan la necesidad de poner especial atencion a varios aspectos, como la capacitacion de los usuarios del nuevo sistema, la adaptacion y mentalidad de cambio que se requiere por parte de estos, la paciencia que requiere el proceso de implantacion (generalmente de 1 a 3 años), etc.
El SIG es un sistema que por su sencillez puede adaptarse a los entornos facilmente, esta programado para ser extensible en ejecucion (on-line sin detener la marcha del servidor) con un porciento de disponibilidad alto, inclusive para hacer actualizaciones de los clientes y el kernel de operacion (en el cliente, el servidor por supuesto que es necesario detenerlo), diseñado para implantacion progresiva de modulos y el desarrollo de estos y por su impresionante esquema de seguridad.
Pero mentalidad de cambio ante todo (acabo de discutir con mi jefe) sobre el sistema y me dice que a el le presionan por poner "algo" (una funcionalidad banal que el sistema SIG de Proyectos, Logistica y Facturacion incluye) y que lo que yo hice no fue lo que se pidio y que esta de mas y que (horror) las departamentos de la empresa son independientes y no tienen nada que ver unos con otros, que cada cual hace lo suyo (mi jefe tiene 78 o mas).
Es evidente que la mentalidad de cambio empieza por el Departamento Tecnico.

viernes, enero 06, 2006

ERP Orientados a actividad Empresarial, Viabilidad y una alternativa.

Empiezo a cuestionarme la viabilidad de desarrollar sistemas ERP orientados a alguna actividad empresarial en cuestion, grandes proveedores de Soluciones ERP como SAP, Oracle, Baan, etc. asi lo hacen y no podria imaginarme el costo de tales desarrollos sobre todo cuando la principal materia para tales desafios es el Know-How de los especialistas que en esas ramas conocen mejor que nadie las particularidades de cada caso. Es evidente que un nivel de funcionalidad uniforme puede ser logrado, basandose en abstracciones de origen legal, contable, economico, pero cuando la actividad objeto de la empresa necesite ser modelada y automatizada no va a ver quien concentre ni generalice tales procesos centralmente.
De ahi que la tarea de desarrollar ERP's Cubanos que suplan las necesidades de automatizacion de las empresas, con vistas a la migracion a software libre, se vera afectada economicamente, pues no creo que exista voluntad por parte de estos especialistas de involucrarse en tales encomiendas y mucho menos siguiendo el patron de reconocimiento y remuneracion que viene aparejado con los proyectos libres. Quedando el terreno listo para las empresas y casas de software cubanas o a saber particulares asociados a ellas de hacer la labor de estudio de casos y/o contratar a los especialistas que aporten el conocimiento necesario para este fin. o.....
La alternativa que se puede seguir es definir una metodologia donde estos especialistas involuntariamente se involucren en el desarrollo de los sistemas, y donde las particularidades especificas a la empresa sean cubiertas por él en el ejercicio de la modelacion de los procesos, datos y tareas que evidentemente generan todos los sistemas de ERP, mediante herramientas que siempre con un nivel de accesibilidad, facilidad, seguridad, eficiencia y correccion garantizadas, logren acercar la tarea del desarrollo de sistemas al usuario final.
Tales herramientas deberan contar con al menos todas las funcionalidades especificadas en la Primera Propuesta a Linux-Prog hecha en este blog y comentada en la lista Linux-Prog del sitio www.softwarelibre.cu. Ademas de preveer actualizaciones de definiciones, extension de funcionalidades (como auditorias, workflow, comunicaciones, etc.), en fin un cambio infinito que suponga mejoras en las caracteristicas de los sistemas y la forma en que estos interactuan con los usuarios y entre ellos con vista a una integracion mucho mayor que suponga una mejorar en el panorama informatico y la sociedad de la informacion cubana.


martes, enero 03, 2006

Sistema de Updates para el SIG

Las actualizaciones de cualquier sistema en produccion siempre es compleja, generalmente causando detenciones que afectan la disponibilidad y donde en algunos casos puede llegar a afectar economicamente la entidad.
Ya en el SIG se venia trabajando para mejorar la disponibilidad, desde el cambio en caliente de DLLs de modulos, las mejora de rendimiento en cuanto a usuarios, hilos de ejecucion, recolector de usuarios inactivos, etc. Ahora presentamos una manera de actualizar los sistemas sin que estos dejen de funcionar, al punto de añadir funcionalidades completamente nuevas, hacer reparaciones de bugs, parches de seguridad, etc.

El sistema de Updates del SIG
  • Se le incorpora al Editor una herramienta para configurar Updates, que genera ficheros compactados con la informacion a actualizar.
  • Se le incorpora al Server una opcion para actualizarse, donde se escogera el fichero de actualizacion y se aplicara este sin que el Servidor deje de funcionar, aplicandosele a los nuevos usuarios la actualizacion hecha y a los usuarios que aun esten conectados hasta el nivel de DLLs.
  • Los Updates son jerarquicos, (o sea un Update tiene precedencia sobre otros)
  • Los Updates contienen Modulos y sus componentes internos (Modulos, DLLs, etc.), Scripts SQL (para transformacion de bases de datos), Identificador, Definicion de Precedencia y Descripcion.
De esta manera el SIG queda en condiciones de mejorar su disponibilidad acercandose a los criterios de Alta disponibilidad deseables en todo sistema de gestion.


Datos personales

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

Archivo del blog