Introducción a AEM Headless como Cloud Service

En esta parte del AEM Recorrido para desarrolladores sin encabezado, obtenga información sobre lo que se necesita para comenzar su propio proyecto con AEM sin encabezado.

La historia hasta ahora

En el documento anterior del recorrido AEM sin encabezado, Learn About CMS Headless Development ha aprendido la teoría básica de lo que es un CMS sin cabeza y ahora debería:

  • Comprender los conceptos básicos y la terminología de la entrega de contenido sin encabezado
  • Comprender por qué y cuándo se requiere un proceso sin encabezado
  • Conocer en un nivel superior cómo se utilizan los conceptos sin encabezado y cómo se interrelacionan

Este artículo se basa en estos fundamentos para que entienda cómo puede utilizar AEM para implementar una solución sin encabezado.

Objetivo

Este documento le ayuda a comprender AEM sin encabezado en el contexto de su propio proyecto. Después de leer, debe:

  • Comprender los conceptos básicos de AEM funciones sin encabezado.
  • Conozca los requisitos previos para utilizar AEM funciones sin encabezado.
  • Tenga en cuenta AEM niveles de integración sin objetivos.
  • Puede definir el proyecto en términos de ámbito.

Conceptos básicos de AEM

Para poder definir el proyecto sin encabezado dentro de AEM, es importante comprender algunos conceptos básicos de AEM.

Instancia de autor

En su forma más sencilla, AEM consta de una instancia de autor y una instancia de publicación que trabajan juntas para crear, administrar y publicar el contenido.

El contenido comienza en la instancia de autor. Aquí es donde los autores de contenido crean su contenido. El entorno de creación ofrece varias herramientas para que los autores creen, organicen y reutilicen su contenido.

Instancia de publicación

Una vez creado el contenido en la instancia de autor, debe publicarse para que esté disponible para otros servicios que lo consuman. Una instancia de publicación contiene todo el contenido que se ha publicado.

Replicación

La replicación es el acto de transferir contenido de la instancia de autor a la instancia de publicación. Esto se hace automáticamente AEM cuando un autor u otro usuario con los derechos adecuados publica contenido.

Resumen de fundamentos de AEM

En su nivel más sencillo, la creación de experiencias digitales en AEM requiere los siguientes pasos:

  1. Los autores de contenido crean su contenido sin encabezado en la instancia de autor.
  2. Cuando este contenido está listo, se replica en la instancia de publicación.
  3. Luego se puede llamar a las API para recuperar este contenido.

AEM sin encabezado se basa en esta base técnica al ofrecer poderosas herramientas para administrar el contenido sin encabezado que se describe en la siguiente sección.

Conceptos básicos AEM sin encabezado

Las capacidades sin objetivos de AEM se basan en algunas funciones clave. Estos se explican en detalle en partes posteriores del recorrido. Ahora sólo es importante conocer los conceptos básicos de lo que hacen y cómo se llaman.

Modelos de fragmento de contenido

Los modelos de fragmento de contenido definen la estructura de los datos y el contenido que se crean y administran en AEM. Sirven como un tipo de andamiaje para el contenido. Al elegir crear contenido, los autores seleccionan entre los modelos de fragmento de contenido que defina, que los guían en la creación de contenido.

Fragmentos de contenido

Los fragmentos de contenido le permiten diseñar, crear, depurar y publicar contenido independiente de las páginas. Permiten preparar contenido listo para usar en varias ubicaciones y en varios canales.

Los fragmentos de contenido contienen contenido estructurado y se pueden entregar en formato JSON.

API de GraphQL y REST

Para modificar el contenido sin problemas, AEM ofrece dos API sólidas.

  • La API de GraphQL permite crear solicitudes para acceder a los fragmentos de contenido y enviarlos.
  • La API de REST de recursos permite crear y modificar fragmentos de contenido (y otros recursos).

Aprenderá a utilizar estas API en una parte posterior del recorrido sin AEM encabezado. O consulte la sección recursos adicionales a continuación para obtener documentación adicional.

Niveles de integración sin encabezado

AEM admite todos los modelos sin encabezado y los modelos tradicionales de pila completa o de cabeza de un CMS. Sin embargo, AEM ofrece no solo estas dos opciones exclusivas, sino también la capacidad de soportar modelos híbridos que combinan las ventajas de ambos, ofreciendo una flexibilidad única para su proyecto sin objetivos.

Con el fin de garantizar su comprensión de los conceptos sin objetivos, este Recorrido para desarrolladores AEM sin objetivos se centra en el modelo sin objetivos para ponerle en marcha lo antes posible sin necesidad de utilizar código en AEM.

Sin embargo, hay que tener en cuenta las posibilidades híbridas adicionales que se abren una vez que entienda AEM características sin periféricos. Estos casos se detallan a continuación para su sensibilización. Al final del recorrido, se le introducirán estos conceptos con más detalle en caso de que se requiera dicha flexibilidad para su proyecto.

Ya tiene un consumo externo de contenido sin encabezado, como una aplicación de una sola página (SPA).

Supongamos que su requisito básico es, como mínimo, entregar contenido de AEM a un servicio externo existente.

Nivel 1: Integración de fragmentos de contenido: modelo tradicional sin encabezado

Este nivel de integración es el modelo tradicional sin encabezado y permite a los autores de contenido crear contenido en AEM y ofrecerlo sin preocuparse por cualquier número de servicios externos mediante GraphQL o editarlos desde servicios externos mediante la API de Assets. No se requiere código en AEM.

En este modelo, AEM solo se utiliza para crear y servir el contenido mediante AEM fragmentos de contenido. El procesamiento y la interacción con el contenido se delegan en la aplicación externa consumidora, a menudo en una aplicación de una sola página (SPA).

Nivel 2: Incrustar el SPA en AEM - Modelo híbrido

Este nivel de integración se basa en el primer nivel, pero también permite que la aplicación externa (SPA) se incruste en AEM para que los autores de contenido puedan ver el contenido en el contexto de la aplicación externa dentro de AEM. La aplicación también puede admitir una edición limitada de la aplicación externa dentro de AEM.

Este nivel tiene la ventaja de permitir que los autores de contenido creen contenido de forma flexible de AEM de forma progresiva, con su contenido presentado en contexto con una SPA externa integrada, a la vez que siguen entregando el contenido sin problemas.

Nivel 3: Incrustar y activar completamente SPA en AEM - Modelo híbrido

Este nivel de integración se basa en el nivel dos al permitir que la mayoría del contenido de la SPA externa se pueda editar dentro de AEM.

Todavía no tiene un consumidor externo del contenido sin encabezado, como una aplicación de una sola página (SPA).

Si su objetivo es crear un nuevo SPA que consuma contenido sin encabezado desde AEM, puede utilizar funciones como Fragmentos de contenido para administrar el contenido sin encabezado y también generar un SPA con AEM marco de Editor SPA.

Con el Editor de SPA, el SPA no solo consume contenido de AEM, sino que también es totalmente editable dentro de AEM por los autores de contenido, lo que le ofrece la flexibilidad de envío sin periféricos y de edición en contexto dentro de AEM.

Requisitos y requisitos previos

Hay varios requisitos antes de comenzar su proyecto de AEM sin encabezado.

Conocimiento

  • GraphQL
  • Experiencia de desarrollo crear SPA con marcos de React o Angular
  • Capacidades básicas AEM crear fragmentos de contenido y utilizar el editor

Herramientas

  • Acceso a espacio aislado para probar la implementación de su proyecto
  • Instancia de desarrollo local para modelado y prueba de datos
  • SPA externa existente u otro consumidor de su contenido AEM sin encabezado

Definición del proyecto

Para que cualquier proyecto tenga éxito, es importante definir claramente no sólo los requisitos del proyecto, sino también las funciones y responsabilidades.

Ámbito

Es importante tener un ámbito claramente definido para el proyecto. El ámbito informa los criterios de aceptación y le permite establecer una definición de hecho.

La primera pregunta que deben hacer es "¿Qué estoy tratando de lograr con AEM sin cabeza?" La respuesta debe ser, en general, que tiene o tendrá en el futuro una aplicación de experiencia que ha creado con sus propias herramientas de desarrollo, no con AEM. Esta aplicación de experiencia puede ser una aplicación móvil, un sitio web o cualquier otra aplicación de experiencia de cara al cliente del usuario final. El objetivo de utilizar AEM sin encabezado es alimentar su aplicación de experiencia con contenido creado, almacenado y administrado en AEM con API de última generación que llamarían a AEM sin encabezado para recuperar contenido o incluso contenido completamente CRUD directamente desde su aplicación de experiencia. Si esto no es lo que está buscando hacer, probablemente desee volver a la documentación de AEM y encontrar la sección que mejor se adapte a lo que desea lograr.

Funciones y responsabilidades

Las funciones de cualquier proyecto individual varían, pero las importantes que se deben tener en cuenta en el contenido de AEM desarrollo sin objetivos son:

Administrador

El administrador es responsable de la configuración y configuración base de su sistema. Por ejemplo, el administrador configura su organización dentro del sistema de administración de usuarios de Adobe, denominado Sistema Identity Management (IMS). El administrador es el primer usuario de la organización que recibe una invitación por correo electrónico de Adobe una vez que su organización ha sido creada por el Adobe dentro de IMS. El administrador puede iniciar sesión en IMS y agregar usuarios de otras personas.

Una vez que el administrador ha configurado los usuarios, se les conceden los permisos para acceder a todos los recursos de AEM para realizar su trabajo como contribuyentes a la entrega de la aplicación de experiencia mediante AEM sin encabezado.

El administrador debe ser el usuario que configure AEM y prepare el entorno de tiempo de ejecución para permitir a autores de contenido crear y actualizar contenido y a desarrolladores utilizar API que recuperen o modifiquen contenido para sus aplicaciones de experiencia.

Autor de contenido

Los autores de contenido crean y administran el contenido que AEM entrega sin encabezado. Los autores de contenido utilizan funciones AEM, como los fragmentos de contenido y la consola Recursos, para administrar su contenido.

Los autores de contenido deben tener en cuenta las siguientes prácticas recomendadas.

Plan de traducción

Planifique la traducción al inicio del proyecto. Considere a "especialista en traducción" como una persona independiente cuya responsabilidad es definir qué contenido debe traducirse y qué no debe traducirse, y qué contenido traducido pueden modificar los productores de contenido regionales o locales.

Cree un plan sobre la traducción de contenido que necesita.

  • ¿Necesita idiomas diferentes o también un idioma para adoptar los detalles regionales?
  • ¿Necesita contenido multimedia enriquecido como imágenes o vídeos para que sea diferente en diferentes configuraciones regionales?

Obtenga información clara sobre el flujo de trabajo de actualización de contenido. ¿Cuál es el proceso de aprobación que debe admitir el sistema? ¿Se pueden aprovechar AEM flujos de trabajo para automatizar este proceso?

Tenga en cuenta que la jerarquía de contenido se puede aprovechar para facilitar la traducción.

Consulte la sección recursos adicionales para obtener documentación adicional sobre AEM flujos de trabajo y herramientas de traducción, incluidos vínculos al Recorrido de traducción sin encabezado de AEM.

Aprovechar la jerarquía de contenido

La jerarquía de carpetas puede abordar dos preocupaciones principales con respecto a la administración de contenido:

  • Traducción : AEM administra la traducción del contenido manteniendo copias del contenido en carpetas específicas de la configuración regional.
  • Organización: las carpetas se utilizan para definir una jerarquía de contenido necesaria para satisfacer las necesidades de traducción, así como para administrar lógicamente los fragmentos de contenido.

AEM permite una estructura de contenido flexible y una jerarquía puede ser arbitrariamente grande. Sin embargo, es importante darse cuenta de que cualquier cambio en la estructura de carpetas puede tener consecuencias no deseadas para las consultas existentes que dependen de la ruta de contenido. Por lo tanto, una jerarquía bien definida y claramente establecida por adelantado, puede ser útil para los autores de contenido.

Las carpetas también se pueden restringir para permitir solo ciertos tipos de contenido (según los modelos de fragmento de contenido). Se recomienda especificar siempre explícitamente qué modelos se permiten para todas las carpetas de la jerarquía. Especificación del contenido permitido para una carpeta determinada:

  • Evita que los autores de contenido creen contenido que no pertenece a la carpeta.
  • Optimiza el proceso de creación de contenido filtrando los tipos de contenido permitidos en la carpeta durante la creación para mostrar solo tipos de contenido válidos.

Al crear una estructura de contenido adecuada, resulta más fácil coordinar la creación de contenido sin encabezado en todos los canales para maximizar la reutilización de contenido. El aprovechamiento del contenido en varios canales mejora considerablemente la eficacia de la producción de contenido y la administración de cambios.

Establecer convenciones de nombres adecuados

Los nombres de los fragmentos de contenido deben ser descriptivos para los autores de contenido. AEM gestiona de forma transparente la omisión o el truncamiento de los nombres que usan los ID en el nivel del repositorio. Por lo tanto, los nombres lógicos proporcionados por los autores de contenido siempre deben ser legibles y representar el contenido.

  • Nombre incorrecto: cta_btn_1
  • Nombre correcto: Call To Action Button

Consulte la sección recursos adicionales para obtener documentación adicional sobre AEM convenciones de nomenclatura de páginas.

No extender el anidado de contenido

Los fragmentos de contenido se utilizan en AEM para crear contenido sin encabezado. AEM admite hasta diez niveles de anidación de contenido para fragmentos de contenido. Sin embargo, es importante tener en cuenta que AEM debe resolver de forma iterativa cada referencia definida en el fragmento de contenido principal y, a continuación, comprobar si hay alguna referencia secundaria en todos los elementos del mismo nivel. Estas operaciones pueden sumarse rápidamente y convertirse en un problema de rendimiento.

Como regla general, las referencias de fragmento de contenido no deben anidarse más allá de cinco niveles.

Arquitecto de contenido

Los arquitectos de contenido analizan los requisitos de los datos que deben entregarse sin interrupciones y definen la estructura de estos datos. Estas estructuras se denominan Modelos de fragmento de contenido en AEM. Los modelos de fragmento de contenido se utilizan como base para los fragmentos de contenido que crean los autores de contenido.

Un enfoque útil a la hora de definir modelos de fragmento de contenido es crear modelos que se asignen a los componentes de experiencia de usuario de las aplicaciones que consumen el contenido.

Dado que los autores de contenido interactúan con los modelos de forma continua a medida que crean contenido nuevo, alinear los modelos con el usuario les ayuda a visualizar la experiencia digital resultante. Siguiendo con esta alineación, puede asignar iconos a los modelos de fragmento de contenido que representan el elemento UX para que los autores puedan seleccionar de forma intuitiva el modelo correcto en función de las indicaciones visuales.

Desarrollador

Los desarrolladores son responsables de unir el contenido que se crea sin problemas en AEM al consumidor de ese contenido, que a menudo puede ser una aplicación de una sola página (SPA), una aplicación web progresiva (PWA), una tienda web u otro servicio externo a AEM.

GraphQL sirve de "pegamento" entre AEM y los consumidores de contenido sin encabezado. GraphQL es el idioma que consulta AEM el contenido necesario.

Los desarrolladores deben tener en cuenta algunas recomendaciones básicas al planificar sus consultas:

  • Las consultas no deben depender de una ruta fija (ByPath) para recuperar los fragmentos de contenido.
    • Los autores de contenido tienen control total sobre la jerarquía de fragmentos de contenido y podrían realizar cambios para romper dicha consulta.
    • Las consultas deben optar por referencias del modelo de fragmento de contenido con parámetros de consulta dinámicos para filtrar los resultados y generar la carga útil deseada.
  • Para obtener el mejor rendimiento de las consultas, utilice siempre consultas persistentes en AEM. Estos se discuten más adelante en el recorrido.
  • GraphQL es declarativo siguiendo el lema "Pide exactamente lo que necesitas, y consigue exactamente eso". Esto significa que, al crear consultas de GraphQL, evite siempre las consultas de tipo select * que pueda crear en una base de datos relacional.

Para una implementación típica sin encabezado que utiliza AEM, el desarrollador no necesita tener conocimientos de codificación de AEM.

Requisitos de rendimiento

Para que cualquier proyecto sea un éxito, el rendimiento debe tenerse en cuenta antes de crear cualquier contenido.

Debe comprender las expectativas de los usuarios/visitantes y diseñar para ellos. Establezca objetivos de nivel de servicio (SLO) y mida para comprender si cumple con las expectativas del usuario.

Patrones de tráfico

Para comprender los patrones de tráfico y tráfico, comience por reunir lo que sabe del pasado y luego proyectar el crecimiento esperado en los próximos años. Algunas de las variables más importantes a tener en cuenta:

  • ¿Cuántas llamadas a la API por hora/día/mes espera y hay potencial para picos y temporalidad?
  • ¿Cuántos autores de contenido diferentes hay?
  • ¿Cuántos autores de contenido espera que trabajen simultáneamente?
  • ¿Cuál es la frecuencia de las actualizaciones de contenido?
  • ¿Cuántos modelos de contenido se necesitan?
  • ¿Cuántas instancias de modelos se necesitan?

Frecuencia de actualización

A menudo, las diferentes secciones de experiencias tienen distintas frecuencias de actualizaciones de contenido. Comprender esto es importante para poder ajustar las configuraciones de CDN y caché. Esto también es importante para los arquitectos de contenido, ya que diseñan modelos para representar el contenido. Tenga en cuenta lo siguiente:

  • ¿Deben caducar algunos tipos de contenido después de un período determinado?
  • ¿Hay elementos específicos del usuario que no se pueden almacenar en caché?

Siguientes pasos

Ahora que ha completado esta parte del Recorrido para desarrolladores sin encabezado de AEM, debe:

  • Comprender los conceptos básicos de AEM funciones sin encabezado.
  • Conozca los requisitos previos para utilizar AEM funciones sin encabezado.
  • Tenga en cuenta AEM niveles de integración sin objetivos.
  • Puede definir el proyecto en términos de ámbito.

Debe continuar con el recorrido sin AEM al revisar el documento Ruta a la primera experiencia con AEM sin encabezado, donde aprenderá a configurar las herramientas necesarias y a empezar a pensar en modelar los datos en AEM.

Recursos adicionales

Aunque se recomienda pasar a la siguiente parte del recorrido de desarrollo sin encabezado revisando el documento Ruta a la primera experiencia usando AEM sin encabezado, los siguientes son algunos recursos opcionales adicionales que profundizan en algunos conceptos mencionados en este documento, pero no es necesario que continúen en el recorrido sin encabezado.

En esta página