Blog

Alle Beiträge in der Kategorie 'Software-Architektur'

Was kostet Software Lifecycle Management – wenn man darauf verzichtet?

Enno Thieleke hat in seinem Post Die Stiefmutter in Software-Projekten einen guten Überblick über Software Lifecycle Management (SLM) gegeben. Er hat u.a. aufgegriffen, dass ein professionelles SLM in vielen Projekten nicht betrieben wird, weil es den Verantwortlichen zu teuer ist. Wenn man ausschließlich die finanzielle Seite betrachtet, ist das ist je nach Laufzeit des Projekt vielleicht noch nachvollziehbar. Denkt man aber an die gesamte Lebenszeit einer Software oder daran, dass man gar mehrere Softwaresysteme betreibt, so stellt sich das schon ganz anders dar. Mir stellt sich da immer die Frage, was etwas kostet, wenn ich darauf verzichte. Ich möchte hier eine Beispielrechnung aufmachen, die Sie leicht auf Ihre eigene Situation anpassen können.
weiterlesen

Softwaremetriken: Zyklomatische Komplexität

Eines der Ziele der professionellen Softwareentwicklung ist es, qualitativ hochwertigen Code zu erstellen. Aus Sicht des Entwicklers bedeutet das unter anderem, dass Software durch entsprechend gute Strukturierung lesbarer, testbarer und wartbarer wird. Auch aus Sicht des Kunden bringt dies Vorteile. Wartungsaufwände werden verringert und Aufwandsschätzungen für Erweiterungen und Refactorings werden erleichtert.

Qualität darf in diesem Zusammenhang kein leerer Begriff bleiben, unter dem sich jeder Beteiligte etwas anderes vorstellt. Deswegen versucht man, Qualität und die Einhaltung von Qualitätsvorgaben mithilfe von Softwaremetriken zu quantifizieren und messbar zu machen.

weiterlesen

JSON-P mit Spring und CXF

Viele Webapplikationen laden Daten per JavaScript im JSON-Format von einem Server in den Browser, um sie dort darzustellen oder zu verarbeiten. Ein solcher Beispieldatensatz im JSON-Format könnte wie folgt aussehen:

{
  “cities”: [”Hamburg”, “New-York”, “Tokio”]
}

Ein Webbrowser lässt allerdings nicht zu, dass ein Script Daten von einer anderen Domain lädt als der, von der die Seite, in die das Script eingebettet wurde, geladen wurde. JavaScript hat also keinen Zugriff auf Daten, die von einer anderen Domain kommen. Diese Einschränkung ist ein Security-Feature des Browsers und als Same Origin Policy bekannt.

weiterlesen

Die Stiefmutter in Software-Projekten

Jeder, der in mehr als nur einem Projekt gearbeitet hat, kann berichten, dass Build-Management meistens sehr stiefmütterlich behandelt wird. Jeder Entwickler und auch fast alle Architekten wissen um den Sachverhalt, dass solides Build-Management mit Continuous-Integration und -Delivery entscheidend zum Erfolg eines Projekts beitragen kann, aber leider wird dieses Thema dennoch sehr häufig vernachlässigt.

weiterlesen

Ein Blocker in Hibernate

Die JPA (Java Persistence API) ist seit geraumer Zeit eine der innovativsten Neuerungen in der Enterprise-Java-Welt. Geprägt durch verschiedene Technologien sind viele elegante Lösungen für wiederkehrende Problemstellungen in eine Spezifikation eingeflossen. Hibernate ist eine sehr verbreitete Open-Source-Lösung, die die JSR-220 und JSR-317 implementiert. Eine essentielle Verbesserung von JPA gegenüber J2EE Entity Beans ist die Unterstützung von Vererbung. Zum Bedauern vieler Entwickler existiert jedoch in Bezug auf Vererbung ein schwerwiegender Bug in Hibernate, welcher zwar bereits bekannt ist, aber leider nicht korrigiert wurde, obwohl die Lösung dafür bereits existiert.

weiterlesen