summaryrefslogtreecommitdiff
path: root/reveal.js/gateway.html
diff options
context:
space:
mode:
Diffstat (limited to 'reveal.js/gateway.html')
-rw-r--r--reveal.js/gateway.html152
1 files changed, 0 insertions, 152 deletions
diff --git a/reveal.js/gateway.html b/reveal.js/gateway.html
deleted file mode 100644
index 4996a9c..0000000
--- a/reveal.js/gateway.html
+++ /dev/null
@@ -1,152 +0,0 @@
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
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 <!-- Printing and PDF exports -->
19 <script>
20 var link = document.createElement( 'link' );
21 link.rel = 'stylesheet';
22 link.type = 'text/css';
23 link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
24 document.getElementsByTagName( 'head' )[0].appendChild( link );
25 </script>
26 <!--[if lt IE 9]>
27 <script src="lib/js/html5shiv.js"></script>
28 <![endif]-->
29 </head>
30 <body>
31 <div class="reveal">
32
33 <!-- Any section element inside of this container is displayed as a slide -->
34 <div class="slides">
35 <section>
36 <h1>API gateway</h1>
37 <h3>Cerebrum-seminar 2016</h3>
38 </br>
39 <p>
40 <small>Simeon Simeonov</small>
41 </p>
42 </section>
43
44 <section>
45 <h2>Simeon Simeonov</h2>
46 </br>
47 <ul>
48 <li>
49 <p>... also known as <em>sgs</em> (<a href="http://folk.uio.no/sgs/">http://folk.uio.no/sgs/</a>)
50 </p>
51 </li>
52 <li><p>Cerebrum developer since February 2015</p></li>
53 </ul>
54 </section>
55
56
57 <section>
58 <h2>API gateway vs. API proxy</h2>
59 </br>
60 <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>
61 <ul>
62 <li><p>Unified access for all our APIs</p></li>
63 <li><p>Unified documentation and catalogue</p></li>
64 <li><p>Unified caching for all APIs</p></li>
65 <li><p>Unified logging / statistics generation for all APIs</p></li>
66 <li><p>Access control / rate limiting for all our APIs</p></li>
67 <li><p>(Re)mapping and (re)writing</p></li>
68 </ul>
69 </section>
70
71
72 <section>
73 <section>
74 <h2>API gateway &amp; Cerebrum</h2>
75 </br>
76 <p>For the time being we have settled on <em>Tyk API gateway</em>.</p>
77 <p>It uses an internal user-database and consists of the following logical components:</p>
78 <ul>
79 <li><p>Dashboard</p></li>
80 <li><p>Developer portal</p></li>
81 <li><p>Gateway</p></li>
82 </ul>
83 </section>
84
85 <section>
86 <h2>Dashboard</h2>
87 <p>Provides a convenient web-interface for configuration and manipulation of the gateway and the different APIs.</p>
88 <img src="images/gateway/dashboard01.png"></img>
89
90 </section>
91
92 <section>
93 <h2>Portal</h2>
94 Provides the API documentation and catalogue.
95 <img src="images/gateway/portal01.png"></img>
96 </section>
97
98 <section>
99 <h2>Portal</h2>
100 <img src="images/gateway/portal02.png"></img>
101 </section>
102
103 <section>
104 <h2>Gataway</h2>
105 </br>
106 <ul>
107 <li><p>Still in experimental / pilot phase</p></li>
108 <li><p>Several APIs are already configured in Tyk (Cerebrum WS, SAP WS... )</p></li>
109 <li><p>Support for many <em>authentication modes</em> (Auth Token, JWT, OAuth 2, Basic Auth, Open ID Connect, ...)</p></li>
110 </ul>
111 <p>
112 Official site: <a href="https://tyk.io/">https://tyk.io/</a>
113 </p>
114 </section>
115
116 </section>
117
118
119 <section>
120 <h1>Q&amp;A</h1>
121 </section>
122
123
124 </div>
125 </div>
126
127 <script src="lib/js/head.min.js"></script>
128 <script src="js/reveal.js"></script>
129 <script>
130 // More info https://github.com/hakimel/reveal.js#configuration
131 Reveal.initialize({
132 controls: true,
133 progress: true,
134 history: true,
135 center: true,
136
137 transition: 'slide', // none/fade/slide/convex/concave/zoom
138
139 // More info https://github.com/hakimel/reveal.js#dependencies
140 dependencies: [
141 { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
142 { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
143 { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
144 { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
145 { src: 'plugin/zoom-js/zoom.js', async: true },
146 { src: 'plugin/notes/notes.js', async: true }
147 ]
148 });
149 </script>
150
151 </body>
152</html>