Blog & Articles

Article

Software systematisch verbessern

Evolution, Änderung und Wartung – aber richtig!

Article

Die Renaissance von Erlang

99,9999999% Verfügbarkeit über 20 Jahre

Article

Skalierbare Softwaresysteme

Skalierbarkeit ist eines der klassischen Qualitätsmerkmale von IT-Systemen. Wenn wir diesen Begriff hören, denken wir üblicherweise sofort an die Skalierung des Systems “nach oben”. Es scheint also meistens darum zu gehen, inwieweit unser System durch das Hinzufügen von mehr RAM, CPU oder zusätzlichen Maschinen auch entsprechend mehr Durchsatz erreicht oder mehr Last vertragen kann. Oft ist aber auch die Skalierbarkeit “nach unten” interessant, also die Lauffähigkeit des Systems bei sehr wenig verfügbaren Ressourcen. Eine solche Flexibilität ist zum Beispiel sehr hilfreich, wenn ein komplexes System automatisiert durch viele unterschiedlich dimensionierte Entwicklungs-, Test- und Abnahmeumgebungen wandern muss, bevor es in der Produktivumgebung ankommt.

Article

Domain-Driven Design in Clojure

Gut bewertet

Article

Endlich viel erben?

Default-Methoden in Java-Interfaces

Article

openHAB auf dem Raspberry Pi

Nachdem openHAB auf der diesjährigen JavaOne einen der begehrten Duke’s Choice Awards gewonnen hat, möchten wir die Gelegenheit nutzen, diese quelloffene Lösung für die Do-It-Yourself-Heimautomatisierung vorzustellen. Das Framework openHAB sollte auf praktisch jedem Rechner funktionieren, der eine JVM und OSGI-Runtime ausführen kann. Wir stellen das Open-Source-System im Folgenden an einem kleinen Beispiel vor.

Article

GOTO 2013 Berlin

innoQ Mitarbeiter über ihre persönlichen Highlights der Konferenz

Article

Versionsmanagement auf dem Tanker

Typische SCM-Szenarien großer Projekte mit festem Releasetakt

Article

Reactive Extensions in Java

Reactive Programming ist ein datenflusszentriertes Programmierparadigma. In objektorientierten Programmiersprachen ermöglicht das Observer-Muster den Datenfluss entgegen der gewünschten Aufrufabhängigkeiten: Von einem Subjekt abhängige Beobachter werden automatisch über Änderungen dieses Subjektes informiert und können den aktuellen Zustand erfragen. Mit Reactive Extensions wird das Paradigma so ergänzt, dass sich leicht die parallele Verarbeitung von Daten implementieren lässt.

Article

ROCA: Keine Angst vor HTML und JavaScript

Web-Apps zum Wohlfühlen

Article

Use-Case-Puzzeln für Fortgeschrittene

Zwischen Requirements Engineering und Geschäftsprozessmodellierung

Article

Hypermedia as the Engine of Application State – Spring Hateoas

Das kürzlich veröffentlichte Spring Hateoas vereinfacht das Verlinken von Ressource-Repräsentationen und bietet Mechanismen zur Link-Erzeugung und zum Reverse-Routing. Dieser Artikel stellt vor, wie diese Konzepte mit Spring MVC zusammen arbeiten und die Entwicklung von Webanwendungen erleichtern.

Article

Large Scale Business Process Integration

Zwischen Grundbüchern, Banken und Notaren – Erfahrungen und Herausforderungen

Article

Log-Daten effektiv verarbeiten mit Apache Kafka

Ver-log-end

Article

Micro-Cloud mit Cloud Foundry

In dieser Ausgabe stellen wir mit Cloud Foundry einen Plattformdienst vor, mit dem Java-Anwendungen in der Cloud betrieben werden können. Die Plattform stellt Java-Anwendungen eine virtuelle Umgebung mit Ressourcen zur Verfügung. Wir haben Cloud Foundry für diese Kolumne gewählt, weil es die Cloud-Plattform auf den eigenen Rechner holt. Dadurch wird die Cloud- Entwicklung netzunabhängig.

Article

Offene Daten vernetzen

Von der akademischen Spielwiese in die praktische Realität

Article

Im Web zu Hause

ROCA – Modell für die native Webentwicklung

Article

Early-Design Reviews

Sie erfahren in diesem Whitepaper, wie Kunden der innoQ in unterschiedlichen Projektphasen von der Umsetzungs- und Architektur-Expertise von innoQ profitiert haben. Sie lernen die notwendigen Voraussetzungen für erfolgreiche Review-Projekte kennen.

Article

Rubies are forever

Ruby 2.0 als Geschenk zum 20. Geburtstag

Article

Geschäftsprozesse vom Fließband

Continuous Integration für automatisierte Geschäftsprozesse mit Maven und Jenkins

Article

Java – Funktional ohne Zauberei

In dieser Ausgabe stelle ich die verschiedenen Möglichkeiten vor, mit der quelloffenen Bibliothek Totally Lazy in Java funktional zu programmieren. Mit Hilfe bekannter Higher-Oder-Functions erlaubt sie, Collections elegant sequenziell oder auch nebenläufig zu verarbeiten. Dabei stellt Totally Lazy sicher, dass die Verarbeitung der Sequenzen lazy erfolgt. Wie Totally Lazy hilft, Teile unseres Quellcodes wartungsfreundlicher zu gestalten, ist Gegenstand dieses Artikels.

Article

Apache Buildr

Die Mavenalternative?

Article

ROCA

Resource-oriented Client Architecture

Article

Eine Lanze für XML brechen

Heute – zehn Jahre nach der ersten Vorstellung von JAXB im JavaSPEKTRUM – möchte ich noch einmal eine Lanze für XML brechen. Auch wenn JSON, der sympathische Cousin von XML, immer mehr Freunde gewinnt, bietet XML immer noch einiges, wenn auch selten genutztes Potenzial. In dieser Kolumne möchte ich ein paar Aspekte von XML noch mal in Erinnerung rufen.

Article

Wider Betonköpfe und Freigeister

Entwicklung und Betrieb verzahnen mit DevOps