Commit eda6ea88 authored by Robert Gazda's avatar Robert Gazda
Browse files

Update MEC011.md - format and editorial updates.

parent 6b46507f
Loading
Loading
Loading
Loading
+29 −24
Original line number Diff line number Diff line
# MEC011 - Edge Platform Application Enablement
> _New STF599_

MEC011 v2.2.1 is divided in two distinct APIs:
- MEC Application Support API
- MEC Service Management API

The following tables list supported Endpoints for each API.
The following tables list MEC Sandbox supported endpoints for each MEC011 API.

### Service Management API
|Supported | Endpoint |  Notes:   |
@@ -12,7 +14,7 @@ The following tables list supported Endpoints for each API.
| Yes | `/applications/{appInstanceId}/services`   |     |
| Yes | `/applications/{appInstanceId}/subscriptions`   |     |
| Yes | `/transports` | |
| No  | `<dynamic-liveness-uri>` | _- URI is dynamic_ <br> _- Not supported to avoid timeout conflicts while testing with Swagger)_ |
| No  | `<dynamic-liveness-uri>` | _- URI is dynamic_ <br> _- Not supported to avoid timeout conflicts while interacting with the Sandbox with Swagger_ |

### Application Support API
|Supported | Endpoint |  Notes:   |
@@ -20,40 +22,43 @@ The following tables list supported Endpoints for each API.
| Yes | `/applications/{appInstanceId}/subscriptions`   |     |
| Yes | `/applications/{appInstanceId}/confirm_ready`   |     |
| Yes | `/applications/{appInstanceId}/confirm_termination`  |     |
| No  | `/applications/{appInstanceId}/traffic_rules` | _No traffic through platform_ |
| No  | `/applications/{appInstanceId}/dns_rules` | _No DNS support_ |
| Yes | `/timing/timing_caps`   | _No NTP server (mocked data)_  |
| Yes | `/timing/current_time`   |     |
| No  | `/applications/{appInstanceId}/traffic_rules` | _Data traffic is not emulated from terminals in the Sandbox_ |
| No  | `/applications/{appInstanceId}/dns_rules` | _Edge DNS is not support in the Sandbox_ |
| Yes | `/timing/timing_caps`   | _Sandbox does not include a NTP server_  <br> _Data is emulated with timing reference with Monaco local time_  |
| Yes | `/timing/current_time`   | _Monaco local time_  |

_NOTE -- STF599 MEC011 Development Plan is scoped in 3 phases_
1. _Focus on Service Consuming MEC applications_
1. _Focus on Service Providing MEC applications_
1. _Focus on adding the concept of "Scope of Locality_
<br><br>
_API Endpoints presented below will be gradually implemented as required; by Phase 2 all endpoints mentioned below shall be implemented._
1. _Service Consuming MEC applications_
1. _Service Providing MEC applications_
1. _Adding the concept of "Scope of Locality" - multiple MEC hosts emulated within the MEC Sandbox, releaized with MEC011 Mp1_

_API Endpoints presented below will be implemented per the above phases, as required; by phase 2 all endpoints mentioned listed as supported shall be implemented for STF Milestone C._

------
## MEC011 v2.2.1 (published)
References:
* https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.02.01_60/gs_MEC011v020201p.pdf
* https://forge.etsi.org/rep/mec/gs011-app-enablement-api
* https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/master/MecAppSupportApi.yaml
* https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/master/MecServiceMgmtApi.yaml

### Service Management API Endpoints
| Endpoint | Sandbox Usage |Notes |
| ---------- | --------------------- | -------------- |
| `.../services` <br> `.../services/{serviceId}`  | GET - Returns a list/individual MEC service(s) | Existing MEC services can be discovered |
| `.../applications/{appInstanceId}/services` | GET - Returns a list of MEC services for an individual application <br><br> POST - Creates a MEC service for an individual application | Existing MEC services can be discovered <br><br> Existing MEC services use POST to create their service resource |
| `.../applications/{appInstanceId}/services/{serviceId}` | GET - Returns an individual MEC services for an individual application <br><br> PUT - updates an existing service resource <br><br> DELETE removes an existing service resource| Existing MEC services can be discovered <br><br> Existing MEC services use PUT to modify their service resource <br><br> Existing MEC services use DELETE when terminating |
| `.../applications/{appInstanceId}/subscriptions` | GET - Returns a list of subscriptions <br><br> POST - creates a subscription |  Existing MEC services don't use this endpoint <br><br> User can subscribe to MEC services management events |
| `.../applications/{appInstanceId}/subscriptions/{subscriptionId}` | GET - Returns an individual subscription <br><br> DELETE - removes an existing subscription | Existing MEC services don't use this endpoint <br><br> User can delete subscription(s) |
| `.../transports` | GET - Returns a list of supported MEC transports | Only HTTP supported |
| `.../<dynamic-liveness-uri>` | GET - Returns info about the liveness of a MEC service of an application instance <br><br> PATCH - Sends a "heartbeat" message related to a MEC service instance | Existing MEC applications use this endpoint to report their liveness
| `.../services` <br> `.../services/{serviceId}`  | GET - Returns a list/individual MEC service(s) | Available MEC services in the Sandbox can be discovered <br><br> Includes: <ul><li> Built-in MEC Services:  MEC012, MEC013, MEC028 <li> User MEC Services:  services registered by user MEC apps |
| `.../applications/{appInstanceId}/services` | GET - Returns a list of MEC services offered by an individual application instance <br><br> POST - Creates or registers a MEC service with the Sandbox's MEC System offered by an individual application instance | Available MEC services offered by a app instance can be discovered <br><br> MEC apps or services use POST to create their service resource and offer it for other MEC apps to discover |
| `.../applications/{appInstanceId}/services/{serviceId}` | GET - Returns an individual MEC service offered by an individual application instance <br><br> PUT - updates an existing service resource <br><br> DELETE removes an existing service resource | An available MEC service offered by a individual app instance can be discovered <br><br> MEC apps and services use PUT to modify their service resource <br><br>  MEC apps and services use DELETE when terminating or removing a registered service |
| `.../applications/{appInstanceId}/subscriptions` | GET - Returns a list of subscriptions for a MEC app instance <br><br> POST - creates a subscription |  Built-in MEC services don't use this endpoint <br><br> User or user MEC app can subscribe to MEC services management events (e.g. service availability notification) |
| `.../applications/{appInstanceId}/subscriptions/{subscriptionId}` | GET - Returns an individual subscription <br><br> DELETE - removes an existing subscription | Built-in MEC services don't use this endpoint <br><br> User or user MEC app can delete subscription(s) |
| `.../transports` | GET - Returns a list of supported MEC transports | Only HTTP supported by the MEC Sandbox |
| `.../<dynamic-liveness-uri>` | GET - Returns info about the liveness of a MEC service of an application instance <br><br> PATCH - Sends a "heartbeat" message related to a MEC service instance | MEC applications use this endpoint to report their liveness

### Application Support API Endpoints
| Endpoint | Sandbox Usage |Notes |
| ---------- | --------------------- | -------------- |
| `.../applications/{appInstanceId}/subscriptions` | GET - Returns a list of subscriptions <br><br> POST - creates a subscription |  Existing MEC services don't use this endpoint <br><br> User can subscribe to MEC application management events |
| `.../applications/{appInstanceId}/subscriptions/{subscriptionId}` | GET - Returns an individual subscription <br><br> DELETE - removes an existing subscription | Existing MEC services don't use this endpoint <br><br> User can delete subscription(s) |
| `.../applications/{appInstanceId}/confirm_ready` | POST - confirms the application is ready | Existing MEC application report readiness
| `.../applications/{appInstanceId}/confirm_termination` | POST - confirms the application is terminated | Existing MEC applications reports termination |
| `.../timing/timing_caps` | GET - returns information about timing caps | Mocked information returned since no NTP server is used
| `.../timing/current_time` | GET - returns current time | Time of the MEC Sandbox VM is returned
| `.../applications/{appInstanceId}/subscriptions` | GET - Returns a list of subscriptions <br><br> POST - creates a subscription |  Built-in MEC services don't use this endpoint <br><br> User or user MEC app can subscribe to MEC application management events |
| `.../applications/{appInstanceId}/subscriptions/{subscriptionId}` | GET - Returns an individual subscription <br><br> DELETE - removes an existing subscription |  Built-in MEC services don't use this endpoint <br><br> User or user MEC app can delete subscription(s) |
| `.../applications/{appInstanceId}/confirm_ready` | POST - confirms the application is ready |  MEC application report readiness
| `.../applications/{appInstanceId}/confirm_termination` | POST - confirms the application is terminated | MEC applications reports termination |
| `.../timing/timing_caps` | GET - returns information about timing capabililities | Mocked information returned since no NTP server is used
| `.../timing/current_time` | GET - returns current time | Local time in Monaco (MEC Sandbox VM is returned which corresponds with Monaco time)