ga4gh-discovery / ga4gh-service-info

GA4GH service-info specification.
Apache License 2.0
9 stars 8 forks source link

Service-info per version of API or per server that implements APIs? #70

Open denis-yuen opened 2 years ago

denis-yuen commented 2 years ago

Does service-info have any recommendations as to whether it should be implemented one per server or one per API version?

For example, dockstore.org implements https://dockstore.org/api/ga4gh/trs/v2/service-info If theoretically we have https://dockstore.org/api/ga4gh/trs/v3/service-info and https://dockstore.org/api/ga4gh/trs/v4/service-info going forward, we would have three service-info endpoints, once per version.

Would it make sense to have only one service-info endpoint that tells us which version of the API is available or is that out of scope for this standard?

denis-yuen commented 2 years ago

Also see discussion at https://github.com/ga4gh/tool-registry-service-schemas/pull/202

mcupak commented 2 years ago

@denis-yuen That's a great question. The idea of supporting multiple versions of the same standard natively came up when we were designing this, but we weren't sure if anyone would actually use it, so we decided to defer this until we have real-life use cases, and treat different versions as separate services.

So for now, I'd recommend going with the one per version setup, since the metadata would likely differ (e.g. version, type/version, createdAt/updatedAt etc.). You could additionally set up a Service Registry to list these different versions for discovery purposes, but there's no functionality there to group them or say it's the same standard.

If this is a common scenario you've seen, we'd be happy to work with you on something better for a newer version of Service Info and/or Service Registry APIs.