Configuración de la publicación basada en microservicios con autenticación OAuth
El microservicio de publicación le permite ejecutar grandes cargas de trabajo de publicación simultáneamente en Experience Manager Guides as a Cloud Service y aprovechar la plataforma Adobe I/O Runtime sin servidor líder del sector.
Para cada solicitud de publicación, Experience Manager Guides as a Cloud Service ejecuta un contenedor independiente que se escala horizontalmente según las solicitudes de los usuarios. Esto permite ejecutar varias solicitudes de publicación y obtener un mejor rendimiento que sus grandes servidores locales de Adobe Experience Manager.
Como el servicio de publicación en la nube está protegido por la autenticación basada en OAuth de Adobe IMS, realice los siguientes pasos para integrar sus entornos con los flujos de trabajo de autenticación seguros basados en tokens de Adobe y empiece a utilizar la solución de publicación escalable basada en la nube.
Creación de configuraciones de IMS en Adobe Developer Console
Rol necesario para crear las configuraciones: Administrador del sistema
Realice los siguientes pasos para crear configuraciones de IMS en Adobe Developer Console:
-
Abrir Developer Console:
https://developer.adobe.com/console
. -
Cambie a la ficha Proyectos desde la parte superior.
{width="500"}
Seleccione la ficha Proyectos en Adobe Developer Console
-
Para crear un nuevo proyecto vacío, selecciona Proyecto vacío en la lista desplegable Crear nuevo proyecto.
{width="500"}
Crear un nuevo proyecto vacío.
-
Seleccione API del menú desplegable Agregar al proyecto para agregar la API de administración de E/S a su proyecto.
{width="300"}
Seleccione un proyecto de API en el menú desplegable.
{width="500"}
Agregar la API de administración de E/S a su proyecto.
-
Cree una nueva credencial de OAuth y guárdela.
{width="500"}
Configure las credenciales de OAuth en su API.
-
Vuelva a la ficha Proyectos y seleccione Información general del proyecto a la izquierda.
{width="500"}
Empiece en el nuevo proyecto.
-
Haga clic en el botón Descargar de la parte superior para descargar el JSON del servicio.
{width="500"}
Descargar los detalles del servicio JSON.
Ha configurado los detalles de autenticación de OAuth y descargado los detalles del servicio JSON. Mantenga este archivo a mano, ya que es necesario en la siguiente sección.
Añadir la configuración de IMS al entorno
Actualizar configuración existente (JWT) a OAuth shift )
Si ya está utilizando un microservicio para publicar con JWT (obsoleto), realice los siguientes pasos para actualizar las configuraciones:
-
Abra Experience Manager y seleccione el programa que contiene el entorno que desea configurar.
-
Cambie a la ficha Entornos.
-
Seleccione el nombre del entorno que desea configurar. Esto lo llevará a la página Información del entorno.
-
Cambie a la ficha Configuración.
-
Actualice el campo JSON SERVICE_ACCOUNT_DETAILS con el nuevo archivo JSON de OAuth que descargó.
-
Elimine el campo PRIVATE_KEY.
{width="500"}
Actualizar las configuraciones del entorno JWT existentes.
Configuración por primera vez
Para utilizar un microservicio de publicación por primera vez, actualice las configuraciones según los pasos siguientes:
-
Abra Experience Manager y seleccione el programa que contiene el entorno que desea configurar.
-
Cambie a la ficha Entornos.
-
Seleccione el nombre del entorno que desea configurar. Esto lo llevará a la página Información del entorno.
-
Cambie a la ficha Configuración.
-
Cree una nueva configuración denominada SERVICE_ACCOUNT_DETAILS. En el valor, agregue el contenido del archivo JSON de OAuth que descargó de la consola del desarrollador
Configurar el entorno por primera vez.
Primera vez que cambia el código para la habilitación de publicaciones basadas en microservicios
Una vez añadida la configuración de IMS al entorno, realice los siguientes pasos para vincular estas propiedades con Experience Manager Guides mediante OSGi:
-
En el código de su proyecto Git de Cloud Manager, agregue los dos archivos siguientes a
/apps/fmditaCustom/config
(para ver el contenido del archivo, consulte Apéndice).com.adobe.aem.guides.eventing.ImsConfiguratorService.cfg.json
com.adobe.fmdita.publishworkflow.PublishWorkflowConfigurationService.xml
-
Asegúrese de que los archivos recién agregados estén cubiertos por su
filter.xml
. -
Confirme y envíe los cambios de Git.
-
Ejecute la canalización para aplicar los cambios al entorno.
Una vez hecho esto, puede utilizar la publicación en la nube basada en microservicios.
Preguntas frecuentes
- Si las configuraciones de OSGi para utilizar microservicios están habilitadas, ¿funcionará el proceso de publicación en el servidor Experience Manager local con la misma base de código?
- No, si el indicador
dxml.use.publish.microservice
está establecido entrue
, siempre busca configuraciones de microservicio. Establezcadxml.use.publish.microservice
enfalse
para que la publicación funcione en su servidor local.
- No, si el indicador
- ¿Cuánta memoria se asigna al proceso DITA cuando se utiliza la publicación basada en microservicios? ¿Se conduce a través del perfil y los parámetros de DITA?
- Con la publicación basada en microservicios, la asignación de memoria no se controla mediante los parámetros y el perfil DITA. La memoria total disponible en el contenedor de servicios es de 8 GB, de los cuales 6 GB se asignan al proceso DITA-OT.
Apéndice appendix
Archivo:com.adobe.aem.guides.eventing.ImsConfiguratorService.cfg.json
Contenido:
{
"service.account.details": "$[secret:SERVICE_ACCOUNT_DETAILS]",
}
Archivo: com.adobe.fmdita.publishworkflow.PublishWorkflowConfigurationService.xml
Contenido:
dxml.use.publish.microservice
: cambiar para habilitar la publicación basada en microservicios mediante DITA-OTdxml.use.publish.microservice.native.pdf
: cambiar para habilitar la publicación de PDF nativos basada en microservicios
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
jcr:primaryType="sling:OsgiConfig"
dxml.publish.microservice.url="https://adobeioruntime.net/api/v1/web/543112-guidespublisher/default/publishercaller.json"
dxml.use.publish.microservice="{Boolean}true"
dxml.use.publish.microservice.native.pdf="{Boolean}true"
/>