


{"id":1333,"date":"2018-03-10T17:39:27","date_gmt":"2018-03-10T16:39:27","guid":{"rendered":"http:\/\/blogs.gm.fh-koeln.de\/bente\/?p=1333"},"modified":"2018-06-24T23:33:37","modified_gmt":"2018-06-24T21:33:37","slug":"ipppba-api-gateway-mit-automatischer-service-discovery","status":"publish","type":"post","link":"http:\/\/blogs.gm.fh-koeln.de\/bente\/2018\/03\/10\/ipppba-api-gateway-mit-automatischer-service-discovery\/","title":{"rendered":"IP\/PP\/BA: API Gateway mit automatischer Service Discovery"},"content":{"rendered":"<p class=\"lead\">Dieses Thema kann als Praxisprojekt mit Option auf anschlie\u00dfende Bachelorarbeit bearbeitet werden, oder aber direkt als Bachelorarbeit. Praxisprojekte und\/oder Bachelorarbeiten k\u00f6nnen auch im Verbund mit mehreren Studierenden bearbeitet werden. Ebenso kann das Thema mit mehreren Studierenden als Informatikprojekt bearbeitet werden.<\/p>\n<h4>Worum geht es?<\/h4>\n<p>Ein API-Gateway stellt APIs f\u00fcr Clients und\/oder externe IT-Systeme zur Verf\u00fcgung. Das hat mehrere Nutzeffekte:<\/p>\n<ul>\n<li><em>Service Composition:<\/em> Verschiedene interne Services k\u00f6nnen zu einem (ggfs. Client-spezifischen) Service komponiert werden<\/li>\n<li><em>Versionierung:<\/em> man kann eine Version eines Service gegen eine neue austauschen, ohne dass der externe Consumer dies mitbekommt. Wenn die neue Version eine ge\u00e4nderte Schnittstelle beinhaltet, kann das API-Gateway eine Konversion implementieren<\/li>\n<li><em>Protokoll-\u00dcbersetzung:<\/em> So kann etwa der externe Client eine REST-Schnittstelle vorfinden, w\u00e4hrend intern eine Message Queue verwendet wird.<\/li>\n<li><em>Mocking:<\/em> Statt dem echten Service f\u00fcr Servicezwecke einen Mock verwenden<\/li>\n<li>&#8230;<\/li>\n<\/ul>\n<p>Bei komplexen Microservice-Landschaften wird <strong>Service Discovery<\/strong> zu einer Notwendigkeit, um nicht zu viel manuellen Konfigurations- und Wartungsaufwand zu haben.<\/p>\n<p>Besonders interessant w\u00e4re daher eine Kombination von\u00a0Service Discovery und einer API-Gateway-Implementierung. Die internen Services sollten dabei die M\u00f6glichkeit haben, APIs als <strong>Public<\/strong> oder <strong>Private<\/strong> zu kennzeichen. Die Services k\u00f6nnten dann entsprechend automatisch zur Verf\u00fcgung gestellt werden.<\/p>\n<h4>Inhalt<\/h4>\n<p>In dieser Arbeit sollten zun\u00e4chst die Anforderungen an ein solches kombiniertes API Gateway definiert werden. Daf\u00fcr sind Literaturrecherche und Expertenbefragungen denkbar.<\/p>\n<p>Auf dieser Basis sollte dann eine Implementierung umgesetzt werden. Ziel sollte zun\u00e4chst ein funktionsf\u00e4higer Prototyp, mit Perspektive auf ein Minimum Viable Product, sein. Wenn das Projekt gut verl\u00e4uft, ist auch die Ver\u00f6ffentlichung als Open Source eine Perspektive.<\/p>\n<p>Ein\u00a0praktischer Anwendungsfall, in dem die gew\u00e4hlte L\u00f6sung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden.\u00a0Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte <a href=\"https:\/\/www.archi-lab.io\/\" target=\"_blank\" rel=\"noopener\">Lehr- und Lernplattform ArchiLab<\/a>.<\/p>\n<h4>Bei Interesse<\/h4>\n<p>Sie haben allgemeine R\u00fcckfragen, konkretes Interesse oder sogar \u00c4nderungs-\/Erweiterungsvorschl\u00e4ge? Bitte vereinbaren Sie unverbindlich einen Termin mit mir (am einfachsten \u00fcber <a href=\"https:\/\/bente.youcanbook.me\/\">https:\/\/bente.youcanbook.me\/<\/a>), und wir k\u00f6nnen die praktische Ausgestaltung des Themas diskutieren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein API-Gateway stellt APIs f\u00fcr Clients und\/oder externe IT-Systeme zur Verf\u00fcgung. Bei komplexen Microservice-Landschaften wird Service Discovery zu einer Notwendigkeit, um nicht zu viel manuellen Konfigurations- und Wartungsaufwand zu haben. Besonders interessant w\u00e4re daher eine Kombination von\u00a0Service Discovery und einer API-Gateway-Implementierung. Die internen Services sollten dabei die M\u00f6glichkeit haben, APIs als Public oder Private zu kennzeichen. Die Services k\u00f6nnten dann entsprechend automatisch zur Verf\u00fcgung gestellt werden. In dieser Arbeit sollten zun\u00e4chst die Anforderungen an ein solches kombiniertes API Gateway definiert werden. Ein\u00a0praktischer Anwendungsfall, in dem die gew\u00e4hlte L\u00f6sung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden.\u00a0Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.<\/p>\n","protected":false},"author":39,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[20359],"tags":[50720,25774,21843,50721,9934,27534,50722],"class_list":["post-1333","post","type-post","status-publish","format-standard","hentry","category-laufende-projekte","tag-api-gateway","tag-archilab","tag-micro-service","tag-minimum-viable-product","tag-open-source","tag-prototyp","tag-service-discovery"],"acf":[],"_links":{"self":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/comments?post=1333"}],"version-history":[{"count":3,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1333\/revisions"}],"predecessor-version":[{"id":1336,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1333\/revisions\/1336"}],"wp:attachment":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/media?parent=1333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/categories?post=1333"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/tags?post=1333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}