<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Here is a summary of the observations presented in the today's meeting.</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
JSON payload Inconsistencies:</div>
<ol start="1" data-editing-info="{"orderedStyleType":2,"unorderedStyleType":1}" style="direction: ltr; margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "1- ";">
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Almost all field names use PascalCase except DataObject.size, InformationPackage.PDI.Provenance.DataObject.size and InformationPackage.version</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "2- ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The field InformationPackage.PDI.Fixity.RepresentationInformation.IdentifierType has a value of "URL" all the others use the more generic type "URI"</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "3- ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
In the GIP example InformationPackage.InformationObject.RepInfo.OtherRI.OrGroup field is a JSON Object but in AIP example InformationPackage.InformationObject.RepresentationInformation.AndGroup.OtherRI.OrGroup is a JSON Array</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "4- ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 16px; background-color: rgb(255, 255, 255);">In the GIP example,</span><span style="font-size: 12pt;"> field InformationPackage.InformationObject.RepInfo instead of
</span><span style="font-size: 16px; background-color: rgb(255, 255, 255);">InformationPackage.InformationObject.RepresentationInformation</span></div>
</li></ol>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 16px; color: rgb(0, 0, 0);">
<span style="background-color: rgb(255, 255, 255);"><br>
</span></div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 16px; color: rgb(0, 0, 0);">
<span style="background-color: rgb(255, 255, 255);">General suggestions:</span></div>
<ol start="1" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":1}" style="direction: ltr; list-style-type: decimal;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "1. ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Use <a href="https://datatracker.ietf.org/doc/html/rfc7807" id="OWA81351711-3f1a-7a71-32e0-03f68c874041" class="x_x_x_x_x_OWAAutoLink" data-auth="NotApplicable" data-loopstyle="linkonly">
RFC 7807 - Problem Details for HTTP APIs (ietf.org)</a> to represent errors</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "2. ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Avoid HATEOAS, stick to maturity level 2 of <a href="https://en.wikipedia.org/wiki/Richardson_Maturity_Model#Level_3:_Hypermedia_controls" id="LPlnk589755" class="OWAAutoLink" title="https://en.wikipedia.org/wiki/Richardson_Maturity_Model#Level_3:_Hypermedia_controls">
Richardson Maturity Model</a></div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "3. ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Endpoint paths should return a single type of data. For instance use an endpoint for collection of objects (ex. /pdis) and another for accessing a specific object (ex. /pdis/123 where 123 is th ID of the desired PDI). The first returns a list of PDI objects,
 the second a PDI object</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "4. ";">
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 12pt;">It's ok to provide JSON Schema spec for JSON payloads, but
</span><span style="font-size: 16px; background-color: rgb(255, 255, 255);">the OpenAPI spec</span><span style="font-size: 12pt;"> is also needed </span></div>
</li></ol>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Attached:</div>
<ol start="1" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":1}" style="list-style-type: decimal;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "1. ";">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
SpecificAdapterController.java - example of using OpenAPI and Spring MVC annotations to produce APIs and OpenAPI specification</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "2. ";">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
application.yml - Spring Boot properties I use to configure Spring and SpringDoc </div>
</li></ol>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best regards</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Massimo</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
 </div>
<div style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<table style="direction: ltr; line-height: normal; width: 100%; box-sizing: border-box; border-collapse: collapse; border-spacing: 0px; color: inherit; background-color: inherit;">
<tbody>
<tr>
<td align="left" style="direction: ltr; line-height: normal; vertical-align: top;">
<table style="direction: ltr; line-height: normal; box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td align="left" style="direction: ltr; line-height: normal; border-right: 2px solid rgb(75, 124, 83); padding-right: 10px; vertical-align: middle;">
<table style="direction: ltr; line-height: normal; box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td align="center" style="direction: ltr; line-height: normal; vertical-align: middle;">
<span style="font-size: 0px;"><img width="151" height="50" style="width: 151.83px; height: 50px; max-width: 151.83px; max-height: 50px; min-width: 151.83px; min-height: 50px;" data-outlook-trace="F:1|T:1" src="cid:2e8064bf-85e1-4b21-b15a-0b2bc8370a43"></span></td>
</tr>
</tbody>
</table>
</td>
<td align="left" style="direction: ltr; line-height: normal; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; vertical-align: middle;">
<table style="direction: ltr; line-height: normal; width: 100%; box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap;"><span style="font-family: Calibri; font-size: 14.67px; color: rgb(96, 96, 96); font-weight: 700;">Massimo Schiavon</span><span style="font-family: remialcxesans; font-size: 1px; color: rgb(255, 255, 255); line-height: 1px; font-weight: 700;">​</span><span style="font-family: template-c0lkJrLxEeuUsygYeDLr3w; font-size: 1px; color: rgb(255, 255, 255); line-height: 1px; font-weight: 700;">​</span><span style="font-family: zone-1; font-size: 1px; color: rgb(255, 255, 255); line-height: 1px; font-weight: 700;">​</span><span style="font-family: zones-AQ; font-size: 1px; color: rgb(255, 255, 255); line-height: 1px; font-weight: 700;">​</span></div>
</td>
</tr>
<tr>
<td align="left" style="direction: ltr; line-height: normal; vertical-align: top;">
<table style="direction: ltr; line-height: normal; white-space: nowrap; color: rgb(128, 128, 128); box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
Engineering</div>
</td>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
 ‑ </div>
</td>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
IT Systems Architect</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="left" style="direction: ltr; line-height: normal; vertical-align: top;">
<table style="direction: ltr; line-height: normal; white-space: nowrap; color: rgb(128, 128, 128); box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<span style="font-size: 0px; color: rgb(128, 128, 128);"><img width="20" height="20" style="width: 20px; height: 20px; max-width: 20px; max-height: 20px; min-width: 20px; min-height: 20px;" data-outlook-trace="F:1|T:1" src="cid:afb31aa2-7aec-41b9-9977-05276cce6b0a"></span></td>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
<a href="tel:+393401254872" id="LPlnk689713" class="x_x_x_x_x_OWAAutoLink" data-auth="NotApplicable" data-loopstyle="linkonly" style="text-decoration: none;">+393401254872</a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="left" style="direction: ltr; line-height: normal; vertical-align: top;">
<table style="direction: ltr; line-height: normal; white-space: nowrap; color: rgb(128, 128, 128); box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
Deda Cloud srl</div>
</td>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
 ‑ </div>
</td>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
PADOVA</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="left" style="direction: ltr; line-height: normal; vertical-align: top;">
<table style="direction: ltr; line-height: normal; white-space: nowrap; color: rgb(128, 128, 128); box-sizing: border-box; border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr>
<td style="direction: ltr; line-height: normal; white-space: nowrap;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-size: 0px; color: rgb(128, 128, 128);">
 </div>
</td>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
<a href="http://www.deda.cloud/" id="LPlnk689713" class="x_x_x_x_x_OWAAutoLink" data-auth="NotApplicable" data-loopstyle="linkonly" style="text-decoration: none;">www.deda.cloud</a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="left" style="direction: ltr; line-height: normal; white-space: nowrap; vertical-align: top;">
<div style="direction: ltr; line-height: normal; white-space: nowrap; font-family: Calibri; font-size: 14.67px; color: rgb(128, 128, 128);">
<a href="https://www.linkedin.com/showcase/deda-cloud" id="LPlnk689713" class="x_x_x_x_x_OWAAutoLink" data-auth="NotApplicable" data-loopstyle="linkonly" style="text-decoration: none;">https://www.linkedin.com/deda-cloud/</a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="left" style="direction: ltr; line-height: normal; vertical-align: top;">
<span style="font-size: 12px;"><a href="https://www.officeautomation.soiel.it/il-punto-sulla-cybersecurity-secondo-deda-cloud/" id="LPlnk689713" class="x_x_x_x_x_OWAAutoLink" data-auth="NotApplicable" data-loopstyle="linkonly" style="text-decoration: none;"><img alt="Scopri di più" title="Scopri di più" width="468" height="149" style="width: 468px; height: 149.53px; max-width: 468px; max-height: 149.53px; min-width: 468px; min-height: 149.53px;" data-outlook-trace="F:1|T:1" src="cid:27e7cc83-a3b3-4443-94f1-647ce0b7eeb3"></a></span></td>
</tr>
</tbody>
</table>
<div style="font-size:8pt;  font-family: 'Calibri',sans-serif;">Le informazioni contenute in questo messaggio di posta elettronica sono riservate e confidenziali e ne e' vietata la diffusione in qualsiasi modo o forma. Qualora Lei non fosse la persona destinataria
 del presente messaggio, La invitiamo a non diffonderlo e ad eliminarlo, dandone gentilmente comunicazione al mittente.
<br>
 <br>
The information included in this e-mail and any attachments are confidential and may also be privileged. If you are not the correct recipient, you are kindly requested to notify the sender immediately, to cancel it and not to disclose the contents to any other
 person. </div>
</body>
</html>