Der Blog von fm-ProductNode

Der Blog von fm-ProductNode


Neueste Einträge

Schablone

Datenverarbeitung mit der Twig Template Engine

Verfasst von franz-mue am 8. Juni 2016

Die Entwicklung am kommenden Release 2.0.0 von fm-ProductNode ist in vollem Gange. Neben einigen anderen Verbesserungen und Erweiterungen liegt der Schwerpunkt des demnächst erscheinenden Releases in der Einbettung der Template Engine Twig. Damit werden textbasierte Daten-Transformationen in alle Richtungen möglich.

Der Beitrag befasst sich mit Twig, der Einbettung von Twig in fm-ProductNode, mögliche Einsatz-Szenarien sowie Grenzen des Einsatzes von Twig.


Weiterlesen …

Stoppuhr

Die performante Verarbeitung von BMEcat-Dokumenten

Verfasst von franz-mue am 25. März 2016

Bereits in einigen meiner früheren Beiträgen stand das Thema Performance auf der Tagesordnung. Im vorliegenden Beitrag beschäftige ich mich nun mit der Performance von fm-ProductNode selbst - und zwar mit dem Einlesen von BMEcat-Dokumenten von der Konsole. Die Variation einiger Stellschrauben zeigt, wieweit die Performance mit einfachen Mitteln beeinflusst und an die eigenen Bedürfnisse und Gegebenheiten angepasst werden kann.


Weiterlesen …

Von Clean Code zur Clean Specification

Verfasst von franz-mue am 25. März 2016

Vor etlichen Jahren erregte das Buch "Clean Code" von R. C. Martin in der IT-Welt große Aufmerksamkeit; den Ideen des Buches zum Schreiben "sauberen" Programm-Codes wurde schnell eine große Anerkennung zuteil und resultierte in weiter Verbreitung (siehe zum Beispiel die Initiative Clean Code Developer oder das Clean Code Cheat Sheet).

Allerdings liegen gute Gründe auf der Hand, bereits in früheren Stadien des Entwicklungsprozesses anzusetzen. Gerade in Fällen wie bei BMEcat bietet sich die Anwendung eines Teils der Heuristiken bereits in der Spezifikation an. Anhand einiger Beispiele zeige ich, wie die Anwendung der Regeln auf die BMEcat-Spezifikation aussehen könnte.


Weiterlesen …


Rolltreppe

Von 0 auf 100 mit einer vorgefertigten virtuellen Maschine

Verfasst von franz-mue am 21. März 2016

Virtuelle Maschinen sind eine gute Möglichkeit, sich die lästige Installation von Voraussetzungen einer Applikation zu ersparen. Virtuelle Maschinen lassen sich plattformübergreifend (also auch auf Windows-Rechnern) nutzen und bieten eine definierte, reproduzierbare Umgebung.

Auch fm-ProductNode stellt für diesen Zweck ein Repository auf GitHub zur Verfügung.

Der Beitrag zeigt, wie einfach es ist, fm-ProductNode in einer virtuellen Maschine zum laufen zu bringen.


Weiterlesen …


Umwelt verstehen

Die Performance von Systemumgebungen vergleichen

Verfasst von franz-mue am 14. Februar 2016

Das Ausführen einer Anwendung unter verschiedenen Randbedingungen testet nicht nur die Anwendung selbst. Es können auch Unterschiede der Randbedingungen festgestellt werden - insbesondere Performance-Unterschiede.

Bei meinen Tests ließ ich die Anwendung auf verschiedenen Umgebungen ablaufen. Vorrangig ging es mir um fm-ProductNode selbst (auf die Performance von fm-ProductNode werde ich in einem späteren Beitrag eingehen). Doch ganz nebenbei erhielt ich dabei vergleichende Aussagen zu den Umgebungen. Einige Ergebnisse überraschten mich - und ich möchte sie hier nicht vorenthalten.


Weiterlesen …

Individualität

Beim Validieren ein Auge zudrücken

Verfasst von franz-mue am 7. Februar 2016

Beim Validieren und Einlesen von BMEcat-Dokumenten prüft fm-ProductNode die Einhaltung der Spezifikation akribisch. Doch in der Praxis mögen auch Situationen vorkommen, in denen diese Strenge nicht gewünscht ist. Vielleicht ist es den Akteuren bekannt, dass der Produktkatalog nicht bis ins letzte korrekt ist, aber dennoch wichtig, Fünfe gerade sein zu lassen, und den Katalog durchzuwinken. Vielleicht ist auch schon von vorne herein klar, dass der Katalog korrekt aufgebaut ist. Dann kann der Verzicht auf detaillierte Prüfungen das Einlesen und Weiterverarbeiten wesentlich beschleunigen.


Weiterlesen …

Vorsicht Ampel

Lieferanten- oder Branchen-Anforderungen in BMEcat-Produktkatalogen sicherstellen

Verfasst von franz-mue am 28. Januar 2016

BMEcat 2005 bietet mannigfaltige Möglichkeiten der Darstellung von Produkten und deren Eigenschaften. Die Vielfalt geht einher mit vielen Spielräumen der Darstellung.

Für spezifische Einsatzzwecke sind dagegen Beschränkungen dieser Freiheitsgrade erwünscht. Für den Einsatz von BMEcat in einer bestimmten Branche erleichtern Konventionen den Datenaustausch von Produkten oder Klassifikationssystemen. Auch manche einzelne Unternehmen sind erpicht, die eingehenden Daten ihrer Lieferanten zu reglementieren, um die Integration in die eigenen Systeme zu erleichtern.

fm-ProductNode bietet einen flexiblen Mechanismus an, um solche Anforderungen sicherzustellen. Über die anwenderspezifische Prüfung von Anforderungen hinaus erlaubt es fm-ProductNode auch, Felder in BMEcat-Dokumenten anzureichern oder anzupassen, damit vorgegebene Anforderungen erfüllt werden. Fehlerhafte Kataloginhalte können so innerhalb bestimmter Grenzen automatisch zurechtgerückt werden.

Das nachfolgende Beispiel zeigt, wie der Mechanismus bei fm-ProductNode eingesetzt wird.


Weiterlesen …

Schnell wie der Wind

PHP 7 läuft noch schneller als erwartet

Verfasst von franz-mue am 3. Dezember 2015

PHP 7 liegt nun endlich vor. Die Entwickler-Gemeinde - mich eingeschlossen - wartete ungeduldig auf das Erscheinen, denn es wurden deutliche Performance-Verbesserungen versprochen. Manche Ankündigungen sprechen von einer Verdoppelung der Geschwindigkeit oder sogar noch mehr. Für mich war das Grund genug, mich mit dem Thema zu befassen. Immerhin spielt die Verarbeitungsgeschwindigkeit bei großen Produktkatalogen eine wichtige Rolle. Vor einigen Monaten habe ich fm-ProductNode in Docker-Containern unter der ersten Beta-Version und dem ersten Release Candidate von PHP 7 laufen lassen. Meine Tests ergaben sogar noch deutlich bessere Geschwindigkeitswerte!


Weiterlesen …