Um im JavaEE Umfeld eine neue Version der Produktdaten auszuliefern war es bisher notwendig die gesamte Applikation neu auszuliefern. Dies lag vor allem daran, dass die Produktdaten zusammen mit dem Programmcode in einem gemeinsamen EAR (Enterprise Archive) oder WAR (Web Application Archive) ausgeliefert wurden. Außerdem konnte nur durch einen Neustart des Services sicher gestellt werden, dass Caches geleert und bereits geladene Klassen verworfen wurden.
Durch das Getrennte Deployment von Produktdaten ist es möglich, die Produktdaten unabhängig vom Programmcode in einem separaten Service auszuliefern. Der Auslieferungszyklus von Produktdaten und Programmcode kann dadurch unabhängig voneinander gestaltet werden.
Eine Besonderheit stellten dabei die Formeln in Produktbausteinen dar. Bisher werden für Formeln Subklassen der Anpassungsstufen erzeugt, in denen die Formeln in Java-Code übersetzt enthalten sind. Dadurch enthalten die Produktdaten neben XML-Ressourcen auch Programmcode. Werden Produktdaten getrennt ausgeliefert würden sich damit in der Applikation auch Teile der Implementierung ändern. Um das zu vermeiden wird die Formel als Java-Code zusätzlich in die XML-Datei geschrieben. Zur Laufzeit wird die Formel mit Groovy ausgeführt.
Die Implementierung des ProductDataService als EJB 3.0 Stateless Session Bean sowie der Groovy-Formel-Interpreter können auf der Downloadsite mit dem Archiv faktorips-runtime-addons runtergeladen werden.
Eine ausführliche Dokumentation zum Thema Getrenntes Deployment von Produktdaten folgt in kürze.
Für die Umstellung von Faktor-IPS 2.x auf 3.0 ist eine Migration erforderlich, da für die JPA Generierung eine Umstellung des Codegenerators für Composite-Beziehungen erforderlich waren. Wenn Sie hierzu Detailinformationen benötigen, wenden Sie sich bitte an Faktor Zehn.