Blog & Articles

Article

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.

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

Totally Lazy

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

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

Doppelplusgut

Article

Auf Nummer sicher

Neue Projekte im Geschäftsprozess-Umfeld stehen häufig vor der Herausforderung, Prozesse zu automatisieren. Dabei müssen Prozesse so formal beschrieben werden, dass ein Computer sie, wie andere Software auch, interpretieren und ausführen kann. Dieses High-Level-Programming verlangt aber auch die Qualitätssicherung, insbesondere von kritischen Prozessteilen. In diesem Artikel werden Möglichkeiten für das Testen der verschiedenen Komponenten von ausführbaren Geschäftsprozessen (Prozess, Datentransformationen) und für das Review (Prozess, Servicedefinitionen) sowie Erfahrungen aus einem Projekt vorgestellt.

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.

Article

Webanwendungen mit dem Play!-Framework

Wie man in Java Webanwendungen bauen sollte

Article

Testobjekt: Geschäftsprozess – Testen für kontinuierliche Verbesserung

Die Automatisierung von Geschäftsprozessen mittels WS-BPEL oder BPMN 2.0 steht in der heutigen Zeit oftmals im Focus der IT-Strategien von Unternehmen. Geschäftsprozesse werden dabei nicht mehr nur fachlich modelliert, sondern so formal beschrieben, dass sie mittels Prozess-Engines ausgeführt werden können. Diese formalen Modelle sind zwar abstrakter und näher an den fachlichen Geschäftsprozessen als normale Programme, sind aber trotzdem Softwareartefakte, die während der einzelnen Entwicklungszyklen und auch bei späteren Anpassungsarbeiten getestet werden müssen.

Article

OpenShift Express

Oracle hat bereits zu Zeiten des Grid-Computing-Hypes verkündet, dass die bestehenden Java EE/J2EE-Standards völlig ausreichen, um Systeme für das Grid zu entwickeln. Diese Idee gewinnt im Cloud Computing bei verschiedenen „Platform as a Service (PaaS)“-Anbietern an Bedeutung, zumal der vom JCP akzeptierte JSR 342 verschiedene Features für Java EE 7 vorschlägt, die effizientere PaaS ermöglichen. Einen der Anbieter habe ich herausgepickt und mit ihm erste Geh-Versuche gemacht.

Article

Domain Specific Languages

Interne DSLs: Programmiersprachen in Programmiersprachen einbetten

Article

Hype oder hilfreich?

DevOps – die engere Verbindung von Entwicklung (Development) und Betrieb (Operations) – ist ein Thema, das zurzeit heiß diskutiert wird. Aber was ist dran am Hype? Ist DevOps nur eine Modeerscheinung, gepusht von Agilitätsromantikern?

Article

Quality Driven Software Architecture

Qualität bildet die Existenzberechtigung für Softwarearchitekten: Zuverlässig, performant, skalierbar und benutzerfreundlich sollen unsere Systeme sein, das alles kosteneffektiv und zukunftssicher. Jeder IT’ler weiss, dass diese Kombination von Eigenschaften harte Arbeit bedeutet. Lesen Sie hier, wie Softwarearchitekten systematisch Qualität konstruieren können.

Article

„Infrastructure as Code“ mit Chef

Server programmieren statt konfigurieren

Article

Clojure — in der Praxis?

Wer braucht schon eine neue Programmierprache? Schließlich lässt sich alles in jeder Sprache erledigen, die Turing-complete ist; ob es nun C++, C# oder Java ist – irgendwie ist doch alles das Gleiche. Die wirklich spannenden Themen liegen ganz woanders: in der Gesamtarchitektur, der Entwicklungsmethodik, sozialen Faktoren, der Firmenpolitik usw. oder nicht? Spielen Programmiersprachen wirkliche eine Rolle oder sind sie vergleichsweise egal? Wie kann der Aufwand für das Erlernen und – viel wichtiger – das Einführen einer neuen Sprache gerechtfertigt werden? Am Beispiel Clojure diskutieren wir in diesem Artikel die wichtigsten Argumente.

Article

NoSQL - Einsatzgebiete für die neue Datenbank-Generation

NoSQL ist derzeit in aller Munde, obwohl manche Konzepte und Technologien schon seit Jahrzehnten bestehen. Der Begriff umspannt inzwischen derart viele Datenbank-Kategorien und -Produkte, dass es oft zu Verwirrungen und falschen Annahmen über den geeigneten Einsatz kommt. Dieser Artikel betrachtet anhand konkreter Beispielszenarien die Kriterien, die bei der Entscheidung für ein klassisches relationales Datenbanksystem oder eine der NoSQL-Varianten eine Rolle spielen.

Article

Vom Sinn und Unsinn einer Zertifizierung für Softwarearchitekten – CPSA-F

Ein gemeinsamer Nenner für Softwarearchitekten