eclipse-arrowhead / roadmap

Eclipse Public License 2.0
5 stars 9 forks source link

IDD 5.0 review discussion - Service-discovery #86

Open AlexChiquito opened 7 months ago

AlexChiquito commented 7 months ago

In this Issue we will collect the comments about the service-discovery interface definition.

emanuelpalm commented 7 months ago

Link to reviewed document: eu.arrowhead.service-discovery-http-json.yml.

borditamas commented 7 months ago

AITIA review comments

https://github.com/eclipse-arrowhead/roadmap/blob/5a4f4b2d3149288a48bda69337f7e041a05d0161/5.0%20Draft/IDD/IDDs%20Service%20Registry/eu.arrowhead.service-discovery-http-json.yml#L7-L8

"The service allows for application systems..." and not for consumers.



https://github.com/eclipse-arrowhead/roadmap/blob/5a4f4b2d3149288a48bda69337f7e041a05d0161/5.0%20Draft/IDD/IDDs%20Service%20Registry/eu.arrowhead.service-discovery-http-json.yml#L64

"echo" operation should not be part of this service, but a different "monitor" service.


https://github.com/eclipse-arrowhead/roadmap/blob/5a4f4b2d3149288a48bda69337f7e041a05d0161/5.0%20Draft/IDD/IDDs%20Service%20Registry/eu.arrowhead.service-discovery-http-json.yml#L72


https://github.com/eclipse-arrowhead/roadmap/blob/5a4f4b2d3149288a48bda69337f7e041a05d0161/5.0%20Draft/IDD/IDDs%20Service%20Registry/eu.arrowhead.service-discovery-http-json.yml#L114


https://github.com/eclipse-arrowhead/roadmap/blob/5a4f4b2d3149288a48bda69337f7e041a05d0161/5.0%20Draft/IDD/IDDs%20Service%20Registry/eu.arrowhead.service-discovery-http-json.yml#L144-L144


DeregisterExpression and QueryExpression

What are these and where they are used?


NOTE:

borditamas commented 5 months ago

@AlexChiquito @emanuelpalm @PerOlofsson-Sinetiq Could you please provide Sinetiq's feedback before the next RoadMap (05.02) in order to being able to discuss it there? As you know, last time the 14th of May (before AIMS 5.0 GA) was agreed to target the specification being finalized, so we don't have so much time.

DavidRutqvist commented 4 months ago

Hello, I will summarize my comments here, some of which overlaps with the above and other things are new. They can be divided into three areas, scope of a service registration record, relation between instances and types, and finally good API design.

Scope of a Service Registration Record

In summary, the record should then look something in the line with the following. Note that I did not make any changes to the property naming as suggested by AITIA above, I don't have anything against this. It was just to limit the changes for the sake of the discussion.

{
    "serviceID": "string",
    "serviceType": "eu.arrowhead.authorization-http-json:5.0.0",
    "addresses": {
      "additionalProp1": "tcp4:192.168.0.7:45326",
      "additionalProp2": "tcp4:192.168.0.7:45326",
      "additionalProp3": "tcp4:192.168.0.7:45326"
    },
    "metadata": {
      "basePath": "v2"
    },
    "timeToLive": "2d12h"
  }

Relation between instances and service types

  1. The GET /services/{service-id} endpoint gets replaced by GET /services({service-type}/instances/{service-id}
  2. The DELETE /services/{service-id} endpoint gets replaced by DELETE /services({service-type}/instances/{service-id}
  3. For API completeness, an endpoint, GET /services({service-type}/instances, is added that lists all instances for a single service type.

Good API Design

borditamas commented 4 months ago

Dear @DavidRutqvist

Regarding to the service-type:

Regarding to the serviceId:

Regarding to your "Good API Design" points: we fully agree

Please also give feedback on the issue #87, because it belongs to the same domain and there are also open questions/suggestions. The question of interface representation would be the most important one.

jerkerdelsing commented 3 months ago

Sinteiq, can you comment on this.

jerkerdelsing commented 3 months ago

For now we should continue to use the latex documentation instead of languages specific to for example HTTP REST implementations.

jerkerdelsing commented 3 months ago

The service discovery record may need some modification due to the extendable service interface of sth SysMonitor and the SD_Monitoring service.