REPO-3176: Initial copy of community pages from architecture map and collapsed index page
BIN
docs/messaging/queue/resource/component/message-format.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
11
docs/messaging/queue/resource/component/message-format.puml
Normal file
@@ -0,0 +1,11 @@
|
||||
@startuml
|
||||
|
||||
entity "Object" as O
|
||||
|
||||
frame "AMQP Message" as M {
|
||||
frame header as H
|
||||
frame "body (JSON)" as B
|
||||
}
|
||||
|
||||
O <.--.> B
|
||||
@enduml
|
After Width: | Height: | Size: 46 KiB |
@@ -0,0 +1,42 @@
|
||||
@startuml
|
||||
|
||||
title Components Sharing a Model
|
||||
|
||||
left to right direction
|
||||
|
||||
node "Message Broker" as MB {
|
||||
queue "Model Topic\nEndpoint" as MTE #white
|
||||
}
|
||||
|
||||
database "NoSQL\n(Schema Data)" as DB1
|
||||
database "NoSQL\n(Metadata)" as DB2
|
||||
database "Solr 6.x" as Solr
|
||||
|
||||
node "API Gateway" as AG
|
||||
node "Model\nService" as MS {
|
||||
node "REST API" as API
|
||||
node "Message Producer" as MP
|
||||
}
|
||||
node "Search Service" as SS {
|
||||
node "Message Consumer" as L1
|
||||
}
|
||||
|
||||
node "Repository\nService" as R {
|
||||
node "Message Consumer" as L2
|
||||
}
|
||||
|
||||
node "Model Manager App" as MMA
|
||||
actor "user" as U
|
||||
|
||||
MS <-> DB1 : read/write model
|
||||
MP -> MTE : model\nchanged message
|
||||
R <-> DB2 : read/write metadata
|
||||
SS <-> Solr : read/write
|
||||
L1 <- MTE : model\nchanged message
|
||||
L2 <- MTE : model\nchanged message
|
||||
MMA -> AG : get/put model
|
||||
AG -> API : get/put model
|
||||
U <-> MMA : design model
|
||||
|
||||
|
||||
@enduml
|
BIN
docs/messaging/queue/resource/component/queue-components.png
Normal file
After Width: | Height: | Size: 35 KiB |
@@ -0,0 +1,41 @@
|
||||
@startuml
|
||||
|
||||
Title Queue Components
|
||||
|
||||
left to right direction
|
||||
|
||||
actor "Administrator" as A
|
||||
node "Queue Service" as Q {
|
||||
node "REST API" as R1 #white
|
||||
node "Spring Boot" as SB #white
|
||||
}
|
||||
|
||||
node "Message Broker" as MB {
|
||||
queue "Topic\nEndpoint" as R2 #white
|
||||
}
|
||||
|
||||
|
||||
node "Message Producer" as MP
|
||||
|
||||
node "Message Consumer" as MC1
|
||||
node "Message Consumer" as MC2
|
||||
node "Message Consumer" as MC3
|
||||
node "Message Consumer" as MC4
|
||||
|
||||
A-->SB: starts/stops
|
||||
A-->R1: configures
|
||||
Q-->R2: starts/stops broker
|
||||
Q-->R2: configures
|
||||
MP<--R1: get Topics
|
||||
MP-->R2: sends message to Topic
|
||||
R2-->MC1: gets message
|
||||
R2-->MC2: gets message
|
||||
R2-->MC3: gets message
|
||||
R2-->MC4: gets message
|
||||
R2<--MC1: subscribes
|
||||
R2<--MC2: subscribes
|
||||
R2<--MC3: subscribes
|
||||
R2<--MC4: subscribes
|
||||
'R2-T
|
||||
|
||||
@enduml
|
After Width: | Height: | Size: 638 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 1.2 MiB |
BIN
docs/messaging/queue/resource/sequence/jms-amqp-client.png
Normal file
After Width: | Height: | Size: 53 KiB |
52
docs/messaging/queue/resource/sequence/jms-amqp-client.puml
Normal file
@@ -0,0 +1,52 @@
|
||||
@startuml
|
||||
|
||||
Title: Mix of AMQP and JMS Messaging Clients
|
||||
|
||||
actor "User\n" as U
|
||||
participant "Python App\n(Apache Qpid App)" as PA
|
||||
participant "Simple File Share" as SFS
|
||||
participant "API Gateway" as AG
|
||||
participant "Repository Service" as RS
|
||||
participant "File Topic" as FT
|
||||
database "Content Repository" as CR
|
||||
|
||||
autonumber
|
||||
PA->FT: Subscribe to Topic
|
||||
U->SFS: Uploads a File
|
||||
activate SFS
|
||||
SFS->AG: HTTP POST\nFile
|
||||
activate AG
|
||||
AG->RS: HTTP POST\nStore file
|
||||
activate RS
|
||||
RS->CR: Store file
|
||||
activate CR
|
||||
CR->RS: File stored
|
||||
deactivate CR
|
||||
RS->FT: Write message (JMS)
|
||||
activate FT
|
||||
note right of FT
|
||||
alf-file-upload-message
|
||||
end note
|
||||
FT->RS: Message written
|
||||
deactivate FT
|
||||
RS->AG: 200 Content uploaded
|
||||
deactivate RS
|
||||
AG->SFS: 200 Content created
|
||||
deactivate AG
|
||||
SFS->U: File uploaded
|
||||
deactivate SFS
|
||||
|
||||
group Message Processed\nBy Python App
|
||||
autonumber 8
|
||||
PA->FT: Read Message (AMQP)
|
||||
note right of FT
|
||||
alf-file-upload-message
|
||||
end note
|
||||
activate FT
|
||||
FT->PA: Message content
|
||||
deactivate FT
|
||||
PA->PA: Process message
|
||||
PA->FT: wait on next message (AMQP)
|
||||
end
|
||||
|
||||
@enduml
|
BIN
docs/messaging/queue/resource/sequence/model-created-flow.png
Normal file
After Width: | Height: | Size: 76 KiB |
@@ -0,0 +1,77 @@
|
||||
@startuml
|
||||
|
||||
Title: Flow for Model Creation Message
|
||||
|
||||
actor "User\n" as U
|
||||
participant "Model Manager App" as MMA
|
||||
participant "API Gateway" as AG
|
||||
participant "Search Service" as SS
|
||||
participant "Model Service" as MS
|
||||
participant "Repository Service" as RS
|
||||
participant "Model Topic" as MT
|
||||
database "Solr Index" as SI
|
||||
database "Content Repository" as CR
|
||||
database "Model Database" as MD
|
||||
|
||||
autonumber
|
||||
U->MMA: Creates a New Content Model
|
||||
activate MMA
|
||||
MMA->AG: HTTP POST\nStore model
|
||||
activate AG
|
||||
AG->MS: HTTP POST\nStore model
|
||||
activate MS
|
||||
MS->MD: Store model
|
||||
activate MD
|
||||
note right of MD
|
||||
NoSQL Database
|
||||
end note
|
||||
MD->MS: Model stored
|
||||
deactivate MD
|
||||
MS->MT: Write message
|
||||
activate MT
|
||||
note right of MT
|
||||
alf-model-created-message
|
||||
end note
|
||||
MT->MS: Message written
|
||||
deactivate MT
|
||||
MS->AG: 201 Content created
|
||||
deactivate MS
|
||||
AG->MMA: 201 Content created
|
||||
deactivate AG
|
||||
MMA->U: Model created
|
||||
deactivate MMA
|
||||
|
||||
group Message Processed\nBy Repository Service
|
||||
autonumber 7
|
||||
RS->MT: Read message
|
||||
activate MT
|
||||
note right of MT
|
||||
alf-model-created-message
|
||||
end note
|
||||
MT->RS: Message content
|
||||
deactivate MT
|
||||
RS->RS: Process model
|
||||
RS->CR: Store model
|
||||
activate CR
|
||||
CR->RS: Model stored
|
||||
deactivate CR
|
||||
end
|
||||
|
||||
group Message Processed\nBy Search Service
|
||||
autonumber 7
|
||||
SS->MT: Read message
|
||||
activate MT
|
||||
note right of MT
|
||||
alf-model-created-message
|
||||
end note
|
||||
MT->SS: Message content
|
||||
deactivate MT
|
||||
SS->SS: Process model
|
||||
SS->SI: Store model
|
||||
activate SI
|
||||
SI->SS: Model stored
|
||||
deactivate SI
|
||||
end
|
||||
|
||||
|
||||
@enduml
|