Blog & Artikel

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.

Artikel

Hystrix – Wider den Totalausfall

Michael T. Nygard hat in seinem Buch „Release It!” sehr anschaulich die Folgen von sich fortpflanzenden Fehlern beschrieben. Seine klare Empfehlung lautete, Isolationsmuster wie zum Beispiel Leistungsschutzschalter – engl. Circuit Breaker – in die Software zu integrieren, um Totalausfälle zu vermeiden. Mit Hystrix hat Netflix ein Framework bereitgestellt, das den Einbau von solchen Schaltern vereinfacht. Dieser Beitrag stellt das Framework vor.

Artikel

Software systematisch verbessern

Evolution, Änderung und Wartung – aber richtig!

Artikel

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.

Artikel

Domain-Driven Design in Clojure

In diesem Artikel setzen wir die Prinzipien des Domain-driven Designs mit Clojure um. Wir stellen die Domäne Rating als Beispiel vor und demonstrieren strategisches sowie taktisches DDD. Wir zeigen, wie sich das Domänenmodell in Clojure implementieren lässt.

Artikel

openHAB auf dem Raspberry Pi

Heimautomatisierung für Geeks

Artikel

GOTO 2013 Berlin

Im Rahmen eines unserer Firmenevents hat innoQ dieses Jahr geschlossen die GOTO-Konferenz in Berlin besucht. Dieser Artikel beinhaltet sieben Beiträge von verschiedenen Mitarbeitern zu einigen Highlights der Konferenz. Die Beiträge sind chronologisch nach den jeweiligen Talks sortiert.

Artikel

Versionsmanagement auf dem Tanker

In verschiedenen großen Projekten mit festen Releasezyklen hat der Autor bestimmte Situationen ganz ähnlich mehrfach erlebt. Dieser Artikel berichtet von typischen Herausforderungen aus Versionsmanagement-Sicht, die sich in solchen Situationen ergeben und von praxiserprobten Möglichkeiten, sie zu meistern.

Artikel

Reactive Extensions in Java

Alles im Fluss

Artikel

Large Scale Business Process Integration

Geschäftsprozesse werden heutzutage vielmals unternehmensintern im Rahmen von BPM-Initiativen oder Projekten mit Geschäftsprozessmanagementsystemen, unter anderem auf der Basis von BPEL oder BPMN, automatisiert und eingeführt. Im Rahmen des Projekts Terravis entsteht eine schweizweite Plattform für elektronische Geschäfte zwischen Grundbuchämtern, Banken, Notaren und Handelsregistern, die im Endausbau bis zu 1 000 Umsysteme miteinander verbinden und die Prozesse mit den Beteiligten koordinieren wird. Da wir glauben, dass solche Projekte in Zukunft in der einen oder anderen Facette häufiger vorkommen werden, stellen wir in diesem Artikel die Architektur für solche Projekte vor und berichten über unsere Erfahrungen.