Skip to content

Bausteinsicht

Ebene 0 (Anwendung)

Eine elego-Anwendung hat im Normalfall verschiedene Schnittstellen zu internen und externen Systemen:

  • Intern: Kundeneigene Dienste wie z.B. SMTP-Server, Printserver, etc.
  • Extern: Third-Party APIs oder andere Schnittstellen wie z.B. PostApi für die Adressrecherche, CrediConnect für die Bonitätsprüfung, eSchKG
architecture-beta
    group internGroup(server)[Intern]
    group externGroup(internet)[Extern]

    service elego(server)[elego]

    service email(server)[Email] in internGroup
    service printer(server)[Printer] in internGroup

    service aemterfinden(internet)[Aemterfinden] in externGroup
    service crediconnect(internet)[CrediConnect] in externGroup
    service eschkg(internet)[eSchkG] in externGroup
    service postapi(internet)[PostApi] in externGroup

    elego:L -- R:email
    elego:L -- R:printer

    elego:R -- L:aemterfinden
    elego:R -- L:crediconnect
    elego:R -- L:eschkg
    elego:R -- L:postapi
Hold "Alt" / "Option" to enable pan & zoom

Ebene 1 (Services)

Eine elego-Anwendung besteht aus mehreren Services:

architecture-beta
    group elego(server)[elego]

    service frontend(server)[elego Frontend] in elego
    service backend(server)[elego Backend] in elego
    service db(database)[Database] in elego
    service idp(server)[IDP] in elego
    service td(server)[TemplateDesigner] in elego

    frontend:R --> L:backend
    backend:R --> L:db
    td:T --> B:backend
    idp:T <-- B:frontend
    idp:T <-- B:backend
    idp:R <-- L:td
Hold "Alt" / "Option" to enable pan & zoom
Service Beschreibung
elego Frontend-Anwendung Frontend-Anwendung für den interaktiven Zugriff auf elego-Funktionalität
elego Backend REST-API mit der elego Anwendungslogiks
elego Database Datenbank für Inkasso- und Verfahrensdaten
IDP IdentityProvider als führende Benutzerverwaltung
Template-Designer WPF-Anwendung zur Bearbeitung der Dokument-Templates

Ebene 2 (Module)

elego Backend

Modul Beschreibung
API, System Das REST-API der .NET core Anwendung dient als Schnittstelle gegen aussen. Alle Endpunkte sind nur von autorisierten Benutzern zugänglich. Für die Beschreibung der Endpunkte kann eine Swagger-Seite aufgerufen werden.
Core Im Core sind alle anwendungsübergreifenden Schnittstellen definiert. Das ermöglicht, dass Module kundenindividuell implementiert werden können.
DocumentTemplate Dokumente werden genau nach Ihren Vorgaben und in Ihrem Corporate Design erstellt und ausgegeben: Standard-Schreiben werden mit dem umfangreichen Template-Designer entworfen. Unterstützt werden nebst Diagrammen, Barcodes, Unterschriften, Logos, etc. auch mehrere Auflistungen in einem Dokument. Die Aufbereitung der Dokumente ist in verschiedene Formate möglich (z.B. pdf, tif, docx, …). Designer und Aufbereitung basieren auf ListLabel von Combit. Individuelle Schreiben werden anhand von hinterlegten Word-Dokumenten als .docx-Dokument generiert und können daher mit Ihrer Textverarbeitungsanwendung weiterbearbeitet werden. Unterstützt werden nebst Textbausteinen auch Tabellen.
Configuration Konfigurationen für Oberflächen, Prozesse, Schnittstellen, Such-Definitionen, etc. werden in XML vorgenommen. Die gesamte Konfiguration lässt sich exportieren und in einem anderen System wieder importieren. So ist sichergestellt, dass eine auf einem Testsystem freigegebene Konfiguration vollständig auf ein produktives System übernommen wird.
Interfaces Die Schnittstelle ist für die Verarbeitung von hohen Volumen konzipiert und lässt sich automatisieren. Die Verarbeitung ist in zwei Phasen aufgeteilt: 1. Das Einlesen der Daten: Die Daten werden aus einem File (csv, txt, xlsx, xls) eingelesen und transformiert. Je nach gewünschtem Transaktionsverhalten wird für jeden Record, jede Gruppe von Records oder für das ganze File eine Verarbeitungs-Pendenz erstellt. Erst nach Freigabe wird mit der eigentlichen Verarbeitung gestartet. Wie auf ein mehrfach eingelesenes File reagiert wird, ist parametrierbar. 2. Die Verarbeitung: Aus den eingelesenen Daten werden beliebige Entitäten erstellt oder geändert, Prozesse gestartet oder Trigger auf Prozessen ausgelöst. Im Fehlerfall wird die Verarbeitung der Pendenz zurückgefahren und auf «Pausiert» gesetzt. Sie kann später nochmals verarbeitet werden.
Persistence Die Daten werden in einer relationalen Datenbank persistent gehalten. Die Konsistenz der Daten wird mit Transaktionen sichergestellt. Zugriffe auf Daten erfolgen über ein Persistenz-Framework (NHibernate). Durch diesen Abstraktions-Layer wird ein Austausch des DBMS Systems möglich und die Anwendung ist gegen SQL-Injection-Attacken abgesichert. Als Datenbanktreiber wird ADO.NET verwendet.
Process Die Prozess-Engine ist das Herz einer elego-Anwendung. Mit Prozessen werden Geschäftsprozesse so abgebildet, dass die repetitiven und standardisierten Aufgaben automatisiert sind, und die restlichen Aufgaben so koordiniert und überwacht werden, dass sich die Anwendungsbenutzer auf das Kerngeschäft konzentrieren können. Komplexe, auch über mehrere Jahre laufende Geschäftsprozesse werden von der Prozess-Engine genauso überwacht und rapportiert wie einfache Erfassungs-Wizards. Die Benutzer werden über To Do’s direkt in die Prozesse eingebunden. Aufgaben, die im Hintergrund ausgeführt werden sollen, werden an die Task-Engine übergeben.
Search In elego finden Sie die gesuchten Daten in wenigen Augenblicken. Die mächtige Suche lässt sich je Entität nach Ihren Wünschen parametrieren. Unterstützt werden vollqualifizierte, teilqualifizierte und unscharfe Suchanfragen. Mit «Facets» wird ein Suchresultat weiter eingeschränkt. Die Suche basiert auf dem Framework Lucene.net.
Task Tasks sind Aufgaben, die ohne menschlichen Input, im Hintergrund erledigt werden. Für jeden Task wird eine Pendenz in der Task-Queue erstellt. Dabei werden folgende Trigger unterstützt: Engine: Fällige Tasks werden durch die Engine laufend abgearbeitet. External: Tasks werden durch einen von aussen angestossen Batch-Worker abgearbeitet. Isolated: Task wird sofort mit einem eigenen Worker erledigt.
Todo Die Todo-Verwaltung verwaltet Pendenzen/Aufgaben, die von einem Sachbearbeiter erledigt werden müssen. Pendenzen können direkt (StandaloneTodo) oder über einen Prozess erstellt werden. Todos können einem Benutzer oder einer Benutzergruppe zugewiesen werden. Einer Benutzergruppe zugewiesene Todos können von Mitgliedern der Benutzergruppe über “Mir zuweisen” zur Erledigung übernommen werden.
Transmission Der Versand von Emails oder der Druck eines PDF-Dokuments läuft über den Transmission-Provider. Emails werden an den konfigurierten SMTP-Server verschickt.
User, Role, Permission Benutzer agieren immer im Kontext einer Rolle. Mit dem rollenbasierten Autorisierungsmodell kann der Zugriff für jeden Vorgang (Ausführung einer Funktionalität, öffnen einer Oberfläche) definiert werden. Die Rolle des Benutzers wird aus dem vom IdentityProider übergebenen Autorisierungstoken gelesen. Fach-Entitäten können einem Tenant zugewiesen werden. Dadurch sind sie nur noch für Benutzer zugreifbar, die für den entsprechenden Tenant berechtigt sind.

elego Frontend

Modul Beschreibung
App mit System ASP .NET Core Anwendung als Träger für das ExtJs Frontend
Ext.Direct Bindeglied zwischen der .NET Welt und ExtJS
ExtJs Javascript Frontendframework