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
docs(terminology): extended and updated terminology #1653
docs(terminology): extended and updated terminology #1653
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explanations, that deal with actual Java classes, should be put into the respective Javadoc comments. Also, many of the explanations are completely redundant. Please do not just paraphrase the class name, because that does not add value.
Documenting something in a markdown file should only be done if it cannot be done in Javadoc, e.g. overarching or architectural concepts.
The terminology.md
really is useful to explain more abstract or overarching concepts such as "Dataspace"
or "Extension"
, as long as they are correct.
docs/overview/terminology.md
Outdated
| **Contract Offer Template** | Blueprint of a **contract offer** | ||
| **Consumer** | see **data consumer** | ||
| **Consumer Pull** | The data transfer is initilazied by the Consumer | ||
| **Data** | **Data** describes the properties of business objects |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is plain wrong. Business objects' properties are described by fields, at least in an OOP sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have tried to reformulate it in the sense that data have the task to represent information. Honestly, however, a good description for data is to be found, because from different points of view data are always defined slightly differently. Hope it fits better now.
docs/overview/terminology.md
Outdated
| **Contract Agreement** | **Contract Agreement**<p>* points to a **Contract Offer**<p>* results from a **Contract Negotiation Process**<p>* has a start date and may have a expiry date and a cancellation date | ||
| **Contract Negotiation** | * MVP: only possible to accept already offered contracts. Counter offers are rejected automatically. | ||
| **Contract Offer** | **Contract offer**<p>* set of obligations and permissions<p>* generated on the fly on provider side (see **Contract Offer Framework**)<p>* are immutable<p>* persisted in **contract negotiation process** once the negotiation has started<p> | ||
| **Contract Offer Framework** | **Contract offer framework**<p>* generates **contract offer templates**<p>* provided by **extensions**<p>* may be implemented in custom **extensions** to created **contract offers** based on existing systems |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term "Contract Offer Framework" is not in use anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok sorry, deleted it now. I wasn't aware of it.
docs/overview/terminology.md
Outdated
| **Federated Catalog** | A decentralized **catalog** | ||
| **Framework** | see **contract offer framework** | ||
| **Health** | Infrastructure status of the EDC | ||
| **HTTPDataAddress** | Specific type of **dataaddress** in context of HTTP-endpoints |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HTTPDataDdress
: yeah, but which one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deleted this term now in context of your advice that something like this should be in the javadoc and not in an markdown.
docs/overview/terminology.md
Outdated
| **Event Router** | **Event router** is the central part of the **event framework**, which collects all published **events** | ||
| **Extension** | see **EDC Extension** | ||
| **Federated Catalog** | A decentralized **catalog** | ||
| **Framework** | see **contract offer framework** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see comment there.
docs/overview/terminology.md
Outdated
| **Event Framework** | **The event framework** is a way to react to actions in the EDC and can also be extended | ||
| **Event Router** | **Event router** is the central part of the **event framework**, which collects all published **events** | ||
| **Extension** | see **EDC Extension** | ||
| **Federated Catalog** | A decentralized **catalog** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since Catalog
and Federated Catalog
are two entries here, it would be necessary to distinguish between them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have now tried to better illustrate that the catalog
is a standalone component of a dataspace, while the federated catalog
is a decentralized approach that is placed within each connector.
docs/overview/terminology.md
Outdated
| **Health** | Infrastructure status of the EDC | ||
| **HTTPDataAddress** | Specific type of **dataaddress** in context of HTTP-endpoints | ||
| **Identity Provider** | Management of the correct identification of all participants in the **dataspace**. | ||
| **Injection** | **Artifacts**/**EDC Extensions** can be injected in different parts of the EDC to be used |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Injection
: That's just plain wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I deleted this also because of your advice in context of what has to be in javadoc and what in markdown.
Only my question about it is this. The Injection Interface is used to make the different modules usable among each other. So to give a module of the EDC the possibility to find the COde of another used module within the EDC. If this is a complete misconception of your injection mechanism, I need to look deeper into your injection mechanism.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
first of all, we don't inject extensions or modules, we simply inject services. this is a very wide-spread concept that deals with object instantiation.
Here, we use it to achieve loose coupling through interfaces, and determine the runtime type of a field ... well... at runtime.
I strongly suggest diving deeper into the code and reading the appropriate documentation, and only add documentation if really necessary.
Part of my issue with the documentation in general (not related just to this PR) is that it is mixing concepts with implementation details and duplicating this in multiple places. @janpmeyer unfortunately this problem pre-dates your work here but I think we should address it now before it gets worse. For example, we have conceptual documentation here: and here: Parts of the terminology in this PR are not aligned with either. For example, in EDC there is no concept of a broker in the IDS sense, just FCNs and FCCs. A connector is not responsible for handling the process of joining a dataspace, etc. Can we first align on an overall strategy for the documentation? As a starter, I agree with @paullatzelsperger that implementation details - items which are not represented at a conceptual level - should only be described in Javadoc and referenced in technical implementation documentation (e.g. a Decision Record). For example, AssetIndex is an implementation detail, not a concept like a Connector or a Participant Agent. If we adopt that approach, shouldn't terminology be defined as part of the conceptual architecture document? |
This pull request is stale because it has been open for 7 days with no activity. |
This pull request was closed because it has been inactive for 7 days since being marked as stale. |
What this PR changes/adds
The documentation on terminology has been extended and adapted.
Why it does that
The previous documentation under the area of terminology has not been complete so far and has been partly outdated.
Linked Issue(s)
Closes #1306
Checklist
no-changelog
)