Desarrollo WEB.


Las practicas de programación orientadas a la web son muy cambiantes en el tiempo. Es necesario conocer e implementar tecnologías, conocer lenguajes,integrar comunidades,usar Ides, etc, recientes, para responder al mercado que se acerca.

Mostrando entradas con la etiqueta EJB. Mostrar todas las entradas
Mostrando entradas con la etiqueta EJB. Mostrar todas las entradas

lunes, 19 de agosto de 2013

Pasar parámetros desde cliente javascript a JSF

En ocasiones se hace necesario llevar desde nuestra capa de presentacion, valores de javascript a un controlador jsf y de una a un xhtml, lo importante aca no es como se hace llegar sino como se captura, se puede enviar mediante ajax, mediante una url, etc.

Con las nuevas actualizaciones de JSF 2.0 se puede hacer de una manera muy fácil.
  •  Enviar el parametro por url
  • Código en el .xhtml que espera el parámetro y muestra.
  • Código en el controlador que recoge y envia al .xhtml

Aplicación movil con primefaces, JSF, EJB y postgres

Cuando me encontré con la necesidad laboral de realizar una aplicación móvil según  requerimiento del sistema ERP que venimos desarrollando hace dos años, para una empresa multinacional en Panamá  empece a investigar a fondo cual seria la opción mas viable para integrar mecanismos de software para móviles que nos permitiera tomar parte de la lógica del negocio ya existente (EJB) , con un costo computacional bajo, tecnología multiplataforma y orientado a la web, tome la decision de usar los recursos de primefaces mobile.

Estas fueron mis opciones:

  • Opción 1: Aplicación móvil para Android
Tenia todos los recursos para conectividad con postgres, recursos gráficos y demás componentes del jdk de android, plataforma de desarrollo integrada en netbeans, ágil y fácil de instalar, pero a la hora de pensar en ¿si todos mis usuarios tendría android?, se callo en el dilema multiplataforma, pailas no había nada que hacer con android, muy bonito y todo, fácil de programar, pero nada que hacer a la hora de requerir sistema operativo especifico.
 
  • Opción 2: Aplicación web para móviles en Primefaces Mobile.
Con primefaces mobil tenia la útil herramienta que me brindaba componentes fáciles de integrar con mis controladores de sesión ya existentes, ademas me permitía usar como librería mi componente principal en la aplicación grande (ERP), Primefaces es un framework para aplicaciones web integrado con xhtml (JSF 2), su evolución es constante y posee una gran comunidad de foristas y blogeros
  • Opción 3: Windows móvil
Esta si que ni mente le gaste, iba a ser igual a la primera opción.

Definitivamente me quedaría con la opción 2, por ser la mas atractiva a cumplir mi requerimiento de multiplataforma, solo se necesitaría un navegador web para usar la interfaz y como todo SO en la actualidad tiene sus navegadores afines, entonces empece a desarrollar este cuento, después de esta historia les comparto la técnica y los recursos para que monten sus app móviles de manera rápida y oportuna.

  1. Librería primefaces mobile.
    1. Descargar la libreria de la pagina oficial del proyecto primefaces.org
  2. Themes
    1. no se requiere agregar libreria del tema visual pues  ya viene con uno por defecto
  3. Configuracion
    1.  en el archivo web xml ...
  4. Entidades ...
  5. Interfaces ...
  6. Controladores ...
  7. Vistas(xhtml) ...
 Imagenes.










martes, 14 de mayo de 2013

Ireport y el error : net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression

Cuando se usa la tecnología ireport para generar reportes, se presentan algunos detalles a tener en cuenta, cuando de su implementación en J2EE se trata.
  • Groovy es un lenguaje de desarrollo al igual que java.
  • Ireport contiene mecanismos para generar reportes en .pdf, .xls, etc. Su tecnología permite que las plantillas .xml que generan el contenido dinámico sea editadas en el ide en cualquier sistema operativo. Si no fuera así ireport no tendría versiones según el sistema operativo, es decir esa es una opción descartada en el proceso de test de fallos.
  • Ireport es un ide para editar plantillas xml que generan contenido en diferentes formatos
  • Jasperreport es la librería que permite transformar a partir de plantillas xml un archivo .pdf, .xls, etc.
  • Jaspersoft es la comunidad creadora de todo este cuento.

Mensaje de error enviado por el servidor sobre la excepción
 lanzada de ireport  cuando se trabaja con groovy.

[#|2013-05-14T15:53:21.684-0500|WARNING|glassfish3.1.2|javax.enterprise.resource
.webcontainer.jsf.lifecycle|_ThreadID=99;_ThreadName=Thread-2;|#{
controllerReporte.generarImpresion('reporte_comercial_pedidos.jasper',
comercialPedidoController.selected.idComercialPedido,'OF')}: 
net.sf.jasperreports.engine.JRRuntimeException: 
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
Source text : new java.lang.Integer(1)
javax.faces.FacesException: 
#{controllerReporte.generarImpresion('reporte_comercial_pedidos.jasper',
comercialPedidoController.selected.idComercialPedido,'OF')}: 
net.sf.jasperreports.engine.JRRuntimeException: 
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
Source text : new java.lang.Integer(1) at 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.
java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935)
at 
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.
java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at 
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)

Para dar solución se configura el ireport para que su compilador sea java mas no groovy. igualmente a cada reporte se le configura su lenguaje como java no groovy.

Configuración de propiedades en el reporte.

miércoles, 3 de abril de 2013

Montar carpeta Windows para acceder desde linux SUSE 12.3 con Java

En ocasiones se hace necesario que nuestras aplicaciones java web acedan desde el servidor a una carpeta de un sistema operativo windows, bien sea porque necesitamos acceder a bases de datos access o a archivos de imágenes, documentos, etc.

Es allí cuando se necesitan realizar puntos de montaje del directorio al que queremos acceder. he aquí en la imagen una forma de realizarlo a través de consola en linux suse 12.3

Se crea un directorio en /mnt/ con permisos de root, para montar la carpeta windows.
iproject@maya:/mnt# mkdir winsamba



 y en esta imagen una forma de hacerlo mediante shell linux a través de java.




viernes, 29 de marzo de 2013

Configurando Suse 12.3 para Desarrollo de Software

Este pequeño tutorial presenta una serie de pasos básicos para configurar un linux suse en su versión 12.3 y empezar a desarrollar aplicaciones web con netbeans 7.3, glassfish y postgres.
  • Después de instalar suse 12.3, ejecutar Actualización del Sistema. 
     
  • Configurar Internet. 


     
  • Instalar filezilla para accesos por ftp 
     
    • Descargar rpm 64 bit
    • Click derecho sobre el rpm - abrir con - añadir/quitar programas
  • Instalar navegador Google Chrome 
     
    • zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome (para 64 bit)
    • zypper ref
    • zypper in google-chrome-stable
  •  Instalar postgres 


        
    • instalar unixODBC desde el gestor de software
    • Descargar la ultima versión de postgres desde aqui
    • ingrese a gestor de archivos modo super usuario
    • Click derecho sobre el archivo .run - propiedades - pestaña permisos - es ejecutable - aceptar
    • Espere un poco mientras abre el Instalador en modo gráfico.
    • Directorio de instalación /opt/PostgreSQL/9.2/
    • mediante stack builder instalar pgJDBC y psqlODBC
  • Instalar java SE 

     
    • descargar java jdk y java jre, ultima versión desde aqui
    • tener en cuenta descargar las versiones adecuadas.
    • Click derecho sobre el rpm - abrir con - añadir/quitar programas
    • tener en cuenta el siquiente post 
  • Instalar NetBeans 7.x 
     
    • Descargar ultima versión desde aqui
    • Click derecho sobre el archivo.sh - propiedades - pestaña permisos - es ejecutable - aceptar.
    • Ejecutar netbeans, activar plugins y actualizar.
  • Instalar XAMPP.  
     
    • descargar ultima versión desde aqui  
    • ingrese en una terminal en modo super usuario y descomprima usando tar xvfz xampp-linux-1.8.1.tar.gz -C /opt
    • Para arrancar simplemente use /opt/lampp/lampp start
    •   ...
Esto es todo hasta el momento, luego actualizare con otras cositas acerca de glassfish 3.x y netbeans 7.3

jueves, 21 de marzo de 2013

Blog Java.

Para lo seguidores del mundo java, este es un super blog con información muy importante para tener en cuenta en nuestras aplicaciones web empresariales.
Enlace. http://www.mkyong.com/

sábado, 1 de septiembre de 2012

Desplegar un EAR en glassfish

Glassfish en un potente servidor de aplicaciones j2ee, trae una excelente interfaz gráfica para la administración de recursos en el servidor., desde este panel  se pueden realizar la mayor cantidad de tareas asignadas a un administrador de servidor y llevar el control del rendimiento de las aplicaciones.

Netbeans es una herramienta muy practica para desarrollar aplicaciones empresariales j2ee. Este IDE nos permite realizar después de una ejecución el despliegue automático del EAR en un domain virtual de una manera muy fácil. Cuando queremos construir o reconstruir un EAR debemos simplemente accionar el modo debug para que el IDE fabrique nuevamente un EAR con los cambios mas recientes.
Para ingresar al modo de consola de glassfish, arranque el servidor por consola o desde Netbeans y use http://localhost:4848 para acceder al panel gráfico, si quiere permitir acceso a este panel de admin desde otro nodo en la red, active el dass para que puedan acceder de forma segura a través de https.



Para desplegar un EAR primero hay que saber bien que es?, que contiene? y que recursos necesita configurarle al servidor para que identifique los recursos de conexion a Motores de BD y de persistencia.



Como ya sabemos un EAR es un paquete donde se encuentran compresos todos los módulos que comprenden una aplicación j2ee, en su interior existe una carpeta llamada lib, la cual es la contenedora de todas las librerías que se usen en los diferentes módulos incluyendo los drivers de conexión para java y X motor de base de datos.

  • Despliegue de un EAR


    • Configuración del pool de conexión.
    • Configuración del JDBC
    • Despliegue del EAR
      • Desde un archivo local a servidor local
      • desde un archivo local en el servidor al glassfish en el servidor
      • Re despliegue del EAR
      • Respaldo a archivos físicos construidos previamente después del despliegue anterior.


domingo, 14 de agosto de 2011

EJB 3.x

Los Enterprise Java Beans son los nuevos componentes java para la construccion de aplicaciones web con persistencia de Datos, empleando arquitectura J2EE6 Web.
Los EJB evolucionan de manera rapida y eficiente convirtiendose dia a dia en la herramienta numero uno para los desarrolladores de software.

Todo software maneja en su modelo de negocio entidades(objetos), estas entidades siempre tienen propiedades y metodos, EJB encapsula entidad, interfaz y controlador de un objeto para dar persistencia meidante un api de persistencia como TopLink o JPA.

Actualmente se encuentran en su version 3.2. cada version nueva emplea mecanismos de configuracion optima haciendo que el uso de EJB en las aplicaciones sea mucho mas facil y optima. 

Existe una gran comunidad de desarrolladores detras de esta tecnologia. a todos muchas gracias por ese gran aporte a la tecnologia Java Web.
para conocer mas acerca de los EJB, este documento es interesante. Click para ir al documento

Tecnicamente los EJb son clases java organizadas de manera tal que representan:
  • Objeto Representado en una entidad
  • Clase controladora de Entidades
  • Interfaz para la implementacion de Metodos
Netbeans en su version 6.x y posteriores, nos permite a travez de sencillos pasos realizar la generacion de EJB a travez de un mapeo al esquema de base de datos y una unidad de persistencia. para ver este procedimiento por favor visite .....