Powered by
       Contelligent ®
 
Die Intranet-Lösung
Contelligent®
Complaint Controlsystem

Contelligent Server

Der Contelligent Server verwaltet alle Inhalte, generiert die Seiten und Dokumente, prüft die Rechte, steuert die Personalisierung und führt alle nachfolgend genannten Funktionen aus:

Persistente Verwaltung der Inhalte
Contelligent® nutzt eine Datenbank, um die Inhalte des Auftrittes persistent zu halten. Die Daten können zudem in XML exportiert werden, um ein datenbankneutrales Format zu erzeugen, das sowohl zur Migration zwischen verschiedenen Datenbanksystemen als auch zur Versionisierung und Verwaltung von Bibliotheken genutzt werden kann.

Caching der Inhalte
Der Auftritt, der in der Datenbank verwaltet wird, wird während des Betriebs des Contelligent® Servers von diesem in den Arbeitsspeicher geladen, um eine Performancesteigerung und automatisches Caching zu ermöglichen. Automatisch bedeutet in diesem Zusammenhang, dass der Contelligent Server für die Nutzung des Caches nicht zu konfigurieren ist und den genutzten Arbeitsspeicher eigenständig verwaltet.

Lastverteilung und Ausfallsicherheit
Contelligent® kann auf verteilten Systemen mit mehreren Instanzen des Contelligent-Servers betrieben werden.

Damit ist eine Höchstverfügbarkeit und Skalierbarkeit gewährleistet. Das Caching der Inhalte steht auch bei einem geclusterten Einsatz mit mehreren Instanzen des Contelligent Servers zur Verfügung. Die Serverinstanzen benachrichtigen sich selbsttätig über Veränderungen.

Transaktionssichere Datenhaltung
Werden im Client verschiedene Inhalte in einem Bearbeitungsschritt geändert, dann werden diese Änderungen in einer Datenbanktransaktion durchgeführt. So wird sichergestellt, dass die Änderungen nur komplett gespeichert werden und keine inkonsistenten Stände durch teilausgeführte Änderungen entstehen.

Personalisierte Zusammenstellung der Inhalte
Der Server kann beliebige Kategorien verwalten, nach denen der Auftritt zusammengestellt wird. Durch diesen Mechanismus wird z.B. Mehrsprachigkeit, Mandanten- und Filialfähigkeit, Mehrkanalfähigkeit ermöglicht. Eine Kategorie ist eine Bezeichnung, der zur Laufzeit genau eine Belegung zugewiesen wird.

Inhalte können dann abhängig von dieser Belegung ausgegeben werden. Ein Beispiel hierfür ist z.B. die Mehrsprachigkeit. In der Kategorie "language" wird z.B. bei der Erzeugung der Benutzersession im ersten Zugriff auf den Auftritt aus dem Browser die Spracheinstellung "de" ausgelesen und gesetzt. In Folge kann nun der Auftritt auf diese Kategorie zugreifen und auf den Text, der in der entsprechenden Sprache hinterlegt worden ist, visualisieren.

Alle Kategorien werden in einer Kategoriemap pro Session/Benutzer gehalten. Die Belegung der Kategorien wird entweder bei der Initialisierung der Session aus Parametern, die der Browser sendet oder aus Einstellungen des Benutzers festgelegt.

Benutzer- und Rollenverwaltung
Es können verschiedene Benutzer- und Rollenpools angelegt werden, die aus verschiedenen Quellen gespeist werden können (interne Verwaltung, LDAP, NT-Authentisierung). Jeder Benutzer kann über beliebig viele Rollen verfügen. Es können beliebig viele Rollen im Contelligent Server angelegt werden.

Rollen können statisch über den Client verwaltet und zusätzlich über eine Serverfunktion während der Laufzeit einem Benutzer für die aktuelle Session zugewiesen oder entzogen werden. Dies dient z.B. dazu, einem Anwender nach der Legitimation erweiterte Rechte zu geben.

Zugriffsrechteverwaltung
Für jede Komponente können rollen- und benutzerspezifische Zugriffsrechte vergeben werden. Durch einen umfangreichen Rechtemechanismus (Ja, Nein, Nie) mit Vererbung, können die Rechte auch bei komplexen Benutzern und Rollenstrukturen optimal vergeben werden. Es können für Komponenten, abhängig von einem Benutzer oder einer Rolle, die Rechte "Lesen", "Schreiben", "Löschen" und "Ausführen" jeweils mit den Attributen "Ja", "Nein" oder "Nie" vergeben werden.

Die Rechte werden im Contelligent® Client mit Hilfe des AccessEditors durch einen berechtigten Benutzer vergeben. Die Einstellung "Nie" bezieht sich auf die logische Verknüpfung, für den Fall, dass ein Benutzer mehrere Rollen besitzt. Es wird ein "logisches oder" für alle Rollen über die Rechte gebildet. Daher reicht normalerweise einmal ein "Ja", um das entsprechende Recht zu haben, selbst wenn alle anderen Rollen dieses nicht erlauben. Soll nun trotz der Zuordnung einer Rolle, die den Zugriff erlaubt, durch die Zuordnung einer weiteren Rolle dieses Recht überschrieben werden, so ist das Recht auf "NIEMALS" zu setzen.

Sicherheit
Auf Komponentenbasis kann festgelegt werden, ob die Komponente nur in hochsicherer Verschlüsselung (128 Bit symmetrischer Schlüssel z.B. IDEA-Verfahren mit SSL-Handshake) zur Verfügung steht. Der Server prüft, ob der Zugriff mit oder ohne Verschlüsselung erfolgt. Eine Komponente kann sich entweder in beiden Umgebungen oder nur im sicheren Bereich visualisieren.

Die Einstellung ist entweder fest in der korrespondierenden Java-Klasse hinterlegt (immer geschützt) oder kann über den Contelligent Client durch den Administrator vorgenommen werden. So kann selbst bei hochdynamischen Websites, d.h. eine nicht statische Website mit einem großen Anteil von Fremdinhalten, eine optimale Sicherheit gewährleistet werden. Das Sicherheitssystem ist nicht zertifiziert. Zusätzlich sind die Kennwörter, die in der Datenbank abgelegt werden, durch eine Einwegverschlüsselung gesichert (MD5-Hashverfahren).

Zwischen Contelligent®-Client und Contelligent®-Server sind ebenfalls verschlüsselte Verbindungen (SSL) möglich.

Sicherung von Linkintegrität
Werden innerhalb eines Dokumentes Verweise auf andere Inhalte (intern oder extern) vorgenommen, dann werden diese im System vermerkt und vorgehalten.

Die Konsistenz dieser internen Links wird dauerhaft vom Server überwacht und automatisch nachgezogen. Bei Verschieben des Dokumentes oder der Inhalte werden die internen Links auf diese Inhalte durch den Contelligent-Server automatisch nachgepflegt.

Gleichzeitig erfolgt eine automatische Aktualisierung der Sitemap und der Menüsteuerung.

Verwaltung von Contelligent®-Bibliotheken
Bibliotheken erweitern die Funktionalität des Contelligent® Servers und können über einen Contelligent-eigenen Deploymentmechanismus als Binärdatei eingespielt werden. Bei der Einspielung prüft der Contelligent-Server, ob die benötigten weiteren Bibliotheken bereits eingespielt sind.

Die Einspielung kann nur erfolgen, wenn alle notwendigen Bibliotheken in der benötigten Version vorhanden sind. Die Binärdatei enthält sowohl den Programmcode in Java als auch die notwendigen Komponenten in einer XML-Beschreibung. Contelligent prüft dabei die Abhängigkeiten zwischen den einzelnen Bibliotheken, dem Contelligent-Server und den Projektständen und übernimmt die Aktualisierung der Pakete bei neueren Versionsnummern. Die Abhängigkeiten zwischen den einzelnen Bibliotheken werden in der jeweiligen Bibliothek hinterlegt.

Bibliotheken können durch Dritte erstellt werden. Schnittstellen zur Anbindung von Bibliotheken sind im Contelligent-Server vorhanden. Die Versionisierung und die Verwaltung der Sourcen einer Bibliothek obliegen dem Hersteller dieser Bibliothek.

Verwaltung von parallelen Nutzern
Wenn mehrere Benutzer/Redakteure mit dem Contelligent® Client arbeiten, wird die Benachrichtigung der verschiedenen Nutzer über ein Eventsystem mittels Push vom Server zum Client vorgenommen. Hierdurch können Veränderungen der Inhalte, das Einspielen neuer Dokumente und Sperrungen einzelner Abschnitte zum Editieren der Inhalte durch alle Redakteure auch während der Bearbeitung bemerkt werden.

Implizites Sperren:
Beim Bearbeiten von Komponenten werden diese automatisch für alle anderen Client-User zum Bearbeiten gesperrt. Diese Sperre wird automatisch aufgehoben.

Explizites Sperren:
Ein Client-User kann Komponenten oder Komponentenbäume manuell sperren und wieder entsperren.

Logging / Fehlerhandling
Es wird Log4J zur Protokollierung von Ereignissen des Contelligent® Servers eingesetzt. Standardmäßig wird die im Applikationsserver mitgelieferte Log4J-Implementierung verwendet. Deren Version muss dann 1.2 oder höher sein.

Fehlermeldungen werden als Exception abgefangen und über Log4J protokolliert. Zwischen Client und Server wird eine Fehlermeldung weitergeleitet und visualisiert.

Fehlermeldungen des Clients werden in der gewählten Sprache des Benutzers angezeigt. Fehlermeldungen des Servers werden im Client in englischer Sprache angezeigt. Die Meldungstexte sind fest hinterlegt.

Fehlermeldungen für Endkunden sind anwendungsspezifisch und frei gestaltbar. Systemfehler, die bis zum Endkunden durchdringen, können auf eine individuelle Fehlermeldungsseite umgeleitet werden.

Volltextsuche

  • Indizierung aller Komponenten und externer Dokumente (derzeit PDF und MS-Word)
  • Priorisierung einzelner Metadaten möglich (z.B. Autor, Überschrift)
  • Komponenten zur Erstellung der Suchanfragen
  • Lucene 1.2 basierend


Statistik/Personalisierung
Zur Personalisierung stehen vier Basismechanismen zur Verfügung. Erstens werden über Kategorien pro Benutzersession Einstellungen vorgenommen wie Sprache, Kanal, Mandant, Zielgruppe oder Institut. Diese können bei jeder Interaktion angepasst werden. Zweitens können beliebig viele Benutzergruppen/Rollen angelegt werden. Jedem Benutzer oder Session können beliebige Rollen fest oder dynamisch zugeordnet werden. Inhalte können abhängig von Rollen visualisiert werden. Drittens sind Zugriffsrechte auf jeder Komponente für einen Benutzer oder eine Rolle vergebbar. Viertens gibt es eine Regelengine. Hierbei können abhängig von Countern oder Daten aus hintergelagerten Anwendungen im Client Regeln definiert werden. Diese Regeln beinflussen die Visulisierung von statischen und dynamischen Inhalten.

Tracking von Benutzerverhalten über definierbare Trigger und Counter. Trigger und Counter liegen als Komponenten im System vor und können im Client mittels Drag&Drop an beliebige Stellen gelegt werden. Trigger loggen in Dateien. Diese können im Nachhinein von externen Anwendungen ausgewertet werden. Counter speichern die Anzahl der Zugriffe in der Datenbank ab und erzeugen zusätzlich einen Logeintrag.

  • Trigger und Counter pro Seite möglich
  • Trigger und Counter global, pro Mandant, pro User, pro Komponente
  • Logging in Logfiles pro Seite/Komponente
  • Verschiedene Regelkomponenten für Vergleichsoperationen auf beliebigen System- und externen Daten. Der Vergleich kann auf Zahlen und auf Strings erfolgen. Der Vergleich erfolgt über die Operatoren >,<,<>,>=,<=,=.
  • Visualisierung von Komponenten in Abhängigkeit von Triggern und Regeln
  • mySite-Feature. Pro Benutzer können eine oder mehrere eigene Seiten mit beliebigen eigenen Komponenten vorgehalten werden. Der Benutzer kann sich die Komponenten aus einem vordefinierten Pool selbst zusammenstellen.


Workflow
Der redaktionelle Workflow wird zur Steuerung der Freigabe von neuen Inhalten auf der Webseite verwendet. Beim Start eines Workflows durch einen Bearbeiter wird ein neuer Editkontext angelegt. Dieser hält die Änderungen als Deltas gegenüber dem Originalbestand. Nach Abschluss des Editiervorgangs kann der Bearbeiter den Vorgang an den nachfolgenden Benutzer oder eine Gruppe weitergeben. Diese können dann den Vorgang annehmen und sich eine Preview ansehen. Nach Bearbeitung sind Zurückweisung oder Freigabe des Editkontextes möglich. Nach Freigabe wird ggf. an den nächsten Benutzer/Gruppe weitergeleitet oder eine Freischaltung durch automatisches Kopieren des Editkontextes in den Produktionskontext vorgenommen.

Copyright © 2010 C:1 Financial Services GmbH