jueves, agosto 13, 2009

Introducción a jBPM Parte II ...

Bueno como ya sabemos que es jBPM, y seguramente lo tengamos instalado, vamos a ver como se definen y ejecutan procesos. Pero antes de empezar veamos como podemos importar los ejemplos que vienen con el paquete de jBPM ya instalado.

0.- Abrimos el Eclipse donde instalamos jBPM.
1.- Desde el Package explorer le damos al mene File->Import->Existing Project in Workspace
2.- Seleccionamos el directio C:\jbpm-4.0
3.- Marcar la carpeta de examples
4.- Pulsar Finish y se importarán los ejemplos en un proyecto. Una vez terminado ya tendremos importado todos los ejemplos, tal y como se muestra en la siguiente imagen.

5.- En el proyecto configuramos el Build Path y agregamos las librerias de jBPM

Los procesos en jBPM se definen bajo un formato específico denominado jPDL. Este lenguaje está contruido con pocos elementos gráficos:



Los procesos jPDL se definen de manera gráfica aunque esta definición se guarda de manera sincronizada en un formato XML:



Para la ejecución de un proceso, destacar que cada ejemplo posee normalmente 2 ficheros principales que son nombre_fichero.jpdl.xml con la definición gráfica del proceso, y un fichero java donde se ha programado un código de prueba en base a un test JUnit.



Para ejecutar estas pruebas seleccionamos la correspondiente clase java y dándole a Run As->JUnit Test podremos ejecutar dicho proceso. Otra forma de ejecutar dicho proceso es desplegarlo en un servidor para que pueda ser explotado por los usuario del proceso. Pero nosotros sólo explicaremos aquí como se ejecuta un proceso en local desde Eclipse.

Si no se ha configurado nada se van a usar los ficheros de configuración importados:

* jbpm.cfg.xml
* jbpm.hibernate.cfg.xml
* jbpm.mail.properties
* jbpm.mail.templates.examples.xml
* loggin.properties


Configurar la persistencia con MySQL

* jbpm.hibernate.cfg.xml sustituir las propiedades por:

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmdb4</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.format_sql">true</property>


Si queremos observar cual es el punto de ejecución de un proceso, a continuación tenemos el ejemplo más básico. En este ejemplo lo único que se hace es configurar el proceso que se va a leer y luego ejecutarlo.



Enlaces de documentación:

- jBPM User Guide
- jBPM Developer Guide

lunes, agosto 03, 2009

Androffice ya soporta formato de Microsoft ...

Tras el arduo trabajo del equipo de desarrollo de Androffice, la aplicación ya es capaz de leer, escribir y editar ficheros en diferentes formatos incluido el de Microsoft XLS. Podeis ver la noticia en la web de Androffice, o directamente desde este enlace:

http://www.androffice.com/androffice-v100/


Para ver las características completas de la aplicación las podeis ver en:

http://www.androffice.com/features/

Parece ser que los desarrolladores están cogiendo carrerilla y está dotando a la aplicación de las prestaciones que los usuarios más les han demandado.

Ánimo Androffice.

domingo, julio 05, 2009

Introducción a jBPM Parte I ...

Antes de empezar a hablar de jBPM creo que sería interesante saber que es BPM y su relación con jBPM. Si acudimos a nuestra querida wikipedia BPM es:

Se llama Business Process Management (BPM) a la metodología empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio, que se deben modelar, automatizar, integrar, monitorizar y optimizar de forma continua.


En torno a estos conceptos ha surgido muchíisimas iniciativas para el soporte de los BPM, podríamos decir que lo que se lleva hoy día en el mundo empresarial de las IT es la gestión del negocio con BPM y claro todas las empresas del sector intentan sacar tajada dando soporte BPM.

Existen múltiples estándares para la definición de procesos de negocio entre los más extendidos están BPMN, XPDL y YAWL. Al mismo tiempo también han surgido herramientas que permiten modelar los procesos entornos automatizar

Como indico en el tema vamos a introducir un poco jBPM 4.0, esta herramienta nos aporta una plataforma para la gestión de procesos. Vamos hablando claro, lo que nos aporta es una Runtime para la ejecución de procesos definidos de manera gráfica. El lenguaje gráfico está basado en jPDL un lenguaje gráfico definido por al gente de jBoss.



A continuación lo que haremos será indicar como instalar la herramienta jBPM 4.0 desde cero y en siguientes entradas a este blog indicaré como se contruye un proyecto desde cero y como se crea y ejecuta un proceso completo.

Instalación de jBPM 4.0 + MySQL 5.0 (Windows)
1.- Requisitos
JDK 1.5 o superior preinstalado
Ant 1.7.0 preinstalado (variable de entorno ANT_HOME configurada)

1.1.- Descargar jBPM desde aquí (enlace jBPM de Sourceforge).

2.- Descomprimir jbpm-4.0.zip en directorio raiz. Ej: C:\jbpm-4.0

3.- Para la instalación sólo tenemos que entrar en directiorio c:\jbpm-4.0\jboss y ejecutar el script para su instalación:
c:\jbpm-4.0\jboss> ant demo.setup
3.1.- Para la instalación con otras BBDD usar, primero hay que configurar los ficheros (usaremos ejemplo MySQL):
C:\jbpm-4.0\db\jdbc\mysql.properties
C:\jbpm-4.0\db\hibernate.cfg

y ejecutar:
c:\jbpm-4.0\jboss> ant -dDatabase=mysql demo.setup
si no se usa una BBDD se usará una por defecto Hypersonic que no es más que una base de datos en memoria.
Al terminar ya tendremos instalado el servidor jboss y eclipse en el directorio jbpm-4.0.

5.- Vamos a instalar el GPD en eclipse:
5.1.- Abrimos eclipse c:\jbpm-4.0\eclipse\eclipse.exe
5.2.- Desde el menu Help -> Install New Software -> Add -> Archive
5.3.- Seleccionamos el archivo c:/jbpm-4.0/gpd/jbpm-gpd-site.zip
5.4.- En la ventana de instalación seleccionamos todos lo items y pulsamos en Install
5.5.- Tras la instalación es recomendable reiniciar eclipse

6.- Una vez reiniciado eclipse, añadiremos las librerias de jBPM
6.1.- Desde Windows->Preference->Java->User Library
6.2.- Seleccionamos New
6.3.- Introducimos el nombre jBPM_Liraries y pulsamos en Add Jars
6.4.- Las librerias a introducir son c:\jbpm-4.0\jbpm.jar y todas las que se encuentre en c:\jbpm-4.0\lib
6.5.- En jbpm.jar seleccionamos Source Attachment y le damos a Edit, luego External Folder he indicamos c:\jbpm-4.0\src
6.6.- Pulsamos en OK

7.- Ahora vamos a introducir el XSD de jpdl
7.1.- Desde Windows->Preference->XML->XML Catalog
7.2.- Le damos a Add y seleccionamos C:\jbpm-4.0\src\jpdl-4.0.xsd
7.3.- Pulsamos OK

8.- Configuraremos la runtime de jBPM
8.1.- Desde Windows->Preference->JBoss jBPM->jBPM 4-> Runtime locations
8.2.- Le damos a Add e introducimos el nombre jBPM-4.0 y seleccionamos el directorio c:\jbpm-4.0
8.3.- Le damos a Ok y luego marcamos el checkbox del runtime

9.- Reiniciar eclipse

10.- Importación de ejemplos:
10.1.- Desde el Package explorer le damos al mene File->Import->Existing Project in Workspace
10.2.- Seleccionamos el directio c:\jbpm-4.0
10.3.- Marcar la carpeta de examples
10.4.- Pulsar Finish y se importarán los ejemplos en un proyecto
10.5.- En el proyecto configuramos el Build Path y agregamos las librerias de jBPM.

11.- Ejecución de un proceso. Destacar que cada ejemplo posee normalmente 2 ficheros principales que son 'nombre_fichero.jpdl.xml' con la definición gráfica del proceso y un fichero java donde se ha programado un código de prueba en base a test JUnit. Para ejecutar estas pruebas seleccionamos la correspondiente clase java y le damos a Run As->JUnit Test
11.1.- Si no se ha configurado nada se van a usar los ficheros de configuración importados:
jbpm.cfg.xml
jbpm.hibernate.cfg.xml
jbpm.mail.properties
jbpm.mail.templates.examples.xml
loggin.properties

estos ficheros están preconfigurados para que utilicen la BBDD Hypersonic en memoria. Habrá que cambiar estos fichero si queremos usar MySQL
11.2.- Configurar la persistencia con MySQL
- jbpm.hibernate.cfg.xml sustituir las propiedades por:

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmdb4</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.format_sql">true</property>

jueves, julio 02, 2009

Androffice a la carga

Ante todo quiero trasmitir mi más sincera enhorabuena a mis amigos Borja Refoyo y Juan Vega por haber conseguido el Premio Fin de Carrera 2009 con el proyecto Androffice, otorgado en la categoría de mejor proyecto de Ingeniería Informática.

Podeis consultar el fallo del jurado en el siguiente enlace aqui

Hoy mismo aparecen en un articulo del Diario de Sevilla.

Androffice nació como un proyecto ambicioso que pretende consolidarse como un paquete ofimático completo para móviles Android. Este proyecto empezó siendo un mero proyecto informático de dos compañeros de II y parece que va acabar formando una empresa con más productos. En este proyecto se han embarcado dos personas a las que quiero mucho y que les deseo lo mejor y que ellos saben que me tendrán para lo que necesiten. Hasta ahora no les he podido aportar mucho pero algún día si tuviera el tiempo necesario me embarcaría con ellos ;).


Mientras tanto darles mi enhorabuena, y hacerles un poco de promoción:



ENHORABUENA CHAVALES!!!

sábado, mayo 30, 2009

lunes, mayo 11, 2009

Dando un vuelco a mi blog

Hola,

no se si esto lo leerá ya alguien pero bueno escribo porque este es mi legado en internet. Este blog ha variado mucho desde que empezara a escribir ya hace tiempo, muchos ires y venires. Me gustaría ser más constante escribiendo, pero me es imposible porque el poco tiempo que tengo lo dedico a mi :). Me impogo escribir por que me ayuda, por lo que voy a intentar contar nuevas cosillas de mi, porque ya soy TRABAJADOR porque sí ya soy un CURRELANTE más, además de estudiante.

Para ir avanzando un poco, actualmente estoy terminando el Máster en Ingenería del Software de la Universidad de Sevilla y trabajo en la misma universidad donde ser imparte el máster. Los que me conocen ya saben de que trabajo :).

La verdad que estos primeros meses de 2009 han sido bastante agetreados además de intensos en todos los aspectos, ya que estoy descubriendo nuevas facetas de la vida. Ante cualquier aspecto hay que saber reaccionar de manera correcta senera y con la cabeza fria, y siempre intentado abarcar dentro de las posibilidades de cada uno. Por que como dice el refrán: "el poco mucho abarca poco aprieta".

A veces el trabajo me desborda son muchas cosas en muchos frentes, pero es normal en todos los trabajos hay día y semanas en los que el trabajo es más intenso por las entregas. En mi caso hay una palabra que lo define muy bien DEADLINE. Mi trabajo se marca por deadlines y si no llegas a una pierdes una oportunidad, así que hay que estar al 100% casi siempre para poder llegar a tiempo.

Yo creo que ya basta por hoy, otro día habrá más cositas.

Os dejo una perla para que os riais un poco.

jueves, noviembre 06, 2008

'YES WE CAN' ...

Cuando todo va mal y parace que no puede ir peor, aparece algo que nos da esperanzas , no cae un rallito de luz que nos da un mínimo de ilusiones. Ilusiones para creer que todo puede mejorar, ilusiones para creer. Mientras haya esperanzas y mientras haya ilusiones todo puede ser posible.

Que gran verdad 'YES, WE CAN', y hago mia esa frase; pero no para el ámbito para el que usó, sino para muchas otras cosas YES I CAN. Porque siempre es posible salir de los momentos malos y siempre es posible volver a ilusionarse con otros grandes retos en la vida YES WE CAN.