Artikel

Artikel

Software systematisch verbessern

Evolution, Änderung und Wartung – aber richtig!

Artikel

Die Renaissance von Erlang

99,9999999% Verfügbarkeit über 20 Jahre

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

Gut bewertet

Artikel

Endlich viel erben?

Default-Methoden in Java-Interfaces

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

Typische SCM-Szenarien großer Projekte mit festem Releasetakt

Artikel

ROCA: Keine Angst vor HTML und JavaScript

Web-Apps zum Wohlfühlen

Artikel

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.

Artikel

Hypermedia as the Engine of Application State – Spring Hateoas

RESTlos glücklich

Artikel

Large Scale Business Process Integration

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

Artikel

Log-Daten effektiv verarbeiten mit Apache Kafka

Mit Apache Kafka stellen wir ein ungewöhnliches Messaging-System vor. Es besticht durch persistente Speicherung der Nachrichten, hohen Transaktionsdurchsatz und gute Skalierbarkeit. Kafkas Architektur ermöglicht dadurch nicht nur den Einsatz in Online-Szenarien mit zeitnaher Verarbeitung, sondern auch in Offline-Szenarien mit stark zeitverzögerter Verarbeitung von Nachrichten. Dieser Beitrag demonstriert, wie Kafka auch mit großem Log-Aufkommen zurecht kommen kann.

Artikel

Micro-Cloud mit Cloud Foundry

Einer der Plattformdienste

Artikel

Offene Daten vernetzen

Von der akademischen Spielwiese in die praktische Realität

Artikel

Im Web zu Hause

Die Resource-oriented Client Architecture stellt einen Gegenpol zum Trend dar, Logik auf den Client zu verlagern. Zum Einsatz kommen dabei vertraute Webtechniken, welche die Entwicklung zeitgemäßer, ergonomischer, robuster, skalierbarer und wartbarer Webanwendungen unterstützen.

Artikel

Early-Design Reviews

Whitepaper zu Architektur-Reviews

Artikel

Rubies are forever

Ruby 2.0 als Geschenk zum 20. Geburtstag

Artikel

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.

Artikel

Java – Funktional ohne Zauberei

Totally Lazy

Artikel

Apache Buildr

Die Mavenalternative?

Artikel

ROCA

Eingezwängt zwischen statusbehafteten, serverseitigen Komponenten-Frameworks auf der einen und Single-Page-Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

Artikel

Eine Lanze für XML brechen

Java spricht

Artikel

Wider Betonköpfe und Freigeister

Entwicklung und Betrieb verzahnen mit DevOps

Artikel

Java-Programme mit Clojure würzen

Wenn jemand vor etwa acht Jahren in einem Java-Projekt vorgeschlagen hat, gewisse Teile in einem Lisp-Dialekt in der JVM zu realisieren, fiel dabei zumeist das circa 98 KB große JScheme. Heute hingegen bricht man in dem Fall durchaus die Lanze für Clojure, dem Lisp auf der JVM. In diesem Beitrag wollen wir anhand von Incanter exemplarisch zeigen, inwieweit sich die Kombination von Clojure und Java lohnt.

Artikel

BPMN und Camel

Gemeinsam sind wir stark