DR-035-16 Post Las Vegas update/experiment: Embracing Atom, GData, Pubsubhubbub
- XML and IT Working Groups,As a result of our discussions in Las Vegas, I've prepared a draft that answers the question "what would this look like using the established standard Atom Publishing Protocol, the widely deployed GData or OData extensions, and emerging standard Pub/Sub methods like PubSubHubbub?"I've spend weeks writing this and I'm now at a loss for words here to introduce it. So just read it, I guess.I included a part at the beginning introducing GData and OData a bit for those unfamiliar with them. Please Google around to see how both of them are taking off in a big way. In terms of picking a winner, I would have to say this is this is mostly GData with some cool ideas (plaintext and ''filter'') borrowed from OData.Similarly, there are a couple Pub/Sub standards out there, but PubSubHubbub seems to be winning out over the much less capable RSS Cloud. Let me know what you think about using this as opposed to creating our own subscription and callback mechanism. The idea was to gain instant clients, and with this, you should be able to subscribe to trend updates using standard feed library code, and even a standard reader program, if you want to read at a page full of "published numbers".Enjoy!Dave--------p.s. here are the notes from the revision history:
- based on question from Las Vegas: "Who are the clients and what code/protocols might they already be using?" and, related to that, "What would this look like if we fully embraced standards like Atom, GData, and PubSubHubbub?"
- adopting GData's 'fields' mechanism made 'partial', 'complete', 'truncated', 'depth', and 'absent' all go away!
- adopting PubSubHubbub loses the subscribe-multiple feature, but that was a new idea anyway that we don't have today in BACnet binary.
- changing the default history format to standard Atom feeds allows standard feed clients, and push distribution with PubSubHubbub, to work seamlessly with trend data. (that's the theory, anyway :-)
- adding a GoogleHealth-inspired 'digest' query parameter gives a new compact CSV history format for querying large quantities of history data (used to get history statistics, too).
- overall smaller spec: more consistent, fewer exceptions.