In this document:
An APS application can be deployed in the following environments:
The deployment requires two steps:
An APS application endpoint must be a web server with scripts from the application package. It should comply with the following requirements:
For details on installation of APS application endpoint in the platform, refer to Setting APS Connector.
An application must have a resource based on the APS Application type. The resource is used for installing and managing an application instance. Like other resources, it has own service (root service) exposed on the APS application endpoint. For example, if the base APS application endpoint is https://endpoints.apsdemo.org/app1/ and the root service is cloud, the APS controller will interact with the APS application instance through https://endpoints.apsdemo.org/app1/cloud. Otherwise, the resource is similar to other resources of this application. When using a multitenant application shared for all customers, APS application is usually instantiated only once per application deployment.
The life cycle of the resource is bound to application deployment.
Semantically, operations applied to this resource should be treated by the application as operations for the whole application. Examples of such operations are:
An APS application instance should be created after deployment of the APS application endpoint. During the instance deployment, the APS controller must generate a unique certificate and private key and then send them along with global application configuration properties in the POST request to the root service exposed on the APS application endpoint.
For step-by-step instructions on installing an APS application instance in the platform, refer to Application Instance Installation.
Interaction between the APS controller and an APS application is based on the following security model:
The following example illustrates the POST request sent to an APS application endpoint to install an APS application instance.
Request:
POST /wordpress HTTP/1.0
{
"aps": {
"type": "http://www.odin.com/web/wordpress/1.0",
"id": "80a4b75e-58a7-40e4-a148-dff560e5fa4a",
"x509": {
"self": "-----BEGIN RSA PRIVATE KEY-----\n ... \n-----END CERTIFICATE-----",
"controller": "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----"
},
"package": {
"id": "b6d35786-8a3b-4931-8122-342aa2130320",
"href": "/aps/2/packages/b6d35786-8a3b-4931-8122-342aa2130320"
}
},
"admin_name": "admin",
"admin_email": "admin@example.com",
"title": "The test blog",
"locale": "en",
"environment": {
"aps": {
"link": "strong",
"href": "/aps/2/resources/1203e863-e68f-400c-b06c-f4d15323e160"
}
}
}
Response:
HTTP/1.0 200 OK
Content-Type: application/json; charset=UTF-8