Installer les services de monétisation

Edge for Private Cloud v. 4.16.09

Les services de monétisation sont une extension d'Apigee Edge. Ils ne s'exécutent donc pas en tant que processus autonome. Il s'exécute dans n'importe quelle configuration Apigee Edge existante.

Conditions de monétisation

  • Si vous installez la monétisation sur une topologie Edge qui utilise plusieurs nœuds du serveur de gestion, par exemple une installation à 13 nœuds, vous devez installer les deux nœuds du serveur de gestion Edge avant d'installer la monétisation.
  • Pour installer Monetization sur Edge lorsque l'installation d'Edge comporte plusieurs nœuds Postgres, les nœuds Postgres doivent être configurés en mode maître/secours. Vous ne pouvez pas installer la monétisation sur Edge si vous disposez de plusieurs nœuds maîtres Postgres. Pour en savoir plus, consultez Configurer la réplication maître-serveur de secours pour Postgres.

Présentation de l'installation

Les étapes suivantes illustrent comment ajouter des services de monétisation sur une installation Apigee Edge existante :

  • Utilisez l'utilitaire apigee-setup pour mettre à jour le nœud du serveur de gestion Apigee afin d'activer les services de monétisation, par exemple la gestion du catalogue, la configuration des limites et des notifications, la facturation et les rapports.

    Si vous disposez de plusieurs nœuds de serveur de gestion, par exemple une installation à 13 nœuds, vous devez installer les deux nœuds de serveur de gestion Edge avant d'installer la monétisation.
  • Utilisez l'utilitaire apigee-setup pour mettre à jour le processeur de messages Apigee afin d'activer les composants d'exécution des services de monétisation, par exemple la règle d'enregistrement des transactions et l'application des limites. Si vous disposez de plusieurs processeurs de messages, installez la monétisation sur chacun d'eux.
  • Effectuez le processus d'intégration de la monétisation pour vos organisations Edge.
  • Configurez le portail des services pour les développeurs afin de prendre en charge la monétisation. Pour en savoir plus, consultez http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Créer un fichier de configuration silencieux pour la monétisation

Vous trouverez ci-dessous un exemple de fichier de configuration silencieuse pour une installation de Monetization. Modifiez ce fichier si nécessaire pour votre configuration. Utilisez l'option -f de setup.sh pour inclure ce fichier.

Remarque : En règle générale, vous ajoutez ces propriétés au même fichier de configuration que celui utilisé pour installer Edge, comme indiqué dans la section Installer des composants Edge sur un nœud.

# 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
Remarques :
  • Si votre fichier de configuration Edge ne spécifie pas d'informations SMTP, ajoutez-les. La monétisation nécessite un serveur SMTP.
  • Dans une installation de centre de données unique, tous les nœuds ZooKeeper sont configurés par défaut en tant que leaders. Lorsque vous installez Edge sur plusieurs centres de données, certains nœuds ZooKeeper sont configurés en tant qu'observateurs. Assurez-vous que la propriété ZK_HOSTS ci-dessus spécifie un nœud leader dans une installation de plusieurs centres de données.
  • Si vous activez l'authentification Cassandra, vous pouvez transmettre le nom d'utilisateur et le mot de passe Cassandra à l'aide des propriétés suivantes :
    CASS_USERNAME
    CASS_PASSWORD

Intégrer les services de monétisation à tous les serveurs de gestion

Suivez la procédure ci-dessous pour intégrer la monétisation sur les nœuds du serveur de gestion.

  1. Si vous installez la monétisation sur une topologie Edge qui utilise plusieurs nœuds de serveur de gestion, par exemple une installation à 13 nœuds, assurez-vous d'avoir installé les deux nœuds de serveur de gestion avant d'installer la monétisation.
  2. Sur le nœud du serveur de gestion, exécutez le script de configuration :
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'option "-p mo" spécifie l'intégration de la monétisation.

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".
  3. Si vous installez la monétisation sur plusieurs nœuds du serveur de gestion, répétez l'étape 2 sur le deuxième nœud du serveur de gestion.

Une fois la configuration réussie, un schéma SGBDR pour les services de monétisation est créé dans la base de données PostgreSQL. L'intégration des services de monétisation et de ses composants associés au serveur Postgres est maintenant terminée.

Intégrer les services de monétisation à tous les processeurs de messages

Suivez la procédure ci-dessous pour intégrer la monétisation sur tous les nœuds du processeur de messages.

  1. Sur le premier nœud du processeur de messages, à l'invite de commande, exécutez le script de configuration :
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'option "-p mo" spécifie l'intégration de la monétisation.

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".
  2. Répétez cette procédure sur tous les nœuds du processeur de messages.

Une fois la configuration réussie, le processeur de messages est mis à jour avec les services de monétisation. L'intégration des services de monétisation et de leurs composants associés aux processeurs de messages est ainsi terminée.

Intégration à la monétisation

Pour créer une organisation avec la monétisation activée, vous devez d'abord créer l'organisation comme vous le feriez pour n'importe quelle nouvelle organisation. Pour en savoir plus, consultez Intégrer une organisation.

Intégration supplémentaire pour activer la monétisation pour une organisation

Pour terminer l'intégration de la monétisation d'une organisation, vous devez :

  1. Créez le groupe de monétisation mxgroup.
  2. Ajoutez Qpid au groupe.
  3. Activez la monétisation pour l'organisation.
  4. Activez les paramètres de notification pour l'organisation.
  5. Répétez ce processus pour toutes les organisations dans lesquelles vous souhaitez activer la monétisation.

Utilisez la commande enable-monetization pour effectuer toutes ces tâches. Ce script utilise un fichier de configuration contenant les propriétés suivantes :

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.

Remarques :

  • Définissez CASS_HOSTS et REGION sur les mêmes valeurs que celles que vous avez utilisées lors de l'installation de Monetization.
  • Si vous activez la monétisation dans une configuration de plusieurs centres de données :
    • Vous devez répéter le processus d'intégration sur le serveur de gestion de chaque centre de données.
    • Le fichier de configuration ne doit lister que les nœuds Qpid du centre de données en cours de configuration.

Pour exécuter le script, procédez comme suit :

  1. Appelez le script :
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".

    Si vous disposez de plusieurs serveurs de gestion, vous ne devez exécuter ce script que sur l'un d'entre eux.

    Ce script réplique l'organisation, les produits, les développeurs et les applications de la base de données Cassandra vers la base de données PostgreSQL de monétisation. Une fois les services de monétisation installés, les données sont synchronisées automatiquement.
  2. Répétez cette procédure pour chaque organisation dans laquelle vous souhaitez activer la monétisation.
  3. Si vous vous trouvez dans un environnement de centre de données multiple, répétez ce processus sur le serveur de gestion de l'autre centre de données. Assurez-vous que le fichier de configuration ne répertorie que les nœuds Qpid du centre de données en cours de configuration.

Lors de votre prochaine connexion à l'interface utilisateur Edge, l'entrée "Monétisation" s'affiche dans le menu de niveau supérieur de l'organisation :

Configurer le portail des services pour les développeurs

Pour configurer le portail des services de développement afin qu'il soit compatible avec la monétisation, consultez http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Ajouter un nœud de serveur de gestion à une installation de monétisation

Si vous ajoutez un serveur de gestion à une installation Edge existante, vous devez vous assurer d'ajouter les services de monétisation au nouveau serveur de gestion et de configurer tous les serveurs de gestion afin qu'ils puissent communiquer.

Pour ajouter un serveur de gestion :

  1. Installez le nouveau serveur de gestion.
  2. Installez la monétisation sur le nouveau serveur de gestion.
  3. Sur le serveur de gestion d'origine, appelez la commande suivante :
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Redémarrez le serveur de gestion d'origine :
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. Sur le nouveau serveur de gestion, appelez la commande suivante :
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Redémarrez le nouveau serveur de gestion :
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Configuration supplémentaire

Fournir des documents de facturation au format PDF

La monétisation affiche les documents de facturation aux utilisateurs finaux au format HTML. Pour fournir des documents de facturation sous forme de fichiers PDF, vous pouvez intégrer la monétisation à un système de facturation qui permet de générer des PDF ou d'obtenir une licence pour une bibliothèque PDF tierce compatible.

Configurer les paramètres de l'organisation

Paramètres du backend : le tableau suivant liste les attributs au niveau de l'organisation qui sont disponibles pour configurer une organisation Mint. Vous pouvez utiliser un appel PUT pour ajouter/mettre à jour ces attributs, comme indiqué ci-dessous :

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

Par exemple, le résultat de la commande CURL ci-dessus ressemblera à ceci :

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

Attributs

Description

MINT_TAX_MODEL

Les valeurs acceptées sont DISCLOSED,

UNDISCLOSED, HYBRID (la valeur par défaut est "null")

MINT_CURRENCY

Code de la devise ISO (par défaut : null)

MINT_TAX_NEXUS

Nexus fiscal (la valeur par défaut est "null")

MINT_DEFAULT_PROD_TAX_CATEGORY

Catégorie de taxe par défaut du produit (la valeur par défaut est "null")

MINT_IS_GROUP_ORG

Organisation du groupe IS (la valeur par défaut est "false")

MINT_HAS_BROKER

Has broken (la valeur par défaut est "false")

MINT_TIMEZONE

Fuseau horaire (par défaut : null)

MINT_TAX_ENGINE_EXTERNAL_ID

ID du moteur de calcul des taxes (par défaut, null)

MINT_COUNTRY

Pays de l'organisation (valeur par défaut : null)

MINT_REG_NO

Numéro d'enregistrement de l'organisation (le Royaume-Uni fournit un numéro différent du numéro d'identification fiscale, la valeur par défaut est "null")

MINT_BILLING_CYCLE_TYPE

PRORATED, CALENDAR_MONTH (par défaut : CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/POSTPAID/BOTH (valeur par défaut : PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

Indique si une facture de frais distincte doit être générée (valeur par défaut : "false").

MINT_ISSUE_NETTING_STMT

Indique si un relevé de compensation doit être émis (la valeur par défaut est "false").

MINT_NETTING_STMT_PER_CURRENCY

Indique si le relevé de compensation doit être généré par devise (la valeur par défaut est "false").

MINT_HAS_SELF_BILLING

Indique si l'organisation utilise l'autofacturation (la valeur par défaut est "false").

MINT_SELF_BILLING_FOR_ALL_DEV

Indique si l'organisation dispose de l'autofacturation pour tous les développeurs(la valeur par défaut est "false").

MINT_HAS_SEPARATE_INV_FOR_PROD

Indique si l'organisation dispose d'une facture distincte par produit (la valeur par défaut est "false").

MINT_HAS_BILLING_ADJUSTMENT

Indique si l'organisation accepte les ajustements de facturation (la valeur par défaut est "false").

features.isMonetizationEnabled

Utilisé par l'UI de gestion pour afficher le menu spécifique à la monétisation (la valeur par défaut est "false")

ui.config.isOperator

Utilisé par l'UI de gestion pour afficher le fournisseur en tant qu'opérateur ou organisation

(la valeur par défaut est "true")

Pour configurer les paramètres d'une organisation commerciale à l'aide de l'interface utilisateur de gestion, consultez http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

Remarque : Si vous utilisez les fonctionnalités de limites et de notifications des services de monétisation, demandez à vos développeurs d'associer une règle de limite dans le flux du proxy après la règle de validation du jeton d'accès.

La règle de limite est une règle explicite conçue pour bloquer un appel d'API si une certaine limite a été atteinte. La règle vérifie les limites de l'entreprise et génère une erreur si des limites dépassent la valeur configurée. Il s'agit d'une extension de la règle RaiseFault, mais les conditions sont dérivées de variables métier.

Un modèle d'UI est disponible dans l'UI de gestion pour les développeurs de proxys. Le développeur de proxy doit associer la règle Mint au flux de messages. Lors de l'exécution de cette règle, l'erreur sera générée avec la réponse d'erreur conformément à la règle. Si ContinueOnError est défini sur "true", l'erreur ne sera pas générée et les variables de flux "mint.limitsViolated", "mint.isDeveloperSuspended" et "mint.limitsPolicyError" seront définies, ce qui pourrait être utilisé pour une gestion ultérieure des exceptions si nécessaire.