Kolumne

Die Jagd nach Performance: Ist Reactive Programming der richtige Weg?

Reactive Programming verspricht eine höhere Performance von Enterprise-Java-Anwendungen bei geringerem Speicherbedarf. Erreicht wird dieses Versprechen, indem blockierende Aufrufe vermieden werden. Blockierende Aufrufe führen im Betriebssystem immer zu Prozess- und damit zu Kontextwechseln. Solche Kontextwechsel haben einen hohen CPU- und Speicher-Overhead. Dieser Overhead wird durch weniger Kontextwechsel reduziert. Erkauft wird dieser Performancegewinn von Reactive Programming allerdings durch schlechtere Wartbarkeit der Software. Ist die höhere Performance aber diesen Preis wert, und was sind die Alternativen? Dieses Thema wollen wir uns einmal genauer anschauen.

DevOps Stories: Ein Sündenbock hilft nicht! Blameless Post Mortems

Agilität, Management 3.0, New Work oder DevOps – all diese Bewegungen verändern die Art und Weise, wie Softwareentwicklung organisiert wird. Wenn man ihren Denkmustern und Ideen konsequent folgt, beeinflussen sie stark die Kultur des Unternehmens. Über solche Kulturveränderungen berichtet die Kolumne DevOps Stories. Heute belauschen wir das MusicStore-Team beim morgendlichen Stand-up.

JavaScript in der Welt von Go: Wie, JavaScript?

Naja, es geht nicht direkt um JavaScript, keine Panik. Doch die JavaScript Object Notation, kurz JSON, ist derzeit die Lingua Franca für den Datenaustausch im Internet. Eine Vielzahl von Web APIs, seien sie nun RESTful oder nicht, nutzen dieses Format für den Austausch von Daten. Andere Programme wiederum speichern ihre Daten sowohl als Textdateien oder in entsprechenden Datenbanken wie CouchDB in der JSON. Und auch für Konfigurationen wird JSON gerne genutzt.

So implementiert Ihr Querschnittsfunktionen mit Angular

Querschnittsfunktionen – das sind diese lästigen, meist technischen Anforderungen, die es immer und immer wieder zu berücksichtigen gilt. Beispiele dafür sind unter anderem Authentifizierung, Protokollierung oder die Behandlung von Fehlern. Natürlich möchte man die dafür nötigen Methodenaufrufe nicht ständig wiederholen müssen. Idealerweise werden sie automatisch aktiv. In diesem Artikel zeige ich drei Mechanismen von Angular, die genau das auf elegante Art erlauben: Guards, HTTP Interceptors und Direktiven. Alle gezeigten Beispiele können auf GitHub nachgelesen werden.

Enterprise Tales: Lost in Transaction – Businesstransaktionen mit Microservices umsetzen

Die Auftrennung des historisch gewachsenen Monolithen in eine Unmenge von Microservices scheint heute Pflicht. Wirklich unabhängig sind die Services am Ende allerdings nur dann, wenn die Trennung konsequent auf allen Ebenen vollzogen wird. Nicht nur den Code, sondern auch die Datenbank gilt es zu trennen. Willkommen in der Wunderwelt der verteilten Transaktionen.

Warum ein „Clean Start“ für Software-Architekten wichtig ist

In der zweiten Folge unserer Kolumne stellen wir Ihnen drei Zutaten vor, die Sie als Architekt(in) von anderen auf jeden Fall einfordern sollten. Wir nennen das zusammenfassend einen „Clean Start“ für Ihr Projekt oder Ihre Produktentwicklung. Für den Fall, dass das nicht klappt, kennen Sie ja Ihr Schicksal: Dann müssen Sie diese Teile der Analysearbeit auch noch selbst in die Hand nehmen.

Planet Android: Android-Q-Beta und Google Drive in neuem Look

Die Beta-Version von Android 10 alias Q wurde sehnsüchtig erwartet. Einige Spekulationen und zahlreiche Gerüchte später ist sie tatsächlich erschienen. Ein kleines Highlight ist die integrierte Beta-Feedback-App. Außerdem existieren aktuell zahlreiche Leaks zu Android Q, weshalb wir eine Übersicht mit den bisher „bekannten“ Informationen erstellt haben. Obendrauf gibt es neues von Google Drive für Android.