{"id":1882,"date":"2021-03-04T09:30:04","date_gmt":"2021-03-04T09:30:04","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?p=1882"},"modified":"2021-03-04T09:30:05","modified_gmt":"2021-03-04T09:30:05","slug":"wcf-alternativen-teil-4","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/","title":{"rendered":"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung"},"content":{"rendered":"\n<p>Im letzten Blogpost der <a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/topic\/wcf-alternativen\/\">Artikelreihe zu den Alternativen der Windows Communication Foundation (WCF)<\/a> wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Entscheidungsmatrix<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th>Eigenschaft<\/th><th>Web API<\/th><th>gRPC<\/th><\/tr><\/thead><tbody><tr><td>Bidirektionale Kommunikation<\/td><td>Bedingt m\u00f6glich<br><em>Diese muss mit SignalR realisiert werden.<\/em><\/td><td>Bedingt m\u00f6glich<br><em>Es wird nur Stream Response unterst\u00fctzt.<\/em><\/td><\/tr><tr><td>Aufwand \u00c4nderung in Bestandscode<\/td><td>Gering<br><em>Durch die \u00dcbernahme der Service-Methoden in die Controller und die Generierung des Clients sind nur geringe Anpassungen n\u00f6tig.<\/em><\/td><td>Gro\u00df<br><em>Das Mapping ist n\u00f6tig, da teilweise eigene Datentypen<br>vorgegeben sind: Es muss ein \u00dcber- und R\u00fcckgabe-Parameter existieren.<\/em><\/td><\/tr><tr><td>Notwendiges Vorwissen<\/td><td>Technologiespezifisch<br><em>Web-API-Wissen zu Controller und Action-Verwendung, HTTP-Verben<\/em><\/td><td>Technologiespezifisch<br><em>gRPC-Besonderheiten, Erstellung *.proto-Datei<\/em><\/td><\/tr><tr><td>Plattformunabh\u00e4ngigkeit<\/td><td>Ja<br><em>Bei der Verwendung von .NET Core k\u00f6nnen Client und Server auf unterschiedlichen Plattformen ausgef\u00fchrt werden.<\/em><\/td><td>Ja<br><em>Bei der Verwendung von .NET Core k\u00f6nnen Client und Server auf unterschiedlichen Plattformen ausgef\u00fchrt werden.<\/em><\/td><\/tr><tr><td>Interoperabilit\u00e4t<\/td><td>Ja<br><em>Client und Server k\u00f6nnen in unterschiedlichen Programmiersprachen erstellt worden sein.<\/em><\/td><td>Ja<br><em>Client und Server k\u00f6nnen in unterschiedlichen Programmiersprachen erstellt worden sein.<\/em><\/td><\/tr><tr><td>Browser-Unterst\u00fctzung<\/td><td>Ja<\/td><td>Optional<br><em>Aktuell nur mit 3rd-Party-Bibliotheken m\u00f6glich<\/em><\/td><\/tr><tr><td>Selbstbeschreibende Schnittstellen<\/td><td>Optional<br><em>OpenAPI ist durch die Einbindung von 3rd- Party-Bibliotheken m\u00f6glich.<\/em><\/td><td>Nein<br><em>Die *.proto-Datei zur Beschreibung der Schnittstelle muss selbst erstellt werden.<\/em><\/td><\/tr><tr><td>Payload-Gr\u00f6\u00dfe<\/td><td>H\u00f6her<br><em>JSON, menschenlesbar<\/em><\/td><td>Geringer<br><em>Binary-Format<\/em><\/td><\/tr><tr><td>Geschwindigkeit<\/td><td>Geringer<\/td><td>H\u00f6her<\/td><\/tr><tr><td>Zukunftsf\u00e4higkeit<\/td><td>Ja<br><em>Web API wird aktuell als zukunftsf\u00e4hige Alternative von Microsoft empfohlen.<\/em><\/td><td>Ja<br><em>gRPC wird aktuell als zukunftsf\u00e4hige Alternative von Microsoft empfohlen<\/em>.<\/td><\/tr><tr><td>Debugging<\/td><td>Einfach m\u00f6glich<\/td><td>Bedingt m\u00f6glich<br><em>Die \u00fcbertragenen Daten k\u00f6nnen aufgrund der Komprimierung nicht eingesehen werden.<\/em><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Vor- und Nachteile<\/h2>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Web API<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>gRPC<\/strong><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Vorteile<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>\u00dcbertragungsdaten lesbar<\/li><li>Weniger Code-Anpassung bei Migration n\u00f6tig<\/li><li>Flexiblere Gestaltung der Endpunkte und Aufrufe in Bezug auf \u00dcber- und R\u00fcckgabe-Parameter<\/li><\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\" id=\"block-01f8947f-b88f-4ac4-928f-7229d5ea17fd\"><li>Schnellere \u00dcbertragung<\/li><li>Typisiert durch Protocol-Buffers-Schnittstellenbeschreibung<\/li><li>Einfache Generierung von Client-Klassen<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Nachteile<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Langsamere \u00dcbertragung im Vergleich zu gRPC<\/li><li>Generierung von Client-Klassen nur durch 3rd-Party-Bibliotheken<\/li><li>Keine Typisierung der Schnittstelle m\u00f6glich<\/li><\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>\u00dcbertragungsdaten nicht lesbar<\/li><li>Mapping-Code n\u00f6tig, da keine Standard-.NET-Typen verwendet werden<\/li><li>Gr\u00f6\u00dferer Migrationsaufwand, da mehr Code-Anpassungen n\u00f6tig<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>In unserer Blogpostreihe zum Thema WCF haben wir sowohl ASP.NET Core Web API als auch gRPC vorgestellt. Dabei ist deutlich geworden, dass beide Varianten ihre Vor- und Nachteile haben.<\/p>\n\n\n\n<p>Bei Web API k\u00f6nnen die Schnittstellen durch den Content-First-Ansatz sowie die Nutzung von HTTP sehr einfach von jedem verwendet werden. Dabei sind die \u00fcbertragenen Daten jederzeit einsehbar und k\u00f6nnen gelesen werden.<\/p>\n\n\n\n<p>Durch gRPC werden im Contract-First-Ansatz die Schnittstellenaufrufe abstrahiert, wodurch diese schneller sind und von Entwicklern sehr einfach angesprochen werden k\u00f6nnen. Dabei k\u00f6nnen die \u00fcbertragenen Daten aber nicht eingesehen werden.<\/p>\n\n\n\n<p>Grunds\u00e4tzlich ist die Migration zu beiden Varianten m\u00f6glich und beide werden auch von Microsoft empfohlen. Abschlie\u00dfend kann jedoch keine Empfehlung f\u00fcr eine der beiden Alternativen gegeben werden. Eine Entscheidung sollte immer projektspezifisch und nach verschiedenen Kriterien wie Projektgr\u00f6\u00dfe, Erfahrung in der jeweiligen Technologie oder bestehender Architektur getroffen werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im letzten Blogpost der Artikelreihe zu den Alternativen der WCF wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.<\/p>\n","protected":false},"author":104,"featured_media":1980,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[11,16],"tags":[398,521,522,523,524,525,526,527,570],"topics":[560],"class_list":["post-1882","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web","category-dot-net","tag-microsoft","tag-wcf","tag-windows-communication-foundation","tag-kommunikationsplattform","tag-verteilte-anwendungen","tag-net-framework-3-0","tag-net-remoting","tag-verteilte-kommunikation","tag-zeiss-digital-innovation","topics-wcf-alternativen"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WCF-Alternativen (Teil 4) - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung\" \/>\n<meta property=\"og:description\" content=\"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-04T09:30:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-04T09:30:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1404\" \/>\n\t<meta property=\"og:image:height\" content=\"791\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Siebert\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung\" \/>\n<meta name=\"twitter:description\" content=\"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.\" \/>\n<meta name=\"twitter:creator\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:site\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Siebert\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/\",\"name\":\"WCF-Alternativen (Teil 4) - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\",\"datePublished\":\"2021-03-04T09:30:04+00:00\",\"dateModified\":\"2021-03-04T09:30:05+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/25b5da9fd04d962532d448cb581c1912\"},\"description\":\"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\",\"width\":1404,\"height\":791},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/25b5da9fd04d962532d448cb581c1912\",\"name\":\"David Siebert\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/12\/siebert_david-e1607418301577-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/12\/siebert_david-e1607418301577-150x150.jpg\",\"caption\":\"David Siebert\"},\"description\":\"David Siebert ist Senior Consultant Softwareentwicklung bei der ZEISS Digital Innovation. Sein Schwerpunkt liegt vor allem in der .NET-Entwicklung. Dar\u00fcber hinaus besch\u00e4ftigt er sich besonders mit Webtechnologien und Clean Code.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/davidsiebert\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WCF-Alternativen (Teil 4) - ZEISS Digital Innovation Blog","description":"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/","og_locale":"de_DE","og_type":"article","og_title":"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung","og_description":"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/","og_site_name":"Digital Innovation Blog","article_publisher":"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/","article_published_time":"2021-03-04T09:30:04+00:00","article_modified_time":"2021-03-04T09:30:05+00:00","og_image":[{"width":1404,"height":791,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","type":"image\/png"}],"author":"David Siebert","twitter_card":"summary_large_image","twitter_title":"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung","twitter_description":"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.","twitter_creator":"@ZEISS_di","twitter_site":"@ZEISS_di","twitter_misc":{"Verfasst von":"David Siebert","Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/","name":"WCF-Alternativen (Teil 4) - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","datePublished":"2021-03-04T09:30:04+00:00","dateModified":"2021-03-04T09:30:05+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/25b5da9fd04d962532d448cb581c1912"},"description":"Im letzten Blogpost der Artikelreihe zu den WCF-Alternativen wollen wir diese noch einmal zusammenfassend gegen\u00fcberstellen.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","width":1404,"height":791},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wcf-alternativen-teil-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/"},{"@type":"ListItem","position":2,"name":"WCF-Alternativen (Teil 4) \u2013 Eine Zusammenfassung"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/25b5da9fd04d962532d448cb581c1912","name":"David Siebert","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/12\/siebert_david-e1607418301577-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/12\/siebert_david-e1607418301577-150x150.jpg","caption":"David Siebert"},"description":"David Siebert ist Senior Consultant Softwareentwicklung bei der ZEISS Digital Innovation. Sein Schwerpunkt liegt vor allem in der .NET-Entwicklung. Dar\u00fcber hinaus besch\u00e4ftigt er sich besonders mit Webtechnologien und Clean Code.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/davidsiebert\/"}]}},"author_meta":{"display_name":"David Siebert","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/davidsiebert\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies-600x338.png","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">.NET<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Web<\/span>","<span class=\"advgb-post-tax-term\">.NET<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">Microsoft<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">WCF<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">Windows Communication Foundation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">Kommunikationsplattform<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">verteilte Anwendungen<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">.NET Framework 3.0<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">.NET Remoting<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">verteilte Kommunikation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/dot-net\/\" class=\"advgb-post-tax-term\">ZEISS Digital Innovation<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Microsoft<\/span>","<span class=\"advgb-post-tax-term\">WCF<\/span>","<span class=\"advgb-post-tax-term\">Windows Communication Foundation<\/span>","<span class=\"advgb-post-tax-term\">Kommunikationsplattform<\/span>","<span class=\"advgb-post-tax-term\">verteilte Anwendungen<\/span>","<span class=\"advgb-post-tax-term\">.NET Framework 3.0<\/span>","<span class=\"advgb-post-tax-term\">.NET Remoting<\/span>","<span class=\"advgb-post-tax-term\">verteilte Kommunikation<\/span>","<span class=\"advgb-post-tax-term\">ZEISS Digital Innovation<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 5\u00a0Jahren ago","modified":"Updated 5\u00a0Jahren ago"},"absolute_dates":{"created":"Posted on M\u00e4rz 4, 2021","modified":"Updated on M\u00e4rz 4, 2021"},"absolute_dates_time":{"created":"Posted on M\u00e4rz 4, 2021 9:30 a.m.","modified":"Updated on M\u00e4rz 4, 2021 9:30 a.m."},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/1882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/users\/104"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/comments?post=1882"}],"version-history":[{"count":7,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/1882\/revisions"}],"predecessor-version":[{"id":2223,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/1882\/revisions\/2223"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media\/1980"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media?parent=1882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/categories?post=1882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/tags?post=1882"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/topics?post=1882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}