Blog & Artikel

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

Cross-Site-Scripting ist seit Jahren eines der Security Probleme im Web. Neben anderen sicherheitsrelevanten HTTP-Headern gibt es seit geraumer Zeit auch die Möglichkeit, dem Browser eine «Content Security Policy» mitzuteilen. Dieser Blogpost erklärt deren Zweck und Einsatz.

Artikel

Der Softwarelieferheld

Fünf Continuous-Delivery-Systeme im Vergleich

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

In einer Microservices-Architektur entstehen viele Services – potenziell in den verschiedensten Programmiersprachen. Um eine reibungslose Kommunikation zwischen diesen zu gewährleisten, müssen die Schnittstellen passen und auch über längere Zeit stabil bleiben. Consumer-Driven Contracts stellt hierzu einen Ansatz dar, der zudem die Schnittstellen und deren Aufrufer noch zusätzlich testet.

Blog-Post

What’s in a Name: Architecture

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

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

Blog-Post

ROCA vs. SPA

Currently, a lot of companies are migrating from Desktop applications (mostly written in Java) to Web applications for their products as well as for their internal tooling. When they start with this process they often ask themselves: Which technologies should we use to build our Web application? Should we use Angular.js or React? Or should we go with recommendations like ROCA instead of a Single Page Application?

Artikel

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

Was bedeutet „IT der zwei Geschwindigkeiten“?

Artikel

Web Components mit Polymer

Die vom W3C standardisierten Web Components erleichtern die komponentenbasierte Entwicklung von Benutzungsoberflächen für Webanwendungen. 2013 hat Google die Open-Source-Bibliothek Polymer initiiert, die Entwicklern beim Einsatz von Web Components Unterstützung an die Hand gibt. Mit der Vorstellung von Version 1.0 dieses Frameworks stellt sich die Frage, ob Polymer nun produktionsreif ist und in realen Projekte eingesetzt werden kann. Im ersten Teil der Serie stellen wir die Version 1.x vor und prüfen die Möglichkeit der Nutzung für Geschäftsanwendungen.

Artikel

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

Rob Pike Reinvented Monads

Blog-Post

Web Scraping mit PhantomJS-CEF

In Anlehnung an den Blogbeitrag von Martin Weck zu Beginn des Jahres, stellt Gastautor Andreas Knuth in diesem Artikel mit PhantomJS-CEF ein weiteres Tool vor, mit dem sich effizientes Web Scraping betreiben lässt.

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

Artikel

Java-Web-Frameworks von innen?

Web-Frameworks für Java gibt es nun bereits seit fast 20 Jahren. Diese nehmen dem Anwendungsentwickler eine Menge Arbeit ab und sorgen dafür, dass dieser sich nicht auf Infrastruktur konzentrieren muss, sondern die Anwendungslogik im Vordergrund steht. Doch was genau tut so ein Web-Framework eigentlich? Dieser Artikel zeigt, was heutige Web-Frameworks leisten und wo diese sich dann doch in Nuancen unterscheiden.

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

Blog-Post

Die Sprache Go

Go ist eine kompilierbare Programmiersprache mit starker und statischer Typisierung. Mit den Adjektiven imperativ, objektorientiert und modular lässt sich Go gut beschreiben. Im ersten Blogpost zu diesem Thema werden wichtige Grundlagen vorgestellt.

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.

Artikel

Microservices - Agilität durch Modularisierung

Blog-Post

Triple Booting a Mac

Installing a triple-boot environment on a Macbook Pro is not as straight-forward as one might think or read on the internet. This guide explains how to install Windows 10 and Linux (Ubuntu) alongside with OSX and share data via a common partition. As an add-on, I explain how to access the raw partitions to boot the foreign OS not only natively but also in a virtual machine.