Category : BestFits

SSO mit OpenID Connect


Zentrale Kundenverwaltung mit Single Sign On (SSO) auf der Basis von OpenID Connect.

Zielsetzung

Eine zentrale Kundenverwaltung mit Single Sign On (SSO), die alle öffentlichen Webangeboten des Auftraggebers mit einer übergreifenden Authentifizierung und Autorisierung der registrierten Kunden, mit zentralen Registrierungs- und Datenpflegeprozessen sowie mit einer einheitlichen Bezahlstrecke für digitale Einkäufe versieht.

Die Webangebote sind mit unterschiedlichen Systemen und auf unterschiedlichen Plattformen realisiert, so dass die Nutzung und Einbindung der zentralen Benutzerverwaltung und des Single Sign On (SSO) technologieunabhängig erfolgt.

Lösung

Die Lösung besteht aus vier Komponenten:

  • Zentrale Kundendatenbank zur Speicherung der Kundenkonten inkl. “Admin”-Oberfläche zur Verwaltung der Daten
  • Single Sign On (SSO) Server zur zentralen Authentifizierung und Autorisierung der Benutzer durch die angebundenen Webangebote
  • Eine Schnittstelle zur Abfrage und Modifikation der Kundendaten durch die angebundenen Webangebote
  • Weboberfläche zur Verwaltung des eigenen Kundenkontos durch die registrierten Kunden

bestfit-sso-open-id-connect-overview

Eingesetzte Technologien

Als zentrale Kundendatenbank kommt das System unseres Partners censhare zum Einsatz. Es bietet eine flexible und robuste Verwaltung von Kundenkonten mit allen notwenigen Funktionen und eine bewährte Administrationsoberfläche zur Pflege und Verwaltung der gespeicherten Daten.

Für das Single Sign On (SSO) wird der offene und weit verbreitete Standard OpenID Connect genutzt. Dazu wurde das System von censhare um die Funktionen eines OpenID Connect Clients erweitert.

bestfit-sso-open-id-connect-auth-code-flow

Die Schnittstelle zur Datenaustausch zwischen den angebundenen Webangeboten und der zentralen Kundenverwaltung ist nach den Prinzipien einer REST-Schnittstelle ausgeführt und nutzt JSON als technologie- und plattformunabhängiges Datenaustauschformat.

Die Weboberfläche zur Pflege des eigene Kundenkontos ist nach den Prinzipien einer Single Page Web Anwendung mit JavaScript, CSS und HTML5 umgesetzt auf der Basis der Frameworks underscore.js und backbone.js umgesetzt.

Vorteile

Durch die Nutzung des Systems von censhare greift die SSO-Lösung auf ein bereits vorhandenes System zurück und wirft so keine neuen Fragen in Bezug auf Betriebsumgebung und Systemaktualisierung auf.

Der moderne und offene Standard OpenID Connect wird auch von Marktführern wie Google genutzt. Dadurch ist sowohl die langfristige Weiterentwicklung als auch ein sehr hohes Sicherheitspotenzial gewährleistet.

Aus der Kombination REST und JSON entstehen robuste, flexible und technologieunabhängige Schnittstellen die einfach zu warten und weiter zu entwicklen sind.

Die Single Page Web Anwendung bietet dem Besucher eine moderne und dynmaische Oberfläche. Die Bedienung entspricht einer App und ist nicht zu vergleichen mit der Klicken-Warten-Abfolge einer klassischen Webanwendung.

Mögliche Alternativen

Als zentrale Kundendatenbank können auch anderen WebCMS- oder ECMS-Systeme zum Einsatz kommen. Abhängig von jeweiligen System müssen dazu ggf. notwendige Funktionen zusätzlich implementiert werden.

Die zentrale Datenbank mit allen Kundeninformationen ist eine kritische Komponente der IT-Infrastruktur jedes Unternehmens. Die Systemauswahl sollte deshalb sorgfältig und unter Berücksichtigung vieler Kriterien getroffen werden. In diesem Punkt flexibel auf äußere Rahmenbedingungen reagieren zu können, ist ein ganz wesentlicher Vorteil.

BI-Lösung mit MongoDB


Business Intelligence (BI) Lösung mit NoSQL-Datenbank MongoDB

Zielsetzung

Öffentlich im Web verfügbare Business Intelligence Lösung zur übergreifenden Analyse von Kennzahlen aus unterschiedlichen Datenquellen.

Aus eine Vielzahl sehr unterschiedlicher Datenquellen werden Kennzahlen in einer zentralen Datenbank integriert und stehen dort für Analysen und Auswertungen zur Verfügung, die über die Grenzen der einzelnen Datenquellen hinweg einheitlich erfolgen können.

Die Benutzer der Lösung sind sowohl Spezialisten mit hohen spezifischen Kenntnissen als auch eine große Gruppe von Interessieren mit einem breiten fachlichen Hintergrund. Die Analysen und Auswertungen können sehr individuell zusammengestellt werden. Den Benutzern wird dabei jederzeit Hilfestellung geboten, um aus dem Datenmaterial auf einfachem Weg sinnvolle Erkenntnisse abzuleiten.

Lösung

In einer zentralen NoSQL-Datenbank werden alle Daten integriert. Dabei werden die Daten sowohl im Rohformat der einzelnen Quellen gespeichert als auch in einem abstrakten Zwischenformat, das für Abfragen und Auswertungen optimiert ist. Von der Datenbank getrennte Prozesse integrieren neue Daten in die Datenbank, sobald diese von den jeweiligen Datenquellen bereitgestellt werden. Über eine speziell dafür entwickelte Schnittstelle können beliebige Abfragen und Auswertungen auf dem Datenmaterial durchgeführt werden.

Eine individuell entworfene Weboberfläche bietet ein intuitiv zu nutzendes Werkzeug für Spezialisten und Interessierte zur Durchführung von Analysen und Auswertungen.

Eingesetzte Technologien

Die zentrale NoSQL-Datenbank zur Speicherung der Rohdaten und der aufbereiteten Kennzahlen ist eine MongoDB.

Die einzelnen Importprozesse zur Aufbereitung und Übernahme der Rohdaten aus den unterschiedlichen Datenquellen sind in Groovy entwickelte Scripte.

Die Abfrage- und Auswertungsengine ist eine Grails Webanwendung.

Die Weboberfläche für Anlaysen und Auswertungen ist nach den Prinzipien einer Single Page Web Anwendung mit JavaScript, CSS und HTML5 umgesetzt auf der Basis der Frameworks underscore.js und backbone.js ungesetzt.

Vorteile

Die schemalose Datenspeicherung der NoSQL-Datenbank ermöglicht die einfache Integration von Daten unterschiedlicher Herkunft und unterschiedlicher Struktur. Die eingesetzte NoSQL-Datenbank MongoDB unterstütz dabei besonderes gut die Anforderungen an flexible Abfragen und Analysen, Da trotz der unstrukturierten Datenspeicherung strukturierte, sql-ähnliche Queries möglich sind.

Die Scriptsprache Groovy bietet die notwendige Flexibilität zur Aufbereitung und Integration der Rohdaten aus den unterschiedlichen Datenquellen. Insbesondere lassen sich XML, JSON oder CSV-Daten einfach und unkompliziert auswerten und weiterverarbeiten. Neben der hohen Flexibilität punktet Groovy auch mit Stabilität. Als Sprache, die speziell für die Java JVM entwickelt wurde, lassen sich Groovy-Scripte zuverlässig und mit bewährten Werkzeugen ausführen und überfachen.

Das Gesamtsystem ist klar in drei Teile gegliedert. Die Aufbereitung und Datenintegration auf der einen Seite, Abfragen und Auswertungen auf der anderen Seite und die Datenbank mit dem abstrakten Datenmodell als Vermittler dazwischen. Diese klare Trennung entkoppelt alle Bestandteile in sinnvoller Weise. Neue Datenquellen oder Anpassungen an den bestehenden Quellen können ohne Auswirkung auf Auswertungen und Analysen vorgenommen werden. Gleichzeitig sind Anpassungen und Verbesserungen an der Weboberfläche für Analysen und Auswertungen möglich, ohne dass die Datenanlieferung und -aufbereitung von diesen Veränderungen betroffen sind.

Mögliche Alternativen

Mit einer alternativen NoSQL-Datenbank wie Redis oder CouchDB lässt sich problemlos eine vergleichbare Gesamtarchitektur realisieren. Auf einige spezifische Vorteile der MongoDB muss mann dann natürlich verzichten.

Ebenso ist es möglich, den Datenimport mit einer anderen Script- und der Programmiersprache wie Python, Java, C# oder sogar PHP zu realisieren. Dabei bieten die Scriptsprachen sicherlich eine etwas größere Flexibilität während die Compilersprachen sich ggf. besser in eine bestehenden IT-Infrastruktur einfügen.

Die Weboberfläche für Analysen und Auswertungen kann ebensogut als mobile App ausgeführt werden. Problemlos können Web- und App-Oberfläche parallel eingesetzt werden und sich so gegenseitig ergänzen. Dabei ist es unerheblich, ob die die entstehenden Business Intelligence App als native App unter iOS, Android, Windows Phone oder Blackberry läuft oder als plattformunabhängige, HTML5-basierte WebApp ausgeführt werden soll.

Analyse von Kennzahlen in Typo3 integrieren


Kennzahlen aus einer Business Intelligence (BI) Lösung in ein Typo3 Web Content Management System integrieren

Zielsetzung

Eine Business Intelligence Lösung zur Analyse und Auswertung von Kennzahlen im Rahmen eines öffentlichen Webportals bereitstellen. Das Portal richtet sich sowohl an Branchenspezialisten mit sehr hoher spezifische Fachkenntnis als auch an interessierte mit einem breiten fachlichen Hintergrund. Es bietet redaktionelle Informationen und, als Schwerpunkt, eine Auswertungs- und Analysewerkzeug zur Visualierung und Abfrage von Kennzahlen rund um den Fachschwerpunkt des Portals.

Lösung

Das Webportal sowie die Auslieferung und Bereitstellung der redaktionellen Inhalte wird mit einem Web Content Management System realisiert. Die Oberfläche zur Analyse der Kennzahlen wird als Plugin in das Web Content Management System integriert. Es basiert auf CSS, JavaScript und HTML. Der Zugriff auf die Business Intelligence Daten wird über eine REST-API abgewickelt.

bestfit-bi-typo3

Eingesetzte Technologien

Als Web Content Management System kommt Typo3 zum Einsatz. Das Plugin ist nach den Prinzipien einer Single Page Web Anwendung mit JavaScript, CSS und HTML5 umgesetzt. Um einen strukturiert Aufbau und eine gute Wartbarkeit des Plugins zu unterstützen, werden die Frameworks underscore.js und backbone.js verwendet.

Vorteile

Durch den Einsatz des Typo3 Web Content Management Systems sind alle Themen rund um die Einrichtung und Betrieb des Portals sowie die Prozesse zur Pflege der redaktionellen Inhalte und der Portalstruktur einfach und mit gut bekannten Werkzeugen gelöst.

Durch die individuelle Entwicklung des BI-Plugins ist die Integration der externen Business Intelligence Lösung für den Besucher des Portals nicht erkennbar. Das gesamte Angebot von redaktionellen Inhalten und individuellen Analysewerkzeugen erscheint “aus einem Guss”.

Darüber hinaus bietet der gewählte Ansatz, die BI-Kennzahlen mit Ajax und JavaScript zu integrieren, eine moderne, intuitiv zu bedienende und flexibel anpassbare Oberfläche

Mögliche Alternativen

Jedes erweiterbare Web oder Enterprise Content Management System wie z.B. Liferay oder censhare hätte als Grundlage für diese Lösung dienen Können. Die Flexibilität, dass Content Management System nach Maßgabe auswählen zu können, ist ein wesentlicher Vorteil.

Veranstaltungen mit Neo4J empfehlen


Mit der Grafendatenbank Neo4J Empfehlungen für Veranstaltungen ermitteln

Die Zielsetzung

Aus einem Pool von Veranstaltungen, Gaststätten, touristischen Highlights und weiteren möglichen Unternehmungen werden Empfehlungen zusammengestellt, einen kompletten Tag zu gestalten. Um auch ungewöhnliche Aktivitäten entdecken zu können, erfolgt die Zusammenstellung einer Empfehlung nach dem Zufallsprinzip. Von der Redaktion oder den Benutzern favorisierte Aktivitäten werden mit höherer Wahrscheinlichkeit vorgeschlagen.

Die Lösung

Alle möglichen Aktivitäten werden in der Grafendatenbank als Knoten gespeichert. Die Kanten geben an, wie gut zwei Aktivitäten zusammen passen. Die Auswahl einer konkreten Empfehlung reduziert sich mit dieser Modellierung auf das Auffinden eines optimalen Pfades innerhalb des Grafen.

bestfit-veranstaltungsvorschlaege-neo4j

Eingesetzte Technologien

Kernkomponente ist der sog. Empfehlungsserver mit der Grafendatenbank. Die Grafendatenbank basiert auf Neo4J. Der Empfehlungsserver ist eine individuelle Java-Anwendung auf der Basis des Spring Frameworks.

Vorteile unserer Lösungen

Durch den Einsatz der Grafendatenbank Neo4J wird die komplizierte Auswahl von Empfehlungen auf das Auffinden von optimalen Pfaden in einem Grafen reduziert. Für diese Aufgaben ist eine Grafendatenbank wie Neo4J optimiert. Neo4J eines der führenden Produkte in diesem Bereich. Es zeichnet sich durch eine einfache Integration und hohe Betriebssicherheit aus.

Die sehr komplexen Anforderungen liessen sich so durch eine geschickte Modellierung der Daten und die Auswahl einer geeigneten Datenbanktechnologie sehr effizient umsetzen.

Mögliche Alternativen

Mit einer alternativen Grafendatenbank wie OrientDB oder DEX/Sparksee könnte man eine vergleichbare Lösung aufbauen.

Auch unser Partner censhare verwaltet die Daten als gerichteten Grafen. Die oben beschriebene Lösung liesse sich also auch mit einem censhare Application Server realisieren. Allerdings müssten die Queries anders formuliert werden, da die Abfragesprache von censhare nicht speziell für diese Anforderungen entworfen wurde.