Archiv der Kategorie: Architecture

JUGH: Lutz Huehnken, Von Enterprise zu Reactive

Reactive, was ist das eigentlich? Was bedeutet das für jemanden, der wie ich aus der J2EE-Business-Welt kommt?

Genau diesen Fragen ging Lutz Huehnken nach.
Er orientierte sich am Reactive Manifesto und übersetzte es in eine konkrete und am Entwickler orientierten Form: Kein Servlet-Container, kein blocking IO, Sub-Thread-Einheiten, kein Two-Phase-Commit.

DL1HX_jugh20151203_184723.1

Es hat mir sehr gut gefallen. Nicht einfach alles wegwerfen und auf neuen Paradigmen reiten. Sondern über die einzelnen Anforderungen nachdenken, nachdenken, ob ich überhaupt z. B. eine Transaktion so und an dieser Stelle benötige. Die Stellen zu isolieren, wo ich durch Zwänge nicht um blocking IO oder Two-Phase-Commit herumkomme.

Die Jugh-Vorträge erscheinen auch nach und nach auf Youtube, einfach mal danach suchen.

Gerade Events mit auch promienten Speakern, die Rede und Antwort stehen, gefallen mir immer besser … und ich nehme mir auch einfach die Zeit hierfür.

Webmontag – tolle Talks – viele Gedanken

Mein erster Webmontag. Was soll ich sagen, der Raum war voll, super Atmosphäre, Bier und Pizza. Für mich natürlich Saft, aber der Pizza konnte ich mich nicht enthalten. Die Themen durchweg interessant und sehr spannend (den letzten Beitrag musste ich leider verpassen).

Zum ersten Beitrag würd‘ ich schlicht: „Geld verdienen mit Youtube“ sagen, von Lukas Gehner locker vorgetragen. Youtube-Netzwerke, Reichweite, Tausender-Kontakt-Preis, Affiliate, 12 – 17 Jährige die Hauptzielgruppe, Partner-Programme, Ads …

Man benutzt Youtube zur Unterhaltung, Weiterbildung, für Schularbeiten oder wie ich zur Weiterbildung (jeden Abend bis spät). Aber dieser Talk hat mir noch einmal vor Augen geführt, was für eine unglaubliche Business-Power und eine riesige, vielschichtige Maschinerie hinter dem Filmchen-Abspiel-Portal steht. Was sich hier für Möglichkeiten und ganze Wertschöpfungsketten, Vermittlungsschichten entwickelt haben ist einfach enorm.

Die beiden folgenden zusammenhängenden Talks über ReactJS und Flux von René Viering & Christian Kühl haben mir gut gefallen. Sie liegen voll im browsergetriebenen Trend, immer mehr Funktionalität in den Client zu verlagern. Mit den beiden angesprochenen Bibliotheken habe ich noch nichts zu schaffen gehabt. Danke für die Slides.

Allerdings finde ich das Prinzip des virtuellen DOM von ReactJS einen ziemlich coolen Ansatz, das effektiv neu darzustellende Diff herauszubekommen. Flux, ok, schon tausendmal gesehen irgendwie habe alle Model – View – Contoller. Auch wenn das jeweils anders genannt wird. Neuer ist halt, dass alles im Browser passiert und das Backend … ja wo war eigentlich das Backend?

JavaScript, die momentan wohl am schnellsten wachsende Sprache, die immer mehr Durchschlagskraft bekommt. Neue Berufe sind in den letzten Jahre ausgereift: Frontend-Entwicklung. Es ist müßig, langweilig und dumm, Flame Wars wie Backend versus Frontend, Server versus Client aufzumachen. Das gab es vor Jahrzehnten mit vi versus emacs. Man erinnert sich.

Aber, es ist auch zu beobachten, wie weit am Anfang die ganze Entwicklung von Client/JavaScript steht. Gemessen an den ausgereiften Toolchains, Frameworks, CI-Ketten, Qualitätsicherung usw von z. B. Java ist hier noch eine ganze Menge zu leisten. Andererseits ist die Dynamik der Weiterentwicklungen in diese Richtung wahnsinnig hoch. Die Anforderungen werden in Zukunft eher neue Aspekte hinzukommenlassen als zu sinken.

Was mich stört, ist, wie hoch fragmentiert die Werkzeuge sind, wie vereinzelt. Es kommt einem so vor, dass jede Aufgabe ihre eigene Library bzw. deren mehrere hat. Man sieht sich einem großen Haufen quietsch-bunter Glasmurmeln gegenüber. Um einen Use-Case abzubilden, muss man viele der Teilchen zusammenfügen und hoffen, dass sie passen und vor allem passend bleiben bzw. nicht in einem halben Jahr schon wieder verschwunden sind.

Jede Library hat natürlich einen hippen Namen, lustiges Logo und eine tolle moderne Webseite. Frontend – die wissen, wie Usability ist, wie etwas gut aussieht und sich hoffentlich toll bedienen lässt, es Spaß macht. Das ist genau das, was vielen gewachsenen und großen Anwendungen einfach fehlt. So gesehen ist die aktuelle Entwicklung großartig. Endlich werden diese techniklastigen, sperrigen Maschinenmasken gesprengt, das ist begrüßenswert.

Andererseits muss sich erst einmal zeigen, was sich von dem bunten Murmelhaufen letztlich als tauglich, stabil, wartbar und zuverlässig übrig bleibt. Das es auch noch nach Jahren gut bleibt und seinen Support hat. Da habe ich doch schon viele, viele Trens und Frameworks kommen und gehen sehen. Auch solche Frameworks, die erst in der 2. oder späteren Version (wie z. B. J2EE / JPA / JavaFX …) überhaupt effektiv einsetzbar waren. Wie ist das mit Themen wie Security, Sicherheits-Updates, Pen-Tests? Habe ich wirklich einen langfristig, stabilen und beherrschbaren Stack an Bibliotheken und Werkzeugen aus der JavaScript-Welt? „Dat wird sich uswiesen.“

Der Entwicklung sehe ich mit Spannung entgegen und freue mich über meine eigenen kleinen JavaScripte.

Und am Schluss noch mal fettes Danke an alle, die eine so tolle Veranstaltung planen, organisieren, durchführen, Talks halten und Pizza bestellen …

JUGH: Arno Haase: ‚Java Concurrency für Fortgeschrittene‘

Einer der besten Vorträge seit langem. Viel Bekanntes, welches aber von Arno in Zusammenhang gebracht ein neues Bild ergibt. Vorurteile und Annahmen beim alltäglichen Programmieren, bei denen sich herausstellt, dass sie einfach falsch bzw. veraltet sind. Was macht ‚volatile‘ wirklich, wie funktionieren die aktuellen Implementierungen von Collections oder Thread-Pools? Was ist das JAVA-Memory Model aktuell? Da werde ich mich wohl mal wieder hinsetzen müssen und neu lernen.

Besonders gut hat mir der ‚Satz von der Erhaltung des Elends‘ gefallen.

Den kenne ich als ‚Satz von der Erhaltung der Komplexität‘.

Danke Arno für die neuen Impulse

JUGH Link

Folien des Vortrags

Heise Developer Podcast

Eine neue Entdeckung ist der Developer-Podcast von Heise.
Bis ganzstündige, interessante Beiträge und Diskussion auch jenseits der Java-Welt.
Insgesamt erfrischend und zuweilen spöttische Betrachtungen bzgl. zeitgenössischer Software-Architektur regt zum Nachdenken an und liefert andere Blickwinkel auf die eingefahrenen Arbeits- und Entwurfsabläufe: z. B. Sinnhaftigkeit von Java-Beans / Data-Holdern mit ihrer Getter- und Setter-Flut in Episode 2.
Viele Informationen rund um Software-Architektur, Pattern, Produkte, Frameworks, DOs and DON’ts beim Entwurf.

heiseDeveloperCover

Außerdem ist das Schwäbisch in der IT liebenswert oder wenn das Telefon klingelt, weil die Frau eines Diskutanten anruft.