| Auszug | ||
|---|---|---|
| ||
Nuclos Integrationspunkte: Nuclets koppeln, Referenzfelder und Regelzugriff über Nuclet-Grenzen, Integrationspunkt-Maske, ab Nuclos 4.20, Nuclet Import/Export. |
Sprache: Deutsch · English
Nuclets sauber koppeln: Ein Integrationspunkt repräsentiert ein Businessobjekt eines anderen Nuclets für Referenzen und Regeln.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | |||||
|---|---|---|---|---|---|
| |||||
Auf dieser Seite
|
Menüaufruf: (Konfiguration) - (Integrationspunkt)
...
|
Integrationspunkte verbinden zwei Nuclets miteinander. Ein Integrationspunkt
...
in Nuclet A
...
repräsentiert ein Businessobjekt aus Nuclet B.
...
So kann ein BO in A ein Referenzfeld auf ein
...
BO in
...
B
...
haben,
...
und Regeln in
...
A können – wie gewohnt über die Nuclos-API – auf BOs in B zugreifen.
| Warnung | |
|---|---|
|
...
| |
Ab Nuclos 4.20 |
...
sind direkte Referenzen/Zugriffe auf Businessobjekte anderer Nuclets |
...
nicht mehr möglich – dafür ist erst ein Integrationspunkt zu definieren. |
...
Richtung 1: Lagerbestand im Nuclet Lagerwesen referenziert Artikel, Regeln im Nuclet Lagerwesen greifen auf Artikel, Aufträge, Lieferscheine und Bestellungen zu.
Richtung 2: Maske für Artikel im Basisnuclet für Handelsunternehmen benötigt Felder für Standardlager und Standardlagerort.
Bestehende Altreferenzen funktionieren weiter. |
Menüaufruf: Konfiguration → Integrationspunkt
...
...
...
...
...
...
...
Referenz vom BO „Lagerbestand“ auf den Integrationspunkt „Artikel“.
Wichtige Felder und ihr Einfluss auf die generierte BO-Klasse:
| Attribut | Bedeutung |
|---|---|
| Nuclet | Zuordnung des Integrationspunkts (bestimmt das Java-Package) |
| Name | eindeutig im Nuclet; wird zum Klassennamen |
| Mit Statusmodell? | schränkt Ziel-BOs ein; erzeugt implements Stateful |
| Optional? | Verwendung wirft keinen Fehler; Query liefert leer, Insert liefert aber NULL |
| Ziel Nuclet / Ziel BO | worauf umgeleitet wird (vom Integrator gesetzt) |
| View Name | für die Nutzung in Datenquellen (View <prefix>_ip_<name>) |
Integrationspunkt-Maske aus Sicht des Integrators.
Ein Nuclet kann Regeln (Insert/Update/Delete/Custom …) mitbringen, die am Ziel-BO ausgeführt werden – hängt der Nuclet-Hersteller sie im Server-Regelmanager an die Integrationspunkte. Diese Regeln laufen immer nach den Regeln des Ziel-BOs.
Integrationspunkte sind automatisch Teil des Nuclets. Ab Nuclos 4.30 werden Änderungen an der Integration beim Import nur übernommen, wenn das Ziel-BO Teil des importierten Nuclets ist (Abhängigkeit im Projekt-Nuclet). Andernfalls bleibt eine vorhandene Integration unangetastet.
Ein Integrationspunkt ist ein Verweis auf ein BO eines anderen Nuclets. Jeder Integrationspunkt definiert sich durch die Attribute, die in einem anderen BO erwartet werden. Im einfachsten Fall durch das BO selbst, ohne Angabe von Attributen.
Mit Integrationspunkten kann man in Regeln im Wesentlichen dasselbe tun wie mit einem Businessobjekt. Die API sorgt für eine entsprechende Umleitung, womit Regeln nicht länger nach einem Nucletimport angepasst werden müssen. Hierfür generiert Nuclos für jeden Integrationspunkt eine Businessobjekt Klasse.
Ein Nuclet mit Integrationspunkten kann Regeln (Insert / InsertFinal / Update / UpdateFinal / Delete / DeleteFinal / Custom) mitbringen, die mit dem Ziel Businessobjekte ausgeführt werden sollen. Zum Ausdruck gebracht wird dies durch den Nuclethersteller, indem die Regel in Regelmanager an Integrationspunkte gehängt wird. Diese Regeln werden immer nach den Regeln des Ziel BOs ausgeführt. Für unser Beispiel (siehe unten) bedeutet dies beim Speichern von Änderungen:
Regeln bei einem Statuswechsel sind manuell nachzutragen. Entsprechende Hinweise können im hierfür vorgesehen Memo-Feld oder einer externen Readme URL (Verweis auf das eigene Wiki o.ä.) gegeben werden.
Eine weitere Ausbaustufe mit einer Art von Integrations-Statusmodell ist in Planung.
Im Businessobjekt Editor können Referenzen auf nicht optionale Integrationspunkte konfiguriert werden. Es stehen nur Integrationspunkte des eigenen Nuclets zur Auswahl, aus Sicht des zu editierenden BOs. In unserem Beispiel ist es das BO "Lagerbestand" des Lagernuclets, welches auf den Integrationspunkt "Artikel" verweisen soll.
Mit dem Setzen des Integrationspunktes vom Integrator wird automatisch auch die Referenz auf das Ziel Businessobjekt hergestellt. Die Darstellung wird standardmäßig von der Titelbeschriftung des Ziel BOs übernommen. In unserem Beispiel war das "${artikelnummer} - ${artikelbezeichnung}"
(Menü Konfiguration)
Im folgenden Screenshot ist die Maske aus Sicht eine Integrators: Nur die Ziel-Attribute können gesetzt werden.
| Info |
|---|
Voll konfigurierbar ist ein Integrationspunkt nur, wenn das Nuclet des Integrationspunktes sich im Quell-Modus befindet. |
Name des Integrationspunktes. Dieser muss im Nuclet eindeutig sein, und darf nicht als normales BO im Einsatz sein.
Auswahl Ja: Keine Setter für Attribute
Auswahl Nein: implements Modifiable
Ein Integrationspunkt ist, ebenso wie seine Attribute und Regelverwendungen, automatisch Teil des Nuclets. Der standard Zuweisungsdialog von Bestandteilen zu einem Nuclet listet keine Integrationspunkte auf.
| Info | ||||
|---|---|---|---|---|
| ||||
Die Integration selbst, also die Auswahl des Ziel BOs mit Attributen, ist immer auch Teil des Exports. Bei einem Erstimport wird die Integration wenn möglich wiederhergestellt, was ein Vorhandensein des gleichen Ziel Nuclets erfordert. Damit kann die Integration auf einem Entwicklungssystem vorbereitet werden und mittels eines simplen Nucletimports auf einer produktiven Umgebung ausgerollt werden. Eine nachträgliche Änderung jedoch nicht! |
| Info | ||||
|---|---|---|---|---|
| ||||
Die Integration selbst, also die Auswahl des Ziel BOs mit Attributen, ist immer auch Teil des Exports. Bei einem Erstimport wird die Integration wenn möglich wiederhergestellt, was ein Vorhandensein des gleichen Ziel Nuclets erfordert. Damit kann die Integration auf einem Entwicklungssystem vorbereitet werden und mittels eines simplen Nucletimports auf einer produktiven Umgebung ausgerollt werden. Um die Updatefähigkeit zu gewährleisten werden Änderungen an der Integration bei einem Import nur übernommen, wenn das Ziel BO auch Teil des zu importierenden Nuclets ist. Dies setzt voraus, dass das Nuclet mit den Integrationspunkten als Abhängigkeit im "Projekt"-Nuclet eingetragen ist. Ansonsten gilt: Eine vorhandene Integration wird nicht angefasst! |
Es ist sinnvoll und praktisch nur Nuclets zu erstellen und mit Integrationspunkten zu versehen die in sich logisch abgeschlossen sind (Beispiel : Lager, SEPA, CAMT ), da der Integrationspunkt der Wiederverwendbarkeit dient. Eine fachliche Trennung in Nuclets für eine Anwendung ist nicht praktikabel, da ein zusätzlicher Aufwand zum Erstellen und Pflegen des Integrationspunktes entsteht. Beim Erstellen eines separaten Nuclets ist zu überlegen, ob sich die Logik wiederverwerten lässt!
Erster Fall : Eine Referenz in Businessobject aus Nuclet A zu Businessobject aus Nuclet B erstellen.
Im Businessobject-Wizzard soll in einem Quell-BO eine Referenz auf ein Ziel-BO eines anderen Nuclets erstellt werden.
In der Auswahlliste der zu referenzierenden Businessobjecte erscheint mein BO nicht
Der Name des Integrationspunktes ist frei wählbar
Unter Nuclet ist das Quell-Nuclet auszuwählen
Unter Ziel-Nuclet das ...
Unter Ziel-Businessobjekt ....
siehe Beispiel rechts