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


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

Flickr und das Image Plugin oder „Dees is sowieso blääd“

Autor: Bastian Schwarz


Technologie


Gerade habe ich ein Problem für unser Kundenprojekt „Holsteinische Schweiz“ analysiert: Im Keyvisual wurden bis zu 20 Flickr-Bilder geladen. Die URLs der Bilder wurden über die Flickr API geholt und dann durch das Image Plugin geladen, entsprechend gerechnet und abgelegt. So weit, so gut. Nun das Problem: Für den Dateinamenhash benutzt ajaxImage u.a. die Breite …


Beitrag lesen
21.
Sep.
2011

Boah, Newsticker sind doch so…. 2016

Autor: Benedikt Keller


Technologie // User Experience & Design


Einige von uns haben sich ja schon die Augen gerieben: Der tot geglaubte Newsticker erhält bei vielen Kunden im Portal wieder Einzug. Leider kam es bei diversen Umsetzungen mit fertigen Tickern in letzter Zeit aber zu einigen Problemen. Problem 1: Responsivität Die Liste an fertigen Tickern im Netz ist lange und die Fähigkeiten der Ticker sind …


Beitrag lesen
29.
April
2016

OOP 2015 – Tag 3

Autor: Marc Kurzmann


Technologie // Über den Tellerrand


Heute ging’s gleich technisch los mit dem ersten Vortrag über Möglichkeiten zur Vereinfachung von Deployments und Abhängigkeiten zur Laufzeitumgebung. Goßes Problem stellt hier zum Einen die oftmals mühsame Bereitstellung der Laufzeitumgebung dar (insbes. Appserver, wie Tomcat etc.), zum Anderen bringt das eine große Abhängigkeit in den zu verwendenden Bibliotheken mit sich (Servlet-API). Einen interessanten Ansatz …


Beitrag lesen
30.
Januar
2015