Blog & Artikel

Blog-Post

Progressive Web Components

This is a write-up of the «Progressive Web Components» presentation at GOTO Berlin.

Artikel

Microservices à la Netflix

Netflix hat in den letzten Jahren sehr interessante Open Source Frameworks wie beispielsweise Eureka, Hystrix oder Zuul via GitHub publiziert. Parallel dazu hat das Spring Team mit Spring Boot und Spring Cloud zwei hoch interessante Module für Cloud basierte Microservice Architekturen veröffentlicht. Wie passen diese beiden Dinge nun zusammen?

Artikel

Services: SOA, Microservices und Self-contained Systems

Artikel

Self-contained Systems: A Different Approach to Microservices

Microservices are the current hype in the Software Architecture community. However, microservices can be used in many different scenarios to reach different goals. Self-contained Systems (SCSs) are one approach to achieve some of those goals while avoiding many common pitfalls.

Artikel

Microservice-Infrastruktur

Die Cloud und darauf aufbauend Microservices haben in den letzten Jahren die Softwareentwicklung stark beeinflusst. Vor allem im Bereich der Infrastruktur tut sich hier auch heute noch einiges. Dabei wird man den Eindruck nicht los, dass jede Woche ein neues Produkt veröffentlicht wird. In diesem Artikel versuche ich, Ihnen durch diesen Dschungel zu helfen.

Artikel

Software-Architektur für Innovation

Wie Software neue Umsatzquellen erschließen kann

Blog-Post

Command Line Tools in Swift: Words

Let’s write a simple command line utility in Swift.

Blog-Post

The perils of shared code

In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

Artikel

Spring Boot für Microservices

Eine frühlingshafte Lösung für Microservices

Artikel

Wie kommt man zu Self-Contained Systems?

Self-Contained Systems bezeichnet ein Konzept für Softwarebausteine, das klare Integrationsregeln auf der Makro-Ebene definiert: Systeme werden in eigenständige Teilsysteme zerlegt, die zu einem Gesamtsystem integriert werden. Häufig wird vorgeschlagen, Systeme entlang von Domänen in Self-Contained Systems zu zerlegen. In diesem Artikel wird ein alternativer Ansatz für das Schneiden einer Architektur in föderierte Self-Contained Systems vorgestellt.

Artikel

Requirements Engineering

Im Alltag vieler Softwareprojekte wird Requirements Engineering oftmals nur eingeschränkt berücksichtigt, obwohl es aufgrund seiner nachgewiesenen Wichtigkeit eine Grundvoraussetzung für effiziente Softwareentwicklung ist. Ziel dieses Artikels ist es, die Kernaussagen des Requirements Engineering in Erinnerung zu rufen und ein Modell vorzustellen, das einen vereinfachten Einstieg in das Requirements Engineering im Projektalltag erlaubt.

Artikel

Horden von Zombies

Wenn es um die Wurst geht

Artikel

Features in Java 9

Passend zum Schwerpunktthema «Java – die Neunte» dreht sich auch diese Kolumne um Neuigkeiten, die uns mit Java 9 zur Verfügung gestellt werden. Da sich den großen neuen Themen wie Jigsaw, JShell und HTTP/2 in diesem Heft eigene Artikel widmen, stelle ich Ihnen ein paar der vielen weiteren, jedoch deutlich kleineren Neuerungen vor. Freuen Sie sich also auf ein buntes Sammelsurium.

Artikel

Deployment und Monitoring von Microservices

Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. Während das Team die Mikroarchitektur für jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung für Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team für sich treffen kann und welche mit anderen Teams abgestimmt werden müssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

Artikel

Microservices - eine Bestandsaufnahme

Erfahrungen, Vor- und Nachteile des Ansatzes

Artikel

Software systematisch verbessern

Es ist ein bekanntes Phänomen: Obwohl zu Beginn beim Entwickeln des Projekts alles sauber und ordentlich zuging, degeneriert das System mit der Zeit – das Phänomen der „verfaulenden Software“ schlägt zu. Änderungen werden dann immer riskanter, schwieriger und langwieriger. In der Entwicklung und im Betrieb mehren sich die Probleme, die zu beheben immer mehr Zeit in Anspruch nimmt. Gleichzeitig steigen aber auch Änderungs- und Betriebskosten, während die Zufriedenheit von Entwicklern, (fachlichen) Auftraggebern, Testern, Administratoren und anderen Beteiligen ständig abnimmt. Vermutlich kennt jeder Leser diese Situation: Willkommen in der Legacy-Hölle.

Artikel

Ordnung durch minimale Regeln

Wie viele andere Unternehmen dieser Branche auch ist INNOQ in der Boomzeit der Jahrtausendwende entstanden. Mit einigem Frust aus vorangegangenen Tätigkeiten gründeten wir damals mit einigen Gleichgesinnten ein Unternehmen mit dem Anspruch, Dinge anders und natürlich besser zu machen, als wir sie vorher bei unseren Arbeitgebern erleiden mussten. Daraus hat sich mittlerweile ein System entwickelt, das nicht nur die Geschäftsleitung, sondern nahezu alle Mitarbeiter bei INNOQ sehr schätzen – und das Erstaunen, dass uns beim Erklären des Modells häufig entgegenschlägt, war Motivation genug, die wesentlichen Aspekte in diesem Artikel näher zu beschreiben. Sicher passen nicht alle unserer Lehren zu jedem Unternehmen, aber vielleicht können sie Ihnen als Inspiration dienen. Für uns hat es bislang sehr gut funktioniert – nicht mehr, aber auch nicht weniger.

Blog-Post

Content Security Policy

Schutz vor XSS mit dem CSP-Header

Artikel

Der Softwarelieferheld

Können Sie diese Frage beantworten: „Wie lange dauert es in Ihrem Unternehmen, bis eine Änderung deployt ist, die nur aus einer Zeile geändertem Code besteht?“. Und ebenfalls die anschließende Frage: „Passiert dies auf einer wiederholbaren und zuverlässigen Basis?“. Wenn Ihnen die Beantwortung der beiden Fragen Kopfschmerzen bereitet, lohnt ein Blick auf diese fünf Systeme für die Implementierung von Continuous-Delivery-Pipelines.

Artikel

Zwei Jahre nach dem Tod der Java Application Server

Vor zwei Jahren wurde der Tod der Java Application Server ausgerufen. Zeit also ein Fazit zu ziehen und die Thesen aus dem Artikel einem kritischen Review zu unterziehen.

Artikel

Consumer-Driven Contracts – Testen von Schnittstellen innerhalb einer Microservices-Architektur

Pacta sunt servanda

Blog-Post

What’s in a Name: Architecture

The term architecture is used with slightly different meanings throughout the IT industry. This post clarifies what (software) architecture is all about - and which misunderstandings might linger on your way to common understanding.

Artikel

Web Components mit Polymer

Wie im ersten Teil dieses Artikels bereits angekündigt wurde, beschäftigt sich dieser zweite Teil mit der technischen Anwendung von Polymer 1.0. Wo der erste Teil die Spezifikation und den Einsatz der Technologie aus einer Vogel-Perspektive zeigt, werden wir hier die konkreten APIs vorstellen.

Artikel

Nachhaltige Webarchitekturen

Warum REST und SPAs nicht immer die Lösung sind

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.