XPages es una implementación de IBM de JavaServer Faces con un tiempo de ejecución de JavaScript del lado del servidor y la base de datos NoSQL incorporada IBM Domino . Permite que los datos de IBM Notes y las bases de datos relacionales se muestren a los clientes del navegador en todas las plataformas.
Desarrollador (es) | IBM |
---|---|
Versión inicial | 2008 |
Lanzamiento estable | 9.0.1 |
Escrito en | JavaScript , HTML , Java, JSF , Dojo Toolkit |
Sistema operativo | Múltiple |
Tipo | Marco de aplicación web |
Sitio web | XPages.info |
El modelo de programación se basa en lenguajes y estándares de desarrollo web, incluidos 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 funciones como la base de datos orientada a documentos .
Tecnologías frontend
Al utilizar estándares web, los clientes web y los dispositivos móviles pueden acceder a las aplicaciones XPages, lo que permite al desarrollador entregar aplicaciones multiplataforma. Para la interfaz de usuario, las páginas XPage se centran en los estándares de desarrollo web HTML, CSS y JavaScript. Además, los temas se pueden usar para administrar múltiples archivos CSS, [1] y XPages viene con temas predeterminados, por ejemplo, el tema OneUI. [2]
Para la lógica del lado del cliente, se pueden usar varios marcos de JavaScript, aunque las páginas XPages vienen con el kit de herramientas de Dojo y los controles de Dojo se pueden referenciar fácilmente en las aplicaciones de XPages. XPages también usa Dojo internamente para ciertas funcionalidades a fin de hacer que las características clave sean más fáciles de usar sin tener que escribir código Dojo. Una biblioteca especial de JavaScript de XPages contiene una funcionalidad de conveniencia adicional, por ejemplo, para validaciones de campo del lado del cliente. [3] Además de la lógica del lado del cliente, Dojo también se puede utilizar para gráficos y widgets de interfaz de usuario enriquecidos. [4]
Como cualquier aplicación web, las aplicaciones de páginas XP pueden utilizar servicios REST . XPages también proporciona mecanismos sencillos para vincular las fuentes de datos a los controles de la interfaz de usuario, de modo que en muchos escenarios no es necesario escribir código. Además, XPages permite actualizar de forma declarativa solo partes de la página a través de Ajax al enviar datos.
Tecnologías backend
El desarrollo de aplicaciones XPages se realiza mediante IBM Domino Designer. Con Designer, se pueden implementar muchos escenarios clave de forma declarativa y rápida, por ejemplo, para representar una lista de entradas de una base de datos. Además, para la lógica empresarial, se pueden escribir tanto JavaScript como código Java. Las páginas XPage se basan internamente en JavaServer Faces , pero las fuentes de las páginas XPages son un derivado XML llamado XSP que se traduce al código Java cuando se ejecutan las aplicaciones. En tiempo de ejecución, este código devuelve el HTML a varios clientes.
Para acceder a los datos, XPages y Domino Designer utilizan fuentes de datos . Estas fuentes de datos 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 se muestran en una paleta de controles en Domino Designer y se pueden arrastrar y soltar en las páginas. Domino Designer también viene con una funcionalidad de conveniencia adicional, como validaciones de campo y traducciones. La funcionalidad de XPages se puede modularizar en controles personalizados, que son controles de XPages que se pueden reutilizar en varias páginas de XPages y se pueden parametrizar según el contexto.
Para escribir código backend empresarial, se utiliza principalmente JavaScript del lado del servidor. Hay API para acceder a la base de datos orientada a documentos y al contexto de XPages. [5] Dado que las páginas XPages se basan en JSF y JSF es un estándar de Java, también es posible invocar el código estándar de Java SDK desde el código JavaScript y escribir código Java personalizado utilizando beans administrados por JSF.
El tiempo de ejecución de XPages se puede ampliar utilizando la API de extensibilidad que se basa en JavaServer Faces. [6] Esta capacidad puede, por ejemplo, ser utilizada por ISV que deseen proporcionar sus propias bibliotecas de controles de páginas XPage.
Almacenamiento: base de datos orientada a documentos
El tiempo de ejecución de XPages es 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 administrar datos semiestructurados como texto enriquecido y archivos. Los datos se almacenan como documentos y las vistas permiten encontrar documentos específicos de manera eficiente. [7] Los documentos tienen identificadores únicos y otros campos incorporados como el último autor, la última fecha de modificación, etc. y tienen campos específicos de aplicación personalizados. Los documentos pueden contener texto enriquecido que puede ser texto e imágenes formateados (MIME) o archivos adjuntos completos. Los documentos se pueden consultar a través de API y vistas. [8] Domino también admite la búsqueda de texto completo para una base de datos completa como característica incorporada.
Las aplicaciones de XPages se pueden implementar en servidores Domino o en un clúster de servidores Domino utilizando 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 de conflictos bidireccionales en entornos distribuidos.
Comunidad
La comunidad de desarrollo de XPages administra el sitio web XPages.info con varios tipos de información sobre XPages, incluido cómo empezar, descargas, recursos y demostraciones. OpenNTF es un sitio de código abierto para aplicaciones basadas en IBM Domino y 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, cuando Trilog Group, un socio comercial de IBM, inventó un modelo de desarrollo rápido de aplicaciones web orientado a componentes, llamado XSP, similar al modelo Domino RAD, pero basado en J2EE. XML y estándares abiertos. En agosto de 2004, IBM adquirió los activos de tecnología XSP de Trilog Group en un esfuerzo por ofrecer una herramienta RAD para IBM Workplace que sea similar a Domino Designer.
La tecnología XPages, basada en JSF y J2EE, comenzó su vida en IBM, de 2005 a 2007, dentro del ahora discontinuado IBM Lotus Workplace Designer y, posteriormente, IBM Lotus Component Designer bajo el nombre de código 'XFaces'. A mediados de 2007, la tecnología XFaces se convirtió en 'XPages' y fue adoptada por IBM Lotus Notes Domino, incorporada en el ciclo de desarrollo de la versión 8.5. XPages se presentó en Lotusphere 2008 (AD303 Transformación de IBM Lotus Domino Web Apps con IBM Lotus Domino Designer Speakers: Rocky Oliver, Martin Donnelly). IBM Lotus Notes Domino 8.5 fue lanzado en diciembre de 2008 y a tiempo para Lotusphere 2009, donde fue uno de los muchos aspectos más destacados del programa.
IBM Lotus Notes Domino 8.5.1 continuó el desarrollo de la tecnología XPages, incluida la ejecución de aplicaciones XPages dentro del cliente Notes. Esta versión también incluyó varias mejoras en el rendimiento y la interfaz de usuario que ayudaron a las aplicaciones XPages a funcionar y escalar mejor. IBM Lotus Notes Domino 8.5.2 contenía muchas más mejoras y adiciones al conjunto de características de XPages.
El nombre 'XPages' se inspiró en la idea original de nomenclatura de XSP, donde XSP era en realidad un acrónimo de 'XML Server Pages'. Después de un primer cambio de marca de XSP a 'XFaces', IBM eligió 'XPages' como el nombre de código del proyecto para la tecnología de prelanzamiento incluida en Domino Designer. Con una alternativa pegadiza que es difícil de conseguir, el nombre del proyecto se quedó. [ cita requerida ]
Referencias
- ^ "Haga que sus aplicaciones XPage" Pop! "Con CSS y temas"
- ^ Tema OneUI
- ^ Biblioteca de JavaScript XPages
- ^ Kit de herramientas de Dojo
- ^ Referencia de API
- ^ API de extensibilidad de XPages
- ^ La base de datos orientada a documentos es una parte fundamental de la arquitectura de Domino . Tenga en cuenta que estos dos documentos PDF referenciados son antiguos, pero ofrecen una buena descripción general de los conceptos fundamentales.
- ^ Clases de Java AZ
Otras lecturas
- Martin Donnelly, Mark Wallace y Tony McGuckin. (2011). Dominar las páginas XPage: 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). Dominar las páginas XPage: una 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: una guía paso a paso para la próxima generación de componentes de XPages "(2012) IBM Press. ISBN 978-0132901819
- "XPages Portable Command Guide: Un recurso compacto para el desarrollo de aplicaciones XPages y el lenguaje XSP" (2012) IBM Press ISBN 978-0132943055
enlaces externos
- Página web oficial