Aplicaciones SOA con XUL y OpenESB

  • Enlace amigable (slug) de la revisión: Project:Aplicaciones_SOA_con_XUL_y_OpenESB
  • Título de la revisión: Aplicaciones SOA con XUL y OpenESB
  • Id de la revisión: 52641
  • Creada:
  • Creador: Maharba
  • ¿Es la revisión actual? No
  • Comentario 289 words added

Contenido de la revisión

Llevando la tecnología mozilla al infinito y más allá, este artículo describe como desarrollar aplicaciones distribuidas (SOA) con Firefox o xulrunner y OpenESB, los arquitectos de soluciones encontrarán una guía para hacer aplicaciones distribuidas que tendrán el performance de una aplicación de escritorio y una interfaz más rica y personalizable de lo que puede ser por ejemplo swing, aspectos en que resulta muy superior; verán que el tiempo requerido para desarrollo en esta arquitectura es mucho menor a la mayoría de lo conocido, si piensas que tiempo es dinero llegaste al lugar indicado. A los desarrolladores conocedores de mozilla, podrán ver un nuevo mundo de posibilidades.

Preparación del ambiente.

Necesitamos algunas herramientas para este desarrollo:

XULRunner que puede ser descargado desde: http://releases.mozilla.org/pub/mozi...nner/releases/

OpenESB: https://open-esb.dev.java.net/Downloads.html

Además necesitaremos una base de datos, en el ejemplo usaré mysql, deberías conocer SQL, javascript y XUL, aunque XUL es muy sencillo y ver el código en la tabla periódica de XUL te bastará para iniciar, la tabla está aquí: http://www.hevanet.com/acorbin/xul/top.xul verás los elementos XUL y una pestaña source donde puedes ver el código fuente XUL de lo que estás viendo.

Empezaremos creando la estructura de directorios de la aplicación XUL de la siguiente forma:

XULAPP-STRUCTURE.png

Los dos elementos que están al final, la carpeta xulrunner y el ejecutable xulapp, los obtienes de la versión de xulrunner que hayas bajado para linux o windows, el ejecutable es un archivo que viene dentro de la carpeta xulrunner llamado xulrunner-stub y basta con ponerlo en la carpeta raíz de la aplicación xul junto al archivo application.ini y renombrarlo con el nombre de tu aplicación, este será el ejecutable de tu aplicación sea en linux o windows. en este caso lo renombramos como xulapp. En mi caso bajé el xulrunner de linux. Lo siguiente es instalar el Open-ESB, para ello pues simplemente es ejecutar el instalador de windows o linux y seguir las instrucciones. Crearemos una base de datos llamada XULAPPDB y después hay que crear una tabla de usuarios en la base de datos, pueden usar cualquier base para la que tengan un driver JDBC para configurar el datasource en el ESB. La tabla se compondrá de sólo dos campos, usuario y password, ambos de tipo varchar al menos en mysql, oracle, mssql, sybase, etc. Este sería el script en mysql:

CREATE TABLE IF NOT EXISTS `usuarios` (
  `USR` varchar(15) NOT NULL,
  `PWD` varchar(30) NOT NULL,
  PRIMARY KEY (`USR`,`PWD`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

No voy a ahondar en manejadores de bases de datos, supongo que debes saber crear una nueva base de datos, de cualquier modo si no es tu fuerte y no te quieres limitar por eso, puedes usar phpmyadmin para mysql, lo puedes buscar como paquete en ubuntu, debian o fedora, o para windows puedes bajar el appserv que contiene apache2, php, mysql y phpmyadmin en un solo paquete, aquí está su página: http://www.appservnetwork.com/. Si usas appserv asegúrate de activar InnoDB al instalar para poder establecer relaciones entre tablas.

Pasando ese tema, seguimos con la configuración en Glassfish u OpenESB, OpenESB es glassfish con componentes que conforman el ESB; así que para configurar el Datasource de la base de datos hacemos lo que se requiere para configurar un pool de conexiones y un datasource en glassfish, así también configuraremos la base de datos en los servicios del netbeans. Primero en el netbeans, una vez iniciado el glassfishESB aparecerá la interfaz de netbeans, ahí hay que ir a la pestaña services y dar click derecho para crear una nueva conexión seleccionando New Connection, nos aparecerá el siguiente cuador de diálogo para configurar la base de datos en netbeans:

Ahí debemos ingresar los datos para accesar a la base, debes ingresar aquellos que coinciden con tu base, en este caso yo seleccioné MySQL en el campo Name donde en la imagen dice Java DB (Network), hay que notar que es un selector, debes seleccionar la base de datos que estás usando, en el caso de aún no estar registrado el driver en netbeans deberás agregarlo expandiendo el menu Databases y dando click derecho en el submenú Drivers del árbol para seleccionar la opción New Driver y agregar el jar de tu driver y después crear la nueva conexión. Una vez hecho esto puedes ver la nueva base de datos al expandir el menú Databases.

Ahora nos toca crear el pool y el datasource de la base en la consola de glassfish, para ello iniciamos el glassfish, puede ser desde el netbeans expandiéndo el menú servers, dando click derecho en el glassfish que tiene los componentes del ESB y seleccionando la opción Start. Una vez hecho esto, volvemos a dar click derecho en el mismo glassfish pero esta vez seleccionamos la opción View Admin Console me gustaría sacar pantallazo de los menús contextuales pero no puedo ya que el botón para el pantallazo no funciona al estar presente el menú contextual del click derecho. Bueno al hacer esto, aparecerá la pantalla de login de la consola de administrador en el browser, espero estén usando Firefox, ya que es en lo que nos estamos basando. Hay que logearse y después aparecerá la consola de administración, ahí expandimos Resources y luego dentro expandimos JDBC y veremos Connection Pools y JDBC Resources:

Fuente de la revisión

<p>Llevando la tecnología mozilla al infinito y más allá, este artículo describe como desarrollar aplicaciones distribuidas (SOA) con Firefox o xulrunner y OpenESB, los arquitectos de soluciones encontrarán una guía para hacer aplicaciones distribuidas que tendrán el performance de una aplicación de escritorio y una interfaz más rica y personalizable de lo que puede ser por ejemplo swing, aspectos en que resulta muy superior; verán que el tiempo requerido para desarrollo en esta arquitectura es mucho menor a la mayoría de lo conocido, si piensas que tiempo es dinero llegaste al lugar indicado. A los desarrolladores conocedores de mozilla, podrán ver un nuevo mundo de posibilidades.</p>
<h2>Preparación del ambiente.</h2>
<p>Necesitamos algunas herramientas para este desarrollo:</p>
<p>XULRunner que puede ser descargado desde: <a class=" external" href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/" rel="freelink">http://releases.mozilla.org/pub/mozi...nner/releases/</a></p>
<p>OpenESB: <a class=" link-https" href="https://open-esb.dev.java.net/Downloads.html" rel="freelink">https://open-esb.dev.java.net/Downloads.html</a></p>
<p>Además necesitaremos una base de datos, en el ejemplo usaré mysql, deberías conocer SQL, javascript y XUL, aunque XUL es muy sencillo y ver el código en la tabla periódica de XUL te bastará para iniciar, la tabla está aquí: <a class=" external" href="http://www.hevanet.com/acorbin/xul/top.xul" rel="freelink">http://www.hevanet.com/acorbin/xul/top.xul</a> verás los elementos XUL y una pestaña source donde puedes ver el código fuente XUL de lo que estás viendo.</p>
<p>Empezaremos creando la estructura de directorios de la aplicación XUL de la siguiente forma:</p>
<p><img alt="XULAPP-STRUCTURE.png" class="internal default" src="/@api/deki/files/4345/=XULAPP-STRUCTURE.png"></p>
<p>Los dos elementos que están al final, la carpeta xulrunner y el ejecutable xulapp, los obtienes de la versión de xulrunner que hayas bajado para linux o windows, el ejecutable es un archivo que viene dentro de la carpeta xulrunner llamado xulrunner-stub y basta con ponerlo en la carpeta raíz de la aplicación xul junto al archivo application.ini y renombrarlo con el nombre de tu aplicación, este será el ejecutable de tu aplicación sea en linux o windows. en este caso lo renombramos como xulapp. En mi caso bajé el xulrunner de linux. Lo siguiente es instalar el Open-ESB, para ello pues simplemente es ejecutar el instalador de windows o linux y seguir las instrucciones. Crearemos una base de datos llamada XULAPPDB y después hay que crear una tabla de usuarios en la base de datos, pueden usar cualquier base para la que tengan un driver JDBC para configurar el datasource en el ESB. La tabla se compondrá de sólo dos campos, usuario y password, ambos de tipo varchar al menos en mysql, oracle, mssql, sybase, etc. Este sería el script en mysql:</p>
<table border="1" cellpadding="1" cellspacing="0" style="width: 100%; table-layout: fixed;"> <tbody> <tr> <td>CREATE TABLE IF NOT EXISTS `usuarios` (<br>   `USR` varchar(15) NOT NULL,<br>   `PWD` varchar(30) NOT NULL,<br>   PRIMARY KEY (`USR`,`PWD`)<br> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</td> </tr> </tbody>
</table>
<p>No voy a ahondar en manejadores de bases de datos, supongo que debes saber crear una nueva base de datos, de cualquier modo si no es tu fuerte y no te quieres limitar por eso, puedes usar phpmyadmin para mysql, lo puedes buscar como paquete en ubuntu, debian o fedora, o para windows puedes bajar el appserv que contiene apache2, php, mysql y phpmyadmin en un solo paquete, aquí está su página: <a class=" external" href="http://www.appservnetwork.com/" rel="freelink">http://www.appservnetwork.com/</a>. Si usas appserv asegúrate de activar InnoDB al instalar para poder establecer relaciones entre tablas.</p>
<p>Pasando ese tema, seguimos con la configuración en Glassfish u OpenESB, OpenESB es glassfish con componentes que conforman el ESB; así que para configurar el Datasource de la base de datos hacemos lo que se requiere para configurar un pool de conexiones y un datasource en glassfish, así también configuraremos la base de datos en los servicios del netbeans. Primero en el netbeans, una vez iniciado el glassfishESB aparecerá la interfaz de netbeans, ahí hay que ir a la pestaña <strong>services</strong> y dar click derecho para crear una nueva conexión seleccionando <strong>New Connection</strong>, nos aparecerá el siguiente cuador de diálogo para configurar la base de datos en netbeans:</p>
<p><img alt="" class="internal" src="/@api/deki/files/4347/=db-nb.png" style="width: 944px; height: 862px;"></p>
<p>Ahí debemos ingresar los datos para accesar a la base, debes ingresar aquellos que coinciden con tu base, en este caso yo seleccioné MySQL en el campo <strong>Name</strong> donde en la imagen dice Java DB (Network), hay que notar que es un selector, debes seleccionar la base de datos que estás usando, en el caso de aún no estar registrado el driver en netbeans deberás agregarlo expandiendo el menu <strong>Databases</strong> y dando click derecho en el submenú <strong>Drivers</strong> del árbol para seleccionar la opción <strong>New Driver</strong> y agregar el jar de tu driver y después crear la nueva conexión. Una vez hecho esto puedes ver la nueva base de datos al expandir el menú Databases.</p>
<p>Ahora nos toca crear el pool y el datasource de la base en la consola de glassfish, para ello iniciamos el glassfish, puede ser desde el netbeans expandiéndo el menú servers, dando click derecho en el glassfish que tiene los componentes del ESB y seleccionando la opción <strong>Start</strong>. Una vez hecho esto, volvemos a dar click derecho en el mismo glassfish pero esta vez seleccionamos la opción <strong>View Admin Console</strong> me gustaría sacar pantallazo de los menús contextuales pero no puedo ya que el botón para el pantallazo no funciona al estar presente el menú contextual del click derecho. Bueno al hacer esto, aparecerá la pantalla de login de la consola de administrador en el browser, espero estén usando Firefox, ya que es en lo que nos estamos basando. Hay que logearse y después aparecerá la consola de administración, ahí expandimos <strong>Resources</strong> y luego dentro expandimos <strong>JDBC</strong> y veremos <strong>Connection Pools</strong> y <strong>JDBC Resources</strong>:</p>
Revertir a esta revisión