4
mozaikoo mozaikoo.microservice Was macht mozaikoo.microservice einzigartig? Nahezu beliebige Verschachtelungstiefe der Elemente und Bezüge durch Speicherung in einem TripleStore (spezielle Graph-Datenbank). Änderungen in Datenbanken werden sofort im DocumentStore (Such-Indices) aktualisiert. Enge Verzahnung von hierarchischer Datenhaltung, optimierter Suche und Geolokalisation (Karten-Services) Umfangreiche ACL (Access Control List, Benutzerberechtigung und Rollen) mit feingranularen Einstellungen bis zur einzelnen Seite und Elementen. ImageServer mit Bildbearbeitung on-the-fly und eigenen, benutzerspezifischen Repositories. Multiparametrische Routenoptimierung. Öffnungszeiten-Regelmodell für komplizierte Öffnungszeiten, einfach zu administrieren. Mit Abhängigkeiten zu verbundenen Elementen, die auch Öffnungszeiten besitzen. TileServer mit eigenem Kartendesign, Kartenkachel(Tiles)-Ge- nerierung und Caching. Bild und Vektor. Multiple Geocoder und Reverse Geocoder für verlässliche Adressauflösung als Koordinate und umgekehrt. TSP Solver und Routenoptimierung mit Zeitfenster und Res- sourcenabhängigkeit. Mail- und Push-Services mit Template- und Komponenten- integration. Logging- und Statistik-Integration mit Business-Intelligence. Skalierbares Extract-Transform-Load (ETL) aus DataWarehouse oder direkter Datenbankzugriff via Database Abstraction Layer. Microservice-Architektur …ist das Grundlagen-Framework und die zentrale RESTful API (Schnittstelle) mit sicherer ACL (Zugriffssteuerung) sowie User-Services, Datenbank- und Geolokalisierung-Konnektoren für die mozaikoo.app. mozaikoo.microservices sind modular erweiterbar und benutzen unabhängige, skalierbare, clusterfähige Nodes. Die Installation kann in einem administrierten Container erfolgen. mozaikoo.microservices – Schematischer Aufbau – Kästen in hellblau ( ) modular ACL Search Notification Logs, Statistics, Monitoring Map Logistics User E-Commerce Admin Image Server Roles z.B. Registered mit Comments, Favorites, Ra- ting, Wishlist, Cart Backend private-public user-specific Cart Management Order Management Delivery Management TileServer, pre- render, design and caching Optimized Search Indices Language and Topic sensitive Lexer (logisches Wörterbuch) Tag Aggregator Fuzzy Logic Template/Render-Engine StaticSite Generator Search term optimizer Newsletter System Status Mails Push Serivce Autocomplete Hierarchic Filter Geocoder, Re- verse Geocoder Single Routing Machine Multiparameter Routing Machine TSP Solver, Route Optimizer Geocoder Service 1 TileServer 1…n Search Index 1…n Geocoder Service 2 Prerendered Tiles Geocoder Service n + ext. API access yasoo BI PiWiK Database Abstraction Layer (DAL) Graph-DocumentStore-DB Sync Layer Data Warehouse, Databases API 3.0.0 3

3 mozaikoo · Leaflet erstellt und angereichert werden. Wir verwenden auch jede Menge Bash-Scripting, um sowohl die Entwicklung als auch die Implementierung und operative Auf-gaben

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

mozaikoomozaikoo.microservice

Was macht mozaikoo.microservice einzigartig?Nahezu beliebige Verschachtelungstiefe der Elemente und Bezüge durch Speicherung in einem TripleStore (spezielle Graph-Datenbank).

Änderungen in Datenbanken werden sofort im DocumentStore (Such-Indices) aktualisiert.

Enge Verzahnung von hierarchischer Datenhaltung, optimierter Suche und Geolokalisation (Karten-Services)

Umfangreiche ACL (Access Control List, Benutzerberechtigung und Rollen) mit feingranularen Einstellungen bis zur einzelnen Seite und Elementen.

ImageServer mit Bildbearbeitung on-the-fly und eigenen, benutzerspezifischen Repositories.

Multiparametrische Routenoptimierung.

Öffnungszeiten-Regelmodell für komplizierte Öffnungszeiten, einfach zu administrieren. Mit Abhängigkeiten zu verbundenen Elementen, die auch Öffnungszeiten besitzen.

TileServer mit eigenem Kartendesign, Kartenkachel(Tiles)-Ge-nerierung und Caching. Bild und Vektor.

Multiple Geocoder und Reverse Geocoder für verlässliche Adressauflösung als Koordinate und umgekehrt.

TSP Solver und Routenoptimierung mit Zeitfenster und Res-sourcenabhängigkeit.

Mail- und Push-Services mit Template- und Komponenten- integration.

Logging- und Statistik-Integration mit Business-Intelligence.

Skalierbares Extract-Transform-Load (ETL) aus DataWarehouse oder direkter Datenbankzugriff via Database Abstraction Layer.

Microservice-Architektur

…ist das Grundlagen-Framework und die zentrale RESTful API (Schnittstelle) mit sicherer ACL (Zugriffssteuerung) sowie User-Services, Datenbank- und Geolokalisierung-Konnektoren für die mozaikoo.app.

mozaikoo.microservices sind modular erweiterbar und benutzen unabhängige, skalierbare, clusterfähige Nodes. Die Installation kann in einem administrierten Container erfolgen.

moz

aiko

o.m

icro

serv

ices

– S

chem

atis

cher

Auf

bau

– Kä

sten

in h

ellb

lau

( )

mod

ular

ACL

Search

Notification

Logs, Statistics, Monitoring

Map

Logistics

User

E-Commerce

Admin

Image Server

Roles

z.B. Registered mit Comments, Favorites, Ra-ting, Wishlist, Cart

Backend

private-public user-specific

Cart Management

Order Management

Delivery Management

TileServer, pre-render, design and caching

Optimized Search Indices

Language and Topic sensitive Lexer (logisches Wörterbuch)

Tag Aggregator

Fuzzy Logic

Template/Render-Engine StaticSite Generator

Search term optimizer

Newsletter System Status Mails Push Serivce

Autocomplete

Hierarchic Filter

Geocoder, Re-verse Geocoder

Single Routing Machine

Multiparameter Routing Machine

TSP Solver, Route Optimizer

Geocoder Service 1

TileServer 1…n

Search Index 1…n

Geocoder Service 2

Prerendered Tiles

Geocoder Service n

+ ext.API

access

yasoo BI PiWiK

Database Abstraction Layer (DAL)

Graph-DocumentStore-DB Sync Layer

Data Warehouse, Databases

API

3.0.03

mozaikoo.appCross-Channel-Content-Management-System

Responsive WebApp (Ember.js) mit außergewöhnlicher User Experience (UX) durch partielle Seitenaktualisierung.

Single-Code-Base mit kompilierter mobiler App für IOS (ab 8) und Android (ab 4.3).

Extrem schnelle, applikations- und komponentenweite Suche, beliebig kategorisierbar und hierarchisch verfeinerbar.

Nahtlos integrierte Inhalt-Karten-Kombination mit ElasticSearch Signifikanz-optimierter MarkerClusterer.

Live-Edit-CMS (Änderungen werden direkt auf der Seite gepflegt und sofort im Layout angezeigt). Geringe Lernkurve, schnelle Navigation für Redakteure und Datenpfleger.

Umfangreiches Drag-and-Drop-Widget-System (Einzelkompo-nenten einer Seite) oder separate Backend-Administration.

Komplettes Content-Construction-Kit mit Grid-Widget (Raster).

Prerendered Social-Media-Crawler (Inhalte aus z.B. Facebook werden vorbereitet und bei Seitenaufruf sofort dargestellt).

E-Commerce mit mehreren Anbietern und kombinierten Waren-körben und Booking-Komponente mit mehreren Anbietern und kombinierten Events.

Integrierte Benutzerfunktionen (Comments, Ratings, Favorites, Wishlists, Shoppinglists)

Modulares, extrem einfach zu bedienendes Cross-Channel CMS mit separatem Backend, modularer Frontend-Bearbeitung und hierarchischem Geo-Content-Construction-Kit.

mozaikoo.microservices

3.0.0

mozaikoo.app Frontend bei Hallo Nachbarn®: www.hallonachbarn.com

Vereinfachter, schema-tischer Aufbau von mozaikoo mit mozaikoo.app und mozaikoo.microservices

3

mozaikoo Frontend-Editor. Einzelne Elemente können per Drag-and-Drop angeordnet werden und per Klick sofort auf der jeweiligen Seite komfortabel editiert werden.

mozaikoo Backend-Applikation mit aktivierten Modulmenü. Anlegen und Anordnen von Seiten in Hand-umdrehen. Übersichtliche, komfor-table und einfache Bedienung.

WebApp Engine Mobile Engine

Datenbanken

mozaikoo.site

Template Engine mit LESS-Compiler

Progressive Webworkers

Ember.js

Native Plugins

GPSstatic Pages

static Transfer Sensors

offline Maps

vector Maps

mozaikoo.appKomponenten

mozaikoo.siteMehrsprachiges CMS mit modularen Menüs und funktionsstarken Widgetssystem. Enthält eine Benutzerver-waltung für Frontend und Backend-User, umfangreiche Benutzerfunktionen wie Favoriten, Merklisten, Shares und Likes, die Dashboard-Komponente zur Seitenanalyse und die Template- und Systemsteuerung. mozaikoo.site ist gekoppelt mit mozaikoo.backend zur Erstellung und Administration der Seite, sowie den notwendigen mozaikoo.microservices.

Alle Elemente von mozaikoo werden durch mozaikoo.search indiziert und stehen als extrem schneller und umfangreicher Suchindex zur Verfügung.

mozaikoo.mosaicKomponente zum bearbeiten der Einzelelemente direkt und live im Frontend. mozaikoo.mosaic enthält viel-seitige Elemente, die mit leistungsstarken Microservices versorgt werden und frei auf den Seiten positioniert werden können. Die Elemente sind eingebunden in die Template- und Seitengestaltung, die im Frontend um eigene Rasterelemente erweitert werden kann.

mozaikoo.blogMulti-Blog-Komponente, die in mozaikoo.site integriert werden kann. mozaikoo.blog enthält eine Post- und Comment-Verwaltung, die über das Widgetsystem von mozaikoo.site eingebunden wird.

mozaikoo.catalogUmfangreiches, hierarchisches und geokodiertes Verzeichnis mit modular erweiterbaren Typen. Die Typen können untereinander vernetzt werden. mozaikoo.catalog stellt folgende Typen hierarchisch zur Verfügung:

Unternehmen Personen Gruppen Events/TermineOrte Regionen Produkte Rezepte

mozaikoo.newsletterMächtiges, Template-gesteuertes Newslettersystem mit CRM-Kontaktkomponente und Newsletterlisten.

mozaikoo.crawlerInformations-Akquisitions über Internetseiten mit dem mozaikoo.crawler. Umfangreiche Dekodierfunktionen für Wikipedia, responsive Webseiten und Seiten, die den Inhalt nachladen (Lazy-Loading). Anreicherung und Organisation des Inhalts mit Geolokalisations- und Kategorie-Tools.

mozaikoo.formsEinfache Formularerstellung für Newsletter-Abonnements, Kontaktformulare und Datei-Upload.

mozaikoo.mapUmfangreiche Karten-Komponente mit eigenem TileServer, eigenem Geo-Editor und wahlweise Ausgabe der Karten als Vektoren (mobil) oder Bilder. Arbeitet nahtlos mit mozaikoo.catalog, mozaikoo.crawler, mozaikoo.site oder mozaikoo.blog zusammen. Enthält neben der Möglichkeit eigene Karten zu erstellen und zu erwei-tern auch umfangreiche, multiple Geocoder, reverse Geocoder, Routenplanung, multiparametrische Routen-planung und Tourenoptimierung mit Zeitfenstern.

mozaikoo.ecommerceE-Commerce-Komponente mit Logistik-Adapter aus Lieferlog. Nur in Verbindung mit Produkttypen aus mozaikoo.catalog.

Funktionsvielfalt, modular erweiterbar. Daten können kombiniert, schnell durchsucht und geokodiert werden.

3.0.03

Alle Elemente von mozaikoo werden durch

Bald verfügbar

mozaikoomozaikoo.microservices | mozaikoo.app

Warum haben wir eine eigene Software entwickelt? mozaikoo kann das, was wir vermisst haben!Content Management

Wir kennen, arbeiten mit und erweitern Content Management Systeme (CMS) auch auf Wunsch unserer Kunden. Dazu gehören u.a. Typo3, Joomla, Drupal oder Wordpress. Aus dieser langjährigen Erfahrungen stellten wir – besonders im Bezug zu Kundenwün-schen – immer wieder Defizite fest, die kein CMS befriedigend lösen konnte. Im Detail vermissen wir je nach System immer wieder feingranuläre Einstellungen zum Zugriff und Bedienung sowie eine deutlich interaktivere Benutzung bei der Pflege der Webseite. Zudem fehlen Möglichkeiten eines Subskriptionsmodells mit vielen Benutzern, die eigene Seiten pflegen können. Eine schnelle, komfortable und kontextsensitive Suche kann zwar nebengelagert bei den meisten Systemen eingerichtet werden, jedoch mit den üblichen Nachteilen bezüglich Integration und SEO.

E-Commerce

Wir kennen, arbeiten mit und erweitern Shop-Systeme, auch auf Wunsch unserer Kunden. Dazu gehören u.a. OXID, Shopware, Magento. Im Detail vermissen wir die adaptive Im-/Exportfunktionalität zu PIM und ERP-Systemen, sowie die Möglichkeit, stark verschachtelte Produktgruppen mit vielen Merkmalen und Varianten auszugeben – besonders im Bereich der Produkt-Konfiguration mit vielen Abhängigkeiten und in vielen Ebenen miteinander verknüpften Regeln. Auch die Logistik mit kombinierten Lieferwegen und Mandantenabhängigkeiten muss manuell erweitert werden.

User Experience (UX), Location based Services (LBS)

Wir vermissen in den meisten verfügbaren Applikationen eine stark interaktive Seitenaufbereitung, die bei Änderungen sofort reagiert, direkt auf der jeweiligen Seite komfortabel gepflegt werden kann und Varianten zum Testen ermöglicht. Darüber hinaus soll dem Benutzer ein auf seine Örtlichkeit und Interaktivität zugeschnittener Inhalt präsentiert werden – und die Möglichkeit eines Austausches in einer „Social Community“ in Verbindung mit Location-Based-Services.

Sicherheit

Wir möchten den gesamten Inhalt, die Analyse, Karten, Geocoding, Benutzer und Bilder auf einem System bündeln, so dass für den vollständigen Betrieb kein Datenaustausch mit fremden Systemen nötig ist. Gleichzeitig kann das System auch skaliert, verteilt gehosted werden und auf Wunsch mit externen Quellen zusammenarbeiten.

OpenSource als solide GrundlageAuf Grund unserer Framework-Philosophie haben wir den gesamten Software-Stack mit größtmöglicher Modularität und Flexibilität entwickelt. Dies schafft Raum für Skalierbarkeit für mehr Nutzer und mehr Daten.

Wir verwenden ElasticSearch für unsere Suchindices und Suchanfragen. Für die Geo-Indexierung verwenden wir Geo-DB-Datenbanken (u.a. PostgreSQL 9.5), unsere eigenen Index-Ta-bellen zur schnellen Suchabarbeitung und parallel arbeitende Routenkalkulationen.

Wir verwenden Nominatim für die Umwandlung von Koordinaten zu Namen und setzen voll auf OpenStreetMap mit unseren eige-nen TileServern (TileStream, Mapnik) mit eigenem Caching und Tile-on-the-fly-Generatoren. Teilweise verwenden wir interaktive Landkarten von MapBox, die durch die Open-Source-Bibliothek Leaflet erstellt und angereichert werden.

Wir verwenden auch jede Menge Bash-Scripting, um sowohl die Entwicklung als auch die Implementierung und operative Auf-gaben zu automatisieren. Die dynamischen Inhalte der Website wurden in Javascript (ECMAScript 5/6) geschrieben und verwen-den zur Auslieferung Ember.js via Ember-CLI und Ember-Fastboot mit Handlebar-Templates. Die einzelnen Prozesse werden durch node.js angetrieben. Wir verwenden einen eigenen Module-Loa-der für unsere zahlreichen Funktionsmodule und RabbitMQ zur Synchronisation.

Die Installation erfolgt Docker-administriert und kann sowohl containerweise, als auch komponentenweise geclustert werden.

Als einfache Analyse-Software verwenden wir eine erweiterte Version von PiWiK – oder zur komplexen vierdimensionalen Auswertung (orts- und zeitbezogen, interaktiv) unsere eigene Business-Intelligence-Suite yasoo.

Die Routing-Engine ist eine Erweiterung von Graphhopper und jSprit mit unseren Optimierungs-Algorithmen aus Lieferlog.

Für die Datenhaltung im Graphen verwenden wir neo4j (CE) als TripleStore und mongoDB zur Konfigurations-Abbildung.

Ready-to-use, predefined Typesmozaikoo.microservices besitzt bereits ein umfangreiches Trip-leStore-Datenhaltungsmodell mit semantischen Beziehungen für folgende Haupttypen: User, Person, Outlet, POS (Points-of-Sale), Product, Events, Page, Post, Document, Organization, Category.

Jede dieser Haupttypen steht in Beziehung zueinander und hat wiederum weitere Typenabhängigkeiten.

Die Typenbeziehungen können rekursiv sein (Product-Product) oder übergreifend (Outlet-Product). Mehrstufige Verbindungen (Outlet-POS-Opening-Product) sind ebenfalls möglich.

Typen und Verschachtelungstiefen können erweitert werden.

regiostart GmbH · Dr.-Theobald-Schrems-Str. 4 · 93055 Regensburg · +49 941 5 69 59 76 -0 · +49 941 5 69 59 76 -9 · [email protected] · www.regiostart.com