Articles

Article

Java – Funktional ohne Zauberei

Totally Lazy

Article

Apache Buildr

Die Mavenalternative?

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

Eine Lanze für XML brechen

Java spricht

Article

Wider Betonköpfe und Freigeister

Entwicklung und Betrieb verzahnen mit DevOps

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

Java-Programme mit Clojure würzen

Doppelplusgut

Article

BPMN und Camel

Gemeinsam sind wir stark

Article

Neo4j – Eine graph-basierte transaktionale Datenbank

Während die Kolumne von Michael Hunger in dieser Ausgabe den Aufbau von Neo4j und deren Performance genauer betrachtet, wollen wir uns diese Graphdatenbank aus der Perspektive des Anwendungsentwicklers, des „Praktikers”, anschauen. Um es mit den Worten des Amazon-CTOs Werner Vogels zu sagen: „Für alles, was mehrere Beziehungen und Verbindungen hat, rockt Neo4j total.“ 1

Article

Webanwendungen mit dem Play!-Framework

Wie man in Java Webanwendungen bauen sollte

Article

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

Geschäftsagilität durch Tests sichern

Article

Domain Specific Languages

In den letzten Jahren hat es sich eingebürgert, bei domänenspezifischen Sprachen zwei Varianten zu unterscheiden: interne und externe. Dabei gewinnen interne DSLs insbesondere durch die steigende Popularität dynamischer Sprachen zunehmend an Bedeutung.

Article

OpenShift Express

Java EE in der Cloud

Article

Hype oder hilfreich?

Was wir von Lean-Start-ups lernen können

Article

„Infrastructure as Code“ mit Chef

Ein typischer erster Arbeitstag in einem neuen Projekt: Es handelt sich um ein ganz „gewöhnliches“ Java-EE-Projekt. Ich bekomme Zugangsdaten für eine Versionsverwaltung und ein Wiki-System. Ich habe Glück, der Code lässt sich sofort bauen. Nun würde ich meine nagelneuen Artefakte gerne deployen und in Aktion sehen. Das bedeutet zunächst: Wiki-Seiten wälzen. Dort finde ich Verweise auf den verwendeten Application-Server und Fragmente für die Konfiguration. Ich wühle mich also durch die Downloadseiten des Herstellers, um die korrekte Version zu finden, und editiere dann die Konfigurationsdateien. Für die verwendete Datenbank bekomme ich vom Kollegen ein Image für eine Virtualisierungssoftware. Allerdings, so warnt er mich, müsse ich einige Schemaänderungen noch per Hand nachpflegen. Etwas später habe ich die Migrationsskripte gefunden und führe sie aus. Per Hand deploye ich die neuen Artefakte und es entstehen merkwürdige Fehler. Die Fehlersuche mit dem Kollegen offenbart, dass ich noch einige obligatorische Verzeichnisse anlegen muss und die Konfigurationsdateien aus dem Wiki nicht ohne Änderungen zu der Datenbank im Image passen. Schlussendlich bin ich in der Lage, das Projekt zum Laufen zu bringen. Aber ob mein System wohl identisch mit dem des Kollegen ist? Oder der Testumgebung? Oder der Produktion? Und mit wie viel Aufwand für den Aufbau einer weiteren Staging- Umgebung muss man rechnen?

Article

Quality Driven Software Architecture

Mit Fokus auf Qualität bessere Software schaffen

Article

Die Welt der Dinge in deiner Hand

openHAB als Integrationsplattform im IoT

Article

Clojure — in der Praxis?

Von Andy Hunt und Dave Thomas stammt der Rat, jedes Jahr eine neue Programmiersprache zu lernen, um nicht einzurosten. Und die Anhänger dieser Philosophie können sich zur Zeit glücklich schätzen: An neuen oder wiederentdeckten Programmiersprachen herrscht wirklich kein Mangel. Die große Mehrheit der Entwickler jedoch steht dem Thema deutlich skeptischer gegenüber. In diesem Artikel wollen wir am Beispiel von Clojure näher beleuchten, welche Gründe es gibt, sich mit neuen Programmiersprachen auseinanderzusetzen. Viele der Argumente sind Clojure-spezifisch, andere lassen sich auch auf andere Sprachen übertragen, insbesondere wenn diese — wie JRuby, Scala oder Groovy — auch auf der JVM lauffähig sind. Vorab: Natürlich gibt es diverse Nachteile, die ganz allgemein mit der Einführung einer neuen Sprache zusammenhängen, und jede Sprache hat auch ihre eigenen spezifischen Schwächen. Diese blenden wir in den nächsten Absätzen einfach einmal aus. Denn erstens kennen Sie diese Nachteile wahrscheinlich schon und zweitens ist unsere Motivation natürlich völlig klar: Wir sollen Sie motivieren, neue Sprachen ernstzunehmen und nicht zu ignorieren. Nachdem die „hidden agenda“ nun nicht mehr so versteckt ist, auf ans Werk!

Article

NoSQL - Einsatzgebiete für die neue Datenbank-Generation

Sie haben die Wahl!