| |
15
5.1.5
Aktionen (Actions)
Eine Aktion besteht aus einem Methodenaufruf. Dieses kann eine Standardmethode der
Versata Server Klassen sein, oder eine Methode einer benutzerdefinierten Klasse (z. B.
das Verschicken einer E-Mail), welche sich allerdings im Repository befinden muss.
Aktionen werden durch das Auftreten eines Ereignisses und einen bestimmten Zustand
bedingt. Trifft beides zu, so wird die gewählte Aktion durchgeführt. Es ist möglich, eine
beliebige Anzahl an Aktionen zu definieren. Die Definition der ECA-Komponenten
erfolgt wiederum mit dem Rule Builder.
5.2
Java-Code Generierung
Nachdem die Geschäftsregeln der einzelnen Klassen von Geschäftsobjekten mit Hilfe
der grafischen Oberfläche implementiert wurden, muss diese Transaktionslogik dem
Server bekannt gemacht werden. Hierzu ist es notwendig, dass das Regelwerk in Java-
Klassen mit entsprechenden Attributen und Methoden übersetzt wird. Dieser Schritt
erfolgt vollautomatisch. Das System besitzt einen Regel-Compiler, welcher die
G
e-
schäftsregeln in Java-Methoden übersetzt und in ihren Bezugsklassen kapselt. Abb. 5.3
zeigt den Teil der Java-Implementierung, welcher beispielsweise aus der Regel der Abb.
5.2 resultiert.
try {
getQtyReorder();
getQtyUnshipped();
getQtyOnHand();
if (((this.getQtyOnHand() - this.getQtyUnshipped())
< this.getQtyReorder())) {
setNeedsReorder( true );
} else {
setNeedsReorder( false );
}
} catch (Exception ex) {
handleAttributeFormulaException(ex, "NeedsReorder");
}
Quelle: Versata Logic Suite 5.5 Sample Repository
Abb. 5.3:
Generierter Java-Code zum Formelausdruck aus Abb. 5.2
Ein allgemeines Gerüst für die Implementierung der abstrakten Basisklassen der Ge-
schäftsobjekte zeigt der folgende Quelltext:
public abstract class <objectname>BaseImpl extends DataObject {
public <objectname>BaseImpl()
|  |
|
| |
|
|