Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Registry matters #11

Merged
merged 10 commits into from
Nov 9, 2020
Merged

Registry matters #11

merged 10 commits into from
Nov 9, 2020

Conversation

msdemlei
Copy link
Contributor

@msdemlei msdemlei commented Oct 28, 2020

This PR adds a section on how to register VOEvent streams. It introduces a simple registry extension so interfaces using different protocols (VTP, kafka, XMPP) can be told apart.

An open question for (I'd suggest) later resolution: Do we need to define the format of the events in the stream ("VOEvent 2 in XML serialisation") already at this point?

There's also the "Public VOEvent Streams MUST be registered" matter. Again, I'd suggest to merge into the document as-is, because there's really little choice in this matter as long as event ids are ivoids. So, if we want to relax this, we'll have to discuss the question of VOEvent ids as well.

@Zarquan
Copy link
Member

Zarquan commented Oct 29, 2020

@Zarquan
Copy link
Member

Zarquan commented Nov 2, 2020

There's also the "Public VOEvent Streams MUST be registered" matter. Again, I'd suggest to merge into the document as-is, because there's really little choice in this matter as long as event ids are ivoids.

We do have a choice. As described on the mailing list[1], we can change the wording in this PR to remove the MUST and change it to say "IF you are registering a stream, this is how".

[1] http://mail.ivoa.net/pipermail/voevent/2020-October/003282.html

@msdemlei
Copy link
Contributor Author

msdemlei commented Nov 3, 2020 via email

@BaptisteCecconi
Copy link
Collaborator

For a “VOEvent outsider” (=me, a few years ago, and other colleagues now), it is impossible to find event streams if you don’t know the people that are producing them.

If I understand well, the reasons for not registering VOEvents are:

  • “I don’t know how to register in IVOA registry” => this is the subject of this PR.
  • “Registering is a useless procedure: people should contact me instead” => then the stream is not public
  • “I’m not using IVORN for event and stream URI” => This is an issue since the VOEvent Rec says we should use IVORN, so we should change VOEvent Rec.

I think it is ok to have "unregistered" streams for prototyping purposes. However, if we want to raise the VOEvent standard in the era of FAIR science, we need to be able to find metadata from a VOEvent using its ID. This implies that the VOEvent stream metadata is available somewhere. To me the IVOA Registry is the natural place for the IVOA ecosystem. It would be nice to have a Note on how to do this another way (other URIs, other registry...)

@BaptisteCecconi
Copy link
Collaborator

BaptisteCecconi commented Nov 3, 2020

Another good thing with having the VOEvent stream registered in the Registry is the capability to advertise for a service that serves past events produced by that stream. For instance:

         <relationship>
             <!-- TAP service containing/archiving all previous
               events produced by this stream -->
             <relationshipType>IsSourceOf</relationshipType>
             <relatedResource ivo-id="ivo://vopdc.obspm/imcce/meteorshower/epn"
               >Meteor Shower prediction EPN-TAP service</relatedResource>
         </relationship>

@Zarquan
Copy link
Member

Zarquan commented Nov 3, 2020 via email

@Zarquan
Copy link
Member

Zarquan commented Nov 3, 2020 via email

@Zarquan
Copy link
Member

Zarquan commented Nov 3, 2020 via email

@msdemlei
Copy link
Contributor Author

msdemlei commented Nov 3, 2020 via email

@BaptisteCecconi
Copy link
Collaborator

I agree with @msdemlei that it is only a PR, not a REC.

The current REC specification V2.0 states:

A registered VOEvent packet is one that has a valid identifier — meaning that a mechanism exists that can resolve that identifier to the full VOEvent packet. VOEvent identifiers thus provide a citation mechanism — a way to express that one VOEvent packet is a follow-up in some fashion of a previous packet. For these reasons, VOEvent packets will often contain VO identifiers [15]. These take the general form ivo://authorityID/resourceKey#local_ID, and are references to metadata packets that may be found at a VO registry or VOEvent repository

This paragraph says the VOEvent ivorn is used to identify or resolve a give packet (i.e., an event). It gives the option to register packets into the (a) VO registry or (b) any other VOEvent repository.

In case (a), the packets are registered, and so should be the stream. The proposed general form implies that the stream is registered and a mechanism is provided to access to packets (for instance, using an related TAP service, as in the meteor showers prediction example).

In case (b), i.e., using an external VOEvent repository, it would be nice to have a place in the registry to advertise this if the stream is public and persistent.

Further down is the document, we read:

When such an identifier is resolved, it means that the VOEvent metadata packet is obtained in exchange for the identifier. Such resolution happens through the global, distributed IVOA registry in stages. The registry is queried to locate a repository holding the relevant packet, and then the repository is queried for the packet itself.

So, the goal is to register VOEvent streams in the VO Registry, so that packet metadata and content can be found retrospectively.

I thus tend to agree with @msdemlei about the general requirement of having a registry record for a stream, when a stream is intended to be discoverable and interoperable. I also agree with @Zarquan that we should have a way to have non-public and unregistered streams (such as demo or prototype services), implying that the stream will not be findable (hence the packets) unless people have the details at hand. In the latter case, the ivorn validation is just URI syntactic validation without registry resolution check.


For the identifier topic: I have raised an issue about allow other uri types (#12), which will have to be discussed and implemented in a PR if needed.

@Zarquan
Copy link
Member

Zarquan commented Nov 4, 2020 via email

Copy link
Collaborator

@BaptisteCecconi BaptisteCecconi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with the changes. The discussion about the registration is fine at this point: Public VOEvent streams MUST be registered. This is a a necessary practice to ensure the discoverability and the unicity of the event stream URI.

@Zarquan Zarquan merged commit 876dc06 into ivoa-std:master Nov 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants