Cómo hacer un lanzamiento con su aplicación sin encabezado

Última actualización: 2024-01-08

En esta parte del AEM Recorrido de desarrollador sin encabezado, aprenda a implementar una aplicación sin encabezado en directo.

La historia hasta ahora

En el documento anterior del recorrido de AEM sin encabezado, Cómo actualizar su contenido a través de las API de AEM Assets ha aprendido a actualizar el contenido sin encabezado existente en AEM mediante la API y ahora debería:

  • Comprender la API HTTP de AEM Assets.

Este artículo se basa en estos fundamentos para que entienda cómo preparar su propio proyecto de AEM sin encabezado para su lanzamiento.

Objetivo

Este documento le ayuda a comprender la canalización de las publicaciones de AEM sin encabezado y las consideraciones de rendimiento que debe tener en cuenta antes de lanzar su aplicación.

  • AEM Obtenga información acerca del SDK de la y las herramientas de desarrollo necesarias
  • Configure un tiempo de ejecución de desarrollo local para simular el contenido antes de publicarlo
  • AEM Comprender los conceptos básicos de almacenamiento en caché y replicación de contenido
  • Asegurar y escalar su aplicación antes del lanzamiento
  • Monitorizar los problemas de rendimiento y depuración

El SDK de AEM

El SDK de AEM se utiliza para crear e implementar código personalizado. Es la herramienta principal que debe desarrollar y probar su aplicación sin encabezado antes de lanzarla. Contiene los siguientes artefactos:

  • Jar de inicio rápido: un archivo Jar ejecutable que se puede utilizar para configurar una instancia de autor y de publicación
  • Herramientas de Dispatcher: el módulo de Dispatcher y sus dependencias para sistemas basados en Windows y UNIX
  • Jar de API de Java™: la dependencia Jar/Maven de Java™ que expone todas las API de Java™ permitidas que se pueden usar para desarrollarse con AEM
  • Javadoc jar: los javadocs para el Jar de la API de Java™

Herramientas de desarrollo adicionales

AEM Además del SDK de la, necesita herramientas adicionales que faciliten el desarrollo y la prueba del código y el contenido de forma local:

  • Java™
  • Git
  • Apache Maven
  • La biblioteca Node.js
  • El IDE de su elección

AEM AEM Como es una aplicación de Java™, debe instalar Java™ y el SDK de Java™ para admitir el desarrollo de as a Cloud Service.

Git es lo que se utiliza para administrar el control de origen y para registrar los cambios en Cloud Manager y luego implementarlos en una instancia de producción.

AEM utiliza Apache Maven para crear proyectos generados a partir del arquetipo del proyecto Maven de AEM. Todos los IDE principales proporcionan compatibilidad con la integración de Maven.

AEM Node.js es un entorno de tiempo de ejecución de JavaScript que se utiliza para trabajar con los recursos front-end de los recursos de un proyecto de ui.frontend proyecto secundario. Node.js se distribuye con npm, que es el administrador de paquetes de facto de Node.js, que se utiliza para administrar las dependencias de JavaScript.

Generalidades de los componentes del sistema AEM

A continuación, veremos las partes que constituyen el entorno de AEM.

Un entorno de AEM completo está formado por un Autor, una Publicación y un Dispatcher. Estos mismos componentes están disponibles en el tiempo de ejecución de desarrollo local para que sea más fácil obtener una vista previa del código y el contenido antes de publicarlos.

  • El servicio de creación es donde los usuarios internos crean, administran y previsualizan contenido.

  • El servicio de publicación se considera el entorno "activo" y suele ser con el que interactúan los usuarios finales. El contenido, después de editarse y aprobarse en el servicio de creación, se distribuye (replica) al de publicación. El patrón de implementación más común con las aplicaciones sin encabezado de AEM es tener la versión de producción de la aplicación conectada a un servicio de publicación de AEM.

  • Dispatcher es un servidor web estático ampliado con el módulo Dispatcher de AEM. Almacena en la caché las páginas web producidas por la instancia de publicación para mejorar el rendimiento.

Flujo de trabajo de desarrollo local

El proyecto de desarrollo local se basa en Apache Maven y utiliza Git para el control de código fuente. Para actualizar el proyecto, los desarrolladores pueden utilizar su entorno de desarrollo integrado preferido, como Eclipse, Visual Studio Code o IntelliJ, entre otros.

AEM Para probar las actualizaciones de código o contenido introducidas por la aplicación sin encabezado, implemente las actualizaciones en el tiempo de ejecución de la versión local de la aplicación AEM Estas incluyen instancias locales de los servicios de autor y publicación de la.

Asegúrese de tomar nota de las distinciones entre cada componente en el tiempo de ejecución de AEM local, ya que es vital probar las actualizaciones allí donde sean más importantes. Por ejemplo, pruebe las actualizaciones de contenido en la instancia de autor o pruebe el nuevo código en la instancia de publicación.

En un sistema de producción, Dispatcher y el servidor de HTTP, Apache, siempre estarán frente a una instancia de publicación de AEM. Proporcionan almacenamiento en caché y servicios de seguridad para el sistema AEM, por lo que es fundamental probar el código y las actualizaciones de contenido para Dispatcher también.

Vista previa del código y el contenido localmente con el entorno de desarrollo local

AEM Para preparar el proyecto sin encabezado de la para su lanzamiento, asegúrese de que todas las partes constitutivas del proyecto funcionen correctamente.

Para ello, debe reunir todo: código, contenido y configuración, y probarlo en un entorno de desarrollo local para la preparación para el lanzamiento.

El entorno de desarrollo local se compone de tres áreas principales:

  1. AEM AEM El proyecto de: contiene todo el código personalizado, la configuración y el contenido en el que van a trabajar los desarrolladores de la aplicación de la aplicación de la aplicación de código de la plataforma de datos de la plataforma de datos de.
  2. El tiempo de ejecución local de AEM: versiones locales de los servicios de publicación y autor de AEM que se utilizan para implementar código del proyecto de AEM.
  3. Tiempo de ejecución de Dispatcher local: una versión local del HTTPD del servidor web Apache que incluye el módulo de Dispatcher.

Una vez configurado el entorno de desarrollo local, puede simular el contenido que se sirve a la aplicación React implementando un servidor de nodos estático localmente.

Para obtener información más detallada sobre la configuración de un entorno de desarrollo local y todas las dependencias necesarias para la vista previa del contenido, consulte Documentación de implementación de producción.

AEM Preparación de la aplicación sin encabezado de la aplicación para el lanzamiento

AEM Ahora es el momento de preparar su aplicación sin encabezado para el lanzamiento, siguiendo las prácticas recomendadas que se describen a continuación.

Proteja su aplicación sin encabezado antes del lanzamiento

  1. Preparar Autenticación para sus solicitudes de GraphQL

Estructura del modelo frente al output de GraphQL

  • Evite crear consultas que generen más de 15 KB de JSON (gzip comprimido). Los archivos JSON largos consumen muchos recursos para que la aplicación cliente los analice.
  • Evite más de cinco niveles anidados de jerarquías de fragmento. Los niveles adicionales hacen que a los autores de contenido les resulte difícil considerar el impacto de sus cambios.
  • Utilice consultas de varios objetos en lugar de modelar consultas con jerarquías de dependencia dentro de los modelos. Al hacerlo, se obtiene una mayor flexibilidad a largo plazo para reestructurar la salida de JSON sin tener que realizar muchos cambios en el contenido.

Maximizar la proporción de visitas en caché de CDN

  • No utilice consultas directas de GraphQL, a menos que solicite contenido activo desde la superficie.
    • Utilice consultas persistentes siempre que sea posible.
    • Proporcione un TTL de CDN superior a 600 segundos para que la CDN pueda almacenarlo en caché.
    • AEM calcula el impacto de un cambio de modelo en las consultas existentes.
  • Divida los archivos JSON o las consultas de GraphQL entre una tasa de cambio de contenido baja y alta para reducir el tráfico del cliente a CDN y asignar un TTL más alto. Al hacerlo, se minimiza la revalidación por CDN del JSON con el servidor de origen.
  • Para invalidar activamente el contenido de la CDN, utilice Depuración suave. Al hacerlo, la CDN puede volver a descargar el contenido sin provocar una pérdida de caché.
NOTA

Consulte Recursos adicionales para obtener más información sobre CDN y almacenamiento en caché.

Mejora del tiempo para descargar contenido sin encabezado

  • Asegúrese de que los clientes HTTP utilicen HTTP/2.
  • Asegúrese de que los clientes HTTP acepten la solicitud de encabezados para gzip.
  • Minimice el número de dominios utilizados para alojar el formato JSON y los artefactos de referencia.
  • Uso Last-modified-since para actualizar recursos.
  • Use la salida _reference en el archivo JSON para iniciar la descarga de los recursos sin tener que analizar los archivos JSON completos.

Implementación de la producción

La implementación en producción puede depender de si tiene un tradicional AEM Instancia de que se implementa mediante Maven o que se encuentran en Adobe Managed Services (AMS) y, por lo tanto, utilizan Cloud Manager.

Implementación en producción mediante Maven

Para un tradicional implementación (que no es AMS) con Maven, consulte la Tutorial de WKND para obtener una descripción general.

Implementar en producción mediante Cloud Manager

Si es cliente de AMS que utiliza Cloud Manager, después de asegurarse de que todo está probado y funciona correctamente, puede insertar las actualizaciones de código en un repositorio Git centralizado en Cloud Manager.

AEM Una vez cargadas las actualizaciones en Cloud Manager, impleméntelas para que se puedan usar con el fin de crear una versión más completa de la aplicación de Canalización de CD/CI de Cloud Manager.

Monitorización del rendimiento

Para que los usuarios tengan la mejor experiencia posible al utilizar la aplicación AEM sin encabezado, es importante que monitorice las métricas clave de rendimiento, tal como se detalla a continuación:

  • Valide las versiones de producción y previsualización de la aplicación.
  • Verifique las páginas de estado de AEM para el estado actual de disponibilidad del servicio.
  • Acceda a los informes de rendimiento.
    • Rendimiento de entrega
      • Servidores de origen: número de llamadas, tasas de error, cargas de CPU, tráfico de carga útil
    • Rendimiento del autor
      • Compruebe el número de usuarios, solicitudes y carga
  • Acceso a informes de rendimiento específicos de la aplicación y el espacio
    • Una vez que el servidor esté activo, compruebe si las métricas generales son verdes, naranjas o rojas y, a continuación, identifique los problemas específicos de la aplicación.
    • Abra los mismos informes que los filtrados a la aplicación o al espacio (por ejemplo, Photoshop Desktop, Paywall)
    • Utilice las API de registro de Splunk para acceder al rendimiento del servicio y de la aplicación.
    • Póngase en contacto con asistencia al cliente en caso de que surjan otros problemas.

Solución de problemas

Depuración

Siga estas prácticas recomendadas como enfoque general de la depuración:

  • Valide la funcionalidad y el rendimiento con la versión previa de la aplicación.
  • Valide la funcionalidad y el rendimiento con la versión de producción de la aplicación.
  • Valide con la vista previa JSON del Editor de fragmentos de contenido.
  • Para comprobar la presencia de problemas de aplicación o envío de cliente, inspeccione el JSON en la aplicación cliente
  • AEM Para comprobar la presencia de problemas relacionados con el contenido en caché o la, inspeccione el JSON mediante GraphQL

Registro de un error con asistencia

Para registrar un error de forma eficaz con Asistencia, en caso de que necesite asistencia adicional, complete los siguientes pasos:

  • Tome capturas de pantalla del problema, si es necesario.
  • Documente una manera de reproducir el problema.
  • Documente el contenido con el que se reproduce el problema.
  • Registre un problema a través del portal de asistencia de AEM con la prioridad adecuada.

El recorrido ha terminado, ¿o no?

Felicitaciones. Ha completado el recorrido para desarrolladores de AEM sin encabezado. Ahora debe comprender lo siguiente:

  • La diferencia entre la entrega de contenido sin encabezado y con encabezado.
  • Las características sin encabezado de AEM.
  • Cómo organizar un proyecto sin encabezado en AEM.
  • Cómo crear contenido sin encabezado en AEM.
  • Cómo recuperar y actualizar contenido sin encabezado en AEM.
  • Cómo poner en marcha un proyecto de AEM sin encabezado.
  • Qué hacer una vez completado el lanzamiento.

AEM Ya ha iniciado su primer proyecto sin encabezado o ya tiene todos los conocimientos necesarios para hacerlo. Buen trabajo.

Explorar aplicaciones de una sola página

AEM Sin embargo, no hay necesidad de detener las tiendas sin encabezado en la. En el Introducción como parte del recorridoAEM Además, se explica cómo no solo admite la entrega sin encabezado y los modelos tradicionales de pila completa, sino también modelos híbridos que combinan las ventajas de ambos.

Si este tipo de flexibilidad es algo que necesita para su proyecto, continúe con la parte opcional adicional del recorrido, SPA AEM Cómo crear aplicaciones de una sola página () con la aplicación de una sola página ().

Recursos adicionales

En esta página