Kanban in der Wartung

Kanban in der Wartung

Das Jahr neigt sich dem Ende zu. Die Weihnachtsfesttage haben begonnen und viele freuen sich auf besinnliche Stunden mit der Familie. Insbesondere für Entwicklungsteams eine Zeit, in der die Möglichkeit besteht, zur Ruhe zu kommen und die vielen Aufgaben zu vergessen. Der tägliche Terminstress, kommt im nächsten Jahr bestimmt wieder.
Doch das muss nicht sein und ich möchte diesen Blog nutzen, einen Entwicklungsansatz vorzustellen, der überlasteten Teams die Ruhe und damit auch eine erhöhte Teamleistungsfähigkeit zurückbringen kann.

Read More

IPv6 - Das Internet im Wandel

IPv6 - Das Internet im Wandel

Als das Internet in den siebziger Jahren ersonnen wurde, hatte niemand damit gerechnet, dass es solch eine überwältigende Popularität erreichen würde. Das einfache IPv4 Protokoll, welches 1981 erfunden wurde, war vollkommen ausreichend. Mit der Verbreitung der PCs und der Entstehung des World Wide Web (WWW) wurde aber schon Mitte der neunziger Jahre klar, dass es früher oder später zu einer Verknappung der IP-Adressen im IPv4 Format kommen würde. Deswegen wurde 1995 das Internet Protocol Next Generation ins Leben gerufen. Dieses Protokoll wurde später in Internet Protocol version 6 oder kurz IPv6 umbenannt. 1998 wurde das Protokoll schließlich standardisiert. Anstatt eine rasante Verbreitung zu finden und schnell das Protokoll IPv4 zu verdrängen, wird es auch heute noch nur sporadisch eingesetzt. Das Abwarten hat nun ein Ende. Seit Februar 2011 gibt es keine freien IPv4 Adressen mehr. Eine Vergrößerung des Adressraums ist nun also nicht mehr eine Option sondern eine Notwendigkeit. Der Blog befasst sich mit dem Aufbau von IPv6, den Gründen für den zögerlichen Einsatz und einem Fazit zum Einsatz von IPv6. 

Read More

Legacy Code unter Kontrolle - Folge 3, JMockit für Fortgeschrittene

Legacy Code unter Kontrolle - Folge 3, JMockit für Fortgeschrittene

m ersten Blog-Eintrag dieser kleinen Serie habe ich erzählt, warum JMockit eine so wichtige Rolle spielt, wenn es darum geht, eine Legacy-Anwendung zu testen. Im nächsten Eintrag habe ich das wichtigste API von JMockit, das Expectations-API vorgestellt. Als Abschluss zeige ich an zwei konkreten Beispielen aus der Praxis, wie JMockit einem auch in schwierigen Fällen einen Unit-Test möglich macht.

Hier nochmal der Überblick über die ganze Serie:
•    Folge 1: Vorstellung von JMockit
•    Folge 2: Die Grundkonzepte von JMockit. Ein erster Test, der ohne JMockit nur schwer zu erstellen wäre.
•    Folge 3: Zwei schwierige Fälle aus der Praxis: Ein Schaltjahresproblem und ein Singleton-Factory-Lindwurm.

Read More

Lucene und Hibernate Search

Lucene und Hibernate Search

Searching oder Retrieving Information ist nach wie vor eine der wichtigsten Anforderungen in der aktuellen Entwicklung von JEE-Anwendungen. Der Content eines JEE-Projekts, bzw. einer Webanwendung wird meistens in relationalen Datenbanken gespeichert. Wie kann der Content suchfähig gemacht werden? Wie kann beim Suchen über große Datenmengen eine effiziente Performanz erreicht werden, wenn es sich hier um komplexe Texte handelt? Verwendet man den traditionellen LIKE oder JOIN Operator im SQL, konzentriert man sich auf SQL Statements und es führt dazu, dass die Persistenzschicht schnell komplex, umständlich in der Entwicklung und schwierig zu warten ist. Auf der anderen Seite ist die Transparenz des Zugriffs der Anwendung auf in der relationale Datenbank gespeicherten Content nicht möglich und es ergibt sich ein Performanceverlust bei großen Datenmengen.

Read More

Legacy Code unter Kontrolle - Folge 2, Die Grundkonzepte von JMockit

Legacy Code unter Kontrolle - Folge 2, Die Grundkonzepte von JMockit

In meinem letzten Blog-Eintrag habe ich erläutert, warum JMockit bei meinem aktuellen Kunden eine so wichtige Rolle spielt, wenn es darum geht, eine Legacy-Anwendung testbar zu machen und so änderbar zu halten.
In der Folge 2 will ich heute darstellen, wie man konkret Unit-Tests mit JMockit schreibt und welche Konzepte dabei eine Rolle spielen. Es entsteht ein Test für eine Stück Legacy Code, das ohne JMockit nur sehr schwer zu testen wäre.

Hier nochmal der Überblick über die ganze Serie:

  • Folge 1: Vorstellung von JMockit
  • Folge 2: Die Grundkonzepte von JMockit. Ein erster Test, der ohne JMockit nur sehr schwer zu erstellen wäre.
  • Folge 3: Zwei schwierige Fälle aus der Praxis: Ein Remote-Service-Call und eine Schaltjahresregelung.
Read More

SEPA Direct Debits

SEPA Direct Debits

Auf Initiative des European Payment Council (EPC) mit Sitz in Brüssel wurde im Januar 2008 SEPA (Single EURO Payment Area) auf den Weg gebracht. Laut EPC soll seit dem Start der SEPA nicht mehr zwischen nationalen und anderen europäischen Staaten unterschieden werden. Dieser regulative Schritt ist aus Sicht Brüssels notwendig, um einen einheitlichen Binnenmarkt zu verwirklichen und die zersplitterten nationalen Zahlungssysteme zu vereinheitlichen. In Ergänzung wurde vorab eine eigene europaweite einheitliche Kontonummer (IBAN) und Bankidentifikation (BIC) eingeführt.
Das Ziel von SEPA ist vor allem die Harmonisierung der Zahlungsabwicklung von grenzüberschreitenden Zahlungen sowohl bei Überweisungen als auch Lastschriften. Dies ist eine Voraussetzung für ein effektives und kostengünstiges Settlement bei allen beteiligten Institutionen.

Read More

Legacy Code unter Kontrolle Folge 1 Vorstellung von JMockit

Legacy Code unter Kontrolle Folge 1 Vorstellung von JMockit

Bei meinem aktuellen Kunden setzen wir das Tool „JMockit“ so erfolgreich ein, dass es inzwischen einen wichtigen Platz in meiner „virtuellen Werkzeugkiste“ bekommen hat. Auch wenn sich die Entwickler in meinem Team größte Mühe gegeben haben, ordentlichen Code mit einem sauberen Design zu erstellen, so schlagen wir uns nun dennoch durch inzwischen weit über 1 Million Zeilen Java-Code, aus denen uns die Fehlentscheidungen der letzten 10 Jahre „entgegenmüffeln“. Wir kämpfen mit Legacy Code. Hier helfen uns Unit-Tests. Und JMockit spielt bei der Erstellung dieser Tests eine entscheidende Rolle.

 

Da JMockit noch recht neu und unbekannt ist, möchte ich es Ihnen hier in einer lockeren Folge von Blog-Einträgen näherbringen:

  • Folge 1: Vorstellung?
  • Folge 2: Die Grundkonzepte von JMockit. Ein erster Test, der ohne JMockit nur sehr schwer zu erstellen wäre.
  • Folge 3: Zwei schwierige Fälle aus der Praxis: Ein Remote-Service-Call und eine Schaltjahresregelung.
Read More

Vendor Selection Process

Vendor Selection Process

Die Auswahl des richtigen Anbieters eines bestimmten Produkts wird in einem immer komplexer werdenden Markt zunehmend schwieriger. Glaubt man den diversen Anbietern, bieten ihre Produkte dem Kunden alle technischen Möglichkeiten und erfüllen alle nur erdenklichen Anforderungen. Zudem sind sie in der Regel robust, bieten eine innovative Architektur und sind natürlich absolut sicher. Wenn die Produkte aber bezüglich Funktionsumfang, Qualität und Stabilität alles bieten, bleibt als Differenzierungsmöglichkeit nur der Preis – oder?

Natürlich nicht! Man muss sich allerdings die Zeit nehmen, die Produkte eingehend zu prüfen und die Angaben des Anbieters kritisch zu hinterfragen. Das ist nicht immer ganz einfach und nicht ohne einen gewissen Zeitaufwand möglich…

Read More