Faktor-IPS F.A.Q.

Wofür steht Faktor-IPS?

Insurance Product System von Faktor Zehn.

Was ist Faktor-IPS?

Faktor-IPS ist ein MDSD-Werkzeug zur Modellierung von Fachmodellen (Domain Models) versicherungsfachlicher Anwendungen. Besonders unterstützt wird die Modellierung von Produkten. Auf Basis des Modells können konkrete Produkte konfiguriert werden. Die Philosophie von Faktor-IPS ist hierbei, dass die objektorientierte Modellierung sowie Programmierung durch Softwarearchitekten und Anwendungsentwickler erfolgt während Produktinformationen durch die Fachabteilung gepflegt werden. Für die Definition von Produkten im Rahmen eines Modells ist dabei keine Programmierung erforderlich. Neben reinen Produktdaten können bestimmte Produktaspekte auch in einer Excel-ähnlichen Formelsprache definiert werden.

Faktor-IPS basiert auf Eclipse und besteht wie andere MDSD-Lösungen auch aus den folgenden Komponenten:

  • Modellierungswerkzeuge
    Die Modellierung erfolgt über entsprechende Editoren direkt in Eclipse.
  • Generatoren
    Die Generierung des Sourcecodes ist ebenfalls in Eclipse intergriert.
  • Runtime
    Die Runtime gibt Zugriff auf die Produktinformationen und steht in Form einer Bibliothek zur Verfügung. Diese Bibliothek basiert ausschließlich auf dem JRE. Es gibt keine weiteren Abhängigkeiten. Das bedeutet, dass die Runtime auf jeder Plattform zur Verfügung steht, auf der Java verfügbar ist.


Darüber hinaus enthält Faktor-IPS die folgenden Komponenten:

  • Produktdefinitionswerkzeuge
    Die Definition der Produkte erfolgt über entsprechende Editoren in Eclipse. Darüber hinaus stehen Assistenten und Views zum Beispiel zum Kopieren von Produkten bzw. Browsen der Produktstruktur zur Verfügung. Zur Pflege tabellarischer Produktinformationen gibt es einen Tabelleneditor. Das Produktdefinitionswerkzeug kann entweder in einer „normalen“ Eclipse Installation als Feature verwendet werden oder als eigene Applikation installiert werden.
  • Testwerkzeuge zur Definition und Ausführung fachlicher Testfälle.

Für welche Sparten kann Faktor-IPS verwendet werden?

Faktor-IPS kann für alle Sparten verwendet werden. Produktiv eingesetzt wird es zur Zeit für SachHU, KFZ und Kranken.

Kann Faktor-IPS auch in anderen Branchen verwendet werden?

Prinzipiell ist ein Einsatz auch in anderen Branchen möglich. Sinnvoll ist es dort, wo die Produkte bzw. Dienstleistungen von ihrer Art her ähnlich sind wie Versicherungsprodukte, also z. B. im Bankenbereich.

Was sind die Unterschiede zwischen Faktor-IPS und einem UML-Werkzeug?

Mit UML-Werkzeugen können alle möglichen Arten von Softwaresystemen und unterschiedliche Aspekte der Softwareware modelliert werden. Sie zeichnen sich in der Regel durch eine gute grafische Unterstützung der Modellierung aus. Faktor-IPS ist als MDSD Werkzeug für die Modellierung von fachlichen Modellen (Domain Models) der Versicherungsbranche sowie der Verwaltung der Produktinformationen konzipiert. Faktor-IPS enthält daher gegenüber UML Werkzeugen die folgenden Komponenten:

  • Fertige Sourcecode-Generatoren
  • Runtime zum Zugriff auf die Produktinformationen
  • Produktdefinitionswerkzeuge
  • Testwerkzeuge

Wird es in Faktor-IPS einen graphischen Modelleditor geben?

Eine eigene grafische Modellierung ist zur Zeit nicht geplant. Es gibt aber eine Integration mit den Eclipse UML2 Tools. Diese können zum Erzeugen von Diagrammen verwendet werden. Eine Ausnahme bildet die Modellierung von Geschäftsfunktionen. Hauptfokus bei der Modellierung von Geschäftsfunktionen ist die Visualisierung des Ablaufs, so dass er von der Fachabteilung verstanden werden kann. Hierzu verwenden wir eine vereinfachte Form der UML-Aktivitätsdiagramme.

Was sind die Unterschiede zwischen Faktor-IPS und openArchitecureWare?

openArchitectureWare ist ein Generatorframework. Auf Basis von openArchitectureWare können konkrete MDSD Lösungen entwickelt werden. Faktor-IPS ist eine konkrete Lösung für die modellgetriebene Softwareentwicklung in der Versicherungsbranche. Zum Funktionsumfang von Faktor-IPS gehören auch ein Werkzeug zur Produktdefinition sowie ein Testwerkzeug.

Auf welchen Plattformen kann die Runtime bzw. der generierte Code verwendet werden?

Auf allen Plattformen auf denen eine JVM 1.5 oder höher zur Verfügung steht. Dies ist neben Windows und Linux insbesondere auch für z/OS der Fall. Die Runtime wird bereits heute auf allen diesen Plattformen produktiv eingesetzt.

Auf welchen Plattformen steht die Entwicklungsumgebung bzw. Produktdefinitionsumgebung zur Verfügung?

Auf allen Plattformen auf denen Eclipse zur Verfügung steht. Produktiv wird sie bisher unter Windows und Linux verwendet.

Können die Codegeneratoren von Faktor-IPS angepasst bzw. ausgetauscht werden?

Ja. Jedem Faktor-IPS Projekt kann ein eigenes ArtefactBuilderSet zugeordnet werden. Die Zuordnung erfolgt in der Datei „.ipsproject“. Ein ArtefactBuilderSet ist eine Menge von Buildern (Generatoren) zur Generierung von Artefakten wie Sourcecode oder XML Dateien. Faktor-IPS definiert einen Extension Point für ArtefactBuilderSet. Neue ArtefactBuilderSets können also in einem eigenen Plugin per Extension zur Verfügung gestellt werden. Faktor-IPS arbeitet intern genauso. Die Standard-Generatoren sind als eigenes Plugin realisiert und als Extension registriert.

Verwendet Faktor-IPS Templates zur Codegenerierung?

Ja und nein. Nachdem wir lange mit verschiedenen templatebasierten Generatoren experimentiert haben, wurde in Version 3.8 ein Teil des Faktor-IPS Codegenerators auf XPand Templates umgestellt. Der andere Teil des Codegenerators verwendet noch unser bisheriges Framework.

Unterstützt Faktor-IPS außer Java auch andere Programmiersprachen?

Aktuell unterstützt Faktor-IPS ausschließlich Java. Die Standard-Codegeneratoren generieren Java Sourcecode und die Runtime steht in Java zur Vergügung. Prinzipiell können aber auch Generatoren für andere Programmiersprachen geschrieben werden, die mit einer entsprechenden Runtime arbeiten. In einem Projekt wird diese Möglichkeit genutzt und C Code generiert.