Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

webservice:architecture

webservice_SmartGate Aufbau

Das folgende Diagramm zeigt den Aufbau des webservice_SmartGates und die Gliederung in drei Bereiche. Die Bereiche finden sich auch im Aufbau der URLs wieder.

Bereiche

/engine

Dieser Bereich ist mit Abstand der mächtigste Bereich des webservice_SmartGates. Jede Methode dieses Bereichs entspricht einer gespeicherten Prozedur der SmartEngine. Eine Ausnahme bilden die beiden folgenden Methoden

  • execute : Bietet die Möglichkeit eine Menge von Prozeduren in einem Stapel auszuführen, dabei wird immer eine Batch-Liste in Form eines XML-Dokumentes per POST-Request gesendet.
  • cancelExecute : Bietet die Möglichkeit mittels execute abgesetzte Abfragen abzubrechen

/item

Die Methoden dieses Bereichs bieten einen Zugriff auf die Artikeldaten der dem Zugriff über die gespeicherten Prozeduren des Bereichs „engine“ hinsichtlich Performance und Funktionsumfang überlegen ist. Die Methoden dieses Bereichs bieten folgende Kernfunktionalitäten:

  • Facetten-Navigation1)
  • Freitextsuche mit Relevanzsortierung
  • Suchvorschläge für Freitextsuche

Grundlage für die Methoden dieses Bereichs ist Apache Lucene, eine spezielle Form der NoSQL-Technologie. Die Artikeldaten im SQL-Datenspeicher werden im Abstand weniger Minuten auf die NoSQL-Datenspeicher gespiegelt.

/interface

Dieser Bereich enthält Methoden zum Austausch (Im- und Export) von Daten. Er ergänzt das xml_SmartGate.

/service

Dieser Bereich enthält allgemeine Methoden zur Verwaltung des webservice_SmartGates. Dies sind zum Beispiel:

  • Laden einer neuen Konfiguration
  • Status-Seite

Skalierung

Das webservice_SmartGate skaliert horizontal. Es können beliebig viele unabhängige Instanzen2) gestartet werden, welche über einen Load-Balancer angesprochen werden. Auf der dStore agora Plattform findet diese Skalierung automatisch statt.

Durch die Unabhängigkeit der Instanzen ist die Skalierung sehr effizient und quasi unbegrenzt.

2)
es findet keine Kommunikation zwischen den Instanzen statt
webservice/architecture.txt · Zuletzt geändert: 13.11.2014 (Externe Bearbeitung)