diff options
Diffstat (limited to 'reveal.js/mqprod.html')
| -rw-r--r-- | reveal.js/mqprod.html | 438 |
1 files changed, 219 insertions, 219 deletions
diff --git a/reveal.js/mqprod.html b/reveal.js/mqprod.html index fb3caf8..9aef4bc 100644 --- a/reveal.js/mqprod.html +++ b/reveal.js/mqprod.html | |||
| @@ -1,248 +1,248 @@ | |||
| 1 | <!doctype html> | 1 | <!doctype html> |
| 2 | <html lang="en"> | 2 | <html lang="en"> |
| 3 | <head> | 3 | <head> |
| 4 | <meta charset="utf-8"> | 4 | <meta charset="utf-8"> |
| 5 | <title>Meldingskø for UiO</title> | 5 | <title>Meldingskø for UiO</title> |
| 6 | <meta name="author" content="Kai Vaade, Simeon Simeonov"> | 6 | <meta name="author" content="Kai Vaade, Simeon Simeonov"> |
| 7 | <meta name="apple-mobile-web-app-capable" content="yes"> | 7 | <meta name="apple-mobile-web-app-capable" content="yes"> |
| 8 | <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> | 8 | <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> |
| 9 | 9 | ||
| 10 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 10 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 11 | 11 | ||
| 12 | <link rel="stylesheet" href="dist/reset.css"> | 12 | <link rel="stylesheet" href="dist/reset.css"> |
| 13 | <link rel="stylesheet" href="dist/reveal.css"> | 13 | <link rel="stylesheet" href="dist/reveal.css"> |
| 14 | <link rel="stylesheet" href="dist/theme/serif.css" id="theme"> | 14 | <link rel="stylesheet" href="dist/theme/serif.css" id="theme"> |
| 15 | 15 | ||
| 16 | <!-- Theme used for syntax highlighting of code --> | 16 | <!-- Theme used for syntax highlighting of code --> |
| 17 | <link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme"> | 17 | <link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme"> |
| 18 | </head> | 18 | </head> |
| 19 | <body> | 19 | <body> |
| 20 | <div class="reveal"> | 20 | <div class="reveal"> |
| 21 | 21 | ||
| 22 | <!-- Any section element inside of this container is displayed as a slide --> | 22 | <!-- Any section element inside of this container is displayed as a slide --> |
| 23 | <div class="slides"> | 23 | <div class="slides"> |
| 24 | <section> | 24 | <section> |
| 25 | <h2>Meldingskø for UiO</h2> | 25 | <h2>Meldingskø for UiO</h2> |
| 26 | <p>Utviklerforum 14.12.2017</p> | 26 | <p>Utviklerforum 14.12.2017</p> |
| 27 | <br/> | 27 | <br/> |
| 28 | <p> | 28 | <p> |
| 29 | <small>Kai Vaade (KIA), Simeon Simeonov (INT)</small> | 29 | <small>Kai Vaade (KIA), Simeon Simeonov (INT)</small> |
| 30 | </p> | 30 | </p> |
| 31 | </section> | 31 | </section> |
| 32 | 32 | ||
| 33 | <section> | 33 | <section> |
| 34 | <h2>Agenda</h2> | 34 | <h2>Agenda</h2> |
| 35 | <br/> | 35 | <br/> |
| 36 | <ul> | 36 | <ul> |
| 37 | <li>Administrasjon</li> | 37 | <li>Administrasjon</li> |
| 38 | <li>Roller og entiteter</li> | 38 | <li>Roller og entiteter</li> |
| 39 | <li>Flyt</li> | 39 | <li>Flyt</li> |
| 40 | <li>Rettigheter</li> | 40 | <li>Rettigheter</li> |
| 41 | <li>Q & A</li> | 41 | <li>Q & A</li> |
| 42 | </ul> | 42 | </ul> |
| 43 | </section> | 43 | </section> |
| 44 | 44 | ||
| 45 | <section> | 45 | <section> |
| 46 | <h2>Generelt</h2> | 46 | <h2>Generelt</h2> |
| 47 | </br> | 47 | </br> |
| 48 | <p>Vi bruker RabbitMQ med AMQP 0.9.1 til å utveksle / behandle meldinger (JSON, <a href="https://tools.ietf.org/html/draft-hunt-idevent-scim-00">SCIM</a>)</p> | 48 | <p>Vi bruker RabbitMQ med AMQP 0.9.1 til å utveksle / behandle meldinger (JSON, <a href="https://tools.ietf.org/html/draft-hunt-idevent-scim-00">SCIM</a>)</p> |
| 49 | <p>Bruk av message-broker startet i 2015. I produksjon siden høsten 2017.</p> | 49 | <p>Bruk av message-broker startet i 2015. I produksjon siden høsten 2017.</p> |
| 50 | <p>Driftes av KIA.</p> | 50 | <p>Driftes av KIA.</p> |
| 51 | </section> | 51 | </section> |
| 52 | 52 | ||
| 53 | <section> | 53 | <section> |
| 54 | <h2>Administrasjon</h2> | 54 | <h2>Administrasjon</h2> |
| 55 | <p>Cerebrum har brukt MQ et års tid på egen server satt opp av Seksjon for integrasjon og elektroniske identiteter (USITINT).</p> | 55 | <p>Cerebrum har brukt MQ et års tid på egen server satt opp av Seksjon for integrasjon og elektroniske identiteter (USITINT).</p> |
| 56 | <p>Nå er driften av tjenesten flyttet fra prosjektet og inn i linja, Gruppe for drift av katalog-, integrasjon- og autentiseringstjenester (KIA).</p> | 56 | <p>Nå er driften av tjenesten flyttet fra prosjektet og inn i linja, Gruppe for drift av katalog-, integrasjon- og autentiseringstjenester (KIA).</p> |
| 57 | </section> | 57 | </section> |
| 58 | 58 | ||
| 59 | <section> | 59 | <section> |
| 60 | <h2>Administrasjon (forts...)</h2> | 60 | <h2>Administrasjon (forts...)</h2> |
| 61 | <p>Vi har softlaunchet meldingskø-tjenesten i høst. Tjenesten er ikke "offisielt" lansert, kjører kun våre egne ting (Cerebrum/SAP) foreløpig.</p> | 61 | <p>Vi har softlaunchet meldingskø-tjenesten i høst. Tjenesten er ikke "offisielt" lansert, kjører kun våre egne ting (Cerebrum/SAP) foreløpig.</p> |
| 62 | <p>Antakelig gjør vi tjenesten kjent samtidig som et annet delprosjekt (API Manager) i UiO INTARK lanseres i nær fremtid.</p> | 62 | <p>Antakelig gjør vi tjenesten kjent samtidig som et annet delprosjekt (API Manager) i UiO INTARK lanseres i nær fremtid.</p> |
| 63 | </section> | 63 | </section> |
| 64 | 64 | ||
| 65 | <section> | 65 | <section> |
| 66 | <h2>Administrasjon (forts...)</h2> | 66 | <h2>Administrasjon (forts...)</h2> |
| 67 | <p>Foreløpig så har vi ikke så veldig mye erfaring med tjenesten i linja.</p> | 67 | <p>Foreløpig så har vi ikke så veldig mye erfaring med tjenesten i linja.</p> |
| 68 | <p>Vi vet heller ikke så mye om behovet; dvs hvor mange som kommer til å bruke tjenesten.</p> | 68 | <p>Vi vet heller ikke så mye om behovet; dvs hvor mange som kommer til å bruke tjenesten.</p> |
| 69 | </section> | 69 | </section> |
| 70 | 70 | ||
| 71 | <section> | 71 | <section> |
| 72 | <h2>Administrasjon (forts...)</h2> | 72 | <h2>Administrasjon (forts...)</h2> |
| 73 | <p>Hvordan kontakte oss:</p> | 73 | <p>Hvordan kontakte oss:</p> |
| 74 | <p><a href="https://www.usit.uio.no/om/organisasjon/iti/td/kia/dokumentasjon/meldingsko/" target="_blank">https://www.usit.uio.no/om/organisasjon/iti/td/kia/dokumentasjon/meldingsko/</a></p> | 74 | <p><a href="https://www.usit.uio.no/om/organisasjon/iti/td/kia/dokumentasjon/meldingsko/" target="_blank">https://www.usit.uio.no/om/organisasjon/iti/td/kia/dokumentasjon/meldingsko/</a></p> |
| 75 | <p>Tilgang til grensesnittet: <a href="https://mq.uio.no/">https://mq.uio.no</a></p> | 75 | <p>Tilgang til grensesnittet: <a href="https://mq.uio.no/">https://mq.uio.no</a></p> |
| 76 | </section> | 76 | </section> |
| 77 | 77 | ||
| 78 | <section> | 78 | <section> |
| 79 | <h2>Roller og entiteter</h2> | 79 | <h2>Roller og entiteter</h2> |
| 80 | <ul> | 80 | <ul> |
| 81 | <p>Roller:</p> | 81 | <p>Roller:</p> |
| 82 | <li>Administrator / Manager</li> | 82 | <li>Administrator / Manager</li> |
| 83 | <li>Consumer / Konsument</li> | 83 | <li>Consumer / Konsument</li> |
| 84 | <li>Publisher / Publisist :)</li> | 84 | <li>Publisher / Publisist :)</li> |
| 85 | <p>Entiteter:</p> | 85 | <p>Entiteter:</p> |
| 86 | <li>vhost</li> | 86 | <li>vhost</li> |
| 87 | <li>Exchange (direct, fanout, topic, ...)</li> | 87 | <li>Exchange (direct, fanout, topic, ...)</li> |
| 88 | <li>Kø (transient, durable)</li> | 88 | <li>Kø (transient, durable)</li> |
| 89 | <li>Binding</li> | 89 | <li>Binding</li> |
| 90 | </ul> | 90 | </ul> |
| 91 | </section> | 91 | </section> |
| 92 | 92 | ||
| 93 | <section> | 93 | <section> |
| 94 | <h2>Flyt</h2> | 94 | <h2>Flyt</h2> |
| 95 | </br> | 95 | </br> |
| 96 | <img src="images/mqprod/flow01.png"></img> | 96 | <img src="images/mqprod/flow01.png"></img> |
| 97 | </section> | 97 | </section> |
| 98 | 98 | ||
| 99 | <section> | 99 | <section> |
| 100 | <h2>Rettigheter</h2> | 100 | <h2>Rettigheter</h2> |
| 101 | <p>RabbitMQ implementerer 2 rettighetsnivåer: per <em>vhost</em> og per entitet</p> | 101 | <p>RabbitMQ implementerer 2 rettighetsnivåer: per <em>vhost</em> og per entitet</p> |
| 102 | <p>RabbitMQ (AMQP) definerer 3 typer operasjoner:</p> | 102 | <p>RabbitMQ (AMQP) definerer 3 typer operasjoner:</p> |
| 103 | <ul> | 103 | <ul> |
| 104 | <li><p><em>configure</em> - opprette / slette entiteter eller endre deres oppførsel</p></li> | 104 | <li><p><em>configure</em> - opprette / slette entiteter eller endre deres oppførsel</p></li> |
| 105 | <li><p><em>write</em> - skrive melding til en entitet</p></li> | 105 | <li><p><em>write</em> - skrive melding til en entitet</p></li> |
| 106 | <li><p><em>read</em> - lese melding fra entitet</p></li> | 106 | <li><p><em>read</em> - lese melding fra entitet</p></li> |
| 107 | </ul> | 107 | </ul> |
| 108 | </section> | 108 | </section> |
| 109 | 109 | ||
| 110 | <section> | 110 | <section> |
| 111 | <h2>Rettigheter og brukere</h2> | 111 | <h2>Rettigheter og brukere</h2> |
| 112 | <p>RabbitMQ bruker <em>regular expressions</em> til å definere rettigheter</p> | 112 | <p>RabbitMQ bruker <em>regular expressions</em> til å definere rettigheter</p> |
| 113 | <ul> | 113 | <ul> |
| 114 | <li><p><small><em>rabbitmqctl add_user cerebrum <passord></em></small></p></li> | 114 | <li><p><small><em>rabbitmqctl add_user cerebrum <passord></em></small></p></li> |
| 115 | <li><p><small><em>rabbitmqctl add_user uio_ad_microservice <passord></em></small></p></li> | 115 | <li><p><small><em>rabbitmqctl add_user uio_ad_microservice <passord></em></small></p></li> |
| 116 | <li><p><small><em>rabbitmqctl set_permissions -p /no/uio/integration cerebrum "^$" "^ex_.*" "^$"</em></small></p></li> | 116 | <li><p><small><em>rabbitmqctl set_permissions -p /no/uio/integration cerebrum "^$" "^ex_.*" "^$"</em></small></p></li> |
| 117 | <li><p><small><em>rabbitmqctl set_permissions -p /no/uio/integration uio_ad_microservice "^q_ad_ms_.*" "^q_ad_ms_.*" "^(ex_messages|q_ad_ms_.*)$"</em></small></p></li> | 117 | <li><p><small><em>rabbitmqctl set_permissions -p /no/uio/integration uio_ad_microservice "^q_ad_ms_.*" "^q_ad_ms_.*" "^(ex_messages|q_ad_ms_.*)$"</em></small></p></li> |
| 118 | </ul> | 118 | </ul> |
| 119 | </section> | 119 | </section> |
| 120 | 120 | ||
| 121 | <section> | 121 | <section> |
| 122 | <h2><em>Routing keys</em> i <em>topic exchange</em></h2> | 122 | <h2><em>Routing keys</em> i <em>topic exchange</em></h2> |
| 123 | <p><em>Routing key</em> settes av sender som en del av meldingen og blir inspisert av brokeren dersom meldingen sendes til en <em>topic exchange</em>.</p> | 123 | <p><em>Routing key</em> settes av sender som en del av meldingen og blir inspisert av brokeren dersom meldingen sendes til en <em>topic exchange</em>.</p> |
| 124 | <p>Strukturen til en topic / message routing key er:</p> | 124 | <p>Strukturen til en topic / message routing key er:</p> |
| 125 | <p><small><kilde>.<type>.<objekt>.<hendelse></small></p> | 125 | <p><small><kilde>.<type>.<objekt>.<hendelse></small></p> |
| 126 | <p>F.eks.:</p> | 126 | <p>F.eks.:</p> |
| 127 | <p><small>cerebrum.event.person.delete</small></p> | 127 | <p><small>cerebrum.event.person.delete</small></p> |
| 128 | </section> | 128 | </section> |
| 129 | 129 | ||
| 130 | <section> | 130 | <section> |
| 131 | <h3>Dokumentasjon og lenker</h3> | 131 | <h3>Dokumentasjon og lenker</h3> |
| 132 | <p> | 132 | <p> |
| 133 | RabbitMQ: | 133 | RabbitMQ: |
| 134 | </p> | 134 | </p> |
| 135 | <ul> | 135 | <ul> |
| 136 | <li> | 136 | <li> |
| 137 | <p> | 137 | <p> |
| 138 | <small> | 138 | <small> |
| 139 | <a href="http://www.rabbitmq.com">http://www.rabbitmq.com</a> - RabbitMQ sin offisielle side | 139 | <a href="http://www.rabbitmq.com">http://www.rabbitmq.com</a> - RabbitMQ sin offisielle side |
| 140 | </small> | 140 | </small> |
| 141 | </li> | 141 | </li> |
| 142 | <li> | 142 | <li> |
| 143 | <p> | 143 | <p> |
| 144 | <small> | 144 | <small> |
| 145 | <a href="http://www.rabbitmq.com/configure.html">http://www.rabbitmq.com/configure.html</a> - Generell konfigurasjon av RabbitMQ | 145 | <a href="http://www.rabbitmq.com/configure.html">http://www.rabbitmq.com/configure.html</a> - Generell konfigurasjon av RabbitMQ |
| 146 | </small> | 146 | </small> |
| 147 | </li> | 147 | </li> |
| 148 | <li> | 148 | <li> |
| 149 | <p> | 149 | <p> |
| 150 | <small> | 150 | <small> |
| 151 | <a href="http://www.rabbitmq.com/management.html">http://www.rabbitmq.com/management.html</a> - Bruk av rabbitmq_management plugin i RabbitMQ | 151 | <a href="http://www.rabbitmq.com/management.html">http://www.rabbitmq.com/management.html</a> - Bruk av rabbitmq_management plugin i RabbitMQ |
| 152 | </small> | 152 | </small> |
| 153 | </li> | 153 | </li> |
| 154 | <li> | 154 | <li> |
| 155 | <p> | 155 | <p> |
| 156 | <small> | 156 | <small> |
| 157 | <a href="http://www.rabbitmq.com/access-control.html">http://www.rabbitmq.com/access-control.html</a> - Tilgangskontroll i RabbitMQ | 157 | <a href="http://www.rabbitmq.com/access-control.html">http://www.rabbitmq.com/access-control.html</a> - Tilgangskontroll i RabbitMQ |
| 158 | </small> | 158 | </small> |
| 159 | </li> | 159 | </li> |
| 160 | <li> | 160 | <li> |
| 161 | <p> | 161 | <p> |
| 162 | <small> | 162 | <small> |
| 163 | <a href="http://www.rabbitmq.com/man/rabbitmqctl.1.man.html">http://www.rabbitmq.com/man/rabbitmqctl.1.man.html</a> - rabbitmqctl manual side | 163 | <a href="http://www.rabbitmq.com/man/rabbitmqctl.1.man.html">http://www.rabbitmq.com/man/rabbitmqctl.1.man.html</a> - rabbitmqctl manual side |
| 164 | </small> | 164 | </small> |
| 165 | </li> | 165 | </li> |
| 166 | <li> | 166 | <li> |
| 167 | <p> | 167 | <p> |
| 168 | <small> | 168 | <small> |
| 169 | <a href="http://www.rabbitmq.com/tutorials/amqp-concepts.html">http://www.rabbitmq.com/tutorials/amqp-concepts.html</a> - Generelt om AMQP og forskjellige exchanges | 169 | <a href="http://www.rabbitmq.com/tutorials/amqp-concepts.html">http://www.rabbitmq.com/tutorials/amqp-concepts.html</a> - Generelt om AMQP og forskjellige exchanges |
| 170 | </small> | 170 | </small> |
| 171 | </li> | 171 | </li> |
| 172 | </ul> | 172 | </ul> |
| 173 | </section> | 173 | </section> |
| 174 | 174 | ||
| 175 | <section> | 175 | <section> |
| 176 | <h3>Dokumentasjon og lenker</h3> | 176 | <h3>Dokumentasjon og lenker</h3> |
| 177 | <p> | 177 | <p> |
| 178 | UiO: | 178 | UiO: |
| 179 | </p> | 179 | </p> |
| 180 | <ul> | 180 | <ul> |
| 181 | <li> | 181 | <li> |
| 182 | <p> | 182 | <p> |
| 183 | <small> | 183 | <small> |
| 184 | <a href="http://www.usit.uio.no/om/tjenestegrupper/cerebrum/utvikling/dokumentasjon/tools/rabbitmq.html">Installasjon og oppsett av RabbitMQ for Cerebrum utviklere</a> | 184 | <a href="http://www.usit.uio.no/om/tjenestegrupper/cerebrum/utvikling/dokumentasjon/tools/rabbitmq.html">Installasjon og oppsett av RabbitMQ for Cerebrum utviklere</a> |
| 185 | </small> | 185 | </small> |
| 186 | </li> | 186 | </li> |
| 187 | <li> | 187 | <li> |
| 188 | <p> | 188 | <p> |
| 189 | <small> | 189 | <small> |
| 190 | <a href="http://www.usit.uio.no/om/tjenestegrupper/cerebrum/utvikling/aktiviteter/office365-uia/broker/rabbitmq.html">Oppsett av RabbitMQ for Office365 integrasjon mot UiA</a> | 190 | <a href="http://www.usit.uio.no/om/tjenestegrupper/cerebrum/utvikling/aktiviteter/office365-uia/broker/rabbitmq.html">Oppsett av RabbitMQ for Office365 integrasjon mot UiA</a> |
| 191 | </small> | 191 | </small> |
| 192 | </li> | 192 | </li> |
| 193 | <li> | 193 | <li> |
| 194 | <p> | 194 | <p> |
| 195 | <small> | 195 | <small> |
| 196 | <a href="https://www.usit.uio.no/om/organisasjon/uav/usitint/interndokumentasjon/integrasjon/broker/utredning-meldingsflyt.html">Utredning: Meldingsflyt, kø-struktur og navngiving</a> (intern) | 196 | <a href="https://www.usit.uio.no/om/organisasjon/uav/usitint/interndokumentasjon/integrasjon/broker/utredning-meldingsflyt.html">Utredning: Meldingsflyt, kø-struktur og navngiving</a> (intern) |
| 197 | </small> | 197 | </small> |
| 198 | </li> | 198 | </li> |
| 199 | </ul> | 199 | </ul> |
| 200 | <p> | 200 | <p> |
| 201 | Bøker: | 201 | Bøker: |
| 202 | </p> | 202 | </p> |
| 203 | <ul> | 203 | <ul> |
| 204 | <li> | 204 | <li> |
| 205 | <p> | 205 | <p> |
| 206 | <small> | 206 | <small> |
| 207 | RabbitMQ in action - Alvaro Videla / Jason J.W. Williams - 2012 - Manning | 207 | RabbitMQ in action - Alvaro Videla / Jason J.W. Williams - 2012 - Manning |
| 208 | </small> | 208 | </small> |
| 209 | </li> | 209 | </li> |
| 210 | <li> | 210 | <li> |
| 211 | <p> | 211 | <p> |
| 212 | <small> | 212 | <small> |
| 213 | Mastering RabbitMQ - Ayanoglu / Aytas / Nahum - 2015 - PACKT Publishing | 213 | Mastering RabbitMQ - Ayanoglu / Aytas / Nahum - 2015 - PACKT Publishing |
| 214 | </small> | 214 | </small> |
| 215 | </li> | 215 | </li> |
| 216 | </section> | 216 | </section> |
| 217 | 217 | ||
| 218 | <section> | 218 | <section> |
| 219 | <h1>Q & A</h1> | 219 | <h1>Q & A</h1> |
| 220 | </section> | 220 | </section> |
| 221 | 221 | ||
| 222 | </div> | 222 | </div> |
| 223 | </div> | 223 | </div> |
| 224 | 224 | ||
| 225 | <script src="dist/reveal.js"></script> | 225 | <script src="dist/reveal.js"></script> |
| 226 | <script src="plugin/zoom/zoom.js"></script> | 226 | <script src="plugin/zoom/zoom.js"></script> |
| 227 | <script src="plugin/notes/notes.js"></script> | 227 | <script src="plugin/notes/notes.js"></script> |
| 228 | <script src="plugin/search/search.js"></script> | 228 | <script src="plugin/search/search.js"></script> |
| 229 | <script src="plugin/markdown/markdown.js"></script> | 229 | <script src="plugin/markdown/markdown.js"></script> |
| 230 | <script src="plugin/highlight/highlight.js"></script> | 230 | <script src="plugin/highlight/highlight.js"></script> |
| 231 | <script> | 231 | <script> |
| 232 | 232 | ||
| 233 | // Also available as an ES module, see: | 233 | // Also available as an ES module, see: |
| 234 | // https://revealjs.netlify.app/initialization/ | 234 | // https://revealjs.com/initialization/ |
| 235 | Reveal.initialize({ | 235 | Reveal.initialize({ |
| 236 | controls: true, | 236 | controls: true, |
| 237 | progress: true, | 237 | progress: true, |
| 238 | center: true, | 238 | center: true, |
| 239 | hash: true, | 239 | hash: true, |
| 240 | 240 | ||
| 241 | // Learn about plugins: https://revealjs.netlify.app/plugins/ | 241 | // Learn about plugins: https://revealjs.com/plugins/ |
| 242 | plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ] | 242 | plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ] |
| 243 | }); | 243 | }); |
| 244 | 244 | ||
| 245 | </script> | 245 | </script> |
| 246 | 246 | ||
| 247 | </body> | 247 | </body> |
| 248 | </html> | 248 | </html> |
