{"id":282,"date":"2015-10-15T07:59:38","date_gmt":"2015-10-15T05:59:38","guid":{"rendered":"http:\/\/launix.de\/launix\/?p=282"},"modified":"2023-07-11T08:29:09","modified_gmt":"2023-07-11T06:29:09","slug":"was-sind-web-apis-und-was-bedeutet-das-fuer-die-anwender","status":"publish","type":"post","link":"https:\/\/launix.de\/launix\/en\/was-sind-web-apis-und-was-bedeutet-das-fuer-die-anwender\/","title":{"rendered":"Was sind Web-APIs und was bedeutet das f\u00fcr die Anwender?"},"content":{"rendered":"<p>Im Zeitalter des PC war Software noch einfach aufgebaut: Ein Programm speicherte die Daten lokal auf dem PC und stellte dem Nutzer eine Oberfl\u00e4che bereit, um auf die Daten zuzugreifen. Mit der Entwicklung des Internets und der gro\u00dfen Bandbreite an Endger\u00e4ten (PC, Smartphone, Tablet, Maschinensteuerung, Sensoren) w\u00e4chst der Wunsch, vernetzt auf die Daten zuzugreifen. Was das aber f\u00fcr Gefahren bedeutet, wurde klar, als mit der Verbreitung des Internets die ersten Viren aufkamen.<\/p>\n<h2>Erste Evolution: Trennung von Anwendung und Speicherung der Daten<\/h2>\n<p>Die meisten Anwendungen aus den 2000er-Jahren haben ihre eigenen Datei-Formate. Die Dateien m\u00fcssen in den Arbeitsspeicher geladen werden und organisieren sich erst dort in Speicherstrukturen, auf die schnell zugegriffen werden kann. Das f\u00fchrt dazu, dass gerade bei gro\u00dfen Datenmengen der PC abst\u00fcrzt. Heutige Software verwendet f\u00fcr die Speicherung eher Datenbanken. Diese bauen von selbst Strukturen auf, mit denen man effektiv auf die Daten zugreifen kann, egal wie gro\u00df diese anwachsen. Mit der Abfragesprache SQL gibt es eine standardisierte Kommunikationsleitung zum Speicher-Backend.<\/p>\n<h2>Zweite Evolution: Trennung von Gesch\u00e4ftslogik und Oberfl\u00e4che<\/h2>\n<p>Saubere Software enth\u00e4lt zwar schon intern eine Trennung der Gesch\u00e4ftslogik von der Oberfl\u00e4che. Das war jedoch eine interne Aufteilung innerhalb der Software. Trennt man diese zwei Komponenten tats\u00e4chlich in zwei Programme auf, die nur \u00fcber eine Netzwerk-Leitung miteinander kommunizieren, ergibt sich folgende Situation:<\/p>\n<ul>\n<li>Die Gesch\u00e4ftslogik kontrolliert, welche Aktionen (z.B. &#8220;Kunde hinzuf\u00fcgen&#8221;) durch welche Nutzer erlaubt sind<\/li>\n<li>Die Oberfl\u00e4chen stellen lediglich die Daten dar und leiten Aktionen an die Gesch\u00e4ftslogik weiter<\/li>\n<li>In der Gesch\u00e4ftslogik haben Sie nun die komplette Kontrolle \u00fcber alle Daten inklusive den Zugriffsrechten<\/li>\n<li>Eine Software ist nun nicht mehr an eine Oberfl\u00e4che gebunden. Sie k\u00f6nnen eine PC-Oberfl\u00e4che, eine Tablet-Oberfl\u00e4che und einen autonomen Druck-Service im Keller einrichten, die alle auf dieselbe Gesch\u00e4ftslogik zugreifen<\/li>\n<li>Die Kommunikation zwischen den Oberfl\u00e4chen und der Gesch\u00e4ftslogik erfolgt \u00fcber eine sogenannte <strong>Web-API<\/strong><\/li>\n<\/ul>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- responsive -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-8447808153780075\"\r\n     data-ad-slot=\"6876660058\"\r\n     data-ad-format=\"auto\"><\/ins>\r\n<script>\r\n(adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n<h2>WebAPIs<\/h2>\n<p>Die Bereitstellung der Gesch\u00e4ftslogik \u00fcber das Netzwerk oder das Internet geschieht \u00fcber das bereits von Browsern benutzte HTTP-Protokoll. \u00dcber das HTTP-Protokoll werden die Anfragen und Antworten gesendet. Damit die Daten maschinenlesbar sind, werden diese noch in ein Zwischenformat eingepackt: Entweder dem altbekannten <a href=\"https:\/\/de.wikipedia.org\/wiki\/Extensible_Markup_Language\" target=\"_blank\" rel=\"noopener\">XML<\/a> oder dem kompakteren <a href=\"http:\/\/www.json.org\/\" target=\"_blank\" rel=\"noopener\">JSON<\/a>.<\/p>\n<h2>Was bedeutet das f\u00fcr Anwender<\/h2>\n<p>Setzen Sie eine Web-API ein, sind Sie flexibler und ungebundener! Ihre Kern-Gesch\u00e4ftslogik ist in einem zeitlosen Programm festgehalten, das mit der Datenbank kommuniziert. Ob in Zukunft noch MS Windows benutzt wird, oder alles \u00fcber Tablets l\u00e4uft &#8211; wer wei\u00df? Jedenfalls k\u00f6nnen Sie die Oberfl\u00e4chen, die auf die Gesch\u00e4ftslogik zugreifen, beliebig austauschen. Sollten Sie noch alte Datenbest\u00e4nde haben, k\u00f6nnen Sie problemlos \u00fcber die WebAPI Bestandsdaten einf\u00fcttern. Genau so funktioniert der Export. Die von allen Entwicklern lesbaren Formate XML und JSON sichern Ihnen potenziell Unterst\u00fctzung durch beliebige Fremdfirmen zu.<\/p>\n<p>Somit gehen Sie weg von einer Insell\u00f6sung hin zu einer vernetzbaren Softwarekomponente, die Sie an verschiedene andere Datenquellen anschlie\u00dfen k\u00f6nnen.<\/p>","protected":false},"excerpt":{"rendered":"<p>Im Zeitalter des PC war Software noch einfach aufgebaut: Ein Programm speicherte die Daten lokal auf dem PC und stellte dem Nutzer eine Oberfl\u00e4che bereit, um auf die Daten zuzugreifen. Mit der Entwicklung des Internets und der gro\u00dfen Bandbreite an Endger\u00e4ten (PC, Smartphone, Tablet, Maschinensteuerung, Sensoren) w\u00e4chst der Wunsch, vernetzt auf die Daten zuzugreifen. Was&#8230;<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","footnotes":""},"categories":[128],"tags":[30,46],"class_list":["post-282","post","type-post","status-publish","format-standard","hentry","category-programming","tag-datenbank","tag-datenverarbeitung","single-item"],"featured_image_urls_v2":{"full":"","thumbnail":"","medium":"","medium_large":"","large":"","1536x1536":"","2048x2048":"","trp-custom-language-flag":"","xs-thumb":"","appku-shop-single":""},"post_excerpt_stackable_v2":"<p>Im Zeitalter des PC war Software noch einfach aufgebaut: Ein Programm speicherte die Daten lokal auf dem PC und stellte dem Nutzer eine Oberfl\u00e4che bereit, um auf die Daten zuzugreifen. Mit der Entwicklung des Internets und der gro\u00dfen Bandbreite an Endger\u00e4ten (PC, Smartphone, Tablet, Maschinensteuerung, Sensoren) w\u00e4chst der Wunsch, vernetzt auf die Daten zuzugreifen. Was das aber f\u00fcr Gefahren bedeutet, wurde klar, als mit der Verbreitung des Internets die ersten Viren aufkamen. Erste Evolution: Trennung von Anwendung und Speicherung der Daten Die meisten Anwendungen aus den 2000er-Jahren haben ihre eigenen Datei-Formate. Die Dateien m\u00fcssen in den Arbeitsspeicher geladen werden und&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/launix.de\/launix\/en\/category\/programming\/\" rel=\"category tag\">Programming<\/a>","author_info_v2":{"name":"Carl-Philip H\u00e4nsch","url":"https:\/\/launix.de\/launix\/en\/author\/carli\/"},"comments_num_v2":"0 comments","uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false,"xs-thumb":false,"appku-shop-single":false},"uagb_author_info":{"display_name":"Carl-Philip H\u00e4nsch","author_link":"https:\/\/launix.de\/launix\/en\/author\/carli\/"},"uagb_comment_info":0,"uagb_excerpt":"Im Zeitalter des PC war Software noch einfach aufgebaut: Ein Programm speicherte die Daten lokal auf dem PC und stellte dem Nutzer eine Oberfl\u00e4che bereit, um auf die Daten zuzugreifen. Mit der Entwicklung des Internets und der gro\u00dfen Bandbreite an Endger\u00e4ten (PC, Smartphone, Tablet, Maschinensteuerung, Sensoren) w\u00e4chst der Wunsch, vernetzt auf die Daten zuzugreifen. Was...","_links":{"self":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts\/282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/comments?post=282"}],"version-history":[{"count":6,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts\/282\/revisions"}],"predecessor-version":[{"id":5333,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts\/282\/revisions\/5333"}],"wp:attachment":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/media?parent=282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/categories?post=282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/tags?post=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}