-
Notifications
You must be signed in to change notification settings - Fork 394
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
Clarify guidance on process recource vs. data resource update. #434
Comments
Hi @whiskeysierra @meshcalero, I'm working on my concept to guide by distinguishing on resources. Please give feedback. The main idea is as follows: Data resources are resources or properties of resources that represent knowledge or facts, e.g. master data, product data, article reviews, e-mail messages, process documentation. Updates to these resources can happen on external requests and does only change the resource data. It does never trigger subsequent actions or processes except for propagating the changed information to listeners registered to this data resource. Data changes may be rejected to ensure the format or consistency of the changed resource. Process resources are resources or properties of resources that are involved into (business) processes by reflecting the process state or by providing process control information. Updates to these resources can be external and happen either on the process state to reflect the advancement of the (business) process or on control information to reflect changes in the business process. Changes to the process state or control information must be validated to ensure the correctness of the conducted (business) process. Any change is usually triggering subsequent actions or processes to advance the (business) process further until its final state is reached. Base on this definition I would see the following guidance for Updates to data resources should follow the first three suggestions in the
Updates to process resources (in my opinion) should follow only the last suggestion in the
While this suggests to do conduct the To simplify this concept when applying it, I would allow
My main arguments for this suggestion is that updates to process resources are simpler to describe and understand based on this fractal process resources model reflecting the sub-processes. It even allows to mix process resources and data resources in a common resource while separating updates to both classes of properties (i.e. data |
After talking with @tfrauenstein we extended the perspective to other use cases and resource types (see Improve Guidance on GET / PUT / PATCH / POST - Draft). |
Is this a public document or internal to Zalando? |
It is a Zalando internal draft doc. |
@dehora @tfrauenstein I did this intentional in public. The slides have no links, and I did not see a reason to keep this work in progress internal. It explains the reason for the envisioned guideline changes/additions. |
🍰 Happy birthday! |
🍰🍰 Happy birthday again! |
🍰🍰🍰 happy birthday again! |
🍰🍰🍰🍰 Happy birthday! |
🍰 🍰 🍰 🍰 🍰 A very belated happy birthday again! |
🍰 🍰 🍰 🍰 🍰 🍰 |
Idea: add an introductory text with the definitions of the kinds of resources to the beginning of the URLs section, instead of updating all the rules. Link the (maybe somewhat updated) slide set. |
In the context of #391 we had stumbled about a very specific problem how to best update resources which leads to multiple discussions (see #391 (comment) and https://github.bus.zalan.do/Sokoban/rutherfordium/pull/17#discussion_r551990) including the API guild meeting.
The core discussion can be summarized by
POST
vs.PUT
vs.PATCH
and the idea of distinguishing between process resources and data resources.The text was updated successfully, but these errors were encountered: