Articulo de referencia

Páginas X

XPages es una implementación de IBM de JavaServer Faces con un entorno de ejecución JavaScript del lado del servidor y la base de datos NoSQL integrada IBM Domino . Permite visu...

XPages es una implementación de IBM de JavaServer Faces con un entorno de ejecución JavaScript del lado del servidor y la base de datos NoSQL integrada IBM Domino . Permite visualizar datos de IBM Notes y bases de datos relacionales en clientes de navegador en todas las plataformas.

El modelo de programación se basa en lenguajes y estándares de desarrollo web, incluyendo JavaScript , Ajax , Java , Dojo Toolkit , JavaScript del lado del servidor y JavaServer Faces . XPages utiliza IBM Domino , la plataforma de desarrollo rápido de aplicaciones de IBM , que incluye funcionalidades como la base de datos orientada a documentos .

Tecnologías frontend

Al utilizar estándares web, las aplicaciones XPages pueden ser accedidas por clientes web y dispositivos móviles, lo que permite al desarrollador crear aplicaciones multiplataforma. Para la interfaz de usuario, XPages se centra en los estándares de desarrollo web HTML , CSS y JavaScript. Además, se pueden usar temas para administrar varios archivos CSS, [ 1 ] y XPages incluye temas predeterminados, como el tema OneUI. [ 2 ]

Para la lógica del lado del cliente se pueden usar varios frameworks de JavaScript, aunque XPages incluye el Dojo Toolkit y los controles de Dojo se pueden referenciar fácilmente en las aplicaciones de XPages. XPages también usa Dojo internamente para ciertas funcionalidades, lo que facilita el uso de características clave sin necesidad de escribir código Dojo. Una biblioteca JavaScript especial de XPages contiene funcionalidades adicionales de conveniencia, como por ejemplo, para validaciones de campos del lado del cliente. [ 3 ] Además de la lógica del lado del cliente, Dojo también se puede usar para widgets y gráficos de interfaz de usuario enriquecidos. [ 4 ]

Al igual que cualquier aplicación web, las aplicaciones XPages pueden usar servicios REST . XPages también proporciona mecanismos sencillos para vincular fuentes de datos a controles de interfaz de usuario, de modo que en muchos casos no es necesario escribir código. Además, XPages permite actualizar de forma declarativa solo ciertas partes de la página mediante Ajax al enviar datos.

Tecnologías de backend

El desarrollo de aplicaciones XPages se realiza mediante IBM Domino Designer. Con Designer, se pueden implementar de forma declarativa y rápida muchos escenarios clave, como por ejemplo, generar una lista de entradas de una base de datos. Además, para la lógica de negocio se puede escribir código tanto en JavaScript como en Java. XPages se basa internamente en JavaServer Faces , pero el código fuente de las páginas XPages es un derivado de XML llamado XSP, que se traduce a código Java al ejecutar las aplicaciones. En tiempo de ejecución, este código devuelve el HTML a los distintos clientes.

Para acceder a los datos, XPages y Domino Designer utilizan fuentes de datos . Estas fuentes se pueden vincular gráficamente a los controles de la interfaz de usuario en las páginas. Los controles de la interfaz de usuario y otros tipos de controles aparecen en una paleta de controles en Domino Designer y se pueden arrastrar y soltar en las páginas. Domino Designer también incluye funciones adicionales que facilitan el acceso, como validaciones y traducciones de campos. La funcionalidad de XPages se puede modularizar mediante controles personalizados , que son controles de XPages que se pueden reutilizar en varias páginas de XPages y parametrizar según el contexto.

Para escribir código de backend empresarial, se utiliza principalmente JavaScript del lado del servidor. Existen API para acceder a la base de datos orientada a documentos y al contexto de XPages. [ 5 ] Dado que XPages se basa en JSF y JSF es un estándar de Java, también es posible invocar código estándar del SDK de Java desde el código JavaScript y escribir código Java personalizado utilizando beans gestionados de JSF.

El entorno de ejecución de XPages se puede extender mediante la API de extensibilidad, que se basa en JavaServer Faces. [ 6 ] Esta capacidad puede ser utilizada, por ejemplo, por proveedores de software independientes que deseen proporcionar sus propias bibliotecas de controles XPages.

Almacenamiento: Base de datos orientada a documentos

El entorno de ejecución de XPages forma parte de IBM Domino y aprovecha las capacidades probadas y maduras que ofrece Domino. Domino utiliza una base de datos orientada a documentos llamada NSF (Notes Storage Facility) para gestionar datos semiestructurados como texto enriquecido y archivos. Los datos se almacenan como documentos y las vistas permiten encontrar documentos específicos de forma eficiente. [ 7 ] Los documentos tienen identificadores únicos y campos integrados adicionales como el último autor, la fecha de última modificación, etc., y cuentan con campos personalizados específicos de la aplicación. Los documentos pueden contener texto enriquecido, que puede ser texto formateado e imágenes (MIME) o archivos adjuntos completos. Los documentos se pueden consultar mediante API y vistas. [ 8 ] Domino también admite la búsqueda de texto completo en toda la base de datos como una característica integrada.

Las aplicaciones XPages se pueden implementar en servidores Domino o en un clúster de servidores Domino mediante IBM Domino Administrator y el mecanismo de replicación/sincronización integrado en IBM Domino. El mecanismo de replicación admite la detección y resolución bidireccional de conflictos en entornos distribuidos.

Comunidad

La comunidad de desarrollo de XPages administra el sitio web XPages.info con diversos tipos de información sobre XPages, incluyendo cómo empezar, descargas, recursos y demostraciones. OpenNTF es un sitio de código abierto para aplicaciones basadas en IBM Domino, que contiene varias aplicaciones y controles de desarrollo bajo la licencia Apache .

Historia

Los orígenes de la tecnología XPages se remontan al año 2000. Trilog Group, socio comercial de IBM, inventó un modelo de desarrollo rápido de aplicaciones web orientado a componentes, llamado XSP, similar al modelo RAD de Domino, pero basado en J2EE, XML y estándares abiertos. En agosto de 2004, IBM adquirió los activos tecnológicos de XSP de Trilog Group con el objetivo de ofrecer una herramienta RAD para IBM Workplace similar a Domino Designer.

La tecnología XPages, basada en JSF y J2EE, se desarrolló en IBM entre 2005 y 2007, dentro del ahora descontinuado IBM Lotus Workplace Designer y posteriormente IBM Lotus Component Designer, bajo el nombre en clave "XFaces". A mediados de 2007, la tecnología XFaces pasó a llamarse "XPages" y fue adoptada por IBM Lotus Notes Domino, incorporándose al ciclo de desarrollo de la versión 8.5. XPages se presentó en Lotusphere 2008 (AD303 Transforming IBM Lotus Domino Web Apps with IBM Lotus Domino Designer. Ponentes: Rocky Oliver, Martin Donnelly). IBM Lotus Notes Domino 8.5 se lanzó en diciembre de 2008, justo a tiempo para Lotusphere 2009, donde fue uno de los principales atractivos del evento.

IBM Lotus Notes Domino 8.5.1 continuó el desarrollo de la tecnología XPages, incluyendo la ejecución de aplicaciones XPages dentro del cliente de Notes. Esta versión también incluyó varias mejoras en el rendimiento y la interfaz de usuario, lo que permitió que las aplicaciones XPages funcionaran y escalaran mejor. IBM Lotus Notes Domino 8.5.2 incluyó muchas más mejoras y adiciones al conjunto de funciones de XPages.

El nombre «XPages» se inspiró en la idea original de nomenclatura XSP, donde XSP era en realidad un acrónimo de «XML Server Pages». Tras un primer cambio de nombre de XSP a «XFaces», IBM eligió «XPages» como nombre en clave del proyecto para la tecnología de prelanzamiento incluida en Domino Designer. Dado que era difícil encontrar una alternativa atractiva, el nombre del proyecto se mantuvo.

Referencias

  1. "¡Haz que tus aplicaciones XPage destaquen con CSS y temas!" (PDF) . Archivado del original (PDF) el 04-10-2013 . Recuperado el 12-11-2010 .
  2. "Tema OneUI" . Archivado del original el 26/09/2013 . Consultado el 12/11/2010 .
  3. "Biblioteca JavaScript de XPages" . Archivado del original el 27 de mayo de 2010. Consultado el 12 de noviembre de 2010 .
  4. Kit de herramientas Dojo
  5. Referencia de API
  6. API de extensibilidad de XPages
  7. La base de datos orientada a documentos (archivada el 10/01/2011 en Wayback Machine) es una parte fundamental de la arquitectura Domino (archivada el 02/05/2013 en Wayback Machine) . Cabe destacar que estos dos documentos PDF de referencia son antiguos, pero aún ofrecen una buena visión general de los conceptos fundamentales.
  8. Clases de Java AZ

Lecturas adicionales

  • Martin Donnelly, Mark Wallace y Tony McGuckin. (2011). Dominando XPages: Una guía paso a paso para el desarrollo de aplicaciones XPages y el lenguaje XSP. IBM Press. ISBN 0132486318
  • Martin Donnelly, Mark Wallace y Tony McGuckin. (2014). Dominando XPages: Guía paso a paso para el desarrollo de aplicaciones XPages y el lenguaje XSP. SEGUNDA EDICIÓN. IBM Press. ISBN 978-0133373370
  • Biblioteca de extensiones de XPages: Guía paso a paso para la próxima generación de componentes de XPages (2012) IBM Press. ISBN 978-0132901819
  • Guía de comandos portátil de XPages: Un recurso compacto para el desarrollo de aplicaciones XPages y el lenguaje XSP (2012) IBM Press ISBN 978-0132943055
  • Sitio web oficial