Apache OFBiz

April 5, 2018 | Author: Anonymous | Category: Documents
Report this link


Description

linux en la empresa Desarrollo de sistemas corporativos Apache OFBiz Javier Torres Apache OFBiz reduce drásticamente el código requerido para obtener una aplicación, con un alto nivel de abstracción, que nos permite concentrarnos en la implementación del modelo de negocio y no en la programación misma. A l hablar de sistemas para corporaciones, apare- commerce, SCM, MRP, CMMS/EAM, etc? Además que sea cen siglas tales como ERP, CRM, E-Business/ fácil de instalar, configurar, adaptar y desarrollar. E-commerce, SCM, MRP, CMMS/EAM y Bueno, sí existe una solución informática que da resmás, que básicamente hacen referencia a: puestas a estas necesidades, es Apache Open for Business Project, también conocido como Apache OFBiz. El mis• ERP: Sistemas de Planificación de Recursos de la Em- mo es un proyecto de automatización de software emprepresa (Enterprise Resource Planning). sarial Open Source, bajo la licencia Apache versión 2.0. • CRM: Administración de la relación con los clientes Apache OFBiz es un sistema OOTB (Out Of The (Customer Relationship Management) Box), es decir instala y se lo usa, sin más vueltas. Ofrece • E-Bussines / E-Commerce: Negocios Electrónicos o una gran cantidad de funcionalidades, incluyendo: Comercio Electrónico. • SCM: Gestión de la Cadena de Suministro • Comercio electrónico avanzado • MRP: Planificación de Requerimientos de Materiales • Administración de catálogo (MRP - Material requirements planning - Manufacturing • Gestión de promociones y precios Resource Planning) • Administración de órdenes de pedido (Compras y Ventas) • CMMS/EAM: Sistemas de Administración de Manteni- • Gestión de clientes miento Automatizado (CMMS Computerized Mainte- • Gestión de almacenes - depósitos nance Management Systems). Administración de Activos • Cumplimiento de movimiento automático de stock, Empresariales (EAM Enterprise Asset Management) agrupación de selecciones, empaque y envío. • Gestión Contable (factura, el pago, la facturación de Uno se preguntaría, ¿existe un sistema Open Source oriencuentas, activos fijos) tado a dar soluciones del tipo ERP, CRM, E-Business/E- • Administración de los procesos de fabricación 46 [email protected] Linux+ 3/2008 linux en la empresa Desarrollo de sistemas corporativos • Administración general de trabajo requerido y empleado – esfuerzo de trabajo (eventos, tareas, proyectos, solicitudes, etc.) Gestión de contenidos para el producto contenido, páginas web, de contenido general, blogs, foros, etc. Un módulo maduro de punto de venta (POS) usando XUI como una interfaz de cliente enriquecida Y mucho más, ¡todo un proyecto Open Source! servicios pueden entonces llamarse directamente svn co http://svn.apache.org/repos desde la aplicación web, de forma automática, /asf/ofbiz/trunk ofbiz dentro de otros servicios, de workflows declarados, o remotamente vía el SOAP o el RMI. Instalar PostgreSQL Por defecto el sistema Apache OFBiz tiene Instalar Apache OFBiz configurado e integrado una base de datos Java La instalación consiste en tan solo bajar la aplica- embebida llamada Derby. La misma es buena ción desde el proyecto Apache OFBiz y de luego para demostrar, probar, y desarrollar pequeñas instalar Java. Se ejecuta un script de instalación, se implementaciones. Pero se recomienda no uticonfigura, se lo hace correr y nada más, queda lis- lizar Derby, ya que no es fácil de administrar, ni to para que la empresa mejore su productividad. optimizar, y no posee una buena performance. Las siguientes instrucciones de instalación OFBiz soporta una gran cantidad de base de dason en particular para una distro Debian GNU/ tos, tanto comerciales como Open Source, entre Linux llamada Etch, con una base de datos las comerciales tenemos a Oracle, MS SQLSerPostgreSQL, sin embargo los pasos a seguir son ver, y dentro de las Open Source Postgre o MySsimilares en las demás distribuciones. Para ins- QL, generalmente se recomiendan estas últimas. talar Java SDK se comienza agregando non-free En esta instalación elegimos PostgreSQL, en los repositorios de Debian Etch (en /etc/apt/ por ninguna razón en particular, simplemente sources.list), y luego se ejecuta en consola: por mayor afinidad. Escribir en la consola de nuestro Debian: apt-get install postgresapt-get update 8.1 luego hay que configurar el mismo míniapt-get install sun-java5-jdk mamente como sigue: sun-java5-jre sun-java5bin sun-java5-plugin export JAVA_HOME="/usr /lib/jvm/java-1.5.0 -sun-1.5.0.10/" • • • Tecnologías Nos basaremos en las tecnologías ampliamente conocidas y usadas como Php/Perl y Java para explicar lo que sería Apache OFBiz. Como todos sabemos Php/Perl se concentra en el desarrollo rápido y en obtener resultados, es un lenguaje interpretado, y que carece de una estructura bien definida, mientras Java hace hincapié en la separación de código, es un lenguaje que tiene una estructura bien definida, generalmente separa la presentación, de la lógica y la de acceso a la base de datos, típicamente incluye muchas librerías, clases, propiedades de archivos, definición de archivos, y demás. Apache OFBiz combina la velocidad de Php/Perl, con la estructura Java, obteniendo algo bastante interesante. Logrando reducir drásticamente el código requerido para obtener nuestra aplicación, creando un alto nivel de abstracción, que nos permite concentrarnos en la implementación del modelo de negocio y no en la programación misma. OFBiz se construye utilizando el modelo MVC (Model-View-Controller), esto quiere decir que un controlador analiza las peticiones primero, y después determina qué hacer. La lógica de negocio de OFBiz no se rige a las páginas particulares (como en PHP), objetos particulares (como en Java), o las peticiones particulares del servidor (como en servlets de Perl o de Java del cgi), se crean generalmente servicios, que son pedazos pequeños, reutilizables del código que se pueden escribir en una variedad de lenguajes, incluyendo Java, Jython (una implementación de alto nivel, dinámico, orientado a objeto del lenguaje Python, escrito en Java), beanshell, o el mini lenguaje de OFBiz. Los • • Para finalizar esta parte, se debe agregar una línea en el archivo /etc/profile, para se cargue desde el arranque, como sigue: • export JAVA_HOME="/usr /lib/jvm/java-1.5.0-sun-1.5.0.10/" En /etc/postgresql/8.1/main/postdescomentar la línea que dice listen_addresses = 'localhost' En /etc/postgresql/8.1/main/pg_hba. conf modificar la línea que dice host all gresql.conf all 127.0.0.1/32 md5” por “host all all 127.0.0.1/32 trust Reiniciar postgresql de la siguiente manera: Crear usuario ofbiz en GNU/Linux: useradd ofbiz passwd ofbiz su postgres createuser ofbiz exit • /etc/init.d/postgresql-8.1 restart La instalación de Apache OFBiz consiste en • descargar directamente desde el desarrollo del proyecto, utilizando un cliente SVN (subversión, un sistema controlador de versionado), por consiguiente instalamos el soporte SVN • (subversión): apt-get install subversion subversion-tools Crear el usuario ofbiz en PostgreSQL: Crear base de datos con el usuario ofbiz: su ofbiz createdb ofbiz exit • Creamos la carpeta donde se trabajará y descargar allí el proyecto: mkdir workspace cd workspace Instalar el controlador jdbc para postgres8.1 de Java, para ello hay que ubicarse en una carpeta en particular dentro del OFBiz que instalamos, y descargar un paquete: cd ..ofbiz/framework /entity/lib/jdbc/ Figura 1. Certificado de OFBiz Figura 2. Confirmación de Certificado de OFBiz Figura 3. Logueo en OFBiz www.lpmagazine.org 47 linux en la empresa Desarrollo de sistemas corporativos escribir lo siguiente: java -jar ofbiz.jar ofbiz. La cual se sugiere cambiar luego por -install -readers=seed razones de seguridad obviamente. Una recomendación para las implementaAhora solamente falta poner el Apache OFciones pequeñas, es la de instalar los datos de la Biz en funcionamiento: ./startofbiz.sh & o empresa Demo, y luego modificar a través de las bien bash startofbiz.sh & aplicaciones de OFBiz. Para una instalación en Si deseamos pararlo bastaría con grande, se aconseja crear los archivos de datos escribir: ./stopofbiz.sh o bien bash y su configuración personalizada, copiando stopofbiz.sh desde la Demo, o simplemente creando todo Apache OFBiz por defecto utiliza los desde cero. Esto se detalla en la documentación siguientes puertos, una vez puesto en funciode OFBiz, de manera reducida consiste en unos namiento: pocos cambios en los archivos como ofbizcomponent.xml y luego solamente bastaría hacer • HTTP - 8080 algo como lo siguiente (donde ext, es la parte que uno personaliza): Configurado en: Containers XML File Referenciado en: Service Engine XML java -jar ofbiz.jar -install File, Navegadores Web (Browser, si corre readers=seed,ext directamente), Propiedades de archivos URL Los datos de la Demo de OFBiz incluyen a un admin, que por defecto, su contraseña es • HTTPS - 8443 Listado 1. Contenido de entitymodel.xml Entity of an Open For Business Project Component wget http://jdbc.postgresql.org /download/postgresql -8.1-409.jdbc3.jar • Editar ...workspace/ofbiz/framework/ entity/config/entityengine.xml cambiar donde dice: datasource-name=” localderby” por datasource-name=” localpostgres” y agregar 5432 en: ......... .......... Create a HelloPersonHobby which links a person and a hobby ISOTONER, Ulta, Undersun Consulting, Xinit Systems, World Franchise Council, entre otros. Para una lista más detallada de los mismos podemos dirigirnos a: http://docs.ofbiz.org/ display/OFBIZ/Apache+OFBiz+User+List. También podemos encontrar productos basados en Apache OFBiz como: • • • • • • Codesquare Helix Mvelopes (FREE TRIAL!) (Comercial-Service) Atlassian JIRA (Comercial) Opentaps Open Source ERP + CRM (GPL/Comercial) Neogia (GPL) SourceTap CRM (GPL/Commercial) NeuLion SAVANNA XtraMind Mietta 2. Capa de Datos Las capas de datos son responsables de los accesos y almacenamiento de la base de datos, y de además proveer una interfaz a la capa lógica. Los datos son accedidos como objetos pero por un camino relacional. Cada entidad (representa una fila de la base de datos) es provista por la capa de lógica como un valor genérico. El valor genérico no es especificado, así los campos son accedidos por el nombre de la columna. El Desarrollo en Apache OFBiz A continuación haremos un recorrido superficial, de los pasos generales a seguir, para el desarrollo de las aplicaciones en Apache OFBiz, para ello nos basaremos en la Figura 7 (diagrama de desarrollo). Antes seguir hay que tener presente que Apache OFBiz, tiene muy bien definida la estructura de directorios y archivos, a la que tenemos que ajustarnos. En la Figura 8, apreciamos a la estructura de directorio, incluyendo los archivos mencionados en el diagrama de desarrollo. La estructura de directorios fue sacada de un ejemplo, el mundialmente conocido como Hola Mundo!!! (Hello World), que es el primer programa que uno escribe, en cualquier entorno de desarrollo, en este caso lo podemos encontrar en 3 versiones (que va de un ejemplo básico a uno bastante avanzado), en el sitio www.opensourcestrategies.com/ofbiz. Lo primero a llevar a cabo en una aplicación como lo muestra el diagrama (figura 7), es la definición de la base de datos, que se la realiza escribiendo un archivo llamado entitymodel.xml, (ubicar el mismo en la Figura 8 – estructura de directorio). En el ejemplo a estudiar define una base de datos con 3 tablas, una para datos de una persona (HelloPerson), una para los hobbys (HelloHobby) Conclusiones Plataformas de desarrollo La mayoría o la totalidad de la implementación se la puede realizar simplemente trabajando con los archivos XML, y para ello cualquier editor de texto que trabaje con la sintaxis de estos formatos es bueno, podríamos decir que VIM es un buen candidato para los amantes de las consolas. Por otra parte podemos usar entornos de desarrollos como Eclipse (con algunos plugins) y NetBeans, ya que con los mismos puedo hacer un seguimiento de la aplicación, parar y hacer correr la aplicación, editarla, encontrar archivos, etc. Se encuentra bastante documentación disponible en Internet de cómo desarrollar en OFBiz utilizando estos entornos de desarrollos. Si uno quiere implementar un sistema informático de gran envergadura, robusto, totalmente orientado a las corporaciones, que de entrada cuente con un 80% de la solución informática, y que además con pocas líneas de programación se llegue a la solución deseada, sin dudarlo usaría una solución como la propuesta por el proyecto Apache OFBiz. Si bien presenta una curva de aprendizaje bastante elevada, una vez superada, es todo un juego de niños. Espero que este material sea de utilidad, como cultura general o bien para comenzar a desarrollar con esta fabulosa creación de Apache, en la actualidad considerado oficialmente un proyecto de alto nivel, o TLP (top level project), para la Apache Software Foundation. ¿Quiénes usan Apache OFBiz? Es difícil decir quienes usan y cómo usan Apache OFBiz debido a que no muchos te dicen si Sobre el autor Ing. Javier Torres - Alias Javix - Coordinador y Co-fundador de la comunidad de software libre de Salta Argentina (SaltaLUG). Un gran admirador y seguidor de Debian y Ubuntu, en estaciones de trabajo y en servidores. En la Red http://ofbiz.apache.org/ http://www.opensourcestrategies.com/ ofbiz/tutorials.php Figura 9. Herramientas Web - OFBiz www.lpmagazine.org 51


Comments

Copyright © 2025 UPDOCS Inc.