lunes, 16 de septiembre de 2013

Acerca de JBoss

JBoss AS es el servidor de aplicaciones open-source más extendido, funcionando actualmente en miles de servidores de todo el mundo. JBoss está escrito íntegramente en Java siguiendo la especificación Java EE y por lo tanto puede virtualmente desplegarse en cualquier plataforma para la cual esté disponible una implementación de la máquina virtual Java (JVM). Su estabilidad y fiabilidad (en más de una ocasión se ha dicho que es 'sólido como una roca') unido a sus prestaciones y versatilidad lo convierten en una opción de primera para ejecutar nuestras aplicaciones de empresa y otras. JBoss ha sido recientemente renombrado como WildFly, pero en realidad esta nueva denominación se refiere únicamente al proyecto JBoss Application Server y, según parece, ha sido realizada para evitar confusión. La línea de productos basados en JBoss y soportados por Red Hat mantiene su nombre (JBoss Enterprise Application Platform), así como la comunidad JBoss Communitity. La primera versión del proyecto JBoss AS que será alumbrado con esta nueva denominación será la 8, de la cual se encuentra disponible una versión alfa.
JBoss fue inicialmente desarrollado por el parisino Marc Fleury allá por 1999 y posteriormente adquirido por Red Hat. Si tenéis curiosidad por conocer la historia de este magnífico proyecto más en detalle podéis encontrar abundante información en Internet.

Un enfoque práctico

El objetivo de este blog es, en síntesis, desarrollar una aplicación Java J2EE y desplegarla en JBoss. Para ello, sucesivamente, vamos a ir dando los pasos necesarios para conseguirlo sin más pretensión didáctica que la de mostrar de forma simple y con un lenguaje sencillo como se puede hacer. Lo que no nos vamos a encontrar aquí es una exhaustiva descripción de la especificación J2EE o un texto que nos enseña acerca de ella, para eso ya existen excelentes libros, y recursos de sobra en Internet. Lo que pretendo es rellenar ese espacio que nos surge, cuando aprendemos algo nuevo en programación, entre el empacho teórico y la materialización de lo aprendido. También, dicho de otra forma, se trata de 'escribir algo de código fuente' utilizando lo recién aprendido y conseguir que funcione. Ya sabéis, por experiencia, lo complejo que puede llegar a ser esto y la de tiempo que se invierte en más de una ocasión, además de la desesperación y frustración que a veces nos invade hasta, incluso, llevarnos al abandono.

Las herramientas

Para desarrollar nuestro sistema de ejemplo utilizaremos los siguientes artefactos:
  • Entorno de desarrollo NetBeans de Oracle
  • Servidor de aplicaciones JBoss AS 7.x
  • Base de datos Apache Derby
  • La interfaz de nuestra aplicación de ejemplo la desarrollaremos utilizando JSF (JavaServer Faces)
  • Utilizaremos la magnífica librería de componentes RichFaces

El sistema operativo que emplearé, y que por lo tanto es el que ocasionalmente observaréis en las imágenes de ejemplo, es Fedora Linux, aunque podréis utilizar Windows sin apenas cambios. Tanto el entorno de desarrollo, como el servidor de aplicaciones y el gestor de base de datos que utilizaremos funcionan perfectamente tanto en Linux como en Windows.

A quién va dirigido

Para todos aquellos que conocen Java pero no en su implementación J2EE y desean obtener un ejemplo práctico de cómo pueden desarrollar este tipo de aplicaciones. Para los que, aún no sabiendo Java, sienten curiosidad por ver en qué consiste este lenguaje y las posibilidades que ofrece. Para aquellos que deseen observar una aplicación multicapa en funcionamiento, y la enorme simplicidad que supone desarrollar este tipo de aplicaciones con Java. Por supuesto, para todos aquellos que intentan materializar todo lo aprendido con el magnífico libro sobre J2EE que acaban de leerse y tienen dificultades para la puesta en marcha de sus conocimientos. JBoss es una sencilla y excelente implementación de la especificación J2EE que constituye una sólida base para ejecutar nuestros programas.

Mi experiencia

Mi experiencia profesional en el desarrollo de aplicaciones data de hace más de veinticinco años. Antes de dedicarme a esto como profesión lo hacía por placer y utilizaba microordenadores que cualquiera de los móviles smartphone actuales superan centenares o miles de veces en capacidad de memoria y velocidad de proceso. Mi, por aquel entonces, ordenador Sinclair ZX Spectrum con una memoria RAM ampliada a 64K (originalmente 48K) y un procesador de 16 bits (sí, habéis leído bien) a la apabullante velocidad de reloj de 3,5MHz me ha proporcionado muchos buenos momentos desarrollando programas en Sinclair Basic. Desde ese remoto comienzo como aficionado hasta el momento actual, he participado en el desarrollo de numerosos programas orientados a la gestión de empresa utilizando diversas herramientas de desarrollo y lenguajes de programación (Basic, GW Basic, CBasic, Pascal, C, C++, Java) sobre varios sistemas operativos (CPM, OS/2, MS-DOS, Xenix, Unix, Windows, Novell, Linux) y sistemas de gestión de datos (FABS, Btrieve, Paradox, DBase, Interbase, SAP DB, Cloudscape). En el año 2002, coincidiendo con el inicio de una nueva aventura profesional, decidimos estandarizar nuestros desarrollos utilizando Java como lenguaje de programación en su especificaciones J2SE, J2EE, y J2ME para los desarrollos en movilidad. A tal efecto utilizamos la JVM de Sun para ejecutar el programa cliente en el escritorio (cliente Java nativo), la implementación de J2EE desarrollada por JBoss (por aquel entonces aún en su versión 3) y la JVM de NSICom como implementación de J2ME sobre Windows CE. Mi experiencia con toda esta tecnología no ha podido ser más positiva. La elección del 'ecosistema' Java ha sido un gran acierto. Desde ese año he participado en el desarrollo e implementación de numerosos proyectos en empresas de tamaño diverso utilizando JBoss como servidor de aplicaciones sobre los sistemas operativos Solaris, Linux y Windows.

No hay comentarios:

Publicar un comentario

Gracias por tu participación.

Nota: solo los miembros de este blog pueden publicar comentarios.