上一主题: WS_API-Web 服务 API 应用

下一主题: 系统应用


WS_API_SAMPLE-Web 服务 API 示例应用

最新版本:1.0.3-1

只有 CA AppLogic 2.9 正式版及后续版本才提供 Web 服务 API。

WS_API_SAMPLE 应用提供如何生成简单门户应用(此应用访问 CA AppLogic Web 服务 API 应用,即 WS_API)的示例。 此应用用于为门户和应用的开发者提供指南,所述门户和应用向 CA AppLogic 网格上运行的 WS_API 应用实例发出 Web API 请求。

CA AppLogic Web 服务“WS_API_SAMPLE”应用边界属性

属性名

类型

说明

in_usr_ip

IP

这是用户可访问 WS_API_SAMPLE 门户的 IP 地址。 此属性是强制性属性。

net_out_ip

IP

这是 WS_API_SAMPLE 应用向 WS_API 应用发出基于 HTTP 或 HTTPS 的请求所使用的 IP 地址。 此属性是强制性属性。

vpn_out_ip

IP

这是 WS_API_SAMPLE 应用通过安全 VPN 通道向 WS_API 应用发出基于 HTTP 的请求所使用的 IP 地址。 此属性是强制性属性。

网络掩码

IP

vpn_out_ip、in_usr_ip 和 net_out_ip 所在网络的网络掩码。 此属性是强制性属性。

网关

IP

用于路由流量的 IP 网关的地址。 必须指定此属性才能访问 WS_API 应用。 此属性是强制性属性。

dns1

IP

用于主机名解析的 DNS 服务器的 IP 地址。 此属性是强制性属性。

dns2

IP

用于主机名解析的备份 DNS 服务器的 IP 地址。 默认值:0.0.0.0。

api_ports

字符串

可以访问 WS_API_SAMPLE 应用的端口的逗号分隔列表。 默认值:空

allowed_hosts

字符串

允许访问 WS_API_SAMPLE 的 CIDR 格式的 IP 地址或 IP 地址范围。 默认值:0.0.0.0/0;(允许全部)

重要信息! vpn_out_ip、in_usr_ip 和 net_out_ip 属性中配置的 IP 地址必须是您的 CA AppLogic 网格上可使用的 IP 地址。 您可能会在您的网格显示板上发现这些地址以及网络掩码、网关和 DNS 服务器。 我们正在努力使 CA AppLogic 能自动提供这些地址。

应用资源

资源

最小值

最大值

默认值

CPU

0.45

72

1.05

内存

704 MB

132 GB

1.343 GB

带宽

6 Mbps

12 Gbps

1.151 Gbps

应用卷

BackupHelper 应用包括以下卷:

说明

目录

文件系统包含脚本、日志和 Web 界面。 不应修改此卷。

实施详细信息
应用体系结构

BackupHelper 包含以下组件:

概览

需要对 WS_API_SAMPLE 应用进行配置,以访问运行在 CA AppLogic 网格上的 WS_API 的实例。 在启动此应用之前,按如下说明启动 WS_API 应用的实例。 然后根据 WS_API 应用实例中设置的属性对 WS_API_SAMPLE 进行配置。

配置 WS_API_SAMPLE

  1. 编辑位于应用门户卷 bin 子目录中的门户脚本,并将脚本中的 IP 变量设置为:
  2. 将 IP 变量设置为 usr_ip,向 WS_API 应用发送基于 HTTP 或 HTTP 的请求,或将其设置为 aux,通过 VPN 通道发送基于 HTTP 的请求
  3. 编辑 VDC 信息,使其匹配 WS_API 应用上的 vdcs.conf。 E.g -
    # 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>
    上面的内容应改为在 WS_API 应用中配置的 VDC。 如果 mygrid1 和 mygrid2 是分别在 Dallas 和 San Diego 运行的两个 VDC,则以上 HTML 代码应改为: 
    # 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>
    

WS_API_SAMPLE 可配置为使其以下模式之一运行:

使用 HTTP

在此模式下,门户使用基于常规 HTTP 的接口向 WS_API 应用实例发送 API 请求。
例如,curl "http://usr_ip/api/v1/app/list?vdc=mygrid1"。

使用 HTTPS

在此模式下,门户使用基于安全 HTTP 的接口,即 HTTPS,向 WS_API 应用实例发出 API 请求。 要使用它,应将 api_client.pem 密钥复制到 WS_API_SAMPLE 应用门户卷的密钥子目录中。
例如,curl -k -E /mnt/fs/keys/api_client.pem "https://usr_ip/api/v1/app/list?vdc=mygrid1"。

使用 VPN 通道

在此模式下,门户使用基于常规 HTTP 的接口通过安全 VPN 通道向 WS_API 应用实例发送 API 请求。 要创建隧道,仅需要将 WS_API 应用实例 vpn_key 卷的 server 子目录中生成的 client.xxxxxxxxxxxxxxxxxxxxxxxxx.key, client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.crt 和 ca.crt 文件复制到 WS_API_SAMPLE 应用实例 vpn_key 卷的 client 子目录中。 一旦启动 out_vpn 组件就会创建安全通道。
例如,curl "http://aux/api/v1/app/list?vdc=mygrid1"。

要通过 Web 浏览器访问门户,将浏览器指向 http://in_usr_ip/api/portal

应用体系结构

CA AppLogic Web 服务“WS_API_SAMPLE”应用基础架构显示如下:

它包含以下组件:

API 示例应用包

说明

使用的开源软件和第三方软件

下面的第三方开源软件已安装在门户卷上。

软件

版本

已修改

许可

说明

JSON

2.15

No

Artistic

N/A

IPC-Run

0.82

No

GPLv2

N/A

XML-Simple

1.40

No

Artistic

N/A

Sort-Naturally

1.02

No

Artistic

N/A