Seitenhistorie
...
Typ | Beschreibung | Suffix | ||||
---|---|---|---|---|---|---|
BusinessObjekt | Ein BusinessObjekt repräsentiert eine NuclosEntität wie z.B. Auftrag oder Kunde. Die dazugehörenden Felder werden aus den Meta-Informationen gelesen und als Attribute in die Klasse geschrieben. Ja nach Art des Attributs und der Zugriffsrechte werden setter und getter-Methoden zum Setzen und Auslesen von Werten zur Verfügung gestellt. Wird mittels Entitäten-Wizzard eine neue Entität angelegt oder eine bestehende verändert oder gelöscht, werden mit dem erfolgreichen Abschluss des Speichervorgangs alle Änderungen in dem dazugehörenden BusinessObjekt vorgenommen und im Classloader abgelegt. Damit stehen die Änderungen sofort zur Verfügung. Allgemeine Konventionen:
Beispiel eines BusinessObjekts "Adresse":
| -- | ||||
Statusmodell-Klasse | Eine Statusmodell-Klasse ist eine Java-Klasse, die fachlich einem in Nuclos erstellen Statusmodell entspricht. Statusmodell-Klassen werden in der Regelprogrammierung verwendet, um eine einfache und sichere Gestaltung von beispielsweise Statuswechseln zu gewährleisten. Allgemeine Konventionen:
Beispiel der Statusmodell-Klasse "AuftragSM":
Die hinterlegten Status können für manuelle Statuswechsel im StatemodelProvider verwendet werden. | SM | ||||
Arbeitsschritt-Klasse | In Nuclos können Arbeitsschritte erstellt werden. Um auch innerhalb von Regeln Arbeitsschritte manuell ausführen zu können, werden nach dem erfolgreichen Speichern eines Arbeitsschrittes sogenannte Arbeitsschritt-Klassen oder auch Generation-Klassen erstellt. Diese können über den GenerationProvider gestartet werden. Eine Arbeitsschritt-Klasse ist mittels Generics typsicher aufgebaut und legt Quell- und Zielentitäten als BusinessObjekte fest. Allgemeine Konventionen:
Beispiel der Arbeitsschritt-Klasse "ErstelleRechnungAusAuftragGEN":
| GEN | ||||
ReportReportDatasource-Klasse | ReportReportDatasource-Klassen stellen objektivierte Datenquellen aus "Report und Formular" dar. Werden in Nuclos Quellen für Report und Formular angelegt, wird eine entsprechende Report-Klasse erstellt. Diese kann in der Regelprogrammierung als Quelle verwendet und über den DatasourceService aufgerufen werden. Allgemeine Konventionen:
Beispiel der ReportReportDatasource-Klasse "ExportRechnungsdatenDS":
| DS | ||||
Report-Klasse | Wird in Nuclos ein Report angelegt, wird eine entsprechende Report-Klasse erstellt. Diese kann in der Regelprogrammierung verwendet und über den ReportService ausgeführt werden. Innerhalb der generierten Java-Klasse werden alle Ausgabeformate als Konstanten abgelegt, die der Benutzer in Nuclos für diesen Report hinterlegt hat. Soll aus einer Regel heraus ein Report ausgeführt werden, muss das Ausgabeformat mit angegeben werden.
Allgemeine Konventionen:
Beispiel der Report-Klasse "MeinAuftragReportRE":
| RE | ||||
Printout-Klassen (Formulare) | Wird in Nuclos ein Formular angelegt, wird eine entsprechende Formular-Klasse, bzw. Printout-Klasse erstellt. Diese kann in der Regelprogrammierung verwendet und über den PrintoutService ausgeführt werden. Innerhalb der generierten Java-Klasse werden alle Ausgabeformate als Konstanten abgelegt, die der Benutzer in Nuclos für dieses Formular hinterlegt hat. Soll aus einer Regel heraus ein Formular ausgeführt werden, muss das Ausgabeformat und die Id des Datensatzes, der zur Befüllung des Formulars verwendet werden soll, mit angegeben werden.
Allgemeine Konventionen:
Beispiel der Printout-Klasse "AngebotPO":
| PO |
Klassengenerierung und Regelkompilierung
...
Typ | Klasse | Reihenfolge der Generierung |
---|---|---|
BusinessObjekte | BOEntities.jar | Die BusinessObjekte können als erstes erstellt werden, da sie lediglich auf die Meta-Informationen der Entitäten zurückgreifen müssen. |
Report-Datasource-Klassen | ReportDSEntities.jar | Die Report-Klassen können unabhängig von anderen Klassen erstellt werden, da sie lediglich auf die Meta-Informationen der Reports zugreifen. |
Arbeitsschritt-Klasse | Generation.jar | Die Arbeitsschritte verwenden als Quell- und Zielentitäten BusinessObjekte. Die Arbeitsschritt-Klassen können somit erst erstellt und kompiliert werden, wenn die BusinessObjekte in der BOEntities.jar fehlerfrei gebaut wurden und zur Verfügung stehen. |
Statusmodell-Klasse | statemodels.jar | Die Statusmodell-Klassen können unabhängig von anderen Klassen erstellt werden, da sie lediglich auf die Meta-Informationen der Statusmodelle zugreifen. |
Regeln und Bibliotheken | Nuclet.jar | Die Regeln werden immer als letztes gebaut, das sie auf alle BusinessObjekte, Report-, Statusmodel- und Arbeitsschritt-Klassen zugreifen können. Die Generierung der genannten Klassen ist somit eine notwendige Vorbedingung zur Erstellung der Nuclet.jar. Sollte es im Vorfeld Fehler geben, wird die Nuclet.jar nicht gebaut. Ein weiterer Grund dafür, dass die Nuclet.jar nicht gebaut werden kann, sind ungültige Referenzen, die Regeln untereinander besitzen. Wird z.B. die Signatur einer Utility-Klasse, die von einer Regel aufgerufen wird, verändert, dann die Regel nicht mehr kompiliert werden. Da beide zum Typ "Regeln und Bibliotheken" gehören, lässt sich die Nuclet.jar trotz korrekter Arbeitsschritt-Klassen, BusinessObjekte etc. nicht kompilieren. Sind diese jedoch strukturell in Ordnung, werden alle Klassen des Typs "Regeln und Bibliotheken" in einem Schritt kompiliert und im Archiv abgelegt. |
Report-Klassen | ReportEntities.jar | Die Report-Klassen können unabhängig von anderen Klassen erstellt werden, da sie lediglich auf die Meta-Informationen der Reports zugreifen. |
Printout-Klassen | PrintoutEntities.jar | Die Printout-Klassen können unabhängig von anderen Klassen erstellt werden, da sie lediglich auf die Meta-Informationen der Formulare zugreifen. |
Zeitpunkt der Generierung
...