| Auszug | ||
|---|---|---|
| ||
Nuclos Anschluss Schnittstelle: Server-Extension, PhoneCall, GenericNotification, Communication-Rule, PhoneCallRequestContext, Telefonanlage, com-interface-template. |
Sprache: Deutsch · English
Externe Systeme über Nuclos-Schnittstellen anbinden – Schnittstelle vs. Anschluss, Communication-Rules und Telefonie-Kontexte.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | |||||
|---|---|---|---|---|---|
| |||||
Auf dieser Seite
|
...
|
Menüaufruf: (Administration) - (Anschluss)
Mit den Anschlüssen wurde in Nuclos eine neue Möglichkeit geschaffen, einen Nuclos Server noch weiter in seine Systemlandschaft zu integrieren, mittels sogenannter "Nuclos-Schnittstellen". Erstes Anwendungsszenario in einem Kundenprojekt war die Anbindung einer Telefonanlage, welche inzwischen auch produktiv genutzt wird. Theoretisch sollten aber auch andere Systeme angebunden werden können, wie z.B. SMS-Dienste, oder alles was über Java erreichbar ist (einschließlich RESTful Services).
...
Menü Administration → Anschluss. Mit Anschlüssen integrierst du einen Nuclos-Server über sogenannte Nuclos-Schnittstellen tiefer in seine Systemlandschaft – z.B. Telefonanlagen, SMS-Dienste oder beliebige über Java erreichbare Systeme (inkl. RESTful Services).
...
...
...
...
...
...
...
...
Am Beispiel einer Dummy-Schnittelle "comport-template" sollte die Theorie etwas verständlicher werden. Der Sourcecode dieses Templates steht hier (https://bitbucket.org/nuclos/com-interface-template) zur Verfügung und kann frei verwendet werden. Zusätzlich hängt diesem Artikel eine fertig kompilierte Schnittstelle an.
Wird der Server mit der comport-template Server-Extension gestartet, steht diese Schnittstelle im Schnittstellen Dropdown bei einem neuen Anschluss zur Auswahl (links im Bild). Details anzeigen auf die ausgewählte Schnittstelle zeigt ein paar Informationen zur Schnittstelle selbst (rechts im Bild).
Wenn ein Anschluss wie im Bild gezeigt angelegt wird, nimmt die Schnittstelle gleich ihren Dienst auf. In unserem Fall würde zur Demonstration alle 2 Min. ein Telefonanruf eingeben (siehe eingestellte Parameter).
Die Events einer Schnittstelle werden über eine Communication-Rule (im Regelmanager) in die Businesslogik eingebunden. Kontexte:
PhoneCallNotificationContext / PhoneCallRequestContext – für Telefonie. Mit dem Request-Context kann ein Benutzer eine Nummer direkt aus Nuclos wählen (Attributtyp PhoneNumber, hinterlegter Account – dann erscheint der Button Nummer wählen).GenericNotificationContext – universell, arbeitet mit einer Key-Value-Map.Nun können wir auch eine Communication-Rule unserem Anschluss über den Regelmanager hinzufügen.
Der Inhalt besteht nur aus einem Logging des Events.
Eine besondere Aufmerksamkeit kann man dem PhoneCallRequestContext widmen. Dieser ermöglicht nämlich einem Benutzer eine Telefonnummer direkt aus Nuclos heraus anzurufen. Dabei telefoniert er nicht über Nuclos direkt, sondern es wird ein Request für ein neues Telefonat an die Telefonanlage oder dem Endgerät übermittelt (sofern diese so etwas unterstützt). Hierfür sind einige Voraussetzungen zu erfüllen:
Die vergrößerte Anzeige der Telefonnummer (siehe folgenden Screenshot) ist für diese Attribute zwar immer zu sehen, jedoch erscheint dann zusätzlich der Button "Nummer wählen".
Im Screenshot ist auch eine weitere Regel zu sehen, die speziell mit dem PhoneCallRequestContext arbeitet. Zusätzlich zum Account des Benutzer und der anzurufenden Nummer steht auch das BO zur Verfügung, aus dem die Rufnummer gewählt wurde.
Derzeit enthält unsere API 2 Typen von Schnittstellen:
PhoneCall (für Telefonanlagen)
GenericNotification (für Sonderfälle)
Weitere Typen können ggf. hinzugefügt werden. Sprechen Sie uns an!
Implementiert eine Schnittstelle PhoneCall, kann die Schnittstelle sehr leicht ausgetauscht werden wenn man z.B. die Anlage wechselt, ohne das die Businesslogik an sich angefasst werden muss. Man legt nur einen neuen Anschluss an, administriert ggf. die Accounts und weist die Regeln zu.
Communication-Context
Neben dem im Beispiel gezeigten PhoneCallNotificationContext bzw. PhoneCallRequestContext gibt es auch noch einen universellen GenericNotificationContext der nur mit einer Key-Value-Map arbeitet.
Einige Hinweise
...
Die Implementierung richtet sich nach dem System, zu dem eine Schnittstelle aufgebaut werden soll. Möglicherweise sind Drittbibliotheken zu verwenden und zu erwerben. Oder das System verfügt über einen RESTful Service.
...
Die API kennt zwei Typen: PhoneCall (Telefonanlagen) und GenericNotification (Sonderfälle). Implementiert eine Schnittstelle PhoneCall, lässt sie sich bei einem Anlagenwechsel austauschen, ohne die Businesslogik anzufassen. Als Vorlage dient das frei verwendbare com-interface-template; wichtig ist die Angabe des Java-Package in der
comport-template-server-beans.xml.
...