Blog

Blog Post

Nachhaltige Webarchitekturen

Heutzutage gewinnt man leicht den Eindruck, dass es für moderne Webanwendungen nur einen einzig wahren Architekturansatz gibt: REST und Single-Page-Anwendungen (SPAs). Doch ist alles, was REST genannt wird, wirklich REST? Sind REST und SPAs immer die beste Lösung? Um diese Fragen beantworten zu können, sollte man sich anschauen, was REST eigentlich ist, wofür es gedacht ist und ob es möglicherweise auch Alternativen zu SPAs gibt; insbesondere mit dem Blick auf Nachhaltigkeit, also Wartbarkeit und Erweiterbarkeit.

Blog Post

Der Architektenaufzug: Öfters mal nach oben fahren

In einem Gastbeitrag geht Gregor Hohpe der Frage nach, welche Rolle Softwarearchitekten in Zeiten der Digitalen Transformation spielen, und welche Relevanz diese Aufgabe für die Zukunft von Unternehmen hat.

Blog Post

ROCA vs. SPA

Comparing two architectural styles with a concrete example

Blog Post

AWS Lambda

Seit Kurzem gibt es von verschiedenen Cloud-Anbietern Services für die Entwicklung serverloser Event-getriebener Anwendungen in der Cloud: Google (Cloud Functions), IBM (OpenWhisk), Microsoft (Azure Functions) und allen voran AWS Lambda von Amazon. Dieser Artikel beschreibt am Beispiel von AWS Lambda das Programmiermodell und hilft bei der Beantwortung der Frage, ob sich der Einsatz für Ihre Anwendung lohnt.

Blog Post

What’s in a Name: Bimodale IT

Der Ausdruck “bimodale IT”, manchmal auch “IT der zwei Geschwindigkeiten”, steht seit einiger Zeit auf der Agenda vieler IT-Manager ziemlich weit oben. Daher möchte ich hier einerseits den Begriff erklären, andererseits einige (persönliche) Einschätzungen dazu abgeben.

Blog Post

Web Components mit Polymer

Teil 1: Von 0.5 zu 1.x

Blog Post

Buildumgebung in Gefahr!

Wer für eine Anwendung Verantwortung trägt, kennt den Alptraum, dass ein Angreifer Schadfunktionalität hinein schmuggeln könnte. Um diesen Alptraum zu verhindern, härten wir Anwendungen gegenüber feindseliger Interaktion, schützen Produktionsumgebungen und schotten sie ab. Aber Angreifer können auch versuchen, “über Bande zu spielen” und in eine Anwendung einzubrechen, indem sie ihre Buildumgebung manipulieren.

Blog Post

Error Handling in Go

Two commonly perceived problems of the programming language Go are that handling errors is verbose and repetitive parametric polymorphism is not available This post is about the intersection of those problems and Rob Pike’s recommendation on the former.

Blog Post

Web Scraping mit PhantomJS-CEF

Blog Post

Solving the wrong problems

Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

Blog Post

Eindrücke des Texteditors Atom

Ich vertrete ja die Meinung, dass es eine Gute Idee™ ist, immer mal wieder seine Werkzeuge zu wechseln. Dabei schließe ich auch Texteditoren ein. Das selbst ist ein Thema für ein anderes Mal, aber es ist auch der Grund, weshalb ich seit März eine Weile (etwa 7 Wochen) lang primär mit Atom gearbeitet habe.

Blog Post

Java-Web-Frameworks von innen?

Im Maschinenraum

Blog Post

What’s in a Name: Transparency

The term transparent denotes something translucent, where light can shine through. It is, for example, used in context of economics (transparent markets), meaning markets where much is known by many, and nothing is hidden. Sometimes geeks tend to inverse this meaning, saying transparency where they mean opaqueness. This post illustrates that your favorite XY-framework by no means makes XY transparent for developers.

Blog Post

Objektorientierung mit Go

Klassen und ein hierarchisches Typsystem sind der Programmiersprache Go völlig fremd. Trotzdem kann man mit Go auch objektorientiert programmieren. Welcher alternative Ansatz dahinter steckt, stellt dieser Blogpost vor.

Blog Post

Die Sprache Go

Blog Post

Transclusion in self-contained systems

Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems' content in the DOM of a web page.

Blog Post

Microservices - Agilität durch Modularisierung

Microservice-Architekturen sind der neue Hype. Viele denken: Alles wird einfacher mit diesem Ansatz - Software ist langfristig wartbar, die Entwicklung wird schneller und die Software skaliert besser. Es ist aber an der Zeit für einen detaillierten kritischen Blick.

Blog Post

Triple Booting a Mac

Blog Post

Ein Domänenmodell für das SmartHome

Es gibt in der Domäne SmartHome viele unterschiedliche Sichtweisen, proprietäre Produktfamilien, einige offene Standards und verschiedene Konsortien, die versuchen, langfristig tragfähige, standardisierte Kommunikationsstandards zu definieren. Wir skizzieren für das Umfeld des sogenannten Ambient Assisted Living eine mögliche API für die relevanten Anwenderrollen.

Blog Post

Konsumieren asynchroner HTTP-APIs mit Java 8

Es ist heutzutage nicht unüblich, für eine eigene Anwendung auf externe Services zurückzugreifen. Manchmal dauern diese Anfragen einige Sekunden, in denen die Anwendung auf das Ergebnis warten muss. Vorteilhafter wäre hier eine asynchrone Kommunikation mit dem Service, sodass die Anwendung parallel noch andere Dinge tun kann. Mit der Einführung von Completable Futures in Java 8 lässt sich eine elegante Lösung für diese Kommunikation mit asynchronen HTTP-APIs umsetzen. Statt Ewigkeiten auf die Fertigstellung langläufiger Anfragen warten zu müssen, kann über das Future zum gewünschten Zeitpunkt auf das Ergebnis zugegriffen werden, wenn es möglicherweise bereits fertig berechnet ist. Ein Problem stellt jedoch die Entscheidung darüber dar, wann das Future als komplett bewertet werden kann. In diesem Blogpost wird dieses Problem sowie ein Lösungsweg betrachtet und anhand eines Beispiels praxisnah beschrieben.

Blog Post

Why RESTful communication between microservices can be perfectly fine

Blog Post

Horizontal automation – a waste of time.

Automation of server administration tasks is a waste of time.

Blog Post

Web Scraping

This blog post provides examples how to implement web scraping using HtmlUnit, Selenium or jaunt and compares them.

Blog Post

git pull gotchas

Blog Post

Eclipse Smarthome, UI und so

Wie funktionieren die UI-Systeme für Eclipse Smarthome? Und warum nicht? Ein Überblick und ein Vorschlag für ein neues Schweizer Taschenmesser für Daheim.