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

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.

Datos personales

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