WJAX 2018 – Von Web APIs über Cloud Native bis hin zu Anregungen zur Produktivitätssteigerung

Datum: 27. November 2018
Autor: Regina Staller


Ich durfte dieses Jahr wieder die WJAX im Westin Grand in der Hauptstadt Bayerns besuchen. Neben reichlich Verpflegung gab es auch dieses Jahr wieder viele interessante Vorträge.

Ich habe die WJAX am Konferenztag besucht und konnte mir aus diversen Vorträgen viele Anregungen und Ideen mitnehmen. Die Sessions, welche ich gewählt habe, waren thematisch sehr unterschiedlich. Somit konnte ich mir Trends und innovative Konzepte aus unterschiedlichen Bereichen zeigen lassen und in diverse Themen tiefer eintauchen.

In der ersten Session konnte ich meinen Horizont als Java-Entwicklerin erweitern. Der Titel war sehr vielversprechend: „Web-APIs: Das ultimative Handbuch“. Ehrlich gesagt wusste ich zu Beginn nicht, dass es ausschließlich um Javascript APIs ging, aber ich bin froh in dem Vortrag geblieben zu sein, da mir einige interessante APIs vorgestellt wurden. Für reine Webentwickler sind die APIs wahrscheinlich bekannt, aber für mich waren auch Neuheiten dabei. Die APIs wurden anschaulich anhand diverser Code Beispiele erläutert und es wurden verschiedene Anwendungszwecke dargelegt.
Ich möchte hier nicht alle präsentierten APIs nennen, vielleicht erwähne ich nur kurz diejenigen, die mir am besten im Kopf erhalten geblieben sind. So wurde unter anderem die Web Speech API vorgestellt, welche Text-to-Speech sowie Speech Recognition Funktionalität mitbringt. Da Sprachsteuerung in der digitalen Welt immer bedeutender wird, lohnt es sich auf jeden Fall sich mit dieser API auseinanderzusetzen. Des Weiteren führte der Speaker einen Prototyp vor, welcher auf die Web Bluetooth API zurückgreift, um Rohdaten aus Bluetooth Geräten auszulesen. In dem Prototyp wurden dann aus einem Bluetooth fähigen Pulsgurt die Herzfrequenzdaten des Speakers ausgelesen, wobei die Herzfrequenz bei dieser Live-Vorführung fortlaufend stieg.
Des Weiteren ging man in diesem Vortrag auf das Zusammenspiel der Service Worker und Cache API ein. Mithilfe dieses Zusammenspiels kann man eine Online Anwendung auch offline fähig machen. Request und Response werden komplett im Cache gehalten und sobald eine Internetverbindung wiederaufgebaut werden kann, wird die Online Funktion ausgeführt.

Nach einem ausgiebigen Frühstück ging es dann weiter mit der zweiten Session. Oliver Gierke von Pivotal (aus Spring-Vorträgen bekannt) widmete sich dem Thema „REST – beyond the obvious“. Und wie der Name schon sagt, ging es hier nicht um die üblichen REST-Themen, der Vortragende stellte sich eher der theoretischen Betrachtung von Client-Server-Architekturen im Hinblick auf Kontext, Abstraktionslevel, Kopplung sowie Versionierung. Des Weiteren ließ er Ideen von Hypermedia (HATEOAS) zur Optimierung der Client-Entwicklung einfließen. Unterschiedliche Teams für Client-/Serverentwicklung führen, wie wir wissen, zu Herausforderungen. Divergierende Releasezyklen ist nur eine Herausforderung, die ich hier benennen möchte. Die Client-Entwicklung sollte zum einen möglichst flexibel gestaltet werden, zum anderen sollte der größte Teil der Logik in das Backend ausgelagert werden. Somit behandelte der Vortrag u.a. das Thema der Abbildung der Geschäftsprozesse in die Client-Server-Architektur. Der Speaker riss damit auch das Thema „Connascence“ an, das im Groben besagt, dass Elemente, welche nahe aneinander liegen, eine starke Kopplung bedingen, wohingegen bei Elementen, welche weit auseinander liegen, eine starke Kopplung unbedingt zu vermeiden ist. Mittels Hypermedia können dem Client des Weiteren Strukturinformationen mitgeliefert werden, auf Basis derer der Client die anzuzeigenden Elemente bzw. nächsten Schritte bestimmen kann. Der Workflow, welche aus der Backend-Logik entspringt, wird dem Client somit zugänglich gemacht. Dies ist weniger fehleranfällig, da keine Inhalte (zu dynamisch) explizit geprüft werden müssen.

In der Keynote „Was bedeutet Cloud Native für Java Entwickler?“ konnte man sich an einer Diskussionsrunde aus mehreren bekannten Speakern (darunter Eberhard Wolff und Uwe Friedrichsen) erfreuen. In dieser Diskussion wurde erörtert, welche Bedeutung Cloud Native für die Entwicklerwelt hat. Natürlich wurde hier das dynamische Umfeld und das in Bezug stehende Time-to-Market erwähnt. Cloudtechnologien schaffen die Möglichkeit effizient und relativ risikolos mit neuen Technologien und variierenden Umgebungen zu experimentieren. Prototypen können schnell bereitgestellt werden, durch Microservices und das damit einhergehende Continuous Delivery Konzept durch kleinere Deployment-Einheiten kann so der hochdynamische Markt bezwungen werden. Die Ops-affine Entwicklung zieht den klassischen Developer in die Verantwortung, die Konsequenzen seines Handelns für den laufenden Betrieb zu betrachten. Dies hat natürlich nicht nur Vorteile, Operations-Know How muss zunächst auch angeeignet werden und nur solide Kenntnisse können den erfolgreichen Einsatz von Cloudtechnologien ermöglichen. Zudem ging die Diskussion auch in Richtung Frontend: Wie schneide ich den Client passend zu den Backend-Microservices? Zuletzt wurde noch der richtige Umgang mit der Technologieexplosion diskutiert. Wie geht man als Entwickler mit dem rasanten Wachstum des Technologiestacks am besten um? Wie soll man sich im Technologie-Dschungel nachhaltig auskennen? Während ein tiefgründiges Wissen jeder neuen Technologie (fast) unmöglich ist, kann ein begrenztes Wissen die Zusammenarbeit im Team erheblich vereinfachen.

Die vorletzte Session griff das Thema „Microservices mit dem Kafka Ökosystem“ auf. Zunächst ging der Schweizer Guido Schmutz auf die Unterschiede zwischen SOA und Microservices ein. Neben Side Cars, Event-Driven Architekturen im Allgemeinen sowie Event-Brokern wurde Kafka als praktisches Beispiel vorgestellt. Ein sehr unterhaltsamer (Schwizerdütsch halt…) als auch interessanter Vortrag, jedoch kam das Kafka Ökosystem nach meinem Geschmack ein bisschen zu kurz.

Im letzten Vortrag handelte es sich um ein etwas sanfteres Thema, nämlich „The holy grail of programmer productivity“. Im Großen und Ganzen behandelte diese Session das Thema Produktivität am Arbeitsplatz. Wie kann man effizient und effektiv arbeiten? Wie verhalte ich mich im Team, um die Teamproduktivität zu maximieren? Wie gehe ich mit dem Meeting-Wahnsinn um? Störende Faktoren im Arbeitsumfeld und Lösungen hierfür wurden sehr praxisnah erläutert. Mitunter wurde das „Getting things done“ Prinzip erwähnt, eine Methode, um die eigene Produktivität zu verbessern. Auch auf agile Methoden (besonders Scrum) sowie auf das PRINCE2 Process Model wurde eingegangen. Besonders fasziniert und teilweise auch schockiert haben mich die Ratschläge im Umgang mit Meetings. Einfach ein Meeting zu verlassen, falls man nichts dazu beisteuern oder keine Erkenntnisse daraus gewinnen kann, ist leichter gesagt als getan. Jedoch war die Einhaltung der Meetingzeit ein wichtiger Punkt, den man im Arbeitsalltag immer beachten sollte, was sich sehr oft jedoch als ziemlich schwierig erweist. Bewährt hat sich auch die Festsetzung von Meetings auf den Nachmittag, da man vormittags die beste Leistung erbringen kann, um wichtige Tasks voranzubringen. Zuletzt sollten alle Vereinbarungen, welche man gemeinsam trifft, immer festgehalten werden, am besten auf eine Art und Weise, sodass jeder beteiligte Mitarbeiter fortwährend Zugriff darauf hat und die Vereinbarungen nicht im Alltagsgeschehen untergehen. Dazu muss man sich auf eine globale „Inbox“ einigen, in die alle Tasks einfließen können.

Insgesamt ein wirklich sehr interessanter und innovativer Konferenztag. Ich freue mich auf die nächste WJAX!

Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Caching – Probleme mit Permissions

Autor: Florian Müller


Technologie


Ich war gerade an einem Ticket um eine Lösung für das leidige Thema des Caching der Autosuggest zu lösen. Das grundlegende Problem ist, dass das Autosuggest recht umfangreich ist (gecached bis zu 2MB). Sollte nun ein User ein Wort eingeben und kein Autosuggest vorhanden sein, wurde dieser gebaut und gecached. Die hat auch mal gerne eine …


Beitrag lesen
13.
Januar
2017

The Vanilla Javascript Repository

Autor: Benjamin Hofmann


Technologie // User Experience & Design


Und gleich noch ein Linktipp für all diejenigen, die wie ich, nur ungern jQuery einsetzen und ihre Seiten dadurch aufblähen oder verlangsamen. Unter Vanilla List gibt es eine optisch sehr ansprechende Sammlung von Skripten, die auf Vanilla JS aufbauen und viele unserer Anwendungsfälle abdecken können. Sehr schön ist auch die direkte Anzeige davon, ob eine …


Beitrag lesen
23.
Sep.
2016

WebKit Sibling Bug

Autor: Benjamin Hofmann


Technologie // User Experience & Design


Bei kleineren Anpassungen in einem unserer Projekte ist heute im alten Standard-Browser von Android ein Bug[1] aufgefallen, der dazu führte, dass die Listenelemente mit initial verstecktem Inhalt diesen beim Anklicken nicht anzeigten. Nach einer kurzen Recherche bin ich hier auch auf die Lösung gestoßen, den Checkbox Hack on Mobile Webkit[2]. Klingt fies, ist aber nur …


Beitrag lesen
13.
März
2015

Docker – Bereitstellung von Betriebs-Umgebungen über Container

Autor: Marc Kurzmann


Projekte // Technologie


Wie der eine oder andere Kollege bereits mitbekommen hat, war unser Informatik-Praktikant Lukas die vergangenen Wochen intensiv mit dem Thema Docker und der Möglichkeit zur effizienten Bereitstellung von Deployment-Umgebungen aus der Produktentwicklung heraus beschäftigt. Das Ergebnis kann sich sehen lassen: Es ist nun möglich mit minimalem Aufwand eine vollständige Betriebsumgebung einschließlich eines deployten Produkts eines …


Beitrag lesen
12.
Dez.
2014