Rubrique précédente: WS_API : application API de services Web

Rubrique suivante: Applications système

WS_API_SAMPLE : exemple d'application API de services Web

Dernière version : 1.0.1-1

L'API de services Web est uniquement disponible dans la version de production 2.9 de CA 3Tera AppLogic et les versions ultérieures.

L'application WS_API_SAMPLE fournit un exemple de procédure pour la création d'une application de portail simple qui accède à l'application API de services Web de CA 3Tera AppLogic, c'est-à-dire WS_API. Cette application est fournie pour guider les développeurs de portails et d'applications qui envoient des requêtes API Web à une instance de l'application WS_API en cours d'exécution sur une grille CA 3Tera AppLogic.

Propriétés du périmètre de l'application "WS_API_SAMPLE" des services Web de CA 3Tera AppLogic

Nom de propriété

Type

Description

in_usr_ip

IP

Il s'agit de l'adresse IP à laquelle un utilisateur peut accéder au portail WS_API_SAMPLE. Cette propriété est obligatoire.

net_out_ip

IP

Il s'agit de l'adresse IP utilisée par l'application WS_API_SAMPLE pour envoyer des requêtes HTTP ou HTTPS à l'application WS_API. Cette propriété est obligatoire.

vpn_out_ip

IP

Il s'agit de l'adresse IP utilisée par l'application WS_API_SAMPLE pour envoyer des requêtes HTTP à l'application WS_API via un tunnel VPN sécurisé. Cette propriété est obligatoire.

netmask

IP

Masque du réseau sur lequel vpn_out_ip, in_usr_ip et net_out_ip résident. Cette propriété est obligatoire.

gateway

IP

Adresse de la passerelle IP à utiliser pour le routage du trafic. Cette propriété doit être spécifiée pour accéder à l'application WS_API. Cette propriété est obligatoire.

dns1

IP

Adresse IP d'un serveur DNS pour les résolutions de nom d'hôte. Cette propriété est obligatoire.

dns2

IP

Adresse IP du serveur DNS secondaire utilisé pour les résolutions de nom d'hôte. Valeur par défaut : 0.0.0.0

api_ports

Chaîne

Liste séparée par des virgules des ports sur lesquels vous pouvez accéder à l'application WS_API_SAMPLE. Valeur par défaut : vide

allowed_hosts

Chaîne

Adresse IP ou plage d'adresses IP au format CIDR autorisées à accéder à WS_API_SAMPLE. Valeur par défaut : 0.0.0.0/0 (toutes autorisées).

Important : Les adresses IP configurées dans les propriétés vpn_out_ip, in_usr_ip et net_out_ip doivent être des adresses IP disponibles sur votre grille CA 3Tera AppLogic. Elles figurent, avec le masque réseau, la passerelle et les serveurs DNS, dans le tableau de bord de votre grille. Des travaux sont en cours pour qu'à l'avenir CA 3Tera AppLogic fournisse ces adresses automatiquement.

Ressources d'application

Ressources

Min.

Max.

Valeur par défaut

UC

0,45

72

1,05

Mémoire

448 Mo

132 Go

1,25 Go

Bande passante

6 Mbit/s

12 Gbit/s

1,51 G

Volumes virtuels d'application

L'application proprement dite utilise plusieurs volumes. Ils font partie de celle-ci et sont déjà configurés dans les instances d'appliance. Aucun volume ne doit être configuré sur le périmètre de l'application.

Volume

Taille

Description

portal

50 M

Ce volume est utilisé pour stocker le code et les scripts de l'application modèle (plus tout ce dont celle-ci a besoin). Ce volume est affecté à l'appliance NAS. Par défaut, un volume rempli nommé "data" est fourni pour utilisation par cette application.

vpn_key

65 M

Ce volume permet de stocker les données de clé VPN de l'application. Les fichiers client.* et ca.crt créés par l'appliance VPN dans une instance d'application WS_API doivent être stockés dans le sous-répertoire client de ce volume.

mon

50 M

Ce volume permet de stocker les données de surveillance de l'application. L'utilisateur ne doit pas accéder ni modifier ce volume ; ce dernier est utilisé en interne par l'appliance MON. Par défaut, un volume nommé "mon" est fourni pour stocker les données de surveillance de l'application.

Fonctionnement

Présentation

L'application WS_API_SAMPLE doit être configurée pour accéder à l'instance de WS_API s'exécutant sur une grille CA 3Tera AppLogic. Avant de lancer cette application, démarrez une instance de l'application WS_API comme expliqué ici. Vous pouvez alors configurer WS_API_SAMPLE concernant des propriétés qui sont définies dans l'instance de l'application WS_API.

Pour configurer WS_API_SAMPLE

  1. Modifiez le script de portail résidant dans le sous-répertoire bin du volume de portail de l'application et définissez la variable IP dans le script sur :
  2. Définissez la variable IP sur usr_ip pour envoyer des requêtes HTTP ou HTTPS à l'application WS_API ou sur aux pour publier des requêtes HTTP via un tunnel VPN.
  3. Modifiez les informations VDC pour qu'elles correspondent à vdcs.conf sur l'application WS_API. Par exemple :
    # EDIT VDC info here
    <p>
    <label for="location">Select Location: </label>
    <select name="location">
    <option value="dallas">Dallas, TX, USA</option>
    <option value="sandiego">San Diego, CA, USA</option>
    <option value="japan">Tokyo, Japan</option>
    <option value="netherlands">Amsterdam, Netherlands</option>
    </select>
    </p>
    L'opération susmentionnée doit modifier les VDC qui sont configurés dans l'application WS_API. Si mygrid1 et mygrid2 sont deux VDC s'exécutant à Dallas et à San Diego respectivement, alors, le code HTML ci-dessus doit être remplacé par : 
    # EDIT VDC info here
    <p>
    <label for="location">Select Location: </label>
    <select name="location">
    <option value="mygrid1">Dallas, TX, USA</option>
    <option value="mygrid2">San Diego, CA, USA</option>
    </select>
    </p>
    

Vous pouvez configurer WS_API_SAMPLE pour travailler dans un des modes suivants :

Utilisation d'HTTP

Dans ce mode, le portail utilise l'interface HTTP standard pour envoyer les requêtes API à l'instance de l'application WS_API.
Par exemple, bouclez "http://usr_ip/api/v1/app/list?vdc=mygrid1".

Utilisation d'HTTPS

Dans ce mode, le portail utilise l'interface HTTP sécurisée, c'est-à-dire HTTPS, pour envoyer les requêtes API à l'instance de l'application WS_API. Pour que cela fonctionne, la clé api_client.pem doit être copiée dans le sous-répertoire de clés sur le volume de portail de l'application WS_API_SAMPLE.
Par exemple, bouclez -k -E /mnt/fs/keys/api_client.pem "https://usr_ip/api/v1/app/list?vdc=mygrid1".

Utilisation d'un tunnel VPN

Dans ce mode, le portail utilise l'interface HTTP standard pour envoyer les requêtes API à l'instance de l'application WS_API via un tunnel VPN sécurisé. Pour créer le tunnel, il vous suffit de copier les éléments client.xxxxxxxxxxxxxxxxxxxxxxxxx.key, client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.crt et ca.crt générés dans le sous-répertoire de serveur du volume vpn_key de l'instance de l'application WS_API vers le sous-répertoire client du volume vpn_key de l'application WS_API_SAMPLE. Un tunnel sécurisé est créé une fois que le composant out_vpn est lancé.
Par exemple, bouclez "http://aux/api/v1/app/list?vdc=mygrid1".

Pour accéder au portail via un navigateur Web, faites pointer le navigateur vers l'adresse http://in_usr_ip/api/portal

Architecture de l'application

L'infrastructure de l'application "WS_API_SAMPLE" des services Web de CA 3Tera AppLogic est illustrée ci-dessous :

Elle contient les composants suivants.

Suite d'exemples d'applications API

Remarques

Open source et logiciels tiers utilisés

Les logiciels tiers Open Source suivants sont installés sur le volume de portail.

Logiciel

Version

Modifié

Licence

Remarques

JSON

2.15

Non

Artistic

N/A

IPC-Run

0.82

Non

GPLv2

N/A

XML-Simple

1.40

Non

Artistic

N/A

Sort-Naturally

1.02

Non

Artistic

N/A