summaryrefslogtreecommitdiff
path: root/reveal.js/mqprod.html
diff options
context:
space:
mode:
Diffstat (limited to 'reveal.js/mqprod.html')
-rw-r--r--reveal.js/mqprod.html248
1 files changed, 0 insertions, 248 deletions
diff --git a/reveal.js/mqprod.html b/reveal.js/mqprod.html
deleted file mode 100644
index 9aef4bc..0000000
--- a/reveal.js/mqprod.html
+++ /dev/null
@@ -1,248 +0,0 @@
1<!doctype html>
2<html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <title>Meldingskø for UiO</title>
6 <meta name="author" content="Kai Vaade, Simeon Simeonov">
7 <meta name="apple-mobile-web-app-capable" content="yes">
8 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
9
10 <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
12 <link rel="stylesheet" href="dist/reset.css">
13 <link rel="stylesheet" href="dist/reveal.css">
14 <link rel="stylesheet" href="dist/theme/serif.css" id="theme">
15
16 <!-- Theme used for syntax highlighting of code -->
17 <link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme">
18 </head>
19 <body>
20 <div class="reveal">
21
22 <!-- Any section element inside of this container is displayed as a slide -->
23 <div class="slides">
24 <section>
25 <h2>Meldingskø for UiO</h2>
26 <p>Utviklerforum 14.12.2017</p>
27 <br/>
28 <p>
29 <small>Kai Vaade (KIA), Simeon Simeonov (INT)</small>
30 </p>
31 </section>
32
33 <section>
34 <h2>Agenda</h2>
35 <br/>
36 <ul>
37 <li>Administrasjon</li>
38 <li>Roller og entiteter</li>
39 <li>Flyt</li>
40 <li>Rettigheter</li>
41 <li>Q &amp; A</li>
42 </ul>
43 </section>
44
45 <section>
46 <h2>Generelt</h2>
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>
49 <p>Bruk av message-broker startet i 2015. I produksjon siden høsten 2017.</p>
50 <p>Driftes av KIA.</p>
51 </section>
52
53 <section>
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>
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>
58
59 <section>
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>
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>
64
65 <section>
66 <h2>Administrasjon (forts...)</h2>
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>
69 </section>
70
71 <section>
72 <h2>Administrasjon (forts...)</h2>
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>
75 <p>Tilgang til grensesnittet: <a href="https://mq.uio.no/">https://mq.uio.no</a></p>
76 </section>
77
78 <section>
79 <h2>Roller og entiteter</h2>
80 <ul>
81 <p>Roller:</p>
82 <li>Administrator / Manager</li>
83 <li>Consumer / Konsument</li>
84 <li>Publisher / Publisist :)</li>
85 <p>Entiteter:</p>
86 <li>vhost</li>
87 <li>Exchange (direct, fanout, topic, ...)</li>
88 <li>Kø (transient, durable)</li>
89 <li>Binding</li>
90 </ul>
91 </section>
92
93 <section>
94 <h2>Flyt</h2>
95 </br>
96 <img src="images/mqprod/flow01.png"></img>
97 </section>
98
99 <section>
100 <h2>Rettigheter</h2>
101 <p>RabbitMQ implementerer 2 rettighetsnivåer: per <em>vhost</em> og per entitet</p>
102 <p>RabbitMQ (AMQP) definerer 3 typer operasjoner:</p>
103 <ul>
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>
106 <li><p><em>read</em> - lese melding fra entitet</p></li>
107 </ul>
108 </section>
109
110 <section>
111 <h2>Rettigheter og brukere</h2>
112 <p>RabbitMQ bruker <em>regular expressions</em> til å definere rettigheter</p>
113 <ul>
114 <li><p><small><em>rabbitmqctl add_user cerebrum &lt;passord&gt;</em></small></p></li>
115 <li><p><small><em>rabbitmqctl add_user uio_ad_microservice &lt;passord&gt;</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>
118 </ul>
119 </section>
120
121 <section>
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>
124 <p>Strukturen til en topic / message routing key er:</p>
125 <p><small>&lt;kilde&gt;.&lt;type&gt;.&lt;objekt&gt;.&lt;hendelse&gt;</small></p>
126 <p>F.eks.:</p>
127 <p><small>cerebrum.event.person.delete</small></p>
128 </section>
129
130 <section>
131 <h3>Dokumentasjon og lenker</h3>
132 <p>
133 RabbitMQ:
134 </p>
135 <ul>
136 <li>
137 <p>
138 <small>
139 <a href="http://www.rabbitmq.com">http://www.rabbitmq.com</a> - RabbitMQ sin offisielle side
140 </small>
141 </li>
142 <li>
143 <p>
144 <small>
145 <a href="http://www.rabbitmq.com/configure.html">http://www.rabbitmq.com/configure.html</a> - Generell konfigurasjon av RabbitMQ
146 </small>
147 </li>
148 <li>
149 <p>
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
152 </small>
153 </li>
154 <li>
155 <p>
156 <small>
157 <a href="http://www.rabbitmq.com/access-control.html">http://www.rabbitmq.com/access-control.html</a> - Tilgangskontroll i RabbitMQ
158 </small>
159 </li>
160 <li>
161 <p>
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
164 </small>
165 </li>
166 <li>
167 <p>
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
170 </small>
171 </li>
172 </ul>
173 </section>
174
175 <section>
176 <h3>Dokumentasjon og lenker</h3>
177 <p>
178 UiO:
179 </p>
180 <ul>
181 <li>
182 <p>
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>
185 </small>
186 </li>
187 <li>
188 <p>
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>
191 </small>
192 </li>
193 <li>
194 <p>
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)
197 </small>
198 </li>
199 </ul>
200 <p>
201 Bøker:
202 </p>
203 <ul>
204 <li>
205 <p>
206 <small>
207 RabbitMQ in action - Alvaro Videla / Jason J.W. Williams - 2012 - Manning
208 </small>
209 </li>
210 <li>
211 <p>
212 <small>
213 Mastering RabbitMQ - Ayanoglu / Aytas / Nahum - 2015 - PACKT Publishing
214 </small>
215 </li>
216 </section>
217
218 <section>
219 <h1>Q &amp; A</h1>
220 </section>
221
222 </div>
223 </div>
224
225 <script src="dist/reveal.js"></script>
226 <script src="plugin/zoom/zoom.js"></script>
227 <script src="plugin/notes/notes.js"></script>
228 <script src="plugin/search/search.js"></script>
229 <script src="plugin/markdown/markdown.js"></script>
230 <script src="plugin/highlight/highlight.js"></script>
231 <script>
232
233 // Also available as an ES module, see:
234 // https://revealjs.com/initialization/
235 Reveal.initialize({
236 controls: true,
237 progress: true,
238 center: true,
239 hash: true,
240
241 // Learn about plugins: https://revealjs.com/plugins/
242 plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ]
243 });
244
245 </script>
246
247 </body>
248</html>