Ikke aktuelt pga restriksjoner på innhold.
Login request:
+----------------+ +---------------+ +---------------+
| App / client | | App backend | | Drupal (API) |
+-------+--------+ +-------+-------+ +-------+-------+
| | |
| 1. Page request | |
|+------------------------->| 2. No valid app session[1] |
| | Send login request |
| |+-------------------------->|
| | |
| | 3. Return Drupal session |
| 4. Create app session |<--------------------------+|
| Store Drupal session | |
| Return resources | |
| (html, js, img..) | |
|<-------------------------+| |
v v v
API request to Drupal:
+----------------+ +---------------+ +---------------+
| App / client | | App backend | | Drupal (API) |
+-------+--------+ +-------+-------+ +-------+-------+
| | |
| 1. Drupal API request | |
|+------------------------->| 2. Check app session |
| | Proxy /api prefix |
| |+-------------------------->|
| | |
| | 3. Return json result |
|<------------------------------------------------------+|
v v v
API request to App backend and SOLR:
+----------------+ +---------------+ +---------------+
| App / client | | App backend | | Solr |
+-------+--------+ +-------+-------+ +-------+-------+
| | |
| 1. Search request | |
|+------------------------->| 2. Check app session |
| | Solr query |
| |+-------------------------->|
| | |
| | 3. Return result |
| |<--------------------------+|
| 4. Return result | |
|<-------------------------+| |
v v v
API request on messages:
+----------------+ +---------------+ +---------------+
| App / client | | App / redis | | Drupal |
+-------+--------+ +-------+-------+ +-------+-------+
| | |
| 1. Updates? | |
|+------------------------->| 2. Check app session |
| | Subscribe on key |
| |+ - - - - - - - - - - - - ->|
| | |
| | 3. Return result |
| 4. Return result |<- - - - - - - - - - - - - +|
| or HTTP 204 No content | |
|<-------------------------+| |
v v v
Potensielt enklere å forholde seg til oppgraderinger (f.eks 6 - 7) ved å ha en “kontrakt” ift API for backend.