diff options
Diffstat (limited to 'reveal.js/gateway.html')
| -rw-r--r-- | reveal.js/gateway.html | 152 |
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 & 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&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> | ||
