26 noviembre 2013

Creando un Custom Portlet Service con Maven y sin RAD

En la entrega anterior les mostré como desarrollar un portlet básico sin RAD. En esta ocasión nos toca ver cómo desarrollar un Custom Portlet Service para WebSphere Portal, obviamente sin RAD y empleando Maven.

Lo primero que vamos a necesitar es el archivo public_spi.jar que contiene algunas de las clases e interfaces que requeriremos para desarrollar el portlet service. Habitualmente este archivo se encuentra en una ruta similar a esta: /doc/compile.

Luego, nos valemos de Maven para agregar este jar a nuestro repositorio de dependencias.

mvn install:install-file -Dfile=public_spi.jar -DgroupId=com.ibm /
-DartifactId=public-spi -Dversion=1.0 -Dpackaging=jar
A continuación, creamos un proyecto simple con Maven y agregamos las dependencias correspondientes a la api portlet 2.0 y al jar que acabamos de agregar.

Ahora crearemos una interfaz que contendrá la declaración de métodos públicos que se expondrán a través del servicio y, obviamente, crearemos también la clase que la implementará:


En este punto, debemos generar el JAR del servicio para luego registrarlo en el Portal.

  • Colocamos el jar en la ruta: /wp_profile/PortalServer/config
  • En la consola del WAS del Portal, registraremos el portlet service valiéndonos del Resource Environment Provider llamado "WP PortletServiceRegistryService".
  • Creamos  un nuevo registro en los Custom Properties. En el nombre ingresamos jndi.pe.apiconz.portletsapps.portletserviceexample.MyPortletService y en el valor colocamos el nombre completo de la clase que lo implementa: pe.apiconz.portletsapps.portletserviceexample.MyPortletServiceImpl.
  • Guardamos y reiniciamos el portal.
La invocación del portlet service que acabamos de crear sería como sigue:


1 comentario:

Armando dijo...

Revisa estos enlaces

http://certificationpath.com/e/lot-911--ibm-websphere-portal-80-solution-development/questions/john-has-developed-a-custom-stepup-handler-he-has-implemented-the-two-q72184

http://wpcertification.blogspot.com/2010/10/what-is-enabler-api.html

http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Enabler_API_Quick_Reference

http://stackoverflow.com/questions/17094278/websphere-enabler-api-client-side-dynamic-content-spots-in-portal-8