Supporto RDBMS in AEM 6.4

Panoramica

Il supporto per la persistenza relazionale del database in AEM viene implementato utilizzando il Document Microkernel. Document Microkernel è la base utilizzata anche per implementare la persistenza MongoDB.

È costituita da un'API Java basata sull'API Java di Mongo. Viene inoltre fornita un'implementazione di un'API BlobStore. Per impostazione predefinita, i BLOB sono memorizzati nel database.

Per ulteriori informazioni sull'implementazione, consultare la documentazione relativa a RDBDocumentStore e RDBBlobStore.

NOTA

È inoltre disponibile il supporto per PostgreSQL 9.4, ma solo a scopo dimostrativo. Non sarà disponibile per gli ambienti di produzione.

Database supportati

Per ulteriori informazioni sul livello di supporto del database relazionale in AEM, vedere la pagina Requisiti tecnici.

Passaggi di configurazione

Il repository viene creato configurando il servizio DocumentNodeStoreService OSGi. È stato esteso per supportare la persistenza relazionale del database oltre a MongoDB.

Per consentirne il funzionamento, è necessario configurare un'origine dati con AEM. Questa operazione viene eseguita tramite il file org.apache.sling.datasource.DataSourceFactory.config. I driver JDBC per il rispettivo database devono essere forniti separatamente come bundle OSGi all'interno della configurazione locale.

Per informazioni sulla creazione di pacchetti OSGi per i driver JDBC, consultate questa documentazione nel sito Web Apache Sling.

NOTA

Alcuni dei driver SQL sono già compressi come bundle OSGi.

In questo caso, copiate il file jar su install-path/crx-quickstart/install/9.

Una volta installati i bundle, attenetevi alla seguente procedura per configurare AEM con la persistenza RDB:

  1. Accertatevi che il demone del database sia avviato e che sia presente un database attivo da utilizzare con AEM.

  2. Copiate il AEM 6.3 jar nella directory di installazione.

  3. Create una cartella denominata crx-quickstart\install nella directory di installazione.

  4. Configurare l'archivio dei nodi del documento creando un file di configurazione con il seguente nome nella directory crx-quickstart\install:

    • org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
  5. Configurate l'origine dati e i parametri JDBC creando un altro file di configurazione con il seguente nome nella cartella crx-quickstart\install:

    • org.apache.sling.datasource.DataSourceFactory-oak.config
    NOTA

    Per informazioni dettagliate sulla configurazione dell'origine dati per ciascun database supportato, vedere Opzioni di configurazione dell'origine dati.

  6. Quindi, preparate i bundle JDBC OSGi da utilizzare con AEM:

    1. Scaricate l'archivio ZIP da https://dev.mysql.com/downloads/connector/j/
      • la versione deve essere >= 5.1.38
    2. Estrarre il mysql-connector-java-version-bin.jar (bundle) dall'archivio
    3. Utilizzate la console Web per installare e avviare il bundle:
      • Vai a http://serveraddress:serverport/system/console/bundles
      • Selezionare Install/Update
      • Individua il pacchetto estratto dall'archivio ZIP scaricato
      • Verificare che il driver JDBC di Oracle Corporation per MySQLcom.mysql.jdbc sia attivo e avviarlo.
  7. Infine, iniziare AEM con le modalità di esecuzione crx3 e crx3rdb:

    java -jar quickstart.jar -r crx3,crx3rdb
    

Opzioni di configurazione origine dati

La configurazione org.apache.sling.datasource.DataSourceFactory-oak.config OSGi viene utilizzata per configurare i parametri necessari per la comunicazione tra AEM e il livello di persistenza del database.

Sono disponibili le seguenti opzioni di configurazione:

  • datasource.name: Il nome dell'origine dati. Il valore predefinito è oak.

  • url: Stringa URL del database che deve essere utilizzata con JDBC. Ogni tipo di database ha un proprio formato di stringa URL. Per ulteriori informazioni, vedere Formati di stringa URL di seguito.

  • driverClassName: Il nome della classe del driver JDBC. Ciò varia a seconda del database che si desidera utilizzare e, successivamente, del driver necessario per connettersi ad esso. Di seguito sono riportati i nomi delle classi per tutti i database supportati da AEM:

    • org.postgresql.Driver per PostgreSQL;
    • com.ibm.db2.jcc.DB2Driver per DB2;
    • oracle.jdbc.OracleDriver per Oracle;
    • com.mysql.jdbc.Driver per MySQL e MariaDB (sperimentale);
    • c om.microsoft.sqlserver.jdbc.SQLServerDriver per Microsoft SQL Server (sperimentale).
  • username: Il nome utente utilizzato dal database.

  • password: La password del database.

Formati stringa URL

Nella configurazione dell'origine dati viene utilizzato un formato di stringa URL diverso a seconda del tipo di database da utilizzare. Di seguito è riportato un elenco di formati per i database che AEM attualmente supportano:

  • jdbc:postgresql:databasename per PostgreSQL;

  • jdbc:db2://localhost:port/databasename per DB2;

  • jdbc:oracle:thin:localhost:port:SID per Oracle;

  • jdbc:mysql://localhost:3306/databasename per MySQL e MariaDB (sperimentale);

  • jdbc:sqlserver://localhost:1453;databaseName=name per Microsoft SQL Server (sperimentale).

Limitazioni note

Anche se l'uso simultaneo di più istanze AEM con un singolo database è supportato dalla persistenza RDBMS, le installazioni simultanee non lo sono.

Per risolvere il problema, accertatevi di eseguire prima l'installazione con un singolo membro e di aggiungere gli altri al termine della prima installazione.

In questa pagina