Entradas

Mostrando las entradas con la etiqueta web

Liferay 7.2. Service Layer + Portlet. Un CRUD básico

Imagen
En este post conoceremos cómo implementar un CRUD muy básico, pero consiste en unir el Service layer con el Portlet. Aquí ya unimos las piezas que forman el MVC en Liferay.

Spring con JDBC y JPA

Imagen
En este post veremos una aplicación Java Web donde la conexión a la base de datos se hará usando Spring, y también veremos cómo manipular la data con JDBC y con JPA. Todo esto lo ejecutaremos desde Tomcat.

Java Web MVC - Sesión 01

Imagen
Con este tutorial comienzo una nueva serie en este humilde blog. Aprenderemos a conocer todas las funcionalidades de Java EE en una aplicación. En este primer post haremos una aplicación MVC básico, usando las siguientes tecnologías de Java EE7: JSP (para la capa de presentación) Servlet (para la controladora) EJB (Para el manejo del modelo) JPA (La persistencia de datos) La base de datos es indiferente, podemos usar PostgreSQL, MySQL, Oracle, etc. Pero para este ejemplo estoy usando Apache Derby.

Conociendo Spring MVC

Imagen
En este post veremos de qué se trata el Spring MVC (como para descansar un poco de JSF). No es que sea JSF mejor que MVC ni viceversa. Sino es para conocer ambas propuestas. Además, en el nuevo Java EE 8 aparecerá un framework llamado MVC 1.0 que lucirá mucho al Spring MVC. (Igual que JPA a Hibernate)

JSF Facelets + Senna

Imagen
Estuve revisando la biblioteca " Senna " que permite cargar parte de una página sin necesidad de cargar toda la página, y se me ocurrió combinarlo con JSF Facelets. Así que en este post veremos cómo se hace

Tutorial JSF 2.2 - Sesión 6: Recursos

Imagen
En JSF se pueden incluir recursos tales como hojas de estilos (CSS), javascript e imágenes que queramos usar en nuestra web, pero de una manera ordenada. En este post veremos cómo lo hace.

Tutorial JSF 2.2 - Sesión 5: Facelets - Componentes compuestos (Parte II)

Imagen
"Componentes compuestos", raro nombre, no? Es que no encontré otra traducción para " Composite Components " Esta característica de JSF permite hacer lo siguiente: darnos la facilidad de crear nuestro propio componente utilizando otros componentes. Por ejemplo, si siempre vamos a seleccionar un producto dependiendo de una selección del tipo de producto, pues sería conveniente tener un componente que permita al usuario seleccionar los dos datos, y no nosotros tener que repetir la misma lógica de selección de objetos.

Usando una base de datos externa en Liferay a través de Spring

Imagen
Todos los aplicativos (portlets) de Liferay, usando a través del Service Builder , utilizan la misma base de datos donde se configuró el servidor. Si deseamos utilizar otra base de datos ya existente, podemos hacer una integración en nuestro portlet. En este post veremos cómo hacer esta integración, pero en esta manera no usaremos el Service Builder.

Tutorial JSF 2.2 - Sesión 4: Facelets (Parte I)

Imagen
Los facelets es una declaración bastante ligera de declaración de páginas web. En los JSP, el lenguaje era Java dentro de los JSP, y estos fragmentos se llamaban scriptlets. En cambio, en JSF, se llama facelets. Los facelets son un tema extenso, así que - como no va a entrar todo en un post - lo haré por partes. No tengo idea de cuantas partes tomará, creo que serán algo de diez. Glup! Pero veremos todo lo que concierne al JSF 2.2, incluyendo al HTML5. Comencemos...

Tutorial JSF 2.2 - Sesión 3: Ciclo de vida de una aplicación

Imagen
Siguiendo con el tutorial de JSF 2.2, esta vez veremos el ciclo de vida de una aplicación. Es importante conocer esto, ya que podremos saber cómo viaja una petición desde el cliente web, es procesado por el servidor, y cómo devuelve el resultado.

Cómo cargar una página JSF en MyFaces / ADF dentro de un iframe

Imagen
Oracle Application Development Framework (más conocido como ADF) está basado en Apache MyFaces . Algunas de sus configuraciones se puede hacer en los archivos de Myfaces, como el trinidad-config.xml . Esta semana me he roto la cabeza tratando de cargar una página JSF de ADF dentro de un iframe que estaba en otro contexto. Noté que sí cargaba la página, sí la identificaba, pero no la mostraba. Comencé a revisar la configuración del archivo web.xml y encontré un parámetro muy escondido.

Tutorial JSF 2.2 - Sesión 2: Navegación

Imagen
La navegación en JSF hace fácil la navegación entre páginas y permite manejar procesamiento adicional que sea necesario al momento de ir entre una página y otra. Hay dos tipos de navegación: la implícita y la definida por el usuario . En este post veremos estos dos con un ejemplo simple.

Mostrar únicamente el contenido del portlet en Liferay

Imagen
Este es un post corto, ya que es un tip. Los portlets  tienen tres estados de ventana: Minimizado (minimized) Maximizado (maximized) Normal (normal) El primero hace que el portlet se muestre "cerrado", y que solo muestre el título. El segundo hace que el portlet se muestre en toda la página web del portal. El tercero es el común: se muestra dentro del diseño del portal. Pero estos tres estados tienen algo en común: muestra el portlet dentro del diseño del portal, incluyendo sus javascript, los diseños, la cabecera, su theme, etc etc etc. Está muy bien si lo que queremos es mostrar todo el look&feel del portal adornando nuestro portlet. Ahora bien: si estamos haciendo un portlet que su contenido queremos que no salga incrustado (la palabra ' embebido' suena feo en castellano) en el portal ¿cómo le hacemos?

Tutorial JavaServer Faces 2.2 - Java EE 7 - Sesión 1

Imagen
¡Ahora sí! Mi primer tutorial de JSF! Lo tengo esperando desde la versión 2.0 :) Pero más vale tarde que nunca. Yo era muy defensor de Struts 1x, y lo veía con malos ojos al JSF 1.x. Cuando apareció la versión 2.0 con el JavaEE 6, lo probé y me resultó mucho más fácil que el Struts. Por ello, me propuse (desde post anteriores... muy anteriores) a hacer un tutorial de JSF. Espero que me puedan seguir, y si tienen alguna duda, no duden en escribir en los comentarios de este post, en el Google Plus , y en el Facebook . ¡Comencemos!

Java API JSON en Java EE 7 (JSR 353)

Imagen
El JSON es un formato bastante usado para el envío de datos por internet. Es más ligero que los XML, y es usado en el API de las redes sociales tales como Twitter , Google , Flickr , Facebook , etc. En Java, para poder procesar ( parsing ) un texto JSON, existen varias bibliotecas (revisar al pie de la página de http://json.org/json-es.html ). Personalmente me gusta el GSon de Google. Pero es tiempo que el mismo Java tenga incorporado su propio API para manejar JSON. En este post hablaremos un ejemplo de cómo consumir un JSON, usando otro ejemplo usado anteriormente.

WebSockets en Java EE 7 (JSR 356)

Imagen
Los WebSockets son una manera de poder comunicarse vía web entre un cliente y un servidor. A diferencia con otras tecnologías parecidas como los RESTful WebService, es que esta tecnología es bidireccional. El RESTful tiene que constantemente pedir al servidor para ver si hay un cambio, y con algunas técnicas "push" se puede simular una comunicación bidireccional. Con WebSockets, la comunicación es nativa. Ya que estamos cerca del lanzamiento de Java EE 7 implementado en GlassFish 4.0, veremos un pequeño esbozo de esta tecnología.

Resultado de Encuesta: Tutorial de Instalación de Liferay

Imagen
Bueno, la cosa estuvo reñida. Pero aquí los resultados de la encuesta sobre qué software utilizar para el curso de Liferay que estoy elaborando.

Liferay 6.1

Imagen
De vuelta a la carga! Después de un año de descanso no merecido para actualizar el blog, aquí regreso con algunas novedades. Para comenzar, todo el año pasado he estado laborando en una empresa que no se dedica 100% a Java, por tanto no había mucho que aportar a la comunidad. Pero ahora - por Gracia de Dios - estoy laborando en una empresa grande donde trabajan casi el 100% en Java, así que me siento como pez en el agua :) Ahora bien, estoy en un proyecto donde se está implementando el Liferay como plataforma para la gestión de comunidades internas. Y bueno, Liferay ha evolucionado bastante desde la última vez que publiqué un post sobre él. Así que este post es básicamente mostrar las nuevas características que tiene la versión actual de Liferay 6.1.

Upload en JSF 2.0

Imagen
Después de varias semanas desconectado por motivo de trabajo (parece que ahora sí trabajo más que antes) retomo (y espero que sea más seguido) los artículos de este blog que, según veo las estadísticas, a varios desarrolladores ayudan. Y bueno, estuve haciendo una aplicación con JSF 2.0, y una de las característica que debería tener es que  permita anexar archivos. Los Servlet 3.0 - que son parte de Java EE 6 - permiten cargar archivos de manera nativa. Lo que mostraré en este post es justamente cómo utilizar el Upload de Servlet 3.0 desde una aplicación web con JSF 2.0. No usaré extensiones de JSF como el ICEFaces o el MyFaces, porque quiero hacerlo de la manera más genérica posible, de tal manera que no afecte a la implementación de JSF que estén usando.

RESTful... la forma más ligera de hacer WebServices (Parte 1)

Imagen
Quienes hayan usado SOAP para WebService, sabrán que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para construir los clientes utilizando el WSDL. Por ejemplo, para PHP se necesita de la biblioteca NuSOAP. Entonces, para lograr el concepto de "lenguaje único XML" es un dolor de cabeza. Y más aún si el cliente es tan simple como JavaScript, manejar XML de SOAP provocaría suicidos masivos... o no usar WebServices. Además, con SOAP se permite crear un solo servicio y ponerle varios métodos. Esto puede llevar a un mal diseño del servicio ya que podría tener un servicio que haga de todo: por ejemplo, un servicio de manejo de Clientes que permita también manejar Proveedores. RESTful es una propuesta muy interesante de Roy Fielding que permite manejar los servicios web con métodos definidos, manteniendo la simpleza del protocolo como XML, pero que cada servicio sea identificado únicamente con un solo URI . En este post veremos cómo cr...