Skip to content
Snippets Groups Projects
Commit dc20c0c1 authored by Martin Hoppen's avatar Martin Hoppen
Browse files

Erste Umsetzungsschritte in Demo-Feinspezifikation

parent fc6dd043
No related branches found
No related tags found
No related merge requests found
Pipeline #300486 passed
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
' - wie werden Nachrichten modelliert und worüber versendet? ' - wie werden Nachrichten modelliert und worüber versendet?
skinparam maxMessageSize 120 skinparam maxMessageSize 120
skinparam wrapWidth 200
box #LightBlue box #LightBlue
participant Waldbesitzer participant Waldbesitzer
...@@ -128,42 +129,65 @@ deactivate WaldmanagerApp ...@@ -128,42 +129,65 @@ deactivate WaldmanagerApp
== OPTIONAL: Preisangebote einholen (vor oder nach Einschlag) == == OPTIONAL: Preisangebote einholen (vor oder nach Einschlag) ==
Waldbesitzer -> WaldmanagerApp: Preisbereiche für stehendes Holz / Holzlisten anfragen Waldbesitzer -> WaldmanagerApp: Benutzer wählt in UI Holzliste und fordert Preisbereiche dafür an
activate WaldmanagerApp activate WaldmanagerApp
WaldmanagerApp -> DZ_Wald: Preisbereiche für stehendes Holz / Holzlisten anfragen WaldmanagerApp -> DZ_Wald: S3I-ServiceRequest an DZ Wald auf AAS Operation getHolzpreisbereich(Submodel-Id der Holzliste)
activate DZ_Wald activate DZ_Wald
DZ_Wald -> Holzhandelsplattform: Gesuche/Preise/Angebote passend zu stehendem Holz / Holzlisten abrufen DZ_Wald -> Holzhandelsplattform: REST Call GET: /api/v2/external/priceestimate
activate Holzhandelsplattform activate Holzhandelsplattform
Holzhandelsplattform --> DZ_Wald: Liste von Gesuchen/Preisen/Angeboten/SEC.Holzpreisbereiche Holzhandelsplattform --> DZ_Wald: Forstify-proprietäres JSON mit allen Parametern für Holzpreisbereich
deactivate Holzhandelsplattform deactivate Holzhandelsplattform
DZ_Wald -> DZ_Wald: Liste von Gesuchen/Preisen/Angeboten auswerten, d.h. SEC.Holzpreisbereiche anlegen note over DZ_Wald
DZ_Wald --> WaldmanagerApp: Fertig / Holzpreisbereiche {
"Baumart": "kie",
"PreisVon": 14500,
"PreisBis": 14500,
"Sorte": "st",
"MittendurchmesserVon": "d2b",
"MittendurchmesserBis": "d5",
"Datum": "8/4/2023, 10:56:39 AM",
"Quelle": "Forstify Marktplatz Angebote"
}
end note
DZ_Wald -> DZ_Wald: Einlesen des prop. Forstify-JSON; Anlegen einer SMEC Holzpreisbereich in Submodel Holzpreisbereiche (ggf. Erzeugen); Verknüpfung mit zugehöriger Holzliste
DZ_Wald --> WaldmanagerApp: S3I-ServiceReply "ok"
note over DZ_Wald #FF0000
TODO: Welches Rückgabeformat bevorzugt ForestManager?
end note
deactivate DZ_Wald deactivate DZ_Wald
WaldmanagerApp --> Waldbesitzer: Fertig / Holzpreisbereiche WaldmanagerApp --> Waldbesitzer: UI-Anzeige des Holzpreisbereichs in ForestManager
deactivate WaldmanagerApp deactivate WaldmanagerApp
deactivate Waldbesitzer
== Holzangebot via Holzhandelsplattform erstellen & einstellen == == Holzangebot via Holzhandelsplattform erstellen & einstellen ==
Waldbesitzer -> Holzhandelsplattform: (S3I) Login Dienstleister -> Holzhandelsplattform: S3I-Login
'Holzliste zum Verkauf veröffentlichen! 'Holzliste zum Verkauf veröffentlichen!
activate Holzhandelsplattform activate Holzhandelsplattform
activate Waldbesitzer activate Dienstleister
Waldbesitzer -> Holzhandelsplattform: Freigabe für DZ Wald erteilen note over Dienstleister #FF0000
activate Holzhandelsplattform TODO Autorisierung auf Basis der HMI der Person (=ThingID) oder der Person selbst (=PersonID)?
Holzhandelsplattform -> DZ_Wald: Get Holzlisten-Daten end note
Dienstleister -> Holzhandelsplattform: Dienstleister wählt in UI von Forstify im Profil die Funktion "Alle Holzlisten von Wald des Waldbesitzers abrufen"
note over Dienstleister
Vollständig sauber müsste der Dienstleister an dieser Stelle über das S3I-Dir nach dem entsprechenden Waldbesitzer und dessen DZ Wald suchen und dann den richtigen auswählen. Aktuell hart verdrahtet.
end note
note over Dienstleister #FF0000
TODO attributePath für Abruf *aller* Holzlisten? Evtl. Suche nach allen SM mit bestimmter SemanticId möglich?
end note
Holzhandelsplattform -> DZ_Wald: S3I-GetValueRequest an DZ Wald mit
activate DZ_Wald activate DZ_Wald
DZ_Wald --> Holzhandelsplattform: Holzlisten-Daten DZ_Wald --> Holzhandelsplattform: Holzlisten-Daten
deactivate DZ_Wald deactivate DZ_Wald
Holzhandelsplattform --> Waldbesitzer: Ok! Holzhandelsplattform --> Dienstleister: Ok!
deactivate Holzhandelsplattform Dienstleister -> Holzhandelsplattform: Verkaufslose bilden, Preise etc. eingeben
Waldbesitzer -> Holzhandelsplattform: Verkaufslose bilden, Preise etc. eingeben
Holzhandelsplattform -> Holzhandelsplattform: Verkauflose bilden Holzhandelsplattform -> Holzhandelsplattform: Verkauflose bilden
Holzhandelsplattform -> DZ_Wald: Put Verkaufslose, verknüpfe Holzlisten Holzhandelsplattform -> DZ_Wald: Put Verkaufslose, verknüpfe Holzlisten
activate DZ_Wald activate DZ_Wald
DZ_Wald --> Holzhandelsplattform: Fertig DZ_Wald --> Holzhandelsplattform: Fertig
deactivate DZ_Wald deactivate DZ_Wald
Holzhandelsplattform --> Waldbesitzer: Fertig Holzhandelsplattform --> Dienstleister: Fertig
deactivate Waldbesitzer deactivate Dienstleister
Käufer <-> Holzhandelsplattform: Interaktion... Käufer <-> Holzhandelsplattform: Interaktion...
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope. note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
...@@ -177,54 +201,10 @@ activate Holzhandelsplattform ...@@ -177,54 +201,10 @@ activate Holzhandelsplattform
DZ_Wald -> WaldmanagerApp: Update Verkaufsstatus in Verkaufslos (Benachrichtigung / Event?) DZ_Wald -> WaldmanagerApp: Update Verkaufsstatus in Verkaufslos (Benachrichtigung / Event?)
deactivate DZ_Wald deactivate DZ_Wald
activate WaldmanagerApp activate WaldmanagerApp
WaldmanagerApp -> Waldbesitzer: Verkaufsstatus WaldmanagerApp -> Dienstleister: Verkaufsstatus
deactivate WaldmanagerApp deactivate WaldmanagerApp
deactivate Käufer deactivate Käufer
deactivate Holzhandelsplattform deactivate Holzhandelsplattform
== VARIANTE: Holzangebot via Dienstleister-App erstellen & einstellen ==
note over DZ_Wald #FF0000
TODO Igor nochmal anpassen
end note
Waldbesitzer -> DienstleisterApp: (S3I) Login
activate Waldbesitzer
activate DienstleisterApp
Waldbesitzer -> DienstleisterApp: Freigabe für DZ Wald erteilen
activate DienstleisterApp
DienstleisterApp -> DZ_Wald: Get Holzlisten-Daten
activate DZ_Wald
DZ_Wald --> DienstleisterApp: Holzlisten-Daten
deactivate DZ_Wald
DienstleisterApp --> Waldbesitzer: Ok!
deactivate DienstleisterApp
Waldbesitzer -> DienstleisterApp: Preise etc. eingeben
note right: Dienstleister kann Holzlisten von versch. Waldbesitzer holen und daraus Verkaufslose bilden
DienstleisterApp -> DienstleisterApp: Verkauflose bilden
DienstleisterApp <-> Holzhandelsplattform: Verkauflose veröffentlichen (Optional)
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
DienstleisterApp --> Waldbesitzer: Fertig
deactivate Waldbesitzer
Käufer <-> DienstleisterApp: Interaktion...
activate DienstleisterApp
activate Käufer
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
DienstleisterApp -> DZ_Wald: Get Holzlistenstatus in HolzlisteSubmodel
activate DZ_Wald
DienstleisterApp <-- DZ_Wald: Holzlistenstatus
deactivate DZ_Wald
Käufer <-> DienstleisterApp: Interaktion...
DienstleisterApp -> DZ_Wald: Update Holzlistenstatus in HolzlisteSubmodel
activate DZ_Wald
DZ_Wald -> WaldmanagerApp: Update Holzlistenstatus in HolzlisteSubmodel (Benachrichtigung / Event?)
deactivate DZ_Wald
activate WaldmanagerApp
WaldmanagerApp -> Waldbesitzer: Holzlistenstatus
deactivate WaldmanagerApp
deactivate Käufer
deactivate DienstleisterApp
@enduml @enduml
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment