Cómo ponerlo todo junto: su aplicación y su contenido en AEM sin encabezado

Última actualización: 2023-09-01

En esta parte del recorrido para desarrolladores de contenido de AEM sin encabezado, se familiarizará con cómo utilizar las herramientas de desarrollo de AEM y el SDK sin encabezado para montar la aplicación.

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.

Objetivo

El objetivo de este artículo es ayudarle a comprender cómo montar su aplicación sin encabezado de AEM mediante lo siguiente:

  • Información sobre el SDK de AEM sin encabezado y las herramientas de desarrollo necesarias
  • Configuración de un tiempo de ejecución de desarrollo local para simular el contenido antes de su puesta en marcha
  • Conceptos básicos de la replicación de contenido de AEM

El SDK de AEM

El SDK de AEM se utiliza para crear e implementar código personalizado. Es la principal herramienta que necesita para que pueda desarrollar y probar su aplicación sin encabezado antes de ponerla en marcha. 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 los 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™

El SDK de AEM sin encabezado

A diferencia del SDK de AEM, el SDK sin encabezado de AEM es un conjunto de bibliotecas que los clientes pueden utilizar para interactuar rápida y fácilmente con las API de AEM sin encabezado través de HTTP.

Para obtener más información sobre el SDK de AEM sin encabezado, consulte la documentación aquí.

Herramientas de desarrollo adicionales

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

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

Como AEM es una aplicación Java™, debe instalar Java™ y el SDK de Java™ para que permitir el desarrollo de AEM 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.

Node.js es un entorno de tiempo de ejecución de JavaScript que se utiliza para trabajar con los recursos front-end de un subproyecto ui.frontend del proyecto de AEM. Node.js se distribuye con npm, es el administrador de paquetes de Node.js de facto, 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 durante la ejecución del desarrollo local para que le resulte más fácil previsualizar el código y el contenido antes de ponerlo en marcha.

  • 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 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.

Para probar las actualizaciones de código o contenido introducidas por la aplicación sin encabezado, debe implementar las actualizaciones en el tiempo de ejecución de AEM local, que incluye las instancias locales de los servicios de creación y publicación de AEM.

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

Para preparar el proyecto AEM sin encabezado para su lanzamiento, debe asegurarse de que todas las partes constitutivas del proyecto funcionen correctamente.

Para ello, hay que juntar todo: código, contenido y configuración, y probarlo en un entorno de desarrollo local para estar preparado para la puesta en marcha.

El entorno de desarrollo local consta de tres esferas principales:

  1. El proyecto de AEM: este proyecto contiene todo el código, la configuración y el contenido personalizados en los que los desarrolladores de AEM van a trabajar.
  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 sirve en la aplicación React mediante la implementación local de un servidor de nodo estático.

Siguientes pasos

Ahora que ha completado esta parte del recorrido para desarrolladores de AEM sin encabezado, debería poder hacer lo siguiente:

  • Familiarizarse con las herramientas de desarrollo de AEM.
  • Comprender el flujo de trabajo de desarrollo local.

Continúe con su recorrido de AEM sin encabezado revisando a continuación el documento Cómo poner en marcha su aplicación Headless donde realmente pone en marcha su proyecto de AEM sin encabezado.

Recursos adicionales

En esta página