Buscar
Social
Ofertas laborales ES
jueves
mar182004

Nuevos contenidos para todos los gustos

Esta vez tenemos para todos los gustos. Por una lado un artículo para aquellos que están empezando con Java y quieren realizar aplicaciones que se conecten a una base de datos a traves de los drivers JDBC. Para ello Abraham ha escrito un completo tutorial con el que aprenderás todos lo que necesitas saber.



En otro campo un poco mas avanzada Luis Ramón Álvarez nos ha enviado un artículo sobre Ofbiz, un entorno de desarrollo web con el cual es muy sencillo crear desarrollos empresariales. En este artículo tenemos una explicación de como instalarlos sobre Orion y MySQL para que podamos empezar a trabajar con él.



Para acabar, y desde hace ya unos días, hemos vuelto a publicar un tutorial de J2ME que en el pasado tuvimos que quitar. Gracias a Manuel Jesús Prieto por volver a confiar en nosotros para hacer llegar al público este gran tutorial.



Un saludo y seguimos esperando esas lineas que seguro teneis escritas y estáis pensando en publicar ;-)
jueves
mar182004

INSTALAIÓN DE OFBIZ 2.1.1 bajo Orion y MySQL


INSTALACIÓN DE OFBIZ 2.1.1 bajo ORION 2.0.2 y MySQL 4.0.17 en Windows 2000

INSTALACIÓN DE OFBIZ 2.1.1 bajo ORION 2.0.2 y MySQL 4.0.17 en Windows 2000


Fecha de creación: 9.2.2004

Revisión 1.0 (9.2.2004)

Luís Ramón Álvarez González
lralvarez@pronoide.com


Copyright (c) 2004, PRONOIDE.
Este documento puede ser distribuido solo bajo los términos y condiciones
de la licencia de Documentación de javaHispano v1.0 o posterior
(la última versión se encuentra en /licencias/).





Introducción



El objetivo de este artículo es el de instalar la plataforma de desarrollo de aplicaciones de
negocio Ofbiz para que trabaje bajo el servidor de aplicaciones java OrionServer y la base de datos MySQL.
Hemos seleccionado la combinación Orion Server y MySql pues según la documentación del proyecto es una de las
combinaciones con mejor rendimiento y mayor escalabilidad (ver Obfiz/setup/setup.html). para hacernos una idea
bastante aproximada del rendimiento que muestra Ofbiz en este entorno, que es en el que se basa nuestra experiencia.





Instalación de los componentes





Primero ha de instalarse el paquete de desarrollo java. Para esta experiencia se ha utilizado
el j2sdk-1_4_2_03. Igualmente es necesario instalar el servidor Orion. En este caso se utilizará
la versión 2.0.2. En cuanto a la base de datos, se utilizará como se ha dicho MySql, la versión 4.0.17.
Este software e instrucciones para su instalación puede obtenerse en las direcciones de la sección 'recursos' .




La elección de las versiones se basa en la última versión estable disponible a la hora de
realizar este documento.




Existe un problema cuando Orion sirve las aplicaciones Ofbiz utilizando el compilador
estándar que acompaña al JDK, puesto que al compilar las páginas jsp en ocasiones se generan
métodos de más de 64kb y se produce un error similar a este:





500 Internal Server Error Error parsing JSP page /catalog/control/EditProduct Error
creating jsp-page instance: java.lang.ClassFormatError: __jspPage20_product_EditProduct_jsp
(Code of a method longer than 65535 bytes)




Para solventar este inconveniente, se debe utilizar otro compilador. El
compilador de IBM Jikes solventa el error y ademas de ser totalmente
compatible, se optimizan sensiblemente los tiempos de compilación. La última
versión disponible es la 1.18 y puede obtenerse en 'http://www-124.ibm.com/developerworks/oss/jikes'




Para instalar el compilador Jikes ha de descomprimirse el fichero zip y añadir
a la variable de sistema path la entrada [directorio jikes]/bin.




Por último, se instalará el entorno de desarrollo Ofbiz. Para ello basta
descomprimir el fichero ofbiz[version]-apps.zip. La última versión disponible
es la 2.1.1, y es la que se utilizará.




Después de tener instalados el Java, el servidor y el própio Ofbiz se
continuará con la configuración de los mismos. El paquete Ofbiz puede
obtenerse en 'http://www.ofbiz.org'.




Configuración del servidor Orion





Para asociar Orion con el compilador Jikes se debe incluir la siguiente línea
en el archivo de configuración server.xml. Este fichero contiene la
configuración de Orion, directorios de trabajo, compiladores, logs, ect y se
encuentra en [directorio orion]/config.





< executable="[directorio jikes]\bin\jikes.exe"
classpath="[directorio jdk]\jre\lib\rt.jar" />





Más adelante se copiará el fichero server.xml que viene incluido en ofbiz, por
lo que realizaremos esta operación más adelante.
Es necesario tambien que el fichero tools.jar se encuentre en el directorio
raiz de Orion. Utilizando este archivo Orion será capaz de servir aplicaciones
que utilicen java. Este fichero se encuentra en el directorio 'lib' del paquete
java. Si el paquete java se ha instalado en el directorio por defecto, se
encontrará el fichero en c:\j2sdk1.4.2_03\lib\tools.jar.




Tambien se precisa que los siguientes archivos .jar se copien en el directorio
orion/lib. Estos archivos se encuentran el [directorio ofbiz]/lib/jotm y son:





carol.jar
commons-cli.jar
enhidra-jdbc.jar
jonas_timer.jar
jotm.jar
jotm_iiop_stubs.jar
jotm_jrmp_stubs.jar
monolog.jar
objectweb-datasource.jar





Otro fichero jar que será necesario para que las aplicaciones lo utilicen es
el xerces.jar. Este jar contiene clases para el manejo de ficheros XML y
bastará con copiarlo del directorio raiz de Orion a orion/lib.




El siguiente paso es modificar los ficheros de configuración de Orion para que
sea el servidor que utilice Ofbiz. La distribución de Ofbiz incluye una série
de ficheros de configuración para diversos servidores, y entre ellos se
encuentran los necesarios para la configuración del Orion. Tambien existe un
fichero bat 'ofbiz.bat' que se encarga de ejecutar el ofbiz y el orion
conjuntamente.




Estos ficheros se encuentran en [directorio Ofbiz]/setup/orion/config:





application.xml
data_sources.xml
default_web_site.xml
jms.xml
principals.xml
server.xml





Se copiarán estos ficheros en el directorio orion/config y se puede introducir
ahora en server.xml la línea que relaciona Orion con el compilador Jikes. El
fichero ofbiz.bat lo copiaremos en el directorio raiz de Orion.




Configuración de Ofbiz





No es necesario configurar el servidor Orion para la conexión a la BB.DD, ya
que de ello se engarga el própio Ofbiz. Para configurar el acceso desde Ofbiz
hay que modificar el fichero entityengine.xml situado en
[directorio ofbiz]/commonapp/etc. Este fichero guarda la configuración para el
acceso a la base de datos y en el vienen distintas configuraciones para la
conexión con distintas bases de datos. Para seleccionar la conexión con MySql
hay que realizar los siguientes cámbios:




Comprobar el datasource para MySql. En el fichero entityengine.xml debe
aparecer lo siguiente:





<datasource name="localmysql"
helper-class="org.ofbiz.core.entity.GenericHelperDAO"
field-type-name="mysql"
check-on-start="true"
add-missing-on-start="true"
use-foreign-keys="false"
join-style="theta-oracle">
<sql-load-path path="commonapp/db" prepend-env="ofbiz.home"/>
<sql-load-path path="ecommerce/etc" prepend-env="ofbiz.home"/>
<inline-jdbc
jdbc-driver="org.gjt.mm.mysql.Driver"
jdbc-uri="jdbc:mysql://[direccion servidor]/[nombre de la BB.DD]"
jdbc-username="[nombre del usuario]"
jdbc-password="[clave del usuario]"
isolation-level="Serializable"/>
</datasource>





La base de datos que vaya a utilizarse, debe crearse manualmente en MySql antes
de comenzar a trabajar, puesto que ofbiz no la crea por su cuenta.




Y por último, crear una etiqueta 'delegator' en el mismo fichero. El atributo
name tiene asignado el valor 'default' para que Ofbiz utilice este delegator
que apunta a MySql por defecto.




<delegator name="default" entity-model-reader="main"
entity-group-reader="main" entity-eca-reader="main"
distributed-cache-clear-enabled="false">
<group-map group-name="org.ofbiz.commonapp"
datasource-name="localmysql"/>
</delegator>




Puesta en marcha





Para iniciar el servidor Orion y Ofbiz se ejecutará el archivo ofbiz.bat desde
el directorio raiz de Orion.




La primera ocasión el la que se ejecuta Ofbiz, se crea automáticamente en la
base de datos todas las tablas relacionadas con las distintas entidades
predefinidas. Estas tablas se crearán sin datos.




Una vez completado el inicio, desde un navegador deberá accederse a
"http://localhost:8080/webtools" (si estamos en la misma máquina donde se
ejecuta Ofbiz) y aparecerá la página "Core Application WebTools".
La primera acción que realizaremos con Ofbiz es rellenar las tablas de la base
de datos con los valores predefinidos. En la pantalla de inicio de webtools
aparece el enlace "NOTE: If you have not already run the installation data
loading script, click here to run it.". Al pulsarlo, aparece otra pantalla en
la que debemos pulsar el botón "Load data" y luego el enlace "Yes, load now"
que aparecerá en la parte inferior.
Una vez terminado el proceso de carga de datos, podremos acceder a las
aplicaciones pulsando en el enlace "Login". Por defecto existe el usuario
"admin", con clave "ofbiz".




APLICACIONES DISPONIBLES





La distribución de Ofbiz viene acompañada de algunas aplicaciones completas y
otras que se encuentran en fase de desarrollo. Las funcionalidades que aportan
esas aplicaciones son lo suficientemente amplias para que sean algo más que
simples ejemplos.




Una característica de estos ejemplos es que están relacionados entre si, por
ejemplo, la aplicación de comercio electrónico está muy relacionada con la
aplicación del catálogo y, a su vez, los productos del catálogo están
relacionados con una instalación (almacén, tienda, ect), que a su vez se crean
en otra aplicación. Los usuarios de todas estas aplicaciones se crean y
mantienen en otra aplicación específica (Party).




Entidades (Party)





En esta aplicación se definen las entidades (personas, grupos, clientes,
organizaciones o similares) que van a existir en los demás módulos. Cada
entidad podrá tener asignados distintos roles, ya sean estos predefinidos o
definidos para la ocasión.




También pueden definirse grupos de usuarios, asignando a los grupos personas o
clientes en distintos roles. Dentro de estos grupos, se establecen los
distintos roles que van a tener sus integrantes y luego es posible
asignárselos a cada componente.





Se puede realizar el seguimiento de los pedidos realizados por cada persona,
cliente o grupo, ya sean pedidos efectuados desde la aplicación de comercio
electrónico, o desde la aplicación de pedidos.




Permite realizar un seguimiento de las visitas que han realizado los usuarios
a las aplicaciones, almacenando datos como la fecha y hora y el lugar desde el
que se hizo la petición (una dirección I.P) para tener un histórico de los
accesos efectuados.









Comercio electrónico (eCommerce)





Esta es una aplicación válida tanto para B2B (business-to-business, usada para
describir el comercio electrónico que surge entre 2 entidades de negocios) como
para B2C (business-to-consumer, usada para describir comercio electrónico que
surge entre compañías y consumidores, tales como compra on-line). Incluye la
utilización de HTTPS para cuestiones de seguridad.




El catálogo se organiza en una estructura tipo árbol, con la posibilidad de
asignar al mismo producto más de una categoría superior. Así mismo, una
subcategoría del catálogo puede asociarse a más de una categoría superior.
Existen categorías especiales, como los productos más solicitados, productos
en oferta y similar.




El catálogo admite cualquier número de categorías y productos, y cada elemento
del catálogo llevará asociado un periodo de valided expresado mediante dos
fechas.




Permite la búsqueda de productos por palabras claves o por categorias asi como
la navegación por el catálogo siguiendo una estructura tipo árbol. Por defecto,
se mostrarán 10 productos a la vez, con posibilidad de avanzar a los diez
siguientes o retrocer a los diez anteriores, pudiendo configurarse el número
de productos mostrados cada vez con facilidad.





Los productos del catálogo pueden asociarse a plantillas, de modo que cada uno
se muestre al cliente de la forma mas adecuada a las características del
producto. Las plantillas se pueden asociar a categorias, y las sub-plantillas a diferentes productos. Además, es posible asociar una pequeña imagen a cada producto, con la posibilidad de mostrar otra mas detallada. Asi mismo, es posible definir cuales son los datos que han de mostrarse sobre los productos, incluidos atributos seleccionables. Tiene la funcionalidad de asociar distintas imágenes a la primera carácterística seleccionable. Por ejemplo, si la primera característica es el color del producto, se podria asignar una imagen a cada color.




Permite una rapida creación de los pedidos y la modificación de los
mismos, y según se vayan añadiendo productos al pedido, se mostrarán
los productos cross-sell y up-sell, además de los posibles productos
sustitutivos que haya en el catálogo. También puede realizar pedidos
utilizando otros realizados anteriormente.




Otra característica muy interesante es el uso de paquetes con
descuentos, ofertas especiales, regalos y descuentos por volumen de
compra. Esto último se define por medio de reglas definidas por el
administrador.



Catálogo (Catalog)





Desde la aplicación del catálogo se pueden gestionar cuantos catálogos
distintos sean precisos y luego, asociarlos a las distintas tiendas
virtuales (aplicación eCommerce).




Dentro de cada catálogo se podrán definir la estructura tipo árbol que ordenará
los productos. Los productos se definen con gran cantidad de características,
definiendo sus datos, plantillas para mostrarlos y asignándoles precios y
disponibilidad. Asi mismo pueden crearse variantes de un mismo producto, como
por ejemplo tamaños y colores, añadiendo variantes a un producto padre.




Una caracteristica que se le asigna a todos los elementos del catálogo
es un periodo de validez. Por ejemplo, periodo en el que es válido un
precio, fecha en la que debe aparecer una categoría en el catálogo y
fecha en la que debe desaparecer y similares.







Instalaciones (Facility)






Esta aplicación, mas pequeña que las anteriores, permite al usuario crear y
administrar las distintas instalaciones que pueda necesitar, ya sean almacenes,
tiendas, oficinas, edificios o similares. Permite la creación de grupos de
instalaciones, por ejemplo, una cadena de tiendas.




A cada instalación se le pueden asignar diversos productos de un catálogo,
para realizar un inventario de lo disponible en cada instalación, y llevar un
control sobre la recepción de los mismos.




Pedidos (Order)





Esta aplicación permite realizar un seguimiento de los distintos pedidos
realizados desde la aplicación de comercio electrónico o desde la misma
aplicación de pedidos, mostrando totales, pedidos por cliente, e informes de
ventas.




Cuenta con la posibilidad de crear pedidos desde la misma aplicación, por lo
que podría funcionar independientemente de la aplicación de comercio
electrónico.




Permite configurar los costes de envíos, los impuestos aplicados y las
diferentes formas de pago. Esta configuración se aplicará también en la parte
de comercio electrónico.








Conclusiones





Ofbiz se presenta como un eficaz framework para el desarrollo de
aplicaciones de comercio electrónico, con muchas posibilidades para adecuarlo
a cualquier necesidad, como pueda ser un CRM, un gestos de pedidos o
gestor de proyectos.



Actualmente se encuentra en desarrollo la versión 3.0, que mejora (y cambia)
con respecto a la distribución aqui comentada. Por lo tanto, sirva este
artículo como un primer contacto con Ofbiz, puesto que la nueva versión,
actualmente disponible en CVS, tiene un proceso de instalación distinto,
incluyendo que la distribución viene acompañada con el servidor de
aplicaciones gratuito Jetty.




Recursos



[1] Java (j2sdk-1_4_2_03),
http://java.sun.com/j2se/1.4.2/download.html



[2] Orion server (2.0.2),
http://www.orionserver.com



[3] MySql (4.0.17),
http://www.mysql.com/downloads/index.html



[4] http://www-124.ibm.com/developerworks/oss/jikes/,
http://www-124.ibm.com/developerworks/oss/jikes/



[5] http://www.ofbiz.org/,
http://www.ofbiz.org/



[6] Artículo original,
http://www.pronoide.com/centro_experto/articulos/instalacionOfbiz.html


Acerca del autor

Luís Ramón Álvarez González

jueves
mar182004

EL ABC de JDBC

Este tutorial hace una introducción al API estándar de java para acceder a las bases de datos: JDBC. Contiene varios códigos de ejemplo y cubre los principios básicos del acceso a bases de datos.
miércoles
mar172004

Entrevista con Jim Waldo sobre JINI

Jim Waldo es el líder de grupo JINI se SUN.

En esta entrevista habla sobre el estado actual de la tecnología, los conceptos erróneos que se tienen acerca de ella y quien la está usando.

A propósito, ¿alguien ha tenido alguna experiencia con esta tecnología?
miércoles
mar172004

Acaba de publicarse Tapestry 3.0 Release Candidate

Acaba de salir a la luz la versrión RC1 de Tapestry 3.0.



Tapestry es un potente framework para el desarrollo de aplicaciones web que se plantea como alternativa a los entornos de script como JSP o Velocity, así como de JSF.

Con ýl se pueden crear aplicaciones web extremadamente dinýmicas con una cantidad mínima de código, siguiendo una filosofýa basada en componentes.



Tambrión está a punto de llegar a las librerýas Tapestry in Action, el primer libro sobre Tapestry, que ya puede adquirirse en formato electrýnico.

Hay disponibles para descargar dos capítulos de ejemplo: Getting started with Tapestry y Form input validation