Especificación de portlet de Java
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 20 de noviembre de 2018; las comprobaciones requieren
3 ediciones .
La especificación de portlet de Java describe el modelo de interacción entre un portlet y un contenedor de portlet . Esta especificación es muy similar a Java Servlet Specification y, de hecho, fue desarrollada sobre la base de Java Servlet Specification versión 2.3 y Java Server Pages versión 1.2 [1] .
Versiones
JSR 168
La primera versión de Java Portlet Specification (V1.0) se desarrolló como parte del Java Community Process en respuesta a una solicitud de JSR 168 [1] . La solicitud fue iniciada por representantes de IBM y Sun Microsystems, Inc. en enero de 2002 . La versión final de la especificación se presentó el 27 de octubre de 2003 [2] .
La especificación proporciona una descripción del modelo de programación básico de un portlet, que incluye:
- dos fases del ciclo de vida del portlet: una fase de acción y una fase de renderizado, lo que permite el uso del patrón de diseño Modelo-Vista-Controlador
- modos de portlet, a través de los cuales el portal puede decirle al portlet qué tarea debe realizar y qué contenido debe mostrar
- opciones de visualización que describen la ubicación en la página donde se colocará el contenido generado por el portlet
- modelo de datos de portlet que permite almacenar información de vista en la configuración de visualización, datos de sesión en la configuración de sesión de portlet y configuración de usuario en la configuración de portlet
- agrupación, que implica agrupar varios portlets y los artefactos Java EE necesarios para que esos portlets funcionen en una sola aplicación de portlet que se puede instalar en un servidor de aplicaciones en un bloque
JSR 286
En 2005, un representante de IBM inició una especificación JSR 286 solicitando una nueva versión de la especificación del portlet de Java para alinearse con los conceptos de la versión 1.4 de J2EE, así como con otros JSR (como JSR 188) y la especificación de la versión 2 de WSRP . [3] . La versión anterior de la especificación JSR 168 no abordaba los problemas de integración de ninguna manera, definiendo solo el modelo de componentes. Por lo tanto, se propuso especificar los temas de integración y comunicación entre portlets en la nueva versión. El trabajo en la segunda versión (V2.0) duró hasta el 12 de junio de 2008 , cuando su versión final fue aprobada por un grupo de expertos que incluye a todos los desarrolladores de portales importantes, tanto comerciales como de código abierto , desarrolladores de herramientas de integración de portlets y desarrolladores de entornos de desarrollo. portlets [4] .
La segunda versión de la especificación presenta una serie de características nuevas para los desarrolladores de portlets, que incluyen:
- dos formas de interactuar entre diferentes portlets:
- a través del sistema de eventos, que se implementa mediante el modelo de acoplamiento flexible publicador-suscriptor, cuando un portlet puede recibir una notificación de que otro portlet ha realizado alguna acción
- a través de opciones de visualización publicadas, lo que permite compartir opciones de consulta entre portlets u otros artefactos
- la capacidad de usar recursos generados dinámicamente a través de URL de recursos que admiten múltiples niveles de almacenamiento en caché
- uso completo de AJAX , con la solicitud pasando directamente a través del servlet del portal y, como resultado, obteniendo acceso completo al contexto del portlet: parámetros de visualización, modo operativo, estado de ventana, portlet y configuraciones de sesión de portlet
- la capacidad de reenviar llamadas y una inclusión completa de todos los métodos del ciclo de vida del portlet
- lista ampliada de oyentes de ciclo de vida, en comparación con los definidos en Java Servlet Specification V2.5
- nuevos filtros y oyentes para portlets
- modos gestionados por portlet que no están definidos en el portal pero que el portlet gestiona directamente
- opciones de tiempo de ejecución del contenedor de portlet
Además, se ha trabajado mucho para ampliar el modelo de programación de portlets, acercándolo al modelo de programación de servlets y añadiendo extensiones específicas de portlet. Trabajo implementado con cookies , elementos de encabezado de documentos y encabezados HTTP.
JSR 362
En 2013, continuó el trabajo en la especificación y se lanzó la versión 3.0 en abril de 2017. Sus principales características eran:
- dependencias de recursos;
- estado de representación explícito;
- integración con CDI 1.2;
- Compatibilidad con Servlets 3.1;
- concentrador de portlets y XHR IPC;
- integración con FacesBridge ( JSR 378 ).
Compatible con versiones anteriores
La tercera versión es compatible binariamente con la segunda, que a su vez es compatible con versiones anteriores binarias de la primera versión e incluso mantiene el comportamiento de todos los métodos API consistentes . Esto significa que todos los portlets desarrollados con la versión 1.0 pueden ejecutarse sin ningún cambio en un contenedor de la versión 2.0 [4] .
Notas
- ↑ 12David DeWolf . Introducción a la especificación de portlets de Java . desarrollador.com (08/09/2005). Consultado el 24 de abril de 2013. Archivado desde el original el 1 de mayo de 2013.
- ↑ JSR 168: Especificación de portlet Archivado el 27 de octubre de 2020 en Wayback Machine .
- ↑ Solicitudes de especificación de Java - detalle JSR# 286 Archivado el 8 de junio de 2012 en Wayback Machine .
- ↑ 1 2 Stefan Hepper. ¿Qué hay de nuevo en Java Portlet Specification V2.0 (JSR 286)? . DeveloperWorks . IBM (03/04/2009). Consultado el 25 de abril de 2013. Archivado desde el original el 1 de mayo de 2013. (Ruso)
Véase también
Enlaces