summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimeon Simeonov2016-09-13 15:11:35 +0200
committerSimeon Simeonov2016-09-13 15:11:35 +0200
commit687598745700fee03956e59c152829785c2e0980 (patch)
treecab17aa183d02e8cc90b0a9fbaefe1b41795677a
parent3673c99f2a7ff49742c53090b075be4dbb5e767c (diff)
API gateway presentation
-rw-r--r--reveal.js/gateway.html134
-rw-r--r--reveal.js/images/gateway/dashboard01.pngbin0 -> 139944 bytes
-rw-r--r--reveal.js/images/gateway/portal01.pngbin0 -> 97986 bytes
-rw-r--r--reveal.js/images/gateway/portal02.pngbin0 -> 91353 bytes
4 files changed, 134 insertions, 0 deletions
diff --git a/reveal.js/gateway.html b/reveal.js/gateway.html
new file mode 100644
index 0000000..2b9f367
--- /dev/null
+++ b/reveal.js/gateway.html
@@ -0,0 +1,134 @@
1<!doctype html>
2<html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <title>API gateway</title>
6 <meta name="author" content="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 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
10 <link rel="stylesheet" href="css/reveal.css">
11 <link rel="stylesheet" href="css/theme/serif.css" id="theme">
12
13 <!-- Theme used for syntax highlighting of code -->
14 <link rel="stylesheet" href="lib/css/zenburn.css">
15 </head>
16 <body>
17 <div class="reveal">
18
19 <!-- Any section element inside of this container is displayed as a slide -->
20 <div class="slides">
21 <section>
22 <h1>API gateway</h1>
23 <h3>Cerebrum-seminar 2016</h3>
24 </br>
25 <p>
26 <small>Simeon Simeonov</small>
27 </p>
28 </section>
29
30 <section>
31 <h2>Simeon Simeonov</h2>
32 </br>
33 <ul>
34 <li>
35 <p>... also known as <em>sgs</em> (<a href="http://folk.uio.no/sgs/">http://folk.uio.no/sgs/</a>)
36 </p>
37 </li>
38 <li><p>Cerebrum developer since February 2015</p></li>
39 </ul>
40 </section>
41
42
43 <section>
44 <h2>API gateway vs. API proxy</h2>
45 </br>
46 <p>The integration project at UiO (<em>INT</em>) defines the role <em>API Manager</em>. Why use API gateway instead of API proxy?</p>
47 <ul>
48 <li><p>Unified access for all our APIs</p></li>
49 <li><p>Unified documentation and catalogue</p></li>
50 <li><p>Unified caching for all APIs</p></li>
51 <li><p>Unified logging / statistics generation for all APIs</p></li>
52 <li><p>Access control / rate limiting for all our APIs</p></li>
53 <li><p>(Re)mapping and (re)writing</p></li>
54 </ul>
55 </section>
56
57
58 <section>
59 <section>
60 <h2>API gateway &amp; Cerebrum</h2>
61 </br>
62 <p>For the time being we have settled on <em>Tyk API gateway</em>.</p>
63 <p>It uses an internal user-database and consists of the following logical components:</p>
64 <ul>
65 <li><p>Dashboard</p></li>
66 <li><p>Developer portal</p></li>
67 <li><p>Gateway</p></li>
68 </ul>
69 </section>
70
71 <section>
72 <h2>Dashboard</h2>
73 <p>Provides a convenient web-interface for configuration and manipulation of the gateway and the different APIs.</p>
74 <img src="images/gateway/dashboard01.png"></img>
75
76 </section>
77
78 <section>
79 <h2>Portal</h2>
80 Provides the API documentation and catalogue.
81 <img src="images/gateway/portal01.png"></img>
82 </section>
83
84 <section>
85 <h2>Portal</h2>
86 <img src="images/gateway/portal02.png"></img>
87 </section>
88
89 <section>
90 <h2>Gataway</h2>
91 </br>
92 <p>For the time being we have settled on <em>Tyk API gateway</em>. It uses an internal user-database and consists of the following logical components:</p>
93 <ul>
94 <li><p>Tyk dashboard</p></li>
95 <li><p>Tyk developer portal</p></li>
96 <li><p>Tyk gateway</p></li>
97 </ul>
98 </section>
99
100 </section>
101
102 <section>
103 <h1>Q&amp;A</h1>
104 </section>
105
106 </div>
107 </div>
108
109 <script src="lib/js/head.min.js"></script>
110 <script src="js/reveal.js"></script>
111 <script>
112 // More info https://github.com/hakimel/reveal.js#configuration
113 Reveal.initialize({
114 controls: true,
115 progress: true,
116 history: true,
117 center: true,
118
119 transition: 'slide', // none/fade/slide/convex/concave/zoom
120
121 // More info https://github.com/hakimel/reveal.js#dependencies
122 dependencies: [
123 { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
124 { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
125 { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
126 { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
127 { src: 'plugin/zoom-js/zoom.js', async: true },
128 { src: 'plugin/notes/notes.js', async: true }
129 ]
130 });
131 </script>
132
133 </body>
134</html>
diff --git a/reveal.js/images/gateway/dashboard01.png b/reveal.js/images/gateway/dashboard01.png
new file mode 100644
index 0000000..08db6b3
--- /dev/null
+++ b/reveal.js/images/gateway/dashboard01.png
Binary files differ
diff --git a/reveal.js/images/gateway/portal01.png b/reveal.js/images/gateway/portal01.png
new file mode 100644
index 0000000..8ffcad5
--- /dev/null
+++ b/reveal.js/images/gateway/portal01.png
Binary files differ
diff --git a/reveal.js/images/gateway/portal02.png b/reveal.js/images/gateway/portal02.png
new file mode 100644
index 0000000..f60e742
--- /dev/null
+++ b/reveal.js/images/gateway/portal02.png
Binary files differ