Vorheriges Thema: WS_API – Webservices-API-Anwendung

Nächstes Thema: Systemanwendungen


WS_API_SAMPLE – Webservices-API-Beispielanwendung

Aktuelle Version: 1.0.3-1

Die Webdienst-API ist nur verfügbar in CA AppLogic 2.9 Production Release und späteren Versionen.

In der WS_API_SAMPLE-Anwendung wird anhand eines Beispiels gezeigt, wie Sie eine einfache Portalanwendung erstellen, die auf die CA AppLogic-Webdienst-API-Anwendung (WS_API) zugreift. Diese Anwendung unterstützt Portal- und Anwendungsentwickler, die Web-API-Anfragen an eine Instanz der WS_API-Anwendung ausgeben, die in einem CA AppLogic-Grid ausgeführt wird.

CA AppLogic – Eigenschaften der Webservices-"WS_API_SAMPLE"-Anwendungsbegrenzung

Eigenschaftsname

Typ

Beschreibung

in_usr_ip

IP

Dies ist die IP-Adresse, an der Benutzer auf das WS_API_SAMPLE-Portal zugreifen können. Diese Eigenschaft ist obligatorisch.

net_out_ip

IP

Dies ist die IP-Adresse, die von der WS_API_SAMPLE-Anwendung verwendet wird, um HTTP- oder HTTPS-basierte Anfragen an die WS_API-Anwendung auszugeben. Diese Eigenschaft ist obligatorisch.

vpn_out_ip

IP

Dies ist die IP-Adresse, die von der WS_API_SAMPLE-Anwendung verwendet wird, um HTTP--basierte Anfragen über einen sicheren VPN-Tunnel an die WS_API-Anwendung auszugeben. Diese Eigenschaft ist obligatorisch.

netmask

IP

Netzwerkmaske für das Netzwerk, in dem sich "vpn_out_ip", "in_usr_ip" und "net_out_ip" befinden. Diese Eigenschaft ist obligatorisch.

gateway

IP

Adresse des IP-Gateways zur Weiterleitung von Datenverkehr. Diese Eigenschaft muss angegeben werden, um auf die WS_API-Anwendung zugreifen zu können. Diese Eigenschaft ist obligatorisch.

dns1

IP

IP-Adresse eines DNS-Servers für Hostnamenauflösungen. Diese Eigenschaft ist obligatorisch.

dns2

IP

IP-Adresse eines DNS-Backupservers für Hostnamenauflösungen. Standard: 0.0.0.0.

api_ports

Zeichenfolge

Durch Kommas getrennte Liste der Ports, an denen auf die WS_API_SAMPLE-Anwendung zugegriffen werden kann. Standard: leer

allowed_hosts

Zeichenfolge

Zulässige IP-Adresse oder Bereich von IP-Adressen im CIDR-Format, die auf WS_API_SAMPLE zugreifen können. Standard: 0.0.0.0/0; (alle zulassen)

Wichtig! Die in den Eigenschaften "vpn_out_ip", "in_usr_ip" und "net_out_ip" konfigurierten IP-Adressen müssen in Ihrem CA AppLogic-Grid verfügbar sein. Sie finden sie zusammen mit der Netzmaske, dem Gateway und den DNS-Servern auf dem Dashboard Ihres Grids. Zukünftig soll CA AppLogic diese Adressen automatisch bereitstellen.

Anwendungsressourcen

Ressourcen

Min.

Max.

Standard

CPU

0.45

72

1.05

Speicher

704 MB

132 GB

1,343 GB

Bandbreite

6 Mbit/s

12 Gbit/s

1,151 Gbit/s

Anwendungs-Volumes

Die BackupHelper-Anwendung verwendet das folgende Volume:

Volume

Beschreibung

content

Dateisystem, das Skripte, Protokolle und die Webschnittstelle enthält. Dieses Volume sollte nicht geändert werden.

Details zur Implementierung
Anwendungsarchitektur

BackupHelper umfasst die folgenden Komponenten:

Übersicht

Die WS_API_SAMPLE-Anwendung muss so konfiguriert werden, dass sie auf die Instanz von WS_API zugreift, die in einem CA AppLogic-Grid ausgeführt wird. Starten Sie vor dem Aufruf dieser Anwendung eine Instanz der WS_API-Anwendung, wie im Folgenden erläutert. Die WS_API_SAMPLE-Anwendung kann anschließend unter Berücksichtigung der Eigenschaften konfiguriert werden, die in der Instanz der WS_API-Anwendung festgelegt wurden.

So konfigurieren Sie WS_API_SAMPLE

  1. Bearbeiten Sie das Portalskript im Unterverzeichnis "bin" des Portal-Volumes der Anwendung, und legen Sie für die IP-Variable in dem Skript Folgendes fest:
  2. Legen Sie die IP-Variable "usr_ip" fest, um HTTP- oder HTTPS-basierte Anfragen an die WS_API-Anwendung auszugeben. Legen Sie sie auf "aux" fest, um HTTP-basierte Anfragen über einen VPN-Tunnel auszugeben.
  3. Bearbeiten Sie die VDC-Informationen, sodass diese mit der Datei "vdcs.conf" in der WS_API-Anwendung übereinstimmen. Beispiel:
    # 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>
    Durch obigen Code wechseln Sie zu VDCs, die in der WS_API-Anwendung konfiguriert sind. Wenn "mygrid1" und "mygrid2" zwei VDCs sind, die in Dallas und San Diego ausgeführt werden, muss der obige HTML-Code wie folgt geändert werden: 
    # 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>
    

Die WS_API_SAMPLE-Anwendung kann für die Ausführung in einem der folgenden Modi konfiguriert werden:

HTTP verwenden

In diesem Modus verwendet das Portal eine reguläre HTTP-basierte Schnittstelle, um API-Anfragen an die Instanz der WS_API-Anwendung auszugeben.
Beispiel: curl "http://usr_ip/api/v1/app/list?vdc=mygrid1".

HTTPS verwenden

In diesem Modus verwendet das Portal eine sichere HTTP-basierte Schnittstelle (HTTPS), um API-Anfragen an die Instanz der WS_API-Anwendung auszugeben. Um dies zu ermöglichen, muss der Schlüssel "api_client.pem" in das Unterverzeichnis "keys" auf dem Portal-Volume der WS_API_SAMPLE-Anwendung kopiert werden.
Beispiel: curl -k -E /mnt/fs/keys/api_client.pem "https://usr_ip/api/v1/app/list?vdc=mygrid1".

Verwenden eines VPN-Tunnels

In diesem Modus verwendet das Portal eine reguläre HTTP-basierte Schnittstelle, um API-Anfragen an die Instanz der WS_API-Anwendung über einen sicheren VPN-Tunnel auszugeben. Um den Tunnel zu erstellen, kopieren Sie die Dateien "client.xxxxxxxxxxxxxxxxxxxxxxxxx.key", "client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.crt" und "ca.crt", die im Unterverzeichnis "server" des vpn_key-Volumes in der Instanz der WS_API-Anwendung generiert wurden, in das Unterverzeichnis "client" auf dem vpn_key-Volume der WS_API_SAMPLE-Anwendung. Ein sicherer Tunnel wird erstellt, sobald die out_vpn-Komponente gestartet wird.
Beispiel: curl "http://aux/api/v1/app/list?vdc=mygrid1".

Um in einem Webbrowser auf das Portal zuzugreifen, wechseln Sie in dem Browser zu http://in_usr_ip/api/portal.

Anwendungsarchitektur

Die WS_API_SAMPLE-Anwendungsinfrastruktur der CA AppLogic-Webdienste ist nachfolgend dargestellt:

Es umfasst die folgenden Komponenten:

API-Beispielanwendungssuite

Hinweise

Verwendete Open-Source- und Drittanbieter-Software

Auf dem Portal-Volume wird die folgende Open-Source- bzw. Drittanbieter-Software installiert.

Software

Version

Geändert

Lizenz

Hinweise

JSON

2.15

Nein

Artistic

N/A

IPC-Run

0.82

Nein

GPLv2

N/A

XML-Simple

1.40

Nein

Artistic

N/A

Sort-Naturally

1.02

Nein

Artistic

N/A