diff options
| author | Simeon Simeonov | 2016-09-13 15:11:35 +0200 |
|---|---|---|
| committer | Simeon Simeonov | 2016-09-13 15:11:35 +0200 |
| commit | 687598745700fee03956e59c152829785c2e0980 (patch) | |
| tree | cab17aa183d02e8cc90b0a9fbaefe1b41795677a | |
| parent | 3673c99f2a7ff49742c53090b075be4dbb5e767c (diff) | |
API gateway presentation
| -rw-r--r-- | reveal.js/gateway.html | 134 | ||||
| -rw-r--r-- | reveal.js/images/gateway/dashboard01.png | bin | 0 -> 139944 bytes | |||
| -rw-r--r-- | reveal.js/images/gateway/portal01.png | bin | 0 -> 97986 bytes | |||
| -rw-r--r-- | reveal.js/images/gateway/portal02.png | bin | 0 -> 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 & 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&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 | |||
