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

viernes, 4 de octubre de 2013

Lista de manuales y recomendaciones para iniciarse en desarrollos J2ee con Spring y Jsf2+Primefaces

Esto solamente es una guía de las cosas que yo diría a alguien sin conocimientos que empezara a estudiar.

Java / J2ee

Lo primero es que tuviera conocimientos de programacion orientada a objetos con java, por ejemplo usando este tutorial:
http://www.etnassoft.com/biblioteca/introduccion-a-la-programacion-orientada-a-objetos-con-java/

Es importante tener una base sólida en java para no cometer errores básicos de programación más adelante.

Además dependiendo de la versión de java utilizada hay diferencias, normalmente con cada versión mejoran la forma de hacer ciertas tareas pesadas.
Aqui dan las diferencias entre java 5 y java 6. Cada vez que se cambie de versión de java se debería estudiar cuales son las mejoras posibles a utilizar, ya que suelen ser para codificar más rápido y sencillo.
http://www.javamexico.org/blogs/jb/mejoras_partir_de_java_5_y_6_recopilacion

Ide

Una vez que ya se tienen conocimientos básicos de programación java se debería empezar a conocer el IDE que se quiere utilizar. Dejo aquí un link con una comparativa entre IDEs:
http://www.mojavelinux.com/wiki/doku.php?id=javaidecomparison

El IDE más utilizado a lo largo de mi experiencia laboral ha sido eclipse (http://www.eclipse.org/)

Aquí dejo un tutorial con muchos ejemplos de desarrollo con Eclipse:
http://sourceforge.net/projects/eclipsetutorial/files/1.%20Total%20Beginners/Version%201.0/

Conocer el IDE agiliza el desarrollo ya que casi todas las tareas repetitivas tienen una opción rápida en los IDEs. Un ejemplo rápido sería el formateo de las clases, cosa que los IDEs pueden hacer de forma automática cada vez que se guarda por ejemplo.

Los ides como Eclipse tienen la opción de instalar plugins para agilizar el desarrollo. Alguno de los plugins que más he utilizado se nombran en este otro artículo:
http://raulvillalbamedina.blogspot.com.es/2012/09/ejemplo-de-configuracion-de-ide-eclipse.html

Igualmente nunca está de más buscar qué plugins se utilizan más y qué novedades hay.

Frameworks

Para el desarrollo de aplicaciones web existen muchos frameworks y librerías que hacen mucho más sostenible y fácil el desarrollo.
 Lo más común es que las aplicaciones web sigan el Modelo Vista Controlador (MVC):
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador

Una vez entendido MVC se pueden empezar a usar frameworks como Spring, jsf2, hibernate, etc...

Spring

Ahora nos centraremos en qué es spring y qué se puede hacer con él. Para ello recomiendo leer este libro de forma rápida para tener una idea de qué podemos hacer con spring.
http://it-ebooks.info/book/968/

Al igual que con la versión de java, los frameworks suelen ir subiendo de versión y suelen irse añadiendo nuevas funcionalidades. Es bueno ir revisando qué cosas van apareciendo.

Aquí dejo un link a los diversos post que he ido poniendo con tutoriales sobre Spring
http://raulvillalbamedina.blogspot.com.es/search?q=spring

Jsf2+Primefaces

Si no se conoce nada de jsf sería bueno pasar por la wikipedia:
http://es.wikipedia.org/wiki/JavaServer_Faces

Una vez leido esto se pueden empezar mirar los posts de jsf que he ido poniendo, en muchos de ellos hay enlaces a tutoriales de todos los niveles.
http://raulvillalbamedina.blogspot.com.es/search?q=jsf

 Google es tu amigo para programar


El utilizar tecnologías OpenSource, tanto el Ide Eclipse, como frameworks como Spring o jsf2 tiene la ventaja de que podemos encontrar gran cantidad de información en la web, tanto a nivel de tutoriales, ejemplos y resolución de problemas. Una vez dicho esto hay que tener en cuenta que las cosas se pueden hacer de muchas maneras y no siempre las soluciones que se encuentran en los blogs son las correctas. Es bueno buscar más de una solución. También es bueno ver la fecha de dicho post ya que las soluciones "correctas" hace 5 años pueden haber quedado obsoletas.
Yo por ejemplo tengo varias webs/blogs de referencia las cuales suelen tener post bastante profesionales.
Por ejemplo:
Web con tutoriales iniciales de nuevas tecnologías:
http://www.adictosaltrabajo.com/index.php?filter=tutorials
Blog creo que personal de un desarrollador que va añadiendo ejemplos de tecnologías que usa a diario:
http://www.mkyong.com/tutorials/
Blog en la cual se escriben la mayoría de problemas y se van comentado cómo se solucionan. Normalmente casi todos los posts son respondidos y se pueden encontrar soluciones fácilmente
http://stackoverflow.com/
Web con muchos muchos tutoriales sobre todo lo que puedas necesitar:
http://www.roseindia.com/
Igual que RoseIndia pero con documentación en español:
http://www.javahispano.org/documentacion/
Web de descarga de libros de IT gratuita, hay un montón de libros para descarga directa en pdf:
http://it-ebooks.info/


Con todo esto, aún teniendo a Google de tu parte siempre es bueno tener una persona con mayores conocimientos técnicos que guíe la forma de usar frameworks y la forma de trabajar.

Yo he tenido la suerte de tener varias personas así en mis años laborales de las cuales he aprendido mucho de lo que escribo en este blog, en especial nombrar Etienne Bernard, Xavier Gonzalez y Roberto Cano.

miércoles, 19 de junio de 2013

Tests jsf2 con Selenium y sobre Liferay

Al usar selenium ide todo el codigo que se genera utiliza los ids de los elementos del html, con jsf2 tenemos un problema debido a que a veces se autogeneran ids y estos cambian cada vez que se abre la página.
Ejemplo de ids autogenerados:

Nuevo

<div id="A1087:form:menubar" ............

Para evitar esto se pueden modificar los tests generados con selenium para seleccionar los elementos usando xpath.
Lo que he utilizado de momento ha sido:
Para seleccionar un elemento que contenga una parte de un id:

   
type

    //input[contains(@id,'name')]

    NOMBRE


Para seleccionar un elemento del cual su contenido es:

   
clickAndWait

    //span[contains(., 'Nuevo')]

   

Generar fechas automáticas 2 meses en adelante:
 
   
store

    javascript{var dates = new Date();var day = 1;if (day < 10){day = '0' + day;} month = dates.getMonth() + 3;if (month < 10){month = '0' + month;}var year = dates.getFullYear();day + '/' + month + '/' + year}

    dateFrom


   
type

    //input[contains(@id,'date-from_input')]

    ${dateFrom}



Despues estoy intentando que mis tests pasados a junit se ejecuten mediante maven con el siguiente tutorial:

http://www.integratingstuff.com/2011/09/29/continuous-integration-on-liferay-running-your-selenium-2-tests-on-the-tomcat-6-bundle/

lunes, 28 de enero de 2013

Testear JSF

allá va un tutorial de JSFUNIT http://es.scribd.com/doc/64167934/JSFUnit y en español

martes, 13 de noviembre de 2012

Inicializar un controller cada vez que se renderiza la jsf

El caso en que he necesitado esto ha sido el siguiente.
Tengo una jsf con un listado que incluye un dialog, este dialog necesito que se cargue con una informacion distinta dependiendo del objeto seleccionado en el listado.
Cada vez que se renderiza el dialog he hecho un prerenderview para que coja el objeto seleccionado para su visualización correcta.

http://www.mkyong.com/jsf2/jsf-2-prerenderviewevent-example/

jueves, 13 de septiembre de 2012

Redirect desde portlet de Liferay usando JSF2

Forma de realizar un redirect desde un portlet de liferay:

http://stackoverflow.com/questions/6878828/liferay-portlet-and-jsf-redirect-during-render-phase

Ciclo de vida en JSF2

Ahí va el mejor explicado que he encontrado:

http://anadreamy.wordpress.com/2012/02/29/jsf-2-0-el-ciclo-de-vida/

Jquery Selector con JSF2

 Selectores para acceder con Jquery a objetos generados por jsf2:
http://blog.primefaces.org/?p=1867

Forma de hacer post-redirect con JSF2

Encontrado! Aquí se muestra la forma de hacer redirects con jsf2
https://blogs.oracle.com/enterprisetechtips/entry/post_redirect_get_and_jsf

Tutoriales y ejemplos de uso de JSF2 con Primefaces

Recopilatorio de links con tutoriales con el uso de jsf2 y Primefaces:

http://primefaces.org/

http://www.primefaces.org/showcase/ui/home.jsf

http://www.horstmann.com/corejsf/jsf-tags.html

http://www.mkyong.com/jsf2/custom-validator-in-jsf-2-0/

http://www.mkyong.com/tutorials/jsf-2-0-tutorials/

http://code.google.com/p/primefaces-extensions/source/browse/samples/showcase/trunk/src/main/webapp/sections/ajaxstatus/example-declarativeAjaxStatus.xhtml?r=1120&spec=svn1178

http://code.google.com/p/primefaces-extensions/source/browse/samples/showcase/trunk/src/main/java/org/primefaces/extensions/showcase/controller/AjaxStatusController.java?r=1120

http://balusc.blogspot.com.es/2011/01/jsf-20-tutorial-with-eclipse-and.html

http://www.coreservlets.com/JSF-Tutorial/jsf2/#New-Features

Proyecto completo con ejemplos de uso de Primefaces:

https://code.google.com/p/proyecto-final-alquileres/

Y para el que no tenga muy claro que es PrimeFaces:
http://es.wikipedia.org/wiki/PrimeFaces