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

Regina Staller 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


Kleiner Postfix- Guide

Autor: 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.
Februar
2017

Browser Diet

Autor: Benjamin Hofmann


Technologie


Eben bin ich über t3n auf eine interessante Website gestoßen: Browser Diet. Hier geht es darum, wie der Name bereits vermuten lässt, wie man Websites im Browser beschleunigen kann. Einiges davon machen wir bereits seit einiger Zeit, einiges nicht. Ein paar Beispiele dafür sind folgende Punkte: http://browserdiet.com/#cache-array-lengths Ein viel gemachter Fehler, auch in PHP, da …


Beitrag lesen
27.
März
2013

jQuery(document).unbind() löscht alle entsprechenden live event handler

Autor: Axel Güldner


Technologie


Beim Deployment des Bremen Portals ist mir heute eine Eigenheit von jQuery aufgefallen, der ich mir bisher nicht bewusst war. Auf der Startseite werden im Keyvisual kleine Teaserfenster bei Mouseover über so rote Infobubbles geöffnet. Die BTZ hatte sich nun gewünscht, dass diese Infofenster wieder geschlossen werden, sobald der User irgendwo außerhalb des Fensters klickt. …


Beitrag lesen
24.
Januar
2012

WJAX 2017: Web-APIs, einfach oder?

Autor: Regina Staller


Technologie


Wie im letzten Blog von mir erwähnt wurde, habe ich auf der diesjährigen WJAX einen Vortrag über den effektiven sowie effizienten client- und serverseitigen Umgang mit Web-APIs besucht. Gehalten wurde dieser Vortrag von Thilo Frotscher. Die wesentlichen Themen aus dieser Session möchte ich hier gerne noch einmal vorstellen. Besonders im Bereich IBE/Metasuche bin ich schon …


Beitrag lesen
20.
Nov.
2017