Optionale Argumente in Java

Es ist schon viele Jahre her, dass ich in einer internen Schulung meine Kollegen auf die Annehmlichkeiten einer Closure hingewiesen habe. Viele Dinge können eleganter und effizienter formuliert und auch die nebenläufige Programmierung kann strukturierter werden. Leider hat es aber sehr lange gedauert, bis mit den Lambdas dieses Feature auf der Java Plattform angekommen ist. Und es gibt noch mehr Sprachfeatures aktueller dynamischer Sprachen, die wünschenswert sind.

mehr ...

Objekt mit Statusübergang

Vor einiger Zeit habe ich für eie in Java entwickelte Web-Anwendung ein Objekt erstellen müssen, das erst über einen Genehmigungsprozess nach “Vier Augen Prinzip” tatsächlich Gültigkeit erlangt. Dabei wird durch einen ansonsten nicht weiter autorisierten Benutzer “0” eine Instanz des Objekts angelegt und erst nach der vollständigen Erfassung für eine Entscheidung freigegeben. Danach müssen zwei Entscheider, “1” und “2”, diesen Vorgang zur Überarbeitung zurückweisen, ablehnen oder genehmigen. Diese Prozess wird durch die nachfolgende Skizze vielleicht ein wenig deutlicher:

mehr ...

Relationen implementieren mit Hibernate

Mit hibernate verwende ich schon seit vielen Jahren ein verlässliches Framework, um Objektnetze in relationalen Datenbanken persistieren zu können. Auch wenn sich dieses Framework viel Mühe gibt, diese semantische Lüscke auszufüllen, gibt es doch immer wieder Momente, in denen die Unterschiede zwischen Objektnetzen einerseits sowie Datentupeln und Relationen andererseits aufblitzen. Dann kann es schon manchmal passieren, dass man aufgrund einer Wartungsaktivität eine geringfügige Änderung am Programmcode vornimmt und plötzlich treten Fehler in der Produktion (immer nur dort, nie in den Testumgebungen auf), die zu dauerhaftem Ärger führen können.

mehr ...

NullPointerException

Ich erinnere mich… Als vor einigen Jahren (1995) die erste Version der Programmiersprache Java veröffentlicht wurde, waren die in die Sprachdefinition integrierten Exceptions eines der Themen, die in unserer Firma heiss diskutiert wurden.

mehr ...

Anwendungsdaten auswerten mit Mathematica

Im letzten Post habe ich über die Vorteile berichtet, die meine Implementierung einer REST Schnittstelle für die Erzeugung fachlich - zumindest halbwegs - sinnvoller Testdaten bedeutet hat. Nun, einige Tage und damit eine strukturelle Änderung des Systems später, hat sich das geschilderte Vorgehen einmal mehr bewährt.

mehr ...

Testdatenerstellung über Remote-API

Für viele kleine, nützliche Anwendung kommt der Moment, in dem diese Anwendung jenseits des ursprünglichen Aufgabengebiets eingesetzt werden soll. Selbstverständlich ist es wünschenswert, zusätzliche Kunden zu finden, doch steigt für den Entwickler mit jedem zusätzlichen Interessenten der Wunsch, spezifische, auf den Kunden zugeschnittene Testdaten zu besitzen.

mehr ...

Erste Eindrücke von der w-jax

Wer beim Lesen meines letzten Posts das Gefühl hatte, das endgültige Fazit würde fehlen, befindet sich eigentlich auf der richtigen Spur. Es gab einige Dinge, die mit höherer Priorität fertig gestellt werden mussten und in dieser Woche befinde ich mich auf der w-jax in München. Daher wird es noch ein wenig dauern, bis ich meine Gedanken zu Ende denken und niederschreiben kann.

mehr ...

Paralleles Programmieren

Aus technischer Sicht ist das Programmieren des normalen, seriellen Programmcodes die bestmögliche Lösung. Die Programmiermodelle aller verwendeten populären Programmiersprachen basieren auf der sequentiellen Abarbeitung einer Abfolge von Instruktionen, unterbrochen nur durch Entscheidungspunkte und Schleifen.

mehr ...

Remote Kommunikation

Seit vielen Jahren setze ich in meinen Anwendungen Frameworks ein, die mir eine remote Kommunikation mit Systemen gestatten, die in einem unabhängigen Adressraum, gegebenenfalls sogar auf einem anderen Server laufen.

mehr ...

Ist das Singleton Pattern ausreichend?

Eines ist mir heute aufgefallen: es gibt eine Reihe von Büchern, die sich mit den unterschiedlichsten Pattern beschäftigen. Mittlerweile beschäftigt man sich nicht nur mit Architekturpattern sonder eben auch mit Prozessmustern in der Softwareentwicklung oder gerade den Verhaltensmustern von Menschen. Das sind alles interessante und auch wichtige Themen um insbesondere auch als Software Entwickler, Ingenieur oder Architekt die Schemata der sozialen Interaktion zu erkennen.

mehr ...