[Asociacion] Fwd: ERP Nacional
Felipe Hernández
felipe en qhatu.net
Mar Jun 24 15:20:40 ECT 2008
Hola señores,
Mi nombre es Luis Felipe Hernández, soy uno de los diseñadores y
desarrolladores de eMaku.
Quisiera comentar algo al respecto y aclarar algunas dudas sobre el
proyecto.
A continuación inserto el siguiente mensaje al cual haré algunas
aclaraciones:
"Hola Andres, colisteros,
me baje el código de berlios y tengo que admitir que tengo SERIOS dudas.
La implementación esta en muchas partes hecho a patadas y me parece que
los desarrolladores optaron por no se cual razón no reutilizar componentes
existentes."
Teniendo en cuenta lo anterior me permito manifestarles que la
implementación no esta hecha en muchas partes y tampoco a "patadas" como se
manifiesta en el correo, todo el proyecto se encuentra en el arbol beta de
berlios, los demás son proyectos alternos. Sobre la reutilización, el
sistema reutiliza muchas librarías y proyectos completos de terceros: como
jasper para reportear, como jpedal para visualizar pdfs, como jdom para
manipulacion de archivos xml, beanshell para interpretación de código a
partir de scrits, y así muchos mas.
Luego dentro del correo se manifiesta que:
"El "ORM" usado es bastante enfocado al postgres y va estar complicado si
no imposible de migrarlo a otras bases. No entiendo por que no
utilizaron ni servicio comprobados como hibernate, modelos de diseño
reconocido como MVC (Struts, Spring) ni usaron servicios de un servidor
reconocido como Tomcat o jBoss que soporte un estandarte abierto como
WAR o EAR para deployar la aplicación."
Con respecto a esta afirmación puedo decirles que el sistema no esta
enfocado a postgres, no se porque se dice eso en el correo. es mas puedo
garantizar que en el código fuente de la aplicación solo encontraran 1 sola
sentencia sql, todo lo demás concerniente al manejo de base de datos esta
almacenado en la misma base de datos, sobre reinventamos la rueda y no
utilizamos cosas existentes como hibernate, struts spring etc... fue debido
a que cuando iniciamos con el proyecto la rueda no existía ; puesto que este
proyecto tiene varios años en desarrollo, si miran las fuentes encontraran
clases que datan del 2004 y en esa época muchas de esas librerías no
existían o estaban en versiones beta.
Cuando se empieza a desarrollar un proyecto donde se sabe que va a demorar
un buen tiempo, se tiene dos opciones, definir una ruta y arrancar con lo
que se tiene en ese momento para construirlo, o por el contrario a medida
que se va desarrollando empezar a cambiar sus entrañas para adaptarlo a las
ultimas tecnologías que aparecen en el momento. Pues bien nosotros optamos
por la primera... Porque?... porque el proyecto de por si es muy largo y
toma mucho tiempo desarrollarlo, si se toma la opción de cambiar a cada
momento sin cesar pues se ira toda la vida y nunca llegará el momento de ver
culminar lo que alguna vez se inició, y mucho menos cuando son solo 3
personas las que se metieron en una locura como la que nosotros nos
encaminamos.
Ahora si, les cuento algo sobre emaku... emaku fue concebido para adaptarse
a las necesidades de las Empresas... si miran a fondo sus clases se darán
cuenta que por ningún lado encontraran formularios para hacer una factura,
un comprobante, o cualesquier documento existente. todos estos documentos se
parametrizan en xml y se interpretan en tiempo de ejecucion, de la misma
forma la lógica de negocios son clases que deciden que hacer con la
información según una parametrizacion y envían dicha información a la base
de datos sin importar el motor... no se donde miran que solo esta orientado
a postgres.. si estas clases del motor a utilizar se parametrizan en el
archivo de configuración, solo allí miraran la palabra postgres y doy fe de
eso porque yo lo hice;
Porque desarrollar una aplicación así y no completamente programada?....
porque todos los negocios cambian... las normas contables, la legislación
comercial puede ser la misma, pero cada quien tiene su lógica para
administrar su empresa. Imagínense que tienen 10 clientes uno a la vez y
cada uno les pidió una modificación diferente, y todo esta programado, a
medida que empiezan a modificar, su código se empieza a ensuciar.. que es lo
que tendrá el cliente 11? un código sucio, con código comentado y lleno de
bugs.
Si se desarrolla una aplicación enfocada y cuadriculada a lo que dice la ley
les garantizo que esa aplicación no servirá para nada... se debe tener muy
en cuenta que se va a desarrollar una aplicación para humanos .. y los
humanos cometemos muchos errores.
Lo mas importante de una aplicación de este tipo es solucionar esos
problemas, anular y saber anular.. eliminar y saber eliminar y lo mas
importante y delicado de todo editar y saber editar.. y por su puesto
reportear .. es allí donde esta el éxito de una aplicación.
Si están interesados en conocer mas sobre la aplicación pueden escribirme
para montar un servidor y poder desplegar la aplicacion con javawebstart,
así podrán verla en funcionamiento..
En berlios encuentran es el motor de todo lo que les estoy hablando, pero en
realidad toda la lógica de negocios esta en la base de datos que no se
encuentra en berilos; el porque, por la sencilla razón de que en ella misma
se guarda información confidencial de nuestros clientes .. es decir sus
contabilidades con parametrizaciones especificas.
Con que contamos en el momento… bueno tenemos un ERP que cuenta con 1101
sentencias sql, 393 formularios diferentes y 168 reportes, todo
parametrizado en base de datos, entre sus módulos que tenemos: tenemos
cartera, cuentas por pagar, facturación, POS, inventarios, contabilidad,
auditoria contable, manejo multibodega, sistema multiusuario,
multiplataforma,
Los módulos prioritarios que tenemos pendientes es nomina, pero esta en
desarrollo, hacia que esta enfocado este ERP, a la pequeña y mediana
empresa.
Espero haber aclarado sus inquietudes y por ultimo los invito a no destruir
en un correo que les toma 10 minutos el trabajo de varios años de otras
personas sin estar completamente seguros de lo que están diciendo.
Que tengan buen dia.
Cordialmente,
LUIS FELIPE HERNANDEZ
Más información sobre la lista de distribución Asociacion