Crear un archivo EAR usando MAVEN

En el STACK java existe un archivo EAR que no es mas que un archivo ZIP con una estructura especifica. EAR (Enterprise Application aRchive) /

Un EAR normalmente contiene 2 archivos contenedores mas, un WAR (Web Archive) y un EJB , un archivo que contiene los EJB, sin embargo puede contener muchos mas (técnicamente no tiene limites), incluyendo clientes de EJB, EJB locales, pero el mínimo de todo EAR es uno, un modulo o contenedor, el cual puede ser un WAR o un EJB.

Prerequisitos

Java 1.4, Maven 3.6.3

Creando el proyecto vía comando.

mvn archetype:generate -DgroupId=com.ejemplo.demo.ear -DartifactId=simple-ear -DarchetypeArtifactId=wildfly-javaee7-webapp-ear-archetype -DarchetypeGroupId=org.wildfly.archetype -DinteractiveMode=false

Usando el archetype “maven-archetype-quickstart”

$ mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=1.4 \
-DgroupId=mtitek.maven.ear.samples \
-DartifactId=mtitek-maven-ear-samples \
-Dpackage=mtitek.maven.ear.samples \
-Dversion=1.0.0-SNAPSHOT \
-DinteractiveMode=false

Donde se usa un EAR

Actualmente dada la gran popularidad de Spring-Boot casi no se ven EAR, pero en el otro lado, fuera de spring-boot, en los servidores empresariales como: JBOSS, websphere, Apache TomEE, Wildfly.

Ejemplo de un proyecto EAR

Creando el EAR usando JetBrains IntelliJ IDEa

Usando el IDE para crear el proyecto gráficamente.

Creando un proyecto, paso uno.

Click en Crear.

Así queda el proyecto y puede eliminar a su gusto.

Referencias

  • https://en.wikipedia.org/wiki/EAR_(file_format)
  • https://maven.apache.org/plugins/maven-ear-plugin/

Crear aplicación Web Java desde Eclipse IDE

¿Qué voy a aprender?

En este artículo te voy a mostrar cómo crear un cascarón para una aplicación Web Java monolítica utilizando el IDE Eclipse (descarga Eclipse IDE for Java Developers aquí). Si estas interesado también en aplicaciones de escritorio, te sugiero que revises este otro enlace.

¿Por qué es importante saber cómo crear una aplicación web Java?

Una vez que aprendas este paso, lo siguiente es un mundo de oportunidades, ya que irás aprendiendo cómo desarrollar tus propias aplicaciones web en Java.

¿Qué necesito tener instalado?

  1. Maven.
  2. Eclipse IDE para desarrollo Web.
  3. Java (no seremos exigentes con las versiones, pero preferiblemente de la 8 en adelante).

Generando el proyecto con Eclipse.

New Dynamic Web Java Project

Paso 1: Seleccionar la opción Dynamic Web Project

 

 

 

 

 

 

 

 

 

 

 

 

Rellenando los datos generales del proyecto

  1. Project Name: Nombre del proyecto, recomendable sin espacios. Utiliza guiones para separar las palabras.
  2. Project Location: Ubicación fisica del proyecto.
  3. Target Runtime: Por el momento lo vamos a dejar en blanco.
  4. Dynamic Web Module Version: Seleccionamos la versión 3.0
  5. Configuration: No es requerido.
  6. Desmarcamos la opción “add project to an EAR”.

Paso 2

Paso 2 – Rellenar la Información

Damos clic en el botón Next>

Configurando los directorios fuentes

Por defecto el directorio source, es decir el src, es donde el compilador buscará los archivos .java o fuentes de nuestra aplicación. En esta parte no realizaremos ningún cambio. Clic en Next > :

Paso 3: Configuración de directorios Fuentes

Configurando el WebModule

El paso final es la configuración del WebContent. En este paso se debe especificar el directorio de contenidos. Es aquí donde irán todos nuestros archivos de configuración: archivos estáticos, hojas de estilos, jsp, xhtml, etc.

El valor context root es básicamente cómo llamaremos a nuestra aplicación en el contexto del servidor.

Paso 4: Configuración de WebContent

Paso Final

Ahora solo damos clic en Finish y obtendremos un resultado como el de la imagen:

Estructura del Proyecto

Convirtiendo el proyecto a un proyecto Maven (Opcional).

Este paso puede ser considerado opcional. Sin embargo, dado el ambiente laboral de nuestros días, es casi obligatorio, ya que en la actualidad la mayoria de proyectos utilizan la herramienta Maven para poder manejar sus dependencias (librerías), entre otras cosas interesantes del proyecto.

  1. Damos clic derecho sobre el proyecto.
  2. Seleccionamos la opción Configure. En el submenú elegimos la opción convert to maven project.

Convertir a proyecto maven

Acto seguido, rellenamos la información de la ventana que nos aparece. Los más importantes son:

  1. Group Id: es la nomenclatura base de la paquetería de nuestra aplicación. En este ocasión, nuestros archivos fuentes estarán alojados en la estructura de paquetes org.ni.jug. Es importante saber que este es generalmente  el dominio de nuestra empresa/grupo puesto al revés. En nuestro caso, ni.org.jug en realidad es el nombre de nuestro dominio.
  2. Artifact Id: Ese el nombre que identifica a nuestro proyecto. En este ejemplo, es el mismo que le definimos al inicio.

MetaData de proyecto maven

Si observas al final del proyecto nos agrega un archivo POM, el cual es el archivo de configuración que utilizará Maven para la gestión de nuestro proyecto. Si quieres aprender un poco más de Maven, te recomiendo la entrada [Introducción a Maven].

Resultado Final

El resultado final es un proyecto con la estructura que se muestra en la imagen de abajo. Una vez teniendo esta primera parte, vamos a hacer un despliegue en un servidor de aplicaciones o un contenedor de servlets, el cual veremos con más detalle en otra entrada.

web-project

Estructura del Proyecto

 

Reportes en Java con Jaspersoft Studio. Post 1 de 5

Por qué Jaspersoft Studio? En mi experiencia, los reportes son fundamentales en toda aplicación o software empresarial que creamos. Ellos nos muestran la información ya procesada que es el objetivo de nuestros desarrollo, presentar informes precisos, entendibles que permitan tomar decisiones asertivamente. Es por eso que en esta ocasión les queremos compartir acerca de jasperReports con Jaspersoft Studio, la herramienta de referencia en el mundo java para los reportes.

JasperReports es una biblioteca de creación de informes que tiene la habilidad de entregar contenido enriquecido al monitor, a la impresora o a ficheros PDF, HTML, XLS, CSV y XML.

Escrito completamente en java, por y para java,  puede ser usado en gran variedad de aplicaciones tanto EE (Enterprise), como SE(Standart), o de escritorio, puede servir reportes fijos y dinámicos.

Requerimientos previos a la instalación en ambiente Windows

Funciona en Windows XP / 7/8 con 32 o 64 bits, Linux (32 o 64 bits), MacOS X en 64 bits.

Procesador de 3GHZ o superior  (32/64). La cantidad de la memoria RAM es completamente  dependiente de la complejidad de los informes, se recomienda un valor de 1 GB dedicado a Jaspersoft de estudio, ya dado que en el sistema hay muchas otras cosas que requieren RAM se sugiere que el equipo tenga un mínimo de 4GB de RAM.


Se requiere una distribución completa de Java. Necesitas descargar el Java Development Kit (JDK) 1.6 o la ultima versión jdk-12.0.1_windows-x64_bin.exe

 

** No olvides el JDBC con el que te conectaras al motor de Base de datos, de otro modo no podrás acceder a los datos. 

 

Instalando Jaspersoft Studio 6.9.0 (windows)

1. Visitar la página https://community.jaspersoft.com/project/jaspersoft-studio/releases para bajarnos la última versión de JasperSoft Studio, en este caso la 6.9.0.

Pagina de descarga de Jaspersoft Studio

la primera vez nos mostrará una página para iniciar sesión o inscribirnos al sitio de la comunidad de Jaspersoft.

 

2. Después de finalizar la descarga del instalador, dar doble clic en el archivo TIB_js-studiocomm_6.9.0_windows_x86_64.exe

3. Clic en “I Agree” (estoy de acuerdo)

4. Seleccionar la carpeta donde deseamos instalar el programa, podemos dejar la ubicación por defecto y hacer clic en instalar.

5. Esperar que se instale el programa

6. Clic en Finish (Finalizar)

 

Descripción de la pantalla de JasperStudio

En este Lote de artículos vamos a utilizar MS SQL Server para nuestro ejercicios, por tanto, el paso posterior a la instalación de JasperSoft Studio 6.9.0  seria  Instalar el driver para Microsoft SQL Server: 

 

El driver que bajemos dependerá de la versión de SQL Server que tengamos instalada en nuestra computadora. Para eso visitaremos la página https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017  

Copiar el archivo sqljdbc4.jar a la carpeta: C:Program FilesTIBCOJaspersoft Studio-6.9.0featuresjre.win32.win32.x86_64.feature_1.8.0.u151jrelibext

 

NOTA

Opcionalmente, si queremos usar la autenticación con el usuario de Windows o seguridad integrada con SQL Server: 

Copiar el archivo sqljdbc_auth.dll a la carpeta: C:Program FilesTIBCOJaspersoft Studio-6.9.0featuresjre.win32.win32.x86_64.feature_1.8.0.u151jrebin

Para que surtan efectos los cambios debemos cerrar y volver a abrir la aplicación de JasperSoft Studio.

Format Style

Las normas de estilo son fundamentales tanto para crear una identidad como para transmitir correctamente. Desde el momento en que decidimos crear un proyecto, la coherencia visual es importante, UX y UI están de la mano, y en los reportes no puede ser la exception.

Por esta razón aconsejamos crear un estilo propio que se aplique a todos los estilos de los reportes que vamos a crear.

 

Propuesta de normativa para formateo de reportes

 

Elemento de sección

Norma a aplicar

No.

Descripción

Fuente/estilo/bordes

Tamaño

Alineación

Encabezado del reporte

 

1

Nombre de Entidad

Arial + Mayúscula + Negrita

12

Centrado

2

Unidad administrativa de la entidad

Arial + Mayúscula + Negrita

10

Centrado

3

Código del reporte

Arial + Negrita

9

Derecha

4

Título

Arial + Mayúscula + Negrita

11

Centrado

5

Subtítulo

Arial + Mayúscula + Negrita

10

Centrado

6

Periodo de Fecha

Arial + Mayúscula + Negrita

9

Centrado

Agrupaciones

 

7

Encabezado y subtitulo de la agrupación

Arial Narrow + Negrita con borde superior e inferior

8

Izquierda

8

Detalle de la agrupación

Arial Narrow

8

 

9

Sub-total por agrupación

Arial Narrow + Negrita con borde superior

9

 

Detalle

 

10

Etiquetas o nombres de columna

Arial Narrow + Negrita con borde superior e inferior

8

Izquierda

11

Detalle

Arial Narrow

8

 

Pie del reporte

 

12

Versión, módulo, página # de ## páginas, usuario, fecha

Arial Narrow con línea fina (0.6 px) parte superior de las etiquetas

8

 

Sumatoria o suma a nivel de reporte

 

13

Suma

Arial Narrow con borde superior

9

 

Ejemplo de estilos.

 

Elemento

Ejemplo

Ejemplo de Negrita, Cursiva y Subrayado en texto estático

 

Hola Mundo

 

 

Ejemplo de Negrita  y Cursiva y fondo amarillo en texto estático

 

Hola Mundo

 

 

Ejemplo de Negrita y Cursiva y color azul en texto estático

 

Hola Mundo

 
 

textElement

 

 

Ejemplo de Negrita, fondo verde, color de la fuente rojo en campo de texto

“

+ $F{Campo} +

”

“

 

Aplicando formato a números y fechas

Elemento

Ejemplo

Formato para campos numéricos

” (C$ ” + new java.text.DecimalFormat(“#,##0.00”).format($F{Total}) + “)”

Formato para campos de fechas

(new SimpleDateFormat(“dd/MM/yyyy”).format($F{Fecha}))

Mostrar un elemento si el número de página es par

new Boolean($V{PAGE_NUMBER}%2==0 )

Mostrar un elemento si el número de página es 1

new Boolean($V{PAGE_NUMBER}.intValue()==1)

Mostrar un elemento si el valor de un campo de la consulta es 1

new Boolean($F{Campo}.equals(new Integer(1)) ? true  : false)

Condicionales en campos de texto

( $F{Referencia}.intValue() == 1

? “Referencia tiene valor 1”

:    (  $F{Referencia}.intValue() == 3

      ? “Referencia tiene valor 3”

    :”Referencia tiene un valor distinto a 1 ó 3“    )

)

 

 

Introducción a Maven, primeros pasos.

Introducción

Al desarrollar en java siempre tenemos varias tareas que realizar. Entre las primeras es crear una estructura de directorio para nuestras fuentes y el descargar librerías con las dependencia que utilizaremos en nuestro proyecto.

También tendremos la tarea de compilar nuestro proyecto y asignarle un lugar donde ubicar nuestro archivos compilados (jar, war, etc.).

Para las tareas antes mencionamos y otras que necesitamos al desarrollar proyectos en Java, tenemos la herramienta Apache Maven.

(más…)

Preparando el IDE Eclipse para aplicaciones de escritorio.

Introducción

El IDE Eclipse ofrece dos opciones para la creación de aplicaciones de escritorio: la versión RCP, que es un cliente enriquecido, y la versión estándar utilizando SWT y SWING para la creación de aplicaciones de escritorio independientes y a gusto del cliente. 

Para agregar un poco de contexto, el primer set de herramientas GUI de Java se denominó AWT, iniciales de Abstract Window toolkit. Fue incluido como parte de JDK 1.0. Este set fue sucedido por SWING, un set enriquecido en el cual los elementos son hechos todos en Java, sin codigo nativo. 

En cuanto a SWT (Standard Widget Toolkit), fue desarrollado con el proposito de contar con un set de herramientas de interfaz gráfica con apariencia y desempeno nativos.

Estos son los dos paquetes que ofrece el IDE Eclipse para la aplicaciones de escritorio:

Eclipse Java Estandar

Eclipse JAVA RCP and RAP

El que vamos utilizar es la versión JAVA Estándar. Lo haremos así pensando en que solo trabajaremos para aplicaciones de escritorio y aplicaciones java estándar, muy básicas: nada web o de algún otro framework.

Lo primero que haremos será descargar e instalar Eclipse. Si estas usando el sistema operativo Fedora, aquí tienes un artículo que te guiará paso a paso en el proceso de instalacion. Para Windows, deberás descargar el instalador desde los links dados más arriba y seguir las instrucciones de instalación. 

Instalando plugins en el IDE Eclipse

Una vez instalado Eclipse, procedemos a agregar los plugins correspondientes al desarrollo de aplicaciones de escritorio. Usaremos Window Builder, el cual contiene los componentes SWT y Swing Designer.

Iniciamos Eclipse y  buscamos el marketplace o mercado que nos ayudará a buscar los plugins necesarios. Para ello busca la opción “Eclipse MarketPlace” en el menú Help:

IDE Eclipse Marketplace

Ahora buscamos en el Market el plugin “Window builder”. Este es el nuevo plugin que reemplazó a Swing editor, y fue donado por Google. La búsqueda tarda unos segundos. 

Una vez localizado el plugin, haz clic en Install.  

Confirmar seleccion

Selecciona todas las características (features). Luego presiona el botón de finalizar Finish y espera mientras se instala. Ya tenemos lo necesario para la creación de un proyecto de prueba. El IDE eclipse se reiniciara al terminar. 

Proyecto de prueba

Crearemos un primer proyecto para asegurarnos que disponemos de los recursos necesarios para el desarrollo de una aplicacion de escritorio.

Crea un nuevo proyecto: File-> New -> Java Project. Le ponemos el nombre “ProbandoCosas”, por ejemplo. 

Haz clic en Next para ver el diálogo para configurar la compilación. 

Java Settings

Finaliza este paso haciendo clic en Finish. Ahora, desde el panel Package Explorer, creamos un paquete para nuestro proyecto. Aunque esto no es indispensable, se recomienda como una buena práctica.

Luego creamos nuestra aplicación SWING dentro del paquete.

Agregar archivo

En la ventana de diálogo New, buscamos Window, para hacer la navegación más fácil.

New Window

Le ponemos el nombre a nuestra clase principal, en esta caso: AplicacionPrueba

Ahora editamos nuestra aplicación. Esta es la ventana de código.

Por ejemplo, podemos cambiar a la vista de diseno haciendo clic en la pestana “Design” ubicada en la parte inferior de la pantalla, y estando alli, cambiar la apariencia de <system> a Metal.

 

Esta es la representación gráfica de nuestro editor visual para Aplicaciones Swing.

Una vez terminada la edición, podemos pasar a probar nuestra aplicación: Menu Run -> Run As -> Java Application

Buscar nuestra clase principal para Iniciar la aplicación.

Al dar clic en el botón Ejecutar, o desde el menú, nos pedirá que seleccionemos nuestra clase primaria de la aplicación, por lo general se llama APP, o como le pusimos antes: AplicacionPrueba.

Y ya con esto tenemos listo nuestro ambiente de desarrollo.

======= FIN =====

Nosotros y terceros seleccionados utilizamos cookies o tecnologías similares con fines técnicos y, con su consentimiento, para otras finalidades (“interacciones y funcionalidades básicas”, “mejora de la experiencia”, “medición” y “segmentación y publicidad”) según se especifica en la política de cookies. Usted es libre de otorgar, denegar o revocar su consentimiento en cualquier momento.    Configurar y más información
Privacidad