Installazione di servizi di monetizzazione

Edge per Private Cloud v. 4.16.09

Monetization Services è un'estensione di Apigee Edge, quindi non viene eseguito come processo autonomo. Viene eseguito all'interno di qualsiasi configurazione Apigee Edge esistente.

Requisiti per la monetizzazione

  • Se stai installando la monetizzazione su una topologia perimetrale che utilizza più nodi del server di gestione, ad esempio un'installazione a 13 nodi, devi installare entrambi i nodi dell'edge Management Server prima di installare la monetizzazione.
  • Per installare la monetizzazione su Edge quando l'installazione a livello perimetrale ha più nodi Postgres, i nodi Postgres devono essere configurati in modalità master/standby. Non puoi installare Monetizzazione su Edge se hai più nodi master Postgres. Per saperne di più, consulta Configurare la replica master-in standby per Postgres.

Panoramica dell'installazione

I passaggi seguenti illustrano come aggiungere servizi di monetizzazione su un'installazione Apigee Edge esistente:

  • Utilizza l'utilità apigee-setup per aggiornare il nodo del server di gestione Apigee per abilitare i servizi di monetizzazione, ad esempio gestione del catalogo, configurazione di limiti e notifiche, fatturazione e reporting.

    Se disponi di più nodi del server di gestione, ad esempio un'installazione a 13 nodi, devi installare entrambi i nodi di Edge Management Server prima di installare la sezione Monetizzazione.
  • Utilizza l'utilità apigee-setup per aggiornare il processore di messaggi Apigee in modo da abilitare i componenti di runtime dei servizi di monetizzazione, ad esempio le norme di registrazione delle transazioni e l'applicazione dei limiti. Se disponi di più Processori di messaggi, installa la monetizzazione su ciascuno di essi.
  • Esegui il processo di onboarding per la monetizzazione per le tue organizzazioni Edge.
  • Configura il portale Servizi per gli sviluppatori in modo che supporti la monetizzazione. Per ulteriori informazioni, visita http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Creazione di un file di configurazione invisibile per la monetizzazione

Di seguito è riportato un esempio di file di configurazione invisibile all'utente per un'installazione relativa alla monetizzazione. Modifica questo file in base alle esigenze della tua configurazione. Utilizza l'opzione -f per setup.sh per includere questo file.

Nota: in genere, aggiungi queste proprietà allo stesso file di configurazione utilizzato per installare Edge, come mostrato in Installare i componenti Edge su un nodo.

# Edge configuration properties
# Specify IP address or DNS name of node.
IP1=192.168.1.1  # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Edge sys admin credentials
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Specify the Management Server port.
APIGEE_PORT_HTTP_MS=8080

#
# Monetization configuration properties.
#
# Postgres credentials from Edge installation.
PG_USER=apigee    # Default from Edge installation
PG_PWD=postgres    # Default from Edge installation

# Specify Postgres server.
MO_PG_HOST="$IP8"    # Only specify one Postgres node.

# Create a Postgres user for Monetization.
# Default username is "postgre". 
# If you specify a different user, that user must already exist.
MO_PG_USER=postgre     
MO_PG_PASSWD=moUserPWord

# Specify one ZooKeeper host.
# Ensure this is a ZooKeeper leader node in a multi-datacenter environment.
ZK_HOSTS="$IP2"

# Specify Cassandra information.
# Ensure CASS_HOSTS is set to the same value as when you installed Edge.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Default is "Apigee", unless it was changed during Edge install.  
CASS_CLUSTERNAME=Apigee

# Cassandra uname/pword required only if you enabled Cassandra authentication. 
# CASS_USERNAME= 
# CASS_PASSWORD= 

# Specify the region. 
# Default is dc-1 unless you are in a multi-datacenter environment. 
REGION=dc-1 

# If your Edge config file did not specify SMTP information, add it. 
# Monetization requires an SMTP server. 
SMTPHOST=smtp.gmail.com 
SMTPPORT=465 
SMTPUSER=your@email.com 
SMTPPASSWORD=yourEmailPassword 
SMTPSSL=y
Note:
  • Se il file di configurazione Edge non specifica le informazioni SMTP, aggiungilo. La monetizzazione richiede un server SMTP.
  • In una singola installazione di data center, tutti i nodi ZooKeeper sono configurati come leader per impostazione predefinita. Quando installi Edge su più data center, alcuni nodi ZooKeeper verranno configurati come osservatori. Assicurati che la proprietà ZK_HOSTS riportata sopra specifichi un nodo leader in un'installazione con più data center.
  • Se attivi l'autenticazione Cassandra, puoi passare il nome utente e la password Cassandra utilizzando le seguenti proprietà:
    CASS_USERNAME
    CASS_PASSWORD

Integra i servizi di monetizzazione con tutti i server di gestione

Utilizza la procedura seguente per integrare la monetizzazione sui nodi del server di gestione.

  1. Se stai installando la monetizzazione su una topologia perimetrale che utilizza più nodi del server di gestione, ad esempio un'installazione a 13 nodi, assicurati di aver installato entrambi i nodi del server di gestione prima di installare la monetizzazione.
  2. Sul nodo del server di gestione, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'opzione "-p mo" specifica di integrare la monetizzazione.

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".
  3. Se stai installando la monetizzazione su più nodi del server di gestione, ripeti il passaggio 2 sul secondo nodo del server di gestione.

Una volta completata la configurazione, nel database PostgreSQL viene creato uno schema RDBMS per Monetization Services. Questa operazione completa l'integrazione dei Servizi di monetizzazione e dei relativi componenti associati con il server Postgres.

Integra i servizi di monetizzazione con tutti i processori di messaggi

Utilizza la procedura seguente per integrare la monetizzazione su tutti i nodi dell'elaborazione dei messaggi.

  1. Sul primo nodo del processore di messaggi, nel prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'opzione "-p mo" specifica di integrare la monetizzazione.

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".
  2. Ripeti questa procedura su tutti i nodi del processore di messaggi.

Una volta completata la configurazione, il Responsabile del trattamento dei messaggi viene aggiornato con i Servizi di monetizzazione. Questa completa l'integrazione dei Servizi di monetizzazione e dei relativi componenti associati con i Responsabili dei messaggi.

Onboarding della monetizzazione

Per creare una nuova organizzazione con la monetizzazione abilitata, devi prima crearla come per qualsiasi nuova organizzazione. Per ulteriori informazioni, vedi Eseguire l'onboarding di un'organizzazione.

Onboarding aggiuntivo per abilitare la monetizzazione per un'organizzazione

Per completare l'onboarding per la monetizzazione di un'organizzazione, devi:

  1. Crea il gruppo di monetizzazione mxgroup.
  2. Aggiungi Qpid al gruppo.
  3. Abilita la monetizzazione per l'organizzazione.
  4. Attiva le impostazioni di notifica per l'organizzazione.
  5. Ripeti questa procedura per tutte le organizzazioni per cui vuoi attivare la monetizzazione.

Utilizza il comando enable-monetization per eseguire tutte queste attività. Questo script utilizza un file di configurazione contenente le seguenti proprietà:

MSIP=IPorDNSofManagementServer
APIGEE_PORT_HTTP_MS=8080    # Default is 8080.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
# Space-separated list IP/DNS names of all Qpid nodes in the data center being configured.
QPID_HOST="$IP6 $IP7"    
QPID_PORT=8083     # Default is 8083.
REGION=dc-1
ORG_NAME=myorg    # The Edge org where you want to enable monetization. 
MX_GROUP=mxgroup    # Default Monetization group.

Note

  • Imposta CASS_HOSTS e REGION sugli stessi valori utilizzati durante l'installazione della funzionalità Monetizzazione.
  • Se attivi la monetizzazione in una configurazione con più data center:
    • Devi ripetere il processo di onboarding sul server di gestione in ogni data center.
    • Il file di configurazione deve elencare solo i nodi Qpid nel data center in fase di configurazione.

Per eseguire lo script:

  1. Richiama lo script:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enabled-monetization -f configFile

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".

    Se hai più server di gestione, devi eseguire questo script solo su uno.

    Questo script replica l'organizzazione, i prodotti, gli sviluppatori e le applicazioni dal database Cassandra al database PostgreSQL di monetizzazione. Una volta completata l'installazione dei Servizi di monetizzazione, i dati vengono sincronizzati automaticamente.
  2. Ripeti questa procedura per ogni organizzazione per cui vuoi abilitare la monetizzazione.
  3. Se ti trovi in un ambiente con più data center, ripeti questa procedura sul server di gestione nell'altro data center. Assicurati che il file di configurazione elenchi solo i nodi Qpid nel data center in fase di configurazione.

La volta successiva che eseguirai l'accesso alla UI di Edge, vedrai la voce Monetizzazione nel menu di primo livello dell'organizzazione:

Configura il portale Servizi per gli sviluppatori

Per configurare il portale Servizi per gli sviluppatori in modo che supporti la monetizzazione, consulta http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Aggiunta di un nodo del server di gestione a un'installazione per la monetizzazione

Se aggiungi un server di gestione a un'installazione Edge esistente, devi assicurarti di aggiungere i servizi di monetizzazione al nuovo server di gestione e configurare tutti i server di gestione in modo che possano comunicare.

Per aggiungere un server di gestione:

  1. Installa il nuovo server di gestione.
  2. Installa Monetizzazione sul nuovo server di gestione.
  3. Sul server di gestione originale, chiama:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Riavvia il server di gestione originale:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server reboot
  5. Sul nuovo server di gestione, chiama:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Riavvia il nuovo server di gestione:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server reboot

Configurazione aggiuntiva

Fornisci i documenti di fatturazione come file PDF

La monetizzazione mostra agli utenti finali i documenti di fatturazione in formato HTML. Per fornire i documenti di fatturazione come file PDF, puoi integrare la monetizzazione con un sistema di fatturazione che fornisce la generazione di PDF o la licenza di una libreria PDF di terze parti supportata.

Configura le impostazioni dell'organizzazione

Impostazioni di backend: la tabella seguente elenca gli attributi a livello di organizzazione disponibili per configurare un'organizzazione mint. Puoi utilizzare una chiamata PUT per aggiungere/aggiornare questi attributi, come mostrato di seguito:

> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

Ad esempio, l'output del comando CURL riportato sopra sarà simile al seguente:

{
...
    "displayName": "Orgnization name",
    "name": "org4",
    "properties": {
        "property": [
...
            {
                "name": "MINT_CURRENCY",
                "value": "USD"
            },
            {
                "name": "MINT_COUNTRY",
                "value": "US"
            },
            {
                "name": "MINT_TIMEZONE",
                "value": "GMT"
            }
        ]
    }
}

Attributi

Descrizione

MINT_TAX_MODEL

I valori accettati sono DISCLOSED,

NON DIVISO, IBRIDO (il valore predefinito è null)

MINT_CURRENCY

Codice valuta ISO (il valore predefinito è null)

MINT_TAX_NEXUS

Necessità di imposte (valore predefinito: null)

MINT_DEFAULT_PROD_TAX_CATEGORY

Categoria fiscale del prodotto predefinita (il valore predefinito è null)

MINT_IS_GROUP_ORG

Organizzazione del gruppo IS (il valore predefinito è false)

MINT_HAS_BROKER

Non funzionante (il valore predefinito è false)

MINT_TIMEZONE

Fuso orario (il valore predefinito è null)

MINT_TAX_ENGINE_EXTERNAL_ID

ID motore imposte (il valore predefinito è null)

MINT_COUNTRY

Paese dell'organizzazione (il valore predefinito è null)

MINT_REG_NO

Il numero di registrazione dell'organizzazione, nel Regno Unito, indica un numero diverso dall'ID fiscale (il valore predefinito è null)

MINT_BILLING_CYCLE_TYPE

PRORATED, CALENDAR_MONTH (il valore predefinito è CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/POSTPAID/BOTH (il valore predefinito è PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

Indica se deve essere generata una fattura tariffa separata (l'impostazione predefinita è false)

MINT_ISSUE_NETTING_STMT

Indica se deve essere emessa una dichiarazione di compensazione (l'impostazione predefinita è false)

MINT_NETTING_STMT_PER_CURRENCY

Indica se è necessario generare un'istruzione di compensazione in base alla valuta (il valore predefinito è false)

MINT_HAS_SELF_BILLING

Indica se l'organizzazione utilizza l'autofatturazione (il valore predefinito è false)

MINT_SELF_BILLING_FOR_ALL_DEV

Indica se l'organizzazione dispone della fatturazione autonoma per tutti gli sviluppatori(il valore predefinito è false)

MINT_HAS_SEPARATE_INV_FOR_PROD

Indica se l'organizzazione ha una fattura separata per prodotto (il valore predefinito è false)

MINT_HAS_BILLING_ADJUSTMENT

Indica se l'organizzazione supporta gli aggiustamenti di fatturazione (l'impostazione predefinita è false)

features.isMonetizationEnabled

Utilizzato dall'interfaccia utente di gestione per visualizzare il menu specifico della monetizzazione (il valore predefinito è false)

ui.config.isOperator

Utilizzato dall'interfaccia utente di gestione per visualizzare il provider come Operatore anziché Organizzazione

(il valore predefinito è true)

Per configurare le impostazioni dell'organizzazione aziendale utilizzando l'interfaccia utente di gestione, visita la pagina http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

Nota: se utilizzi le funzionalità relative ai limiti e alle notifiche dei servizi di monetizzazione, chiedi ai tuoi sviluppatori di allegare una norma sui limiti nel flusso proxy dopo le norme di convalida dei token di accesso.

Il criterio sui limiti è un criterio esplicito progettato per bloccare una chiamata API se è stato raggiunto un determinato limite. Il criterio controlla i limiti di business e genera un errore in caso di limiti che superano il valore configurato. Si tratta di un'estensione del criterio di generazione degli errori, ma le condizioni sono derivate dalle variabili aziendali.

Nell'interfaccia utente di gestione è disponibile un modello di UI per gli sviluppatori proxy. Lo sviluppatore proxy deve allegare il criterio mint nel flusso di messaggi. Dopo l'esecuzione di questo criterio, l'errore verrà segnalato con la risposta di errore secondo il criterio. Se ContinueOnError è impostato su true, l'errore non viene generato e vengono impostate le variabili di flusso "mint.limitsViolated", "mint.isDeveloper fuso" e "mint.limitsPolicyError" che possono essere utilizzate per un'ulteriore gestione delle eccezioni, se necessario.