Que es OpenERP? Una definicion y descripcion de como funciona y algo de desarrollo.

OpenERP, es un ERP aqui la definción de Wikipedia

Bien en cristiano un ERP es una solucion integral de software para una empresa, en este punto se encuentra OpenERP que es una solucion hecha en Python y que es software libre, por lo que puedes extenderlo y modificarlo a tu gusto y no tienes que pagar licencia por usuario, como es comun en aplicativos como SAP.

Bien yo he conocido OpenERP por que en la empresa en que trabajo lo distribuyen, bueno en realidad la palabra correcta es lo implementan, que ese es el punto del negocio, al ser un software libre cualquiera podria descargarlo e instalarlo pero el negocio esta en implementarlo y personalizarlo para cada empresa, claro se tiene en principio la idea del ERP que es una “solucion vertical” con esto me refiero a que debes amoldarte a el y no el a a ti, eso tiene sus ventajas y sus desventajas ya que por un lado tienes el respaldo de que lo que este aplicativo implementa es un conjunto practicas ya probadas en instituciones similares o mas grandes que la de la empresa a la que esta implementado la aplicacion, pero el problema viene cuando tu empresa no puede o no quiere amoldarse a las llamadas “buenas practicas” alli esta el problema y tambien la solucion al ser una aplicacion OpenSource pues puedes modificarla para que se adapte a las reglas de tu negocio, cosa que no pasa con aplicativos propietarios.

OpenERP usa como base de datos PosgreSQL y en realidad lo que hace es montar todo en la base de datos, el framework se encarga de ello. Para los usuarios de MS WIndows la instalacion es clara y simple te descargas un instalador al que llaman ALLINONE y este instalador se encarga de instalar el servidor de OpenERP y PostgreSQL que si lo ven en administrador de servicios dira algo como “PosgreSQL for OpenERP”. La idea de los creadores de esta herramienta es que todo se cargue en la base de datos no solo los datos sino tambien todo el codigo que tengan los modulos que vaz instalando, asi tienes toda la aplicacion dentro de una base de datos en PosgreSQL, ventajas y desventajas de ello hay muchas y no voy a discutirlas en este articulo.

La parte funcional es sencilla, OpenERP se basa en modulos para instalar, asi cada cosa es un modulo, modulo de compras, ventas, MRP, etc. una vez que ponga en la carpeta de Addons algun modulo podre instalarlo desde la interface WEB, si te registras (gratis) puedes obtener los modulos desde la web. Se que habia una interface con ventanas pero ha sido reemplazada desde la version 6.1 por una interface web, que me parece mas aceptable, desde ella se instala el modulo y funciona.

Antes de hablar de como desarrollar modulos, voy a explicar como obtener modulos, si bien se pueden instalar directamente del serviddor principal de OpenERP, tambien pueden descargase desde launchpad quee sta basado en Bazaar CVS, asiq ue tienes que conseguir el Bazaar desde http://wiki.bazaar.canonical.com/Download, para los usarios de Windows es necesario usar Putty para lo del ssh (ya explicare como funciona en un post diferente), si has usado GitHub o Mercurial no te sera nada dificil comprenderlo.

Biean ahora vamos a lo que nos intereza como desarrolladores ¿es facil aprender el framework?, ¿es facil extenderlo?, ¿existe documentacion suficiente sobre el producto?, venga una mil preguntas mas nos nacen a los desarrolladores y ahora les voy a hablar desde el punto de vista de alguien que nunca en su vida ha usado python y que viene de las canteras de .NET.

Las cosas en OpenERP trabajan de esta manera: primero defines una clase en python que despues sera una tabla en la base de datos, a esta clase le defines propiedades (columnas en openERP), metodos que haran la funcionalidad de la clase, claro si requieres algo especifico pero sino, si solo quieres que haga un CRUD (Create, Read, Update and Delete) pues no le implementas nada, luego necesitas definir las formas de mostrarse los datos en la interface para ello se usan archivos XML, en los que defines lo que llama OpenERP vistas (VIEW) en general puedes usar dos vistas una llamada “TREE” que no es otra cosa que el listado (una cuadricula o grilla) y la otra llamada “FORM” que es el formulario propiamente dicho, tambien existen vistas como la de grafico al estilo Gant o tipo grafico estadisco (estas dos ultimas no las he implementado aun), bien tambien deberias definir los menus todo eso en el archivo XML, asi separas la logica del diseño, todo muy sencillo pra un desarrollador, pero sin los asistentes de un IDE como Visual Studio es algo engorroso trabajar (ya tengo en mente hacer un pequeño aplicativo en .NET que me permita definir la interface de forma facil y que se encargue de escribir el XLM).

Veamos aun en teoria un ejemplo digamos que se me ocurre hacer un mantenimiento para alumnos pues entonces defino una clase que contenga las columnas y como no quiero que haga nada mas que el mantenimiento no escibo nada como metodos, luego hago mis vistas en XML y listo ya tengo casi el modulo para instalar en OpenERP.

Bien ahora los modulos tienen sus reglas (como en todo), primero debe de estar en una carpeta, deben de existir en esa carpeta dos archivos siempre __init__.py y __openerp__.py en el primero (__init__.py) colocas los imports de tu modulo y en el segundo la descripcion, nombre, version, autor, depenmdencias, archivos XML que usaras entre otras cosas, luego en otro archivo(s) (.py) la clase o clases que vas a implementar, esto es mandatorio, no puedes obiartelo y bueno las clases las programas en Python (odio la idea de indentados que tiene este lenguaje de programacion pero cada uno tiene sus particularidades)

Por ahora lo voy a dejar aqui pero me comprometo ha sacar una publicacion de OpenERP cada viernes partiendo de hoy y ya tocando mucho mas a fondo la programacacion, pero el siguiente articulo sera como usar Launchpad + Bazaar para descargar modulos, luego como modificar un modulo y espero explicar tambien como migrar modulos de la version 6 a la 7, lamentablemente no hay muchos modulos para la version 7 pero la migracion cuesta algo pero se puede hacer, es mas ya he migrado varios modulos y los tengo en Launchpad para aprobacion de sus creadores, tambien la vaina esta de los reportes (que solo he podido hacer funcionar en GNU/Linux con OpenOffice), como trabajar desde la interface para crear campos, venga hay mucho por escribir y mucho por compartir, hasta el proximo viernes.

Acerca de

Antes que nada voy a dejar en claro algo, en este blog escribo como se me place, asi que no busquen errores de ortografia o de redaccion que los van a encontrar a montones y tampoco me critiquen o me digan nada sobre ellos pues no tengo intencion alguna de cambiarlos, lo que escribo lo dejo asi y no lo corrijo,claro esta a menos que sean lineas de codigo. Jorge Prado Anci, profesional en desarrollo de aplicaciones, en especial las dirigidas a bases de datos. He trabajado con VFP en casi todas sus versiones, se algo de Java (que no me gusta, es eso solo no me gusta, es bueno pero no me gusta), lo suficiente de PHP como para tener mi propio CMS(es que sigue sin gustarme por la capacidad de desorden que te permite este “lenguaje”), VB lo conoci y lo deteste tanto que lo olvide al punto de no querer adoptar ni por obligacion a su reemplazante VB .NET (por lo mismo de Java) y si C# este si me encanta y aun que conozco bastante bien el lenguaje, la verdad es que me falta mucho del Framework (del 100% estare en un 65%). Soy un apasionado por el orden (en los proyectos de desarrollo), de la programacion en capas (de MVC conozco pero no he aplicado mucho), los estandares y las condenadas pruebas unitaria. Venga creo que ya con esto fue suficiente.

Tagged with: , , , , , ,
Publicado en OpenERP
3 comments on “Que es OpenERP? Una definicion y descripcion de como funciona y algo de desarrollo.
  1. […] y las 1500 visitas en un día al blog de esta heramienta (que no es este), luego le dediqué el primer post del año a OpenERP donde intenté definir lo básico de la filosofía de esta herramienta. Luego el segundo post sobre […]

  2. Luis Felipe dice:

    Hola amigo, muy bueno tu blog, tengo una gran duda, el ultimo OpenERP creo que es la v7 es libre, o sea pudo utilizarlo para instalárselo a terceros sin pagar nada??, según entiendo solo se paga soporte, pero estoy algo confundido, podrías aclararme mi duda. Gracias.

    • xmeele dice:

      Bien no soy un gurú ni algo similar en lo que se dice licencias pero si estoy seguro que puedes usarlo de forma libre, ya que al descargar e instalar OpenERP descargas el código fuente de la aplicación completo y no es necesario ni pagar el soporte de forma obligatoria, puedes hacerte experto tu mismo y dar el soporte por tu cuenta.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 441 seguidores

Blog Stats
  • 304,391 hits
A %d blogueros les gusta esto: