Difference between revisions of "Agent"

From LISApedia
Jump to: navigation, search
(Infrastruktur)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
Ein Agent ist ein Konstrukt aus zwei Komponenten, um Daten aus der Datenbank darzustellen. Er enthält immer eine SQL-Abfrage und den Verweis auf eine LISA-Funktion, um die Ergebnisse auszugeben.
+
Ein Agent ist ein Konstrukt aus zwei Komponenten, um Daten aus der Datenbank darzustellen. Er enthält immer eine direkte SQL-Abfrage (z.B. '''SELECT * FROM lisa_artikel WHERE status <> '4'''' - Mit dieser Abfrage werden alle Artikel aus der Datenbank abgefragt, die nicht aussortiert sind) und den Verweis auf eine LISA-Funktion (z.B. '''artikel''' - Zeige für jeden Ergebnis-Datensatz eine reguläre Artikel-Zeile an), um die Ergebnisse auszugeben.
  
 +
==Infrastruktur==
 +
Um die Vorteile ihrer großen Flexibilität nutzen zu können, brauchen Agenten wie andere Listensysteme in LISA einen leistungsfähigen Unterbau. In ihm wird geregelt, wie man innerhalb einer Auflistung auf eine andere Seite gelangt, wie Werte durch Klicken oder eine andere Benutzereingabe verändert werden können, wie Daten per CSV exportiert werden können, welche Funktionen es für die Darstellung verschiedener Ergebnisdaten gibt usw. Er sorgt auch für die Ermittlung der Datensatz-Anzahl, für alle Schleifendurchläufe der Daten und für die Formatierung der Tabelle und die Darstellung des Agenten als Textcontainer.
  
'''SQL-Abfrage'''
+
Weil die Infrastruktur des Agentensystems sich um alles weitere kümmert, benötigt sie nur noch eine SQL-Datenbankabfrage sowie ein paar weitere Parameter (wie Anzahl der Datensätze pro Seite, Name der verwendeten Funktion oder Namen der variablen Daten, die vom Benutzer geändert werden können(z.B. Jahreszahlen)), dann kann sie das Ergebnis anzeigen. Auf diese Weise bleibt der Aufwand zur Erzeugung neuer Agenten so gering wie möglich.
  
Beispiel: SELECT * FROM lisa_artikel WHERE status <> '4'
+
==Vorteile==
 +
Agenten können in folgenden Punkten ihre Vorteile ausspielen:
 +
* Sie können wie Favoriten für einzelne oder alle LISA-Benutzer sichtbar sein.
 +
* Sie können von Lizenznehmer zu Lizenznehmer unabhängig definiert sein, ohne dass der LISA-Quellcode geändert werden muss.
 +
* Sie können wiederkehrende Aufgaben vereinfachen, indem sie ohne lange Recherche alle wesentlichen Daten anzeigen.
 +
* Sie können im Gegensatz zu Favoriten prinzipiell auf alle Daten der Datenbank zugreifen und sind somit extrem vielseitig.
 +
* Sie können ihre Ergebnisse in der Regel schnell und strukturiert anzeigen, auch wenn die Ergebnismenge groß ist.
 +
* Sie können im Bedarfsfall leicht verändert werden, sofern nur die SQL-Abfrage geändert werden muss und nicht die Funktion.
  
Mit dieser Abfrage werden alle Artikel aus der Datenbank abgefragt, die nicht aussortiert sind.
+
==Nachteile==
 +
* Sie können prinzipbedingt nicht von LISA-Benutzern angelegt oder geändert werden.
 +
* Ihre Ergebnismenge muss sich durch eine einzige SQL-Abfrage zusammenstellen lassen.
 +
* Es können nur schlecht Summen gebildet oder andere Daten erhoben werden, die über einzelne Datenzeilen hinausgehen.
  
 +
==Verwendung==
 +
Agenten stellen innerhalb von LISA Daten zusammen, die LISA nicht von sich aus darstellt.
  
'''Funktion'''
+
==Beispiele==
 
+
* Zeige alle Artikel eines bestimmten Lieferanten an, die ein bestimmtes Flag haben und erst nach einem bestimmten Datum angelegt wurden.
Beispiel: artikel
+
* Zeige alle LISA-Benutzer an, die sich in den letzten zwei Wochen die Artikelseite eines bestimmten Artikels angesehen haben.
 
+
* Zeige alle Bestellungen an, auf denen sich Artikel befinden, die im Ausverkauf sind.
Mit dieser Funktion wird für jeden Ergebnis-Datensatz eine reguläre Artikelzeile dargestellt.
+
* Zeige alle Kunden an, die im Jahr fünfmal oder öfter bestellen.
 +
* Zeige alle Posten mit aussortierten Artikel an.

Latest revision as of 11:53, 7 January 2015

Ein Agent ist ein Konstrukt aus zwei Komponenten, um Daten aus der Datenbank darzustellen. Er enthält immer eine direkte SQL-Abfrage (z.B. SELECT * FROM lisa_artikel WHERE status <> '4' - Mit dieser Abfrage werden alle Artikel aus der Datenbank abgefragt, die nicht aussortiert sind) und den Verweis auf eine LISA-Funktion (z.B. artikel - Zeige für jeden Ergebnis-Datensatz eine reguläre Artikel-Zeile an), um die Ergebnisse auszugeben.

Infrastruktur

Um die Vorteile ihrer großen Flexibilität nutzen zu können, brauchen Agenten wie andere Listensysteme in LISA einen leistungsfähigen Unterbau. In ihm wird geregelt, wie man innerhalb einer Auflistung auf eine andere Seite gelangt, wie Werte durch Klicken oder eine andere Benutzereingabe verändert werden können, wie Daten per CSV exportiert werden können, welche Funktionen es für die Darstellung verschiedener Ergebnisdaten gibt usw. Er sorgt auch für die Ermittlung der Datensatz-Anzahl, für alle Schleifendurchläufe der Daten und für die Formatierung der Tabelle und die Darstellung des Agenten als Textcontainer.

Weil die Infrastruktur des Agentensystems sich um alles weitere kümmert, benötigt sie nur noch eine SQL-Datenbankabfrage sowie ein paar weitere Parameter (wie Anzahl der Datensätze pro Seite, Name der verwendeten Funktion oder Namen der variablen Daten, die vom Benutzer geändert werden können(z.B. Jahreszahlen)), dann kann sie das Ergebnis anzeigen. Auf diese Weise bleibt der Aufwand zur Erzeugung neuer Agenten so gering wie möglich.

Vorteile

Agenten können in folgenden Punkten ihre Vorteile ausspielen:

  • Sie können wie Favoriten für einzelne oder alle LISA-Benutzer sichtbar sein.
  • Sie können von Lizenznehmer zu Lizenznehmer unabhängig definiert sein, ohne dass der LISA-Quellcode geändert werden muss.
  • Sie können wiederkehrende Aufgaben vereinfachen, indem sie ohne lange Recherche alle wesentlichen Daten anzeigen.
  • Sie können im Gegensatz zu Favoriten prinzipiell auf alle Daten der Datenbank zugreifen und sind somit extrem vielseitig.
  • Sie können ihre Ergebnisse in der Regel schnell und strukturiert anzeigen, auch wenn die Ergebnismenge groß ist.
  • Sie können im Bedarfsfall leicht verändert werden, sofern nur die SQL-Abfrage geändert werden muss und nicht die Funktion.

Nachteile

  • Sie können prinzipbedingt nicht von LISA-Benutzern angelegt oder geändert werden.
  • Ihre Ergebnismenge muss sich durch eine einzige SQL-Abfrage zusammenstellen lassen.
  • Es können nur schlecht Summen gebildet oder andere Daten erhoben werden, die über einzelne Datenzeilen hinausgehen.

Verwendung

Agenten stellen innerhalb von LISA Daten zusammen, die LISA nicht von sich aus darstellt.

Beispiele

  • Zeige alle Artikel eines bestimmten Lieferanten an, die ein bestimmtes Flag haben und erst nach einem bestimmten Datum angelegt wurden.
  • Zeige alle LISA-Benutzer an, die sich in den letzten zwei Wochen die Artikelseite eines bestimmten Artikels angesehen haben.
  • Zeige alle Bestellungen an, auf denen sich Artikel befinden, die im Ausverkauf sind.
  • Zeige alle Kunden an, die im Jahr fünfmal oder öfter bestellen.
  • Zeige alle Posten mit aussortierten Artikel an.