Um den nebenläufigen Zugriff auf einen „kritischen Abschnitt“ im Code zu kontrollieren, bietet Java SE verschiedene Möglichkeiten: synchronized
-Blöcke und -Methoden sowie die Klassen des Packages java.util.concurrent
. Doch wie verhält sich dies mit EJBs? Hier lohnt sich ein genauerer Blick.
weiterlesen
Spring MVC Form Kuriositäten (IDs & Validation)
In der aktuell täglichen Arbeit mit Spring 2.5 fasziniert einerseits die Leichtigkeit der Anwendungen mit Spring MVC, andererseits treten ab und zu Kuriositäten auf. Drei davon werden hier namentlich mit Vorschlägen zur Behandlung genannt.
weiterlesen
EJB Default Interceptor: Einer für alle
…aber eben nicht für viele. Neulich stellte ein Kollege die Frage, wie er einen Interceptor für viele EJBs konfigurieren könne. Wichtig ist, dass es sich nicht um alle EJBs der Applikation handelt. Schaut man in die Spezifikation, so lautet die Antwort: Nimm einen Default Interceptor, der für alle Beans konfiguriert wird.
weiterlesen
Service-orientierte Architekturen und zentrale Datentypen – geht das?
In verschiedenen SOA-Projekten sind mir Bibliotheken oder Komponenten begegnet, die zentrale Datentypen enthalten, welche von allen Services verwendet werden können. Hier finden sich dann Typen wie z.B. Adresse oder Kunde wieder, die fachlich übergreifend sind und in verschiedenen Kontexten – sprich Services – verwendet werden. Schnell ergibt sich daraus ein Albtraum der Abhängigkeiten.
weiterlesen
Ist Software-Architektur nicht mehr wichtig?
Mich beschleicht immer mehr der Eindruck, dass Software-Architektur anscheinend nicht mehr wichtig ist oder zumindest nicht mehr so bewusst von Entwicklern berücksichtigt, gelebt und erfahren wird. Immer öfter trifft man auf Systeme, die in den Grundfesten ihrer Substanz keine ernsthaft durchdachte und geplante Architektur aufweisen. Hieraus resultieren in der Folge Systeme, die entweder hohe Kosten in der Maintenance-Phase nach sich ziehen oder die schlicht und einfach inperformant sind.
Wie kann das sein? Zweifellos ist in den letzten Jahren viel zum Thema Software-Architektur veröffentlicht und vorgetragen worden. Es hapert teilweise jedoch schon an den grundlegenden Ansätzen der Software-Architektur. Ich spreche hierbei noch nicht von Themen wie dem Abstrahieren von Laufzeitumgebungen durch Mock-Verwendung, DDD etc.
weiterlesen