adobe / xdm

Experience Data Model
Creative Commons Attribution 4.0 International
245 stars 318 forks source link

Shall we change eventenvelope to be compliant with CloudEvents? #321

Open rperelma opened 6 years ago

rperelma commented 6 years ago

What are the schemas that are affected by the issue

eventenvelope

What are examples of products that are impacted by the issue

Adobe I/O Events

The issue: CloudEvents

In the last year, the XDM committee worked on and agreed upon a schema for events[1], which we decided to base on activity streams[2]. This seemed like a good approach at the time, as it is a W3C recommendation, and it matched to a good extent what we needed with minor adaptations.

Since then, a new open standard has begun to gather considerable momentum, Cloud Events[3], sponsored by the Cloud Native Computing Foundation[4] under the Serverless Working Group[5], and with many, many important contributors[6], including Google, Microsoft (see for example [7]), Amazon, etc.

Adobe I/O Events went live at Summit in March of this year using XDM-based events. We are wondering at this juncture what we should do about this new turn of events (pun intended :)

One possibility is that we offer our customers the choice to consume I/O Events in either format: XDM and/or CloudEvents. Microsoft’s Event Grid, for example, supports its own proprietary event schema, as well as CloudEvents [8].

A different option is to acknowledge that we may have backed the wrong horse by choosing activity streams earlier, and rectify it now, before it is too late.

I’m opening this issue in github in order to gather the opinions of the members of the XDM committee, before making a formal recommendation, or posting a PR with actual changes. I have already heard from a few members endorsing the idea of switching our standard to CloudEvents, and would like to hear further feedback from others.

[1] https://github.com/adobe/xdm/blob/master/schemas/common/eventenvelope.schema.json [2] https://www.w3.org/TR/activitystreams-core/ [3] https://github.com/cloudevents/spec [4] https://www.cncf.io/ [5] https://github.com/cncf/wg-serverless [6] https://github.com/cloudevents/spec/blob/master/community/contributors.md [7] https://azure.microsoft.com/en-us/blog/announcing-first-class-support-for-cloudevents-on-azure/ [8] https://docs.microsoft.com/en-us/azure/event-grid/cloudevents-schema

lrosenthol commented 6 years ago

My big concern here is that activity streams are an open standard from a well defined SDO, while CloudEvents are a proprietary spec from an unknown industry consortium. I would prefer to see us continue to invest in open standards.

trieloff commented 6 years ago

I think the CNCF is a reputable enough consortium with wide industry support and definitely not unknown.

CloudEvents seems like a 100% match to our use case, opposed to Activity Streams with only partial (albeit large) match.

In the end, what counts for me is ease of consumption of our APIs, so if the Adobe I/O Events team sees not just a benefit in adopting CloudEvents, but making it the default, I don't see why the XDM team should keep pushing for something that does not have the same level of adoption.

rperelma commented 6 years ago

I'm currently leaning towards offering our customers the choice to consume I/O Events in either format: XDM and/or CloudEvents (like Microsoft does: https://docs.microsoft.com/en-us/azure/event-grid/cloudevents-schema)

trieloff commented 6 years ago

I assume with XDM/Activity Streams being the default.

My concern would be that XDM/Activity Streams are being perceived as "Adobe's proprietary event format", just like I'd perceive Azure's default as "Microsoft's proprietary event format".

rperelma commented 6 years ago

It's entirely up to us how we present it in the I/O Console. We can make it appear any way we want :)

trieloff commented 6 years ago

In the console, and in the documentation, and in marketing collateral, and in the user's perception ;)

rperelma commented 6 years ago

Interesting. The guy representing Amazon at CloudEvents (Arun Gupta) sent the following email to the group: "As discussed during the last WG meeting, Amazon would like to hear from customers that would like CloudEvents to be supported with AWS Lambda. We’d like to learn why this matters to you, what problem it is solving for you, any timelines for the implementation of this, and how you’d like this format to be supported."

rperelma commented 6 years ago

https://github.com/cloudevents/spec/pull/231

bertoltmeier commented 5 years ago

I saw your reference was added to cloudevents spec, but it seems to have been deleted in the master. Is there any news on this topic? Was there a decision made if XDM will be compliant with CloudEvents or if this topic will be resolved otherwise?

rperelma commented 5 years ago

@bertoltmeier https://github.com/cloudevents/spec/blob/master/primer.md has a link to Adobe I/O Events format and documentation

bertoltmeier commented 5 years ago

Thanks for the link. I also saw the Microsoft, SAP and Adobe launched an Open Data Initiative. Does this has impact on XDM and CloudEvents? Do you know?