diff --git a/modellierung/holzhandel_sequenz_technical.puml b/modellierung/holzhandel_sequenz_technical.puml index 0b91f83cd42b50dd1ea2c65ce19e755fc2db8c86..80c6ab3804d024383f91d2db5e1d080a9962bba0 100644 --- a/modellierung/holzhandel_sequenz_technical.puml +++ b/modellierung/holzhandel_sequenz_technical.puml @@ -37,8 +37,6 @@ Waldbesitzer -> WaldmanagerApp: UI-Aktion S3I-Login activate WaldmanagerApp note over WaldmanagerApp #FF0000 TODO: Christian H. S3I-Login mit individueller ThingId pro Benutzer + Benutzer-Login - TODO: Ahmed zweites S3I-Benutzer+ThingId-Pärchen für Dienstleister bei FM anlegen - TODO: Martin via David: redirect auf zweite thingid erweitern end note deactivate WaldmanagerApp @@ -50,12 +48,6 @@ Waldbesitzer -> WaldmanagerApp: UI-Aktion: Beobachtung eintragen DZ_Wald --> WaldmanagerApp: S3I-SetValueReply "ok" deactivate DZ_Wald deactivate WaldmanagerApp -note over WaldmanagerApp #FF0000 - TODO: Klärung submodel_id Format (Igor/Ahmed) -end note -note over DZ_Wald #FF0000 - TODO: Log-Ausgaben in DZ-Wald (Ahmed) -end note == Aufnahme eines Waldweges == @@ -82,7 +74,7 @@ end note activate WaldmanagerApp Waldbesitzer -> WaldmanagerApp: UI-Aktion zu fällende Bäume zu Arbeitsauftrag hinzufügen Waldbesitzer -> WaldmanagerApp: UI-Aktion Arbeitsauftrag in DZ Wald speichern - WaldmanagerApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit neuem Submodel Arbeitsauftrag; submodel_id "s3i:{DZ Wald thingID}/Arbeitsauftrag" und BASE64 kodieren; inkl. Referenzierung von u.g. Holzliste-Submodel + WaldmanagerApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit neuem Submodel Arbeitsauftrag; submodel_id "{DZ Wald thingID}/Arbeitsauftrag/1" und BASE64 kodieren; inkl. Referenzierung von u.g. Holzliste-Submodel activate DZ_Wald DZ_Wald --> WaldmanagerApp: S3I-SetValueReply "ok" deactivate DZ_Wald @@ -90,7 +82,7 @@ Waldbesitzer -> WaldmanagerApp: UI-Aktion Arbeitsauftrag in DZ Wald speichern eine leere Holzliste für Sortiment ??? im Arbeitsauftrag anlegen TODO Markus welches Sortiment befüllen wir exemplarisch? end note - WaldmanagerApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit neuem Submodel Holzliste; submodel_id "s3i:{DZ Wald thingID}/Holzliste" und BASE64 kodieren + WaldmanagerApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit neuem Submodel Holzliste; submodel_id "{DZ Wald thingID}/Holzliste/1" und BASE64 kodieren activate DZ_Wald DZ_Wald --> WaldmanagerApp: S3I-SetValueReply "ok" deactivate DZ_Wald @@ -106,7 +98,6 @@ note over WaldmanagerApp #FF0000 end note activate WaldmanagerApp WaldmanagerApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id für Autorisierung}/submodel/submodelElements/???) mit value o.g. vorbereitete Nachricht -note right #FF0000: TODO konkreten path nennen (Ahmed) activate DZ_Wald DZ_Wald -> DienstleisterApp: S3I-UserMessage "Sie haben eine neue Freigabe" activate DienstleisterApp @@ -116,11 +107,11 @@ deactivate DZ_Wald Dienstleister -> DienstleisterApp: UI-Aktion "Nachrichten abrufen" Dienstleister -> DienstleisterApp: UI-Aktion "Arbeitsaufträge und Holzlisten abrufen" -DienstleisterApp -> DZ_Wald: S3I-GetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit "dem einen" Submodel Arbeitsauftrag; submodel_id "s3i:{DZ Wald thingID}/Arbeitsauftrag" und BASE64 kodieren +DienstleisterApp -> DZ_Wald: S3I-GetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit "dem einen" Submodel Arbeitsauftrag; submodel_id "{DZ Wald thingID}/Arbeitsauftrag/1" und BASE64 kodieren activate DZ_Wald DZ_Wald --> DienstleisterApp: S3I-GetValueReply mit "dem einen" Arbeitsauftrag -DienstleisterApp -> DZ_Wald: S3I-GetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit "dem einen" Submodel Holzliste; submodel_id "s3i:{DZ Wald thingID}/Holzliste" und BASE64 kodieren +DienstleisterApp -> DZ_Wald: S3I-GetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit "dem einen" Submodel Holzliste; submodel_id "{DZ Wald thingID}/Holzliste/1" und BASE64 kodieren DZ_Wald --> DienstleisterApp: S3I-GetValueReply mit "der einen" (noch leeren) Holzliste deactivate DZ_Wald DienstleisterApp -> Dienstleister: UI-Info: "fertig" @@ -151,13 +142,13 @@ DZ_Wald --> DienstleisterApp: S3I-SetValueReply "ok" deactivate DienstleisterApp DZ_Wald -> DZ_Wald: Soll-Ist Vergleich gefälltes Holz note over DZ_Wald #FF0000 -TODO RWTH Was wollten wir hier genau machen -Vgl. von beauftragtem Volumen mit Volumen in Holzliste?! -Steht im Auftrag ein Volumen? +Vergleich Ergebnis (=Holzliste) mit Auftrag (=Mengenschätzung je Sortiment) +Problem: Wir arbeiten in der Demo mit "Standard-Sortimenten" und können +somit keine individuelle Mengenschätzung für den jew. Wald angeben?! end note note over WaldmanagerApp #FF0000 bzgl. Events -TODO Ahmed Event-Demo-Beispiel +TODO Ahmed Event-Demo-Beispiel mit Broker REST API TODO (Christian H.) mit Java-SDK umsetzen end note DZ_Wald -> WaldmanagerApp: S3I-Event-Nachricht (path=/aas/submodels/{submodel_id des Submodells für Arbeitsauftrag}/submodel/submodelElements/Auftragsstatus, timestamp, neuer Wert 150 ("Auftragsende")) @@ -171,11 +162,14 @@ deactivate WaldmanagerApp Waldbesitzer -> WaldmanagerApp: Benutzer wählt in UI Holzliste und fordert Preisbereiche dafür an activate WaldmanagerApp -WaldmanagerApp -> DZ_Wald: S3I-ServiceRequest an DZ Wald auf AAS Operation getHolzpreisbereich(Submodel-Id der Holzliste) +WaldmanagerApp -> DZ_Wald: S3I-ServiceRequest mit InvokeOperationSync an DZ Wald auf AAS Operation getHolzpreisbereich(Submodel-Id der Holzliste als String, *nicht* BASE64-kodiert): String mit prop. Forstify-JSON note over WaldmanagerApp #FF0000 TODO (Ahmed) Beispiel-Aufruf end note activate DZ_Wald +note over DZ_Wald #FF0000 +TODO Ahmed operation einbauen und umsetzen +end note DZ_Wald -> Holzhandelsplattform: REST Call GET: /api/v2/external/priceestimate mit Body Holzliste JSON-serialisiert activate Holzhandelsplattform Holzhandelsplattform --> DZ_Wald: Forstify-proprietäres JSON mit allen Parametern für Holzpreisbereich @@ -220,7 +214,7 @@ activate Holzhandelsplattform TODO erstmal Button bauen der vorgefertigtes Verkauflos in DZ Wald schreibt (Forstify) end note Dienstleister -> Holzhandelsplattform: UI-Aktion: Speichern der Verkaufslose in DZ Wald - Holzhandelsplattform -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit neuem Submodel Verkauflos; submodel_id "s3i:{DZ Wald thingID}/Verkaufslos" und BASE64 kodieren; im Submodel Verkaufslos das Submodel Holzernte referenzieren + Holzhandelsplattform -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id}/submodel) mit neuem Submodel Verkauflos; submodel_id "{DZ Wald thingID}/Verkaufslos/1" und BASE64 kodieren; im Submodel Verkaufslos das Submodel Holzernte referenzieren activate DZ_Wald DZ_Wald --> Holzhandelsplattform: "ok" deactivate DZ_Wald