Strumenti di sviluppo aggiuntivi

Oltre all’SDK per AEM, hai bisogno di strumenti aggiuntivi che facilitino lo sviluppo e il test locale del codice e del contenuto:

  • Java™
  • Git
  • Apache Maven
  • La libreria Node.js
  • L’IDE che preferisci

Poiché AEM è un’applicazione Java™, è necessario installare Java™ e Java™ SDK per supportare lo sviluppo di AEM as a Cloud Service.

Git è ciò che utilizzerai per gestire il controllo del codice sorgente e per tenere traccia delle modifiche a Cloud Manager e, quindi, distribuirle su un’istanza di produzione.

AEM utilizza Apache Maven per creare progetti generati dall’archetipo del progetto Maven di AEM. Tutti gli IDE principali forniscono supporto per l’integrazione per Maven.

Node.js è un ambiente di runtime JavaScript utilizzato per lavorare con le risorse front-end del sottoprogetto ui.frontend di un progetto AEM. Node.js è distribuito con npm, che è de facto il gestore di pacchetti Node.js, utilizzato per gestire le dipendenze di JavaScript.

Panoramica dei componenti di un sistema AEM

Ora, osserviamo le parti costitutive di un ambiente AEM.

Un ambiente AEM completo è costituito da authoring, pubblicazione e Dispatcher. Questi stessi componenti sono resi disponibili nel runtime di sviluppo locale per semplificare l’anteprima del codice e del contenuto prima della pubblicazione.

  • Il servizio di authoring è il luogo in cui gli utenti interni creano, gestiscono e visualizzano in anteprima i contenuti.

  • Il servizio Publish è considerato l'ambiente "Live" ed è normalmente ciò con cui gli utenti finali interagiscono. I contenuti, dopo essere stati modificati e approvati nel servizio di authoring, vengono distribuiti (replicati) al servizio Publish. Il modello di implementazione più comune per le applicazioni headless AEM consiste nella connessione della versione di produzione dell’applicazione a un servizio di pubblicazione AEM.

  • Il Dispatcher è un server web statico potenziato con il modulo Dispatcher di AEM. Memorizza nella cache le pagine web prodotte dall’istanza di pubblicazione per migliorare le prestazioni.

Flusso di lavoro di sviluppo locale

Il progetto di sviluppo locale è basato su Apache Maven e utilizza Git per il controllo del codice sorgente. Per aggiornare il progetto, gli sviluppatori possono utilizzare, tra gli altri, il proprio ambiente di sviluppo integrato preferito, ad esempio Eclipse, Visual Studio Code o IntelliJ.

Per testare gli aggiornamenti del codice o del contenuto acquisiti dall’applicazione headless, distribuisci gli aggiornamenti nel runtime AEM locale. Queste includono istanze locali dei servizi di authoring e pubblicazione dell’AEM.

Assicurati di prendere nota delle distinzioni tra ogni componente nel runtime AEM locale, in quanto è importante testare gli aggiornamenti dove contano di più. Ad esempio, prova gli aggiornamenti del contenuto sull’authoring o testa il nuovo codice sull’istanza di pubblicazione.

In un sistema di produzione, un Dispatcher e un server http Apache saranno sempre posti davanti a un’istanza di pubblicazione AEM. Fornisce servizi di caching e sicurezza per il sistema AEM, pertanto è fondamentale testare il codice e gli aggiornamenti di contenuto anche in Dispatcher.

Anteprima del codice e del contenuto localmente con l’ambiente di sviluppo locale

Per preparare il tuo progetto AEM headless per il lancio, assicurati che tutte le parti costitutive del progetto funzionino correttamente.

Per farlo, devi mettere insieme tutto: codice, contenuto e configurazione, e testarlo in un ambiente di sviluppo locale per la disponibilità alla pubblicazione.

L'ambiente di sviluppo locale è costituito da tre aree principali:

  1. Progetto AEM: contiene tutto il codice personalizzato, la configurazione e il contenuto su cui gli sviluppatori AEM stanno lavorando
  2. Local AEM Runtime: versioni locali dei servizi di authoring e pubblicazione AEM utilizzati per distribuire il codice dal progetto AEM
  3. Esecuzione del Dispatcher locale: una versione locale del server Web Apache httpd che include il modulo Dispatcher

Dopo aver configurato l’ambiente di sviluppo locale, puoi simulare il contenuto da distribuire all’app React distribuendo localmente un server Nodo statico.

Per informazioni più approfondite sulla configurazione di un ambiente di sviluppo locale e su tutte le dipendenze necessarie per l'anteprima del contenuto, consulta Documentazione sulla distribuzione di produzione.