diff --git a/CHANGELOG.md b/CHANGELOG.md index 121d3ba..b2bbead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 2022-09 + +### Changed +- fixed missing mandatory elements in multipart message +- Fixed wrong references to IDS-G-pre and RAM in CONTRIBUTING.md + + ## [Q2/2022] ### Added diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 28a5003..4b586ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# Contributing to IDS-G-pre +# Contributing to IDS-G -IDS-G is the official repository of [IDSA](https://www.internationaldataspaces.org) to publish the [IDS-RAM]() and the subsequent specifications. +IDS-G is the official repository of [IDSA](https://www.internationaldataspaces.org) to publish the [IDS-RAM](https://github.com/International-Data-Spaces-Association/IDS-RAM_4_0) and the subsequent specifications. All content published here is approved by the IDSA Technical Steering Committee and the IDSA Working Groups. Detailed information on the contribution process can be found in the [IDS-G Handbook](Handbook/README.md). Nevertheless, you are very welcome to contribute to this project when you find a bug, want to suggest an improvement, or have an idea for a useful @@ -30,7 +30,7 @@ should at least include the following information: ## Labels -The [labels](https://github.com/International-Data-Spaces-Association/ids-g/labels) are listed at the +The [labels](https://github.com/International-Data-Spaces-Association/IDS-G/labels) are listed at the [issues](https://github.com/International-Data-Spaces-Association/IDS-G/issues). There are two types of labels: one describes the content of the issue and should be used by the developer that creates the issue. The other one, starting with `status`, will be added from the @@ -75,5 +75,5 @@ An example of a very good commit might look like this: `feat![login]: add awesom ## Versioning -IDS-G-pre uses the [SemVer](https://semver.org/) for versioning. The release versions +IDS-G uses the [SemVer](https://semver.org/) for versioning. The release versions are tagged with their respective version. diff --git a/Communication/CommunicationGuide.md b/Communication/CommunicationGuide.md new file mode 100644 index 0000000..22debbe --- /dev/null +++ b/Communication/CommunicationGuide.md @@ -0,0 +1,112 @@ +# IDS Communication Guide # + +## Introduction ## + +Interoperability is a major goal of the IDS. Therefore, the interoperability between IDS Connectors and other components is of high importance. The IDS Communication Guide shall provide the required data structure and the interaction sequences to be realized for interoperability and to be used for interoperability testing. + +The Communication Guide is organized into a modular and composable structure. + +## Terms and Definitions ## + +### Control Plane vs. Data Plane and in-band vs. out of band ### + +Joint understanding of the terms `in-band` and `out-of-band`, as well as the `control plane` and `data plane`: + +**Commonalities:** Both term pairs… + +- represent the split of a previously joint, combined flow of information into two separate parts +- have a background in technology +- have some overlap, but put different emphasis + +#### in-band/out-of-band #### + +- **origins:** selection of radio frequencies (“bands”) for primary/secondary communication +- the split is motivated mainly by isolation & break-out reasons +- `in-band`: the same `frequency`, `connection` or `means of communication` is used for all transfers +- `out-of-band`: for a selected subset of communication, a different, dedicated band is selected +- **example:** main process is using HTTP, user identity verification subprocess uses SMTP (email) + +#### control plane/data plane #### + +- **origins:** in a networking device… +- the `control plane` is optimized for customizability and security. it controls the data plane. +- the `data plane` is optimized for speed, throughput and bandwidth. it handles the data payloads. +- the split is motivated mainly by “separation of concerns” +- `control plane`: controls what happens on the data plane +- `data plane`: agnostic of control logic, only used for payload transfers + +## Foundation ## + +The foundation package contains elements that commonly used. This includes standards that are used as foundation for the Communication Guide. + +### Foundational standards ### + +[The Foundational Standards list.](./FoundationalStandards/README.md) + +### Information Model ### + +The common information model that is used in every other package. This shall include a base model containing the entities of a data space and their relation. + +![Entities and relationships in data spaces](./images/Communicatoin-Guide_Dataspace_entities.png) + +(find the source file of the image above [here](./images/CommunicatoinGuide_Dataspace_entities.drawio)) + +The realization bases on DCAT for the Data Products and ODRL for Contract Policies. + +[The IDS-Information Model is here.](./Infomodel/README.md) + +### Identities ### + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +### Trust Frameworks ### + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +### Policies (authorization and Policy Description) ### + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +## Data Sharing (Conector) ## + +### Contract Negotiation ### + +part of the control plane + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +### Data Transfer ### + +part of the data plane. How data is exchanged with focus on communication and not on how the data plane is built. + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +## Catalog (Publish and query meta-data) ## + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +## Registration ## + +messages and data types: +protocols: state machines for message flows and interaction patterns: +API binding: + +## Audit logging ## + +currently out of scope + +## Vocabularies ## + +currently out of scope diff --git a/Communication/FoundationalStandards/README.md b/Communication/FoundationalStandards/README.md new file mode 100644 index 0000000..b291095 --- /dev/null +++ b/Communication/FoundationalStandards/README.md @@ -0,0 +1,39 @@ +# Foundational Standards # + +These Foundational Standards are used in the IDS Communication Guide: + +## Attribute Based Access Control (ABAC) ## + +Related to Access Control that is not part of the [IDS-RAM](https://github.com/International-Data-Spaces-Association/IDS-G/blob/master/Glossary/README.md#ids-ram-international-data-spaces-reference-architecture-model). +[NIST, Guide to Attribute Based Access Control (ABAC) Definition and Considerations](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-162.pdf) + +## Linked Data Platform (LDP) ## + +[W3C, "Linked Data Platform"](https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp.html) + +[W3C, "Linked Data Platform 1.0 Primer"](https://www.w3.org/TR/ldp-primer/) + +## Open Digital Rights Language (ODRL) ## + +[W3C, ODRL](https://www.w3.org/TR/odrl-model/) as basis + for IDS usage control. + +## Resource Description Framework (RDF) ## + +[Wikipedia, „Resource Description Framework“](https://en.wikipedia.org/wiki/Resource_Description_Framework). + +## Time Ontology in OWL ## + +[W3C, "Time Ontology"](https://www.w3.org/TR/owl-time/) + +## The Organization Ontology ## + +[W3C, "The Organization Ontology"](https://www.w3.org/TR/vocab-org/) + +## WebAccessControl (WAC) ## + +[W3C, "Web Acces Control"](https://www.w3.org/wiki/WebAccessControl) + +## eXtensible Access Control Markup Language (XAML) ## + +[Wikipedia, "XAML"](https://en.wikipedia.org/wiki/XACML) diff --git a/Infomodel/Message/DescriptionRequestMessage_POST.md b/Communication/Infomodel/Message/DescriptionRequestMessage_POST.md similarity index 100% rename from Infomodel/Message/DescriptionRequestMessage_POST.md rename to Communication/Infomodel/Message/DescriptionRequestMessage_POST.md diff --git a/Infomodel/Message/README.md b/Communication/Infomodel/Message/README.md similarity index 100% rename from Infomodel/Message/README.md rename to Communication/Infomodel/Message/README.md diff --git a/Infomodel/Message/requests/README.md b/Communication/Infomodel/Message/requests/README.md similarity index 100% rename from Infomodel/Message/requests/README.md rename to Communication/Infomodel/Message/requests/README.md diff --git a/Infomodel/README.md b/Communication/Infomodel/README.md similarity index 100% rename from Infomodel/README.md rename to Communication/Infomodel/README.md diff --git a/Communication/images/Communicatoin-Guide_Dataspace_entities.png b/Communication/images/Communicatoin-Guide_Dataspace_entities.png new file mode 100644 index 0000000..c339533 Binary files /dev/null and b/Communication/images/Communicatoin-Guide_Dataspace_entities.png differ diff --git a/Communication/images/CommunicatoinGuide_Dataspace_entities.drawio b/Communication/images/CommunicatoinGuide_Dataspace_entities.drawio new file mode 100644 index 0000000..9809619 --- /dev/null +++ b/Communication/images/CommunicatoinGuide_Dataspace_entities.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file