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

Datum: 27. November 2018
Autor*in: 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


Datenimporte in die imx.Platform

Autor*in: Tobias Pfannkuche


Technologie


Aufgrund der kontinuierlich steigenden Anzahl externer Datenlieferanten bzw. der Anbindung von Schnittstellen im Rahmen von Datenimporten und damit verbundenen wiederkehrenden Fragen, hier eine Zusammenfassung der Kern-Anforderungen, um Daten von Drittanbietern in die imx.Platform zu übernehmen, sowie Grundfunktionalitäten für Datenimporte. Anforderungen Grundsätzlich sind folgende technischen Anforderungen einer Schnittstelle, die wir zwecks Datenübernahme/-import nutzen wollen, zu erfüllen: …


Beitrag lesen
10
NOV
17

Kleiner Postfix- Guide

Autor*in: Sascha Nützel


Technologie // Über den Tellerrand


Nachdem die letzten Tage „kleinere“ Postfix Probleme aufgetreten sind, hier mal ein kleiner Guide wie man sich den Mail- Queue anschauen und bereinigen kann. Mail- Queue anschauen mailq | less Um die Anzahl der Mail’s in der Queue anzuzeigen, je nach Menge kann dies ein paar Minuten dauern: mailq | egrep ‚^–‚ Um den Queue von …


Beitrag lesen
14
FEB
17

Google Maps und der Wikipedia-Layer

Autor*in: Benjamin Hofmann


Technologie


Seit dem Release von Google Maps v3 gab es keinen Wikipedia-Layer mehr, den man einfach so einblenden konnte. Laut diesem Issue bei Google wird das auch nicht mehr passieren, da der Layer zu wenig genutzt wird und der Aufwand für die Integration in keiner Relation zum Nutzen steht. Jedoch wurde dort eine API von einem …


Beitrag lesen
17
JUL
12

video.js – HTML5-Video-Kmponente mit Polyfill für alte Browser

Autor*in: Stefan Oswald


Projekte // Technologie // User Experience & Design


Webseite: http://www.videojs.com/ Ich habe es mir noch nicht im Detail angeschaut, aber rein von der Beschreibung her könnte das für uns mal ganz nützlich sein. Man kann per API auch Loader für eigene Video-Provider umsetzen. Kostenlos einsetzbar dank Apache 2.0 Lizenz.


Beitrag lesen
14
MAI
13