Blog & Artikel

Blog-Post

Frontend Dependency-Management mit Bower

Paket Management hat sich in so ziemlich jedem populären Ökosystem der Softwareentwicklung in irgendeiner Form breit gemacht. Und das nicht zu Unrecht: In den seltensten Fällen wird in einem Software-Projekt bei null angefangen. Ob Frameworks oder kleinere Bibliotheken, ein Software-Projekt besteht in der Regel aus vielen einzelnen Bausteinen, die zu einem größeren Ganzen zusammen gesetzt werden. Die Abhängigkeiten von Bausteinen zu Anderen lassen sich bis zu einem bestimmten Grad zwar manuell verwalten, mit zunehmender Größe eines Projekts ist dies auf lange Sicht aber weder praktikabel noch wartbar. Genau an dieser Stelle helfen Dependency-Management Tools dabei Bausteine neu hinzuzufügen, bestehende zu aktualisieren oder deren Abhängigkeiten aufzulösen.

Blog-Post

Eureka Provisionierung mit AWS CloudFormation

In einer Microservice-Architektur muss dafür gesorgt werden, dass die einzelnen Services miteinander kommunizieren können. Eine Möglichkeit hierfür ist der Einsatz einer Service Registry. In diesem Post betrachten wir wie man mit Hilfe von AWS CloudFormation Eureka als ausfallsichere Service Registry in der Amazon Cloud provisioniert.

Artikel

Logging konsolidieren und Performance gewinnen

Performance, Durchsatz und Integrität

Artikel

Von Markdown zu Published

Im Jahr 2012 begann innoQ, mit der Published-Reihe ein jährlich zu Weihnachten erscheinendes Buch herauszugeben, welches die Artikel von Mitarbeitern des vergangenen Jahres beinhaltet. Wurden die ersten beiden Ausgaben noch von einer Agentur per Hand erstellt, haben wir uns für 2014 das Ziel gesetzt, eine eigene Pipeline zu bauen, mit der das Buch erstellt werden kann. Dieser Artikel beschreibt nun den Aufbau und die Arbeit an der Pipeline und hinter der dritten Ausgabe von Published.

Artikel

Die Renaissance von Erlang

Konnte Joe Armstrong, der geistige Vater von Erlang, vor 25 Jahren schon ahnen welchen bemerkenswerten Weg seine Kreation nehmen wird? Der folgende Artikel beschreibt warum das im Stillen gereifte Erlang eine Renaissance erlebt und sich nicht nur als Vorbild für neue Sprachen größerer Aufmerksamkeit erfreuen wird.

Artikel

Scalable Software Systems

From developer laptops to server farms

Artikel

Grenzenlose Freiheit?

„Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt“, stellte schon Ludwig Wittgenstein fest. Auch wenn zwei Programmiersprachen Turing-vollständig sind und somit die gleichen Probleme lösen können, beeinflussen ihre Eigenschaften dennoch die Art und Qualität der Problemlösung. Mit der JVM steht uns heute eine Plattform zur Verfügung, bei der wir für jedes Problem die am besten geeignete Sprache wählen können. Auch wenn sich prinzipiell jede JVM-Sprache mit jeder anderen kombinieren lässt, gibt es einige Stolpersteine. In diesem Artikel wollen wir analysieren, wie gut sich Clojure mit Java verträgt.

Artikel

Kanonische Architektur-Evolution

Mit dem Entwurf der Softwarearchitektur wollen wir noch vor der Umsetzung die Tragfähigkeit der Software sicherstellen. Wie gut wir die Trägfähigkeit einschätzen können, hängt neben Erfahrungswerten und Kenntnis der eingesetzten Technologien auch davon ab, wie konsistent wir unsere Konzepte tatsächlich implementieren. Wir brauchen also mehr als bloße Wunschvorstellungen über das System; wir benötigen Mechanismen für die konsequente Umsetzung der funktionalen und qualitativen Eigenschaften des Systems.

Artikel

Wissen, was läuft

Mit Laufzeitmetriken den Überblick behalten

Artikel

Durchbruch

Der Markt für Heimautomatisierung erlebt derzeit große Veränderungen, denn die Zahl der Geräte der neuen Gattung «IoT-Gadgets» wächst von Tag zu Tag. Im Jahr 2022 wird jeder Durchschnittshaushalt mit ungefähr 50 solcher Gadgets ausgestattet sein, die sinnvolle kleine Teilaufgaben erledigen. Fraglich ist, wie nützlich deren Einsatz ist, wenn keine übergreifenden Anwendungsszenarien möglich sind. Die gute Nachricht ist: Es gibt Lösungen, um diese neuen Geräte nahtlos in ein umfassendes Smart Home zu integrieren.

Artikel

Welten verbinden

Auch wenn inzwischen viele Voraussetzungen dafür geschaffen sind, dass sich der Smart Home Markt zum Massenmarkt entwickeln kann, sind noch längst nicht alle Probleme gelöst. Im Gegenteil, aufgrund der großen Fragmentierung haben die Nutzer häufig mehr Fragen als Antworten. Dieser Artikel soll dazu dienen, einige dieser Fragen zu klären und dabei eine Lösung an einem durchgängigen Beispiel vorzustellen.

Artikel

Knigge für Softwarearchitekten

Die Gegner

Artikel

Service-oriented Architecture (technisch)

Mit dem Advanced Level standardisiert der iSAQB Module aus unterschiedlichen Bereichen, die Teilnehmer nach ihren Bedürfnissen kombinieren können. Dieser Artikel erläutert das Modul „SOA-T“, das für Softwarearchitekten mit einem Fokus auf den technischen Aspekten serviceorientierter Architekturen entwickelt wurde.

Artikel

Wie Sie effektive Webarchitekturen bauen

Mit dem Advanced Level standardisiert der iSAQB Module aus unterschiedlichen Bereichen, die Teilnehmer nach ihren Bedürfnissen kombinieren können. Dieser Artikel erläutert das Modul „WEB“, das für Softwarearchitekten mit einem Fokus auf Webanwendungen entwickelt wurde.

Artikel

Endlich viel erben?

Default-Methoden in Java-Interfaces

Artikel

Firmenkultur bei innoQ

Bereits kurze Zeit nach meinem Wechsel zu innoQ war mir klar, dass ich über diesen Kulturschock unbedingt etwas schreiben wollte. Die 1-jährige Zugehörigkeit schien nun ein guter Zeitpunkt, um noch einmal Revue passieren zu lassen, warum ich zu innoQ kam und was ich in den ersten 12 Monaten erlebt habe.

Artikel

Micro-Services in Java realisieren – Teil 2: Web-Apps in Docker-Umgebungen

In dem ersten Teil dieser zweiteiligen Reihe haben wir uns mit der Realisierung von Web-Apps mit dem leichtgewichtigen Framework DropWizard beschäftigt. In diesem Teil beschäftigen wir uns mit der offenen Plattform Docker. Damit lassen sich Umgebungen definieren und voneinander isolieren. Wie sich Docker von virtuellen Maschinen unterscheidet und was das für unsere Anwendungen bringt, stellt dieser Artikel vor.

Artikel

Attribut-basiertes Testen mit Scala

Wo hilft funktionale Programmierung bei der Automatisierung von Testaufgaben

Artikel

Programmieren macht Spaß!

Mittlerweile gibt es zahlreiche Initiativen, deren Ziel es ist, neue Technologien und insbesondere Softwareprogrammierung genau den Menschen nahe zu bringen, die sonst nicht damit in Berührung kommen würden. Einige davon, die von innoQ personell und finanziell unterstützt werden, stellt dieser Artikel vor.

Artikel

Warum Soft Skills für Softwarearchitekten wichtig sind

Der Projekterfolg hängt viel stärker von den am Projekt beteiligten Menschen und den Rahmenbedingungen ab als von den eingesetzten Technologien. Erfolgreiche Projektleiter und Softwarearchitekten haben ein Gespür für die Menschen, mit denen sie Projekte machen, und erreichen mit ihnen gesteckte Ziele. Was erfolgreiche Anführer gemein haben, worauf es in der Zusammenarbeit ankommt und wie man selbst so etwas erlernen kann, stellt dieser Artikel vor.

Artikel

Ceylon auf der JVM und node.js

Schwarzer Tee mit syntaktischem Zucker

Artikel

Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

Sicherungen wurden ursprünglich eingeführt, um die Eskalation einer Situation zu verhindern. Wenn Ihnen ab und zu die Sicherung durchbrennt, ist das deshalb durchaus zu begrüßen, jedenfalls wenn es sich dabei um einen Circuit-Breaker im Sinne von Hystrix handelt. In diesem Artikel möchten wir Ihnen Hystrix vorstellen, eine Bibliothek, die ihnen dabei hilft, die Stabilität ihrer verteilten Anwendung zu verbessern und kaskadierende Fehlerszenarien zu verhindern.

Artikel

Hystrix – to make your fuse blow just in time

Circuit breakers were originally introduced to prevent the escalation of an outage. If your fuse blows occasionally, that does not have to be a bad thing - at least if it is a circuit breaker in the sense of Hystrix. In this article we will introduce you to Hystrix, a library which will help you to increase the stability of your distrubted applications and which will help to prevent cascading error scenarios.

Artikel

Zertifizierung für Fortgeschrittene

iSAQB CPSA-A (Advanced)

Artikel

Micro-Services in Java realisieren – Teil 1: Leichtgewichtige Web-Apps mit DropWizard

Dieser Beitrag in zwei Teilen stellt zwei interessante Zutaten für den Bau von Micro-Services vor: Docker.io zum Bereitstellen von definierten Umgebungen für unsere Services und DropWizard zum Realisieren von Web-Anwendungen. In dieser Ausgabe beschäftigen wir uns zuerst einmal mit der Realisierung und einem dafür passenden Framework.