Blog & Articles

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

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.

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

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.

Article

ROCA: Keine Angst vor HTML und JavaScript

Web-Apps zum Wohlfühlen

Article

Use-Case-Puzzeln für Fortgeschrittene

Das aktuelle Umfeld in vielen Unternehmen ist sehr dynamisch und herausfordernd. Dieser Trend wird sich aufgrund des wirtschaftlichen Rahmens eher verstärken denn abnehmen. Dies merken auch die Softwareprojekte, die oftmals bestehende Geschäftsprozesse durch Softwarelösungen unterstützen müssen, wobei die notwendigen Umgestaltungen im Geschäftsprozess oftmals noch nicht bekannt sind. Dabei reicht die Bandbreite von punktueller Unterstützung durch „einfache“ Anwendungssysteme bis hin zu einer End-to- End-Automatisierung mittels BPMN2 oder BPEL. Unabhängig vom Scope und der Implementierungstechnik müssen Requirements Engineers in solchen Projekten jedoch auch Geschäftsprozesse verstehen und modellieren, um Anforderungen für die Software formulieren zu können.

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

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

Dieser Beitrag untersucht die „Linking Open Data“ Bewegung des World Wide Web und verwandte Ansätze. Der Begriff „offen“ hat einerseits ethische und juristische Dimensionen, wird hier aber vor allem in seinen technischen Konsequenzen untersucht. Erst die Verwendung offener Standards und die detaillierte Vernetzung aller Datenbestände führen zu einer „globalen Datenbank“, die zunehmend auch außerhalb der akademischen Welt eine ernst zu nehmende Rolle spielt.

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

Geschäftsprozesse vom Fließband

Während in Java-Projekten ein automatisierter Build heutzutage Standard ist, wird dies in Projekten, die auf BPEL oder BPMN aufsetzen, oftmals versäumt. Die Modellierungsumgebungen, wie in unserem Fall ActiveVOS, bieten nur rudimentäre Unterstützung für Build-Werkzeuge. Zudem gilt es viele Abhängigkeiten zu WSDL- und Schemadateien zu verwalten, die nicht in Maven, sondern in anderen Repositories versioniert sind. Wir stellen die Projektstruktur vor, die sich im Laufe unseres Projekts entwickelt hat und die es uns erlaubt, automatisiert alle Projektartefakte inklusive unserer ausführbaren Geschäftsprozesse zu paketieren und zu verteilen.

Article

Apache Buildr

Die Mavenalternative?

Article

Die Welt der Dinge in deiner Hand

Die Idee des Internet of Things basiert darauf, dass die Dinge des Alltags vernetzt sind. Was aber, wenn das liebgewonnene „Ding“ keine IP- Schnittstelle aufweist oder das verwendete Protokoll für den IoT-Service der Wahl unverständlich ist? Was, wenn alle „Dinger“ mit einer einheitlichen Oberfläche bedient, ein gemeinsames Chart mit Daten bestücken, oder gemeinsamen Automatisierungsregeln folgen sollen? In diesem Fall können Integrationsplattformen helfen, die für diese Problemstellungen Lösungen anbieten.

Article

Rubies are forever

Der 24. Februar 2013 markiert nicht nur die Freigabe der Version 2.0 der Programmiersprache Ruby, sondern zugleich auch ihr 20-jähriges Bestehen. Am Februar 1993 gab es den ersten Check-in, und damit läutete Ruby-Erfinder Yukihiro “Matz” Matsumoto die Erfolgsgeschichte einer dynamisch typisierten Programmiersprache ein, die vor allem mit dem Webframework Ruby on Rails weltweit populär werden sollte.

Article

ROCA

Resource-oriented Client Architecture

Article

BPMN und Camel

BPMN2 erfreut sich wachsender Beliebtheit und wird BPEL als Standard zur Modellierung ausführbarer Geschäftsprozesse langfristig ablösen, nachdem es bereits mit BPMN 1.x zum Standard für die fachliche Modellierung aufgestiegen war. Ausführbare Geschäftsprozesse sind dabei so detailliert und formal beschrieben, dass sie von einem Computer mittels eines Business Process Management Systems (BPMS) interpretiert, ausgeführt und analysiert werden können.

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

Eine Lanze für XML brechen

Java spricht

Article

Wider Betonköpfe und Freigeister

DevOps ist auf dem besten Weg, sich zum neuen IT-Hype zu entwickeln. Hinter der noch jungen agilen Bewegung steht die engere Verbindung zwischen Entwicklung und Betrieb. Für die technische Umsetzung haben sich schnell neue Automatisierungswerkzeuge etabliert.

Article

Java-Programme mit Clojure würzen

Für jeden, der einen Lisp-Dialekt auf der JVM verwenden will, ist Clojure eine naheliegende Wahl. Es verbindet die Ausdruckskraft von Lisp mit der Vielzahl von bestehenden Java-Bibliotheken. Was zur Integration von Clojure mit Java gehört und wie sich die Mächtigkeit von Clojure auswirkt, wollen wir am Beispiel der Clojure-Bibliothek Incanter betrachten.

Article

Auf Nummer sicher

Testen von ausführbaren Geschäftsprozessen

Article

Neo4j – Eine graph-basierte transaktionale Datenbank

Neo4j ist eine quelloffene NoSQL-Datenbank, die Daten in Graphen organisiert. Sie ermöglicht die effiziente Verarbeitung unterschiedlichster Anwendungsfälle, die zum Beispiel in relationalen oder NoSQL-Datenbanken mit anderen Datenmodellen eher aufwendig sind.