martes, 12 de noviembre de 2013

JEE 7 Websockets

Hola

En esta nueva entrega os muestro lo nuevo de JEE 7, en esta ocasion utilizaremos lo siguiente:

Websocket

Jax-Rs 2.0

JPA 2.1

Para ejemplo de websocket he creado un chat para utiliza websocket para comunicarse con todos los usuarios conectados al chat podeis acceder pulsado el siguiente enlace.

He creado un ejemplo donde se utilizada las 3 tecnologias que he mencionado anteriormente, consite en lo siguiente, una persona se connecta por websocket al servidor , donde este usuario le van a llegar notificaciones de cuando alguien inserta, actualiza y borrar en la base de datos. Mientras otra persona por JAX-RS crear, actulizar y borrar en la base de datos.

Persona que le llega la notificaciones enlace

Persona que llama a una servicio rest para inserta base de datos enlace

Persona que llama a una servicio rest para actualizar base de datos enlace

Persona que llama a una servicio rest para borrar base de datos enlace


Como siempre el codigo en github en el siguiente enlace


martes, 5 de noviembre de 2013

JSF 2.2 y PrimeFaces 4.0

Hola

En esta nueva entraga voy a contar mi nuevo proyecto, que consiste en la creación de una aplicación web con JSF 2.2, Primefaces 4.0, Jax-Rs, etc, En la parte visual he añadido bootstrap 3.0 de twitter, para una visualización más bonita, el código de este ejemplo lo tengo subido en github, código fuente.

También estoy utilizando la cloud de rehdat, openshift, en otra entrada os explicare como crear una maquina, lenvantar, para la maquina etc...

miércoles, 12 de junio de 2013

Android y Arduino (Tercera parte)

Hola

En esta ultima parte del proyecto vamos a explicar como funciona el programa de android para poder comunicarse con arduino a traves de bluetooth, para hacer esta parte lo que he hecho es un programam bastente completo, es decir, la mayoria de ejemplos que hay sobre como conectar un dispositivos con android con arduino poner el valor del UUID en el código(Hardcodear), yo he cambio eso para poder obtener el uuid del dispositivo. A continuación pongo un diagrama de clase como se relaciona las clase para controlar el coche por bluetooth.





Esto es parte del proyecto, la primera parte del proyecto es un Activity que se encargar de:

  • Activar el bluetooth del dispositivo
  • Buscar dispositivos bluetooth
  • Emparejarse con los dispositivos
  • Seleccionar un dispositivo emparejado

El programa funciona solo que tiene un error cuando pulsa el botom home del dispositivo de android y vuelve a entra da un error, no he tenido tiempo para depurar el error. Si alguien tiene ganas y le apetece puede debuguear un poco y averiguar el error.

El código como siempre esta subido github.

Codigo fuente

Foto del coche



Saludos

jueves, 16 de mayo de 2013

Android y Arduino (Segunda parte)

Hola

En esta entrega voy hablar sobre el hardware necesario para hacer este proyecto, aqui os dejao el listado que he necesitado para poder realizar el proyecto:

  1. Un coche telederigio (Tambien os podeis contruir uno propio).
  2. Placa de Arduino.
  3. Chip L239D ó B
  4. Módulo de bluetooth para Arduino (JY-MCU)
  5. Telefono movil o tablet con Android y bluetooth
Hay más piezas de menor importanacia pero que más adelante las nombraremos, esta son las piezas más principales. Para poder hacer el proyecto necesitamos tener conocimientos de arduino y de su funcionamiento para eso os recomiento estudiar un poco. Una vez que ya entendemos como funciona arduino y hemos hecho algunos ejemplos (como enceder un led, etc..), Pasermos a estudiar el chip L239D y B, lo primero de todo yo no soy un experto de electrónica, digamos que soy un aficionado que me gusta pero no soy un experto, sí digo algo que no es verdad, me encataría que me corrijáis. Con este chip podemos controlar dos Motores de forma indipendiente su sentido y velocidad. La diferencia principa entre los dos chips es que L239D tiene unos diodos de protección internos mientras el L239 no tiene diodos internos de protección, Subo dos imagenes con el esquema de conexión de las distintos componentes.

L239D





L239B



Como veis es casi igual solo la diferencia esta en los diodos de protección para el chip.

El datasheet L239





Vamos a explicarlo un poco

Los pins 4, 5, 13, 12 van conectados directamente a tierra.

El pin 8 y 16 va conectado 9V positivo (Podemos poner como maximo 36V)

El pin 1 es que activa el para poder controlar el motror 1, y tambien la velocidad del motor este pin tiene que esta conectado a un pin de arduino con salida PWM para poder controlar su velocidad cuando mandamos una salida 255 va a maxima velocidad pero si mandamos 0 se para el motor

Los pines 3 y 6 son la salida que se conectaría directamente al 1º motor

Los pines 14 y 11 son la salida que se conectaría directamente al 2º motor

Los pines 2 y 7 son los que controla el sentido del 1º motor

Los pines 15 y 10 son los que controla el sentido del 2º motor

Sin los pines que controla el sentido del motor si los dos esta en HIGH entoces se para el motor, cuando uno de ellos esta HIGH y el otro LOW, entonces gira en un sentido cuando se invierta girar en el otro sentido.

En el proyecto yo he usado L239B porque era el único que tenia en la tienda, pero este proyecto tambien funcina con L239D lo que teneis que hacer es seguir el esquema.

Esto es todo por parte de arduino y coche telederijido, ya subire unas fotos y video con todo el montaje del hardware. Ahora falta lo más importante que es el software de arduino que lo tengo subido donde siempre en github aquí teneis la dirección:

Código fuente

Saludos

martes, 14 de mayo de 2013

Android y Arduino (Primera Parte)

Hola

En esta entrada voy hablar sobre un proyecto que he terminado esta semana, Hace tiempo que quería jugar un poco con arduino, a lo mejor mucho no sabéis que es arduino, como lo mjeor es hacer un poco de google os saldran miles de paginas que explica que es arduino.

Una vez que sabemos los que es arduino, voy al grano con el proyecto que he hecho. El proyecto consisten en lo siguiente:

RC Car

Me explico un poco mejor, lo que he hecho es controlar desde un teléfono móvil un coche teledirigido. El proyecto lo divido en:
  1. Hardware para coche.
  2. Software para el arduino.
  3. Software para el movil (Android).
Para no hacer muy largo esta entrada la dividire en varias para que sea muy ameno, hasta la siguiente entrada.

Saludos

Curso de primefaces

Hola

En esta nueva entra que compartir con todos vosotros algunas ejemplos de primefaces, actualemte solo tengo dos, pero proximamente se iran aumentando, tambien vosotros podres hacer sugerencias para realizar ejemplos con primefaces.

ahora tengo subi dos ejemplos en github.

Primer curso explica con meter un plugin de jquery con primefaces, en este caso uso el plugin de bootstrap-popover con primefaces.

Segundo curso explica como usar el componente pe:layout de primefaces extensiones.

Todo el código fuente se encuentra la siguiente dirección.


Adios

 
  

viernes, 1 de marzo de 2013

Aumentado la memoria de Tomcat, Jboss y Weblogic

Hola

Esta entra voy a explicar como aumentar la memoria de nuestro tomcat 6 o 7, Jboss 6.1 EAP y weblogic 11 o 12, voy empezar con el tomcat:

Abrimos el fichero {DIR_TOMCAT}/bin/catalina.{bat|sh}

Añadimos la siguiente linea para windows:

set JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m"

En caso que estamos en linux:

export JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m" 


Ahora vamos Jboss dependiendo el modo de arranque que hagamos domain o standalone:

Abrimos el fichero {DIR_JBOSS}/bin/domain.conf.{bat}
Abrimos el fichero {DIR_JBOSS}/bin/standalone.conf.{bat}

Añadimos la siguiente linea para windows:

set JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m"

En caso que estamos en linux:

export JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m" 


 Con esto ya hemos aumentado la memoria para nuestro tomcat, ahora vamos a explicar para aumentar el weblogic.

Abrimos el fichero {DIR_WL}/user_projects/domains/base_domain/bin/startWebLogic.{cmd|sh}

buscamos la linea echo JAVA Memory arguments: %MEM_ARGS%  encima ponemos.

set MEM_ARGS=-Xms512m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=64m -XX:MaxPermSize=256m

Con esto tenemos configurados nuestro contenedor de servlet (Tomcat) y nuestro servidor de aplicaciones (Weblogic).

Memoria en Java

Hola

En esta entrada voy hablar como se configura la memoria de java en la maquina virtual (JVM), la memoria de java la podemos diferencia en 3 tipos:

  1. Memoria de almacenamiento dinámico o Heap.
  2. Memoria de almacenamiento estático o PermGen.
  3. Memoria dinámica nativa.

El heap es la zona de memoria donde la máquina virtual java guarda las instancias de los objetos creados por las aplicaciones.

El PermGen  es la zona de memoria donde la máquina virtual java guarda las clases que han sido cargadas por la aplicación. Esta zona también es utilizada para almacenar la información para la optimización de la aplicación por parte de la  máquina virtual java. Los elementos que se almacenan en esta zona de la memoria son:
  • Métodos de las clases
  • Metadatos
  • Nombre de clases
  • ...
La nativa es la zona de memoria donde la máquina virtual java almacenar el código de la Interfaz Nativa de Java (JNI) o la bibliotecas nativas de una aplicación.

 Ya sabemos que java tiene un recolector de basura automático, si en algún momento necesitamos liberar memoria sería llamando la método:

System.gc();

Esto es todo sobre la memoría de java.

jueves, 28 de febrero de 2013

JSF 2, Primefaces

Hola

En esta entra quiero hacer una introduccion ha JSF 2, Primefaces, Jquery, actualmente en mi empresa estamos trabajando con JSF 1.2 de Mojarra y Richfaces 3.3.3-Final en desarrollo de proyectos web, pero estamos empezado a migrar de tecnologias más actuales, que son JSF 2, Primefaces y Jquery a continución nombrare algunas caracteristicas de cada una:

JSF 2

-Ya tanemos facelets integrado con jsf
-Por fin anotaciones para managed beans
-Nuevos ambitos de jsf (view y custom)
-Integración con AJAX
-Validaciones por anotaciones (JSR-303)
...

Primefaces

-Una integración total con Jquery
-Más de 100 componentes
-Una comunidad muy activa


Con todo esto podemos hacer apliaciones web con java muy potentes y bonitas, en los proximas entradas pondremos ejemplos

Jquery

Hola

En esta entrada quiero hablaros de jquery que es un framework de javascript muy usado en el mundo web, queria comparti con vosotros mis conocimientos sobre este framework de javascript, se que en internet hay millones de tutoriales pero para mi los dos mejores (los que mas uso) son los siguientes:


El primero esta en español y el segundo en ingles pero vamos que es un ingles muy técnico y fácil de entender. En lo proximas entradas vamos a ver como de integrado esta Jquery y Primefaces para el desarrollo de aplicaciones web con JSF 2.0

martes, 19 de febrero de 2013

MetaDatos de la Base de Datos

Hola

En esta nueva entrada voy enseñaros como obtener información de la Base de datos como tipo de base de datos, versión, etc.... Ademas tambien información de la tablas que tiene la base de datos. Toda esta información obtenemos gracias a los metadatos. La clase que es la culpable de obtener la información de la base de datos es la siguiente DatabaseMetaData esta clase no da información de base de datos y las tablas. He creado un ejemplo que esta subido github pinchando en el siguiente enlace ejemplo. Espero que sea de utilidad este ejemplo.

Saludos