{"id":872,"date":"2019-09-13T19:09:09","date_gmt":"2019-09-13T17:09:09","guid":{"rendered":"http:\/\/blog.zhaw.ch\/splab\/?p=872"},"modified":"2019-09-13T19:35:17","modified_gmt":"2019-09-13T17:35:17","slug":"reflections-on-software-artefact-quality-industry-tutorial","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/","title":{"rendered":"Reflections on software artefact quality tutorial"},"content":{"rendered":"\n<p>Our work in the <a href=\"https:\/\/blog.zhaw.ch\/splab\/\">Service Prototyping Lab<\/a> at Zurich University of Applied Sciences consists of applied research, prototype development and conveying knowledge to industry. In this context, we have worked hard over the previous two years to gather educational and hands-on material, including our own contributions, for increasingly valuable tutorials. From single lectures to half-day and eventually full-day tutorials, we aim at both technology enthusiasts and experienced engineers who are open for new ideas and sometimes surprising facts. In this reflective blog post, we report on this week&#8217;s experience of giving the full-day tutorial on <a href=\"https:\/\/mao-mao-research.github.io\/\">microservice artefact observation and quality assessment<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"447\" src=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png\" alt=\"\" class=\"wp-image-875\" srcset=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png 800w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211-300x168.png 300w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211-768x429.png 768w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211-676x378.png 676w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<!--more-->\n\n\n\n<p>At the 2019 Swiss <a href=\"https:\/\/workshoptage.ch\/\">workshop days<\/a> organised by <a href=\"https:\/\/www.ch-open.ch\/\">CH Open<\/a>, we offered a tutorial on \u00abData-driven quality analysis of microservice artefacts in software development\u00bb. While some other topics had to be cancelled due to lack of interest, we are grateful to have attracted eight persons with a software engineering, testing and quality assurance background from various companies and institutional data centres. As instructors, our aim is to convey knowledge on off-the-shelf tools, including potential weaknesses and omissions and prototypical ideas on how to improve the tooling. As researchers, we are taking their input on potential use cases and technological priorities serious to advance our prototypes for eventual commercially relevant use as open source in production.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sIMG_20190910_091514-1024x768.jpg\" alt=\"\" class=\"wp-image-889\" srcset=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sIMG_20190910_091514.jpg 1024w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sIMG_20190910_091514-300x225.jpg 300w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sIMG_20190910_091514-768x576.jpg 768w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sIMG_20190910_091514-676x507.jpg 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The tutorial sessions were divided into slidedeck inputs and hands-on sessions, all occurring on a single OpenStack-hosted VM with Docker, Kubernetes, Helm and similar tools installed. The main inputs were around these topics:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SaaSification and cloudification of software development; polyglot and polytype artefact trends towards mixed-technology applications.<\/li><li>Schematic views and potential quality issues in several microservice-related technologies: Dockerfiles, Docker images, Docker Compose files, Helm charts, Kubernetes operators, Lambda functions and SAM applications, Blockchain DApps.<\/li><li>Software evolution patterns and the significance of historic artefact data for trend and regression detection. Quantified quality issues in various artefact types.<\/li><li>Integration of quality assessment and improvement tools into CI\/CD systems and other development environments. Dual approach of MAO to combine real-time analysis and historic data analysis.<\/li><li>Quality improvements through round-tripping including visualisation, actionable advice and keeping developers in the loop instead of using metrics to annoy them.<\/li><li>Graphical dashboards and convenience tools to check quality of single or potentially thousands of artefacts.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sP1030493-1024x768.jpg\" alt=\"\" class=\"wp-image-890\" srcset=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sP1030493.jpg 1024w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sP1030493-300x225.jpg 300w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sP1030493-768x576.jpg 768w, https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/sP1030493-676x507.jpg 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Among the hands-on tools, we demonstrated <a href=\"https:\/\/github.com\/hadolint\/hadolint\">hadolint<\/a> for checking the quality of Dockerfiles and <a href=\"https:\/\/helm.sh\/docs\/helm\/#helm-lint\">helm lint<\/a> to do the same for Helm charts. We outlined different maturity levels in checkers and validation tools, up to the ability to suggest, generate and apply improvements automatically. Among the emerging use-inspired research tools, we presented <a href=\"https:\/\/serviceprototypinglab.github.io\/helmqa\/\">HelmQA<\/a> and the Docker\/Kubernetes <a href=\"https:\/\/github.com\/serviceprototypinglab\/label-consistency\">label consistency checker<\/a>, as well as the microservice artefact metrics <a href=\"http:\/\/160.85.252.115:8080\/#\/dashboard\">observation dashboard<\/a>.<\/p>\n\n\n\n<p>Together with the participants, we concluded a number of important follow-up steps. There were suggestions to further integrate the validation tools into software development workflows, including CI\/CD and testing tools. Instead of technology-specific checks, a holistic multi-artefact type checker should be integrated at various points, including as plugin to code scanners such as SonarQube. To the extent possible, we will in the contact of the <a href=\"https:\/\/mao-mao-research.github.io\/\">MAO project<\/a> invest efforts to work on these integrations. We invite other researchers as well as representatives from companies who want to share their requirements to join the project.<\/p>\n<div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/artefacts\/\">artefacts<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/demo\/\">demo<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/docker\/\">docker<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/helm\/\">helm<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/lambda\/\">lambda<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/maomao\/\">maomao<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/operators\/\">operators<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/quality\/\">quality<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/software-development\/\">software development<\/a>, <a href=\"http:\/\/blog.zhaw.ch\/splab\/tag\/tutorial\/\">tutorial<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>Our work in the Service Prototyping Lab at Zurich University of Applied Sciences consists of applied research, prototype development and conveying knowledge to industry. In this context, we have worked hard over the previous two years to gather educational and hands-on material, including our own contributions, for increasingly valuable tutorials. From single lectures to half-day [&hellip;]<\/p>\n","protected":false},"author":203,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[3],"tags":[92,94,44,33,57,37,81,85,49,12],"features":[],"class_list":["post-872","post","type-post","status-publish","format-standard","hentry","category-events","tag-artefacts","tag-demo","tag-docker","tag-helm","tag-lambda","tag-maomao","tag-operators","tag-quality","tag-software-development","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Reflections on software artefact quality tutorial - Service Prototyping Lab<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reflections on software artefact quality tutorial\" \/>\n<meta property=\"og:description\" content=\"Our work in the Service Prototyping Lab at Zurich University of Applied Sciences consists of applied research, prototype development and conveying knowledge to industry. In this context, we have worked hard over the previous two years to gather educational and hands-on material, including our own contributions, for increasingly valuable tutorials. From single lectures to half-day [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Prototyping Lab\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-13T17:09:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-13T17:35:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png\" \/>\n<meta name=\"author\" content=\"Josef Spillner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Josef Spillner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\"},\"author\":{\"name\":\"Josef Spillner\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/#\/schema\/person\/33a5227c6cc1fa3329279d33c3cc440e\"},\"headline\":\"Reflections on software artefact quality tutorial\",\"datePublished\":\"2019-09-13T17:09:09+00:00\",\"dateModified\":\"2019-09-13T17:35:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\"},\"wordCount\":545,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png\",\"keywords\":[\"artefacts\",\"demo\",\"docker\",\"helm\",\"lambda\",\"maomao\",\"operators\",\"quality\",\"software development\",\"tutorial\"],\"articleSection\":[\"Events\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\",\"url\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\",\"name\":\"Reflections on software artefact quality tutorial - Service Prototyping Lab\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png\",\"datePublished\":\"2019-09-13T17:09:09+00:00\",\"dateModified\":\"2019-09-13T17:35:17+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/#\/schema\/person\/33a5227c6cc1fa3329279d33c3cc440e\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/splab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reflections on software artefact quality tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/splab\/\",\"name\":\"Service Prototyping Lab\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/splab\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/splab\/#\/schema\/person\/33a5227c6cc1fa3329279d33c3cc440e\",\"name\":\"Josef Spillner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c57d7019e91373902c08eac230e003cb4f8498ecf68c9d119e9ecb82fdf6c400?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c57d7019e91373902c08eac230e003cb4f8498ecf68c9d119e9ecb82fdf6c400?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c57d7019e91373902c08eac230e003cb4f8498ecf68c9d119e9ecb82fdf6c400?s=96&d=mm&r=g\",\"caption\":\"Josef Spillner\"},\"description\":\"Head of the Service Prototyping Lab. Research on distributed systems and application computing paradigms. Senior lecturer at Zurich University of Applied Sciences.\",\"url\":\"https:\/\/blog.zhaw.ch\/splab\/author\/spio\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Reflections on software artefact quality tutorial - Service Prototyping Lab","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:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/","og_locale":"en_GB","og_type":"article","og_title":"Reflections on software artefact quality tutorial","og_description":"Our work in the Service Prototyping Lab at Zurich University of Applied Sciences consists of applied research, prototype development and conveying knowledge to industry. In this context, we have worked hard over the previous two years to gather educational and hands-on material, including our own contributions, for increasingly valuable tutorials. From single lectures to half-day [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/","og_site_name":"Service Prototyping Lab","article_published_time":"2019-09-13T17:09:09+00:00","article_modified_time":"2019-09-13T17:35:17+00:00","og_image":[{"url":"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png","type":"","width":"","height":""}],"author":"Josef Spillner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Josef Spillner","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/"},"author":{"name":"Josef Spillner","@id":"https:\/\/blog.zhaw.ch\/splab\/#\/schema\/person\/33a5227c6cc1fa3329279d33c3cc440e"},"headline":"Reflections on software artefact quality tutorial","datePublished":"2019-09-13T17:09:09+00:00","dateModified":"2019-09-13T17:35:17+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/"},"wordCount":545,"commentCount":0,"image":{"@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png","keywords":["artefacts","demo","docker","helm","lambda","maomao","operators","quality","software development","tutorial"],"articleSection":["Events"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/","url":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/","name":"Reflections on software artefact quality tutorial - Service Prototyping Lab","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/splab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png","datePublished":"2019-09-13T17:09:09+00:00","dateModified":"2019-09-13T17:35:17+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/splab\/#\/schema\/person\/33a5227c6cc1fa3329279d33c3cc440e"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png","contentUrl":"https:\/\/blog.zhaw.ch\/splab\/files\/2019\/09\/Screenshot_20190910_191211.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/splab\/2019\/09\/13\/reflections-on-software-artefact-quality-industry-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/splab\/"},{"@type":"ListItem","position":2,"name":"Reflections on software artefact quality tutorial"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/splab\/#website","url":"https:\/\/blog.zhaw.ch\/splab\/","name":"Service Prototyping Lab","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/splab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/splab\/#\/schema\/person\/33a5227c6cc1fa3329279d33c3cc440e","name":"Josef Spillner","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/c57d7019e91373902c08eac230e003cb4f8498ecf68c9d119e9ecb82fdf6c400?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c57d7019e91373902c08eac230e003cb4f8498ecf68c9d119e9ecb82fdf6c400?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c57d7019e91373902c08eac230e003cb4f8498ecf68c9d119e9ecb82fdf6c400?s=96&d=mm&r=g","caption":"Josef Spillner"},"description":"Head of the Service Prototyping Lab. Research on distributed systems and application computing paradigms. Senior lecturer at Zurich University of Applied Sciences.","url":"https:\/\/blog.zhaw.ch\/splab\/author\/spio\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/posts\/872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/users\/203"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/comments?post=872"}],"version-history":[{"count":5,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/posts\/872\/revisions"}],"predecessor-version":[{"id":892,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/posts\/872\/revisions\/892"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/media?parent=872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/categories?post=872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/tags?post=872"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/splab\/wp-json\/wp\/v2\/features?post=872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}