Entwicklung > Safe X3 WAS > Link SAFE X3 > Schnittstelle 

SEEWARNING Es empfiehlt sich, vor Anlage einer Site folgende Dokumentation zu konsultieren:Was vor Ausführung der Funktion zu beachten ist.


Die Hauptfunktion der Parameterdaten 'Schnittstelle' ist es, einen X3-Webservice zu lokalisieren und folgende Daten zu liefern:

  • den Namen oder Alias, unter dem der Webservice veröffentlicht wurde
  • die Webservice-Serveradresse, die den Service liefert

Bei den Interaktionen zwischen einer XTEND-Webapplikation und dem X3-Backoffice kommen zwei Service-Kategorien zum Tragen:

  • Services vom Typ 'Zugriff', mit denen die Datenzugriffe beschrieben werden
  • Services vom Typ 'Aktion', mit denen die Benutzeraktionen beschrieben werden

SEEWARNING Die Anzahl von Parametern der Webservices vom Typ Zugriff oder 'Unterprogrammaktion' ist auf 50 begrenzt.

Im Webservice-Modus enthält die globale X3-Variable GUSER den X3-Benutzercode, der beim Aufruf des Webservices als Parameter übergeben wurde.

XTEND weist den X3-Benutzercode in Abhängigkeit davon zu, ob der Benutzer eine Signatur besitzt:

  • Ein XTEND-Benutzer ohne Signatur verwendet den standardmäßig im Webservice-Pool definierten X3-Benutzercode.
  • Ein XTEND-Benutzer mit Signatur verwendet den X3-Benutzercode, der von der Anmeldefunktion zurückgegeben wird.

Schnittstellen vom Typ 'Zugriff'

Der XTEND-Server greift nicht direkt mit einem Datenbank-Konnektor auf die X3-Datenbank zu, sondern über einen speziellen Webservice-Aufruf vom Typ Unterprogramm oder Auswahlliste links.

Mit den Schnittstellen vom Typ 'Zugriff' können solche Webservices definiert werden; ihre Funktionsweise entspricht der der Data Provider.

Diese Webservices werden von den Tokens vom Typ Blockaufgerufen.

Generierter Tabellenzugriff

Automatische Generierung eines Webservices, um auf die Datensätze einer X3-Datenbank zuzugreifen:

1. Generierung einer 4GL-Verarbeitung

2. Anlage eines Datenblatts in der Tabelle der Unterprogramme

3. Veröffentlichung des Webservices

Der generierte Webservice steht sofort auf sämtlichen Webservice-Webservern zur Verfügung, die den Ordner veröffentlichen.

Generierter View-Zugriff

Analog zu 'Generierter Tabellenzugriff', jedoch für X3-Views.

Zugriff Auswahlliste links

Verwendung des Webservice 'Auswahlliste links' eines X3-Objekts als Datenquelle.

Zugriff 'Unterprogramm'

Der Typ 'Zugriff Unterprogramm' wird in der Regel zum Hinzufügen von berechneten Felder zu den Tabellen- / Viewfeldern verwendet, auf die zugegriffen werden soll.

Beispiel : Hinzufügen der Verfügbarkeit und des Preises von Artikeln zu einem Katalog.

Zur Berechnung der Werte der 'berechneten' Felder müssen der 4GL-Verarbeitung zusätzlich zu den standardmäßig vom XTEND-Server über die Parameter AXPARCOD und AXPARVAL (siehe Benutzeraktionen) weitere Kontextparameter übergeben werden.

Beispiel : Kundencode oder Menge / Datum, vom Benutzer erfasst.

Parametertabelle 'Zugriff Unterprogramm'

Mit dieser Tabelle kann die Liste der Zusatzparameter definiert werden.
Der Wert der Parameter vom Typ 'Erfassung' wird in den Daten des Tokens dynamischer Link oder Blockerfasst.

SEEWARNING Anders als bei den Benutzeraktionen erlaubt der Zugriff auf das Unterprogramm keine Erfassung des Parametermappings.

Die Parametertabelle kann als Mapping auf die Liste der AXPARCOD- / AXPARVAL-Parameter interpretiert werden.

Optimierungen

Wie beim generierten Tabellenzugriff ist es gelegentlich notwendig, zur Verbesserung der Antwortzeiten den Webservice-Aufruf zu optimieren.

  • Mit dieser Tabelle kann der Benutzer seine eigenen Optimierungstypen definieren (erfassen).

  • Der XTEND-Server belegt den $OPTIMIZE-Parameter beim Webservice-Aufruf.

  • Dem 4GL-Entwickler fällt es zu, die Optimierungsverarbeitung in Abhängigkeit vom Parameterwert zu entwickeln.

Schnittstellen vom Typ 'Aktion'

Mit den Schnittstellen vom Typ 'Benutzeraktion'können Webservices (4GL-Verarbeitungen) definiert werden, die mit den Daten aus dem X3-Backoffice arbeiten.

Die Schnittstelle 'Aktion' ist Webaktionsdaten zugeordnet, mit denen das Parametermapping beschrieben werden kann.

Diese Webaktionen sind wiederum Tokens vom Typ dynamischer Link zugeordnet, damit sie in die grafischen Schnittstellenelemente wie Buttons (input type="button" onClick="">) oder Anker (<a href="button" onClick="">) eingefügt werden können.

Benutzeraktion

Eine XTEND-Benutzeraktion XTEND resultiert immer aus einem Aufruf eines X3-Webservices. Bei diesem Webservice handelt es sich entweder um ein Unterprogramm oder um eine Aktion in Verbindung mit einem X3-Objekt.

Eine XTEND-Aktion erwartet Parameter als Eingaben, führt eine Verarbeitung aus und belegt eine bestimmte Anzahl von Parametern als Rückgabewerte, wie z. B. beim Aufruf eines 4GL-Unterprogramms.

Im Falle einer XTEND-Applikation werden die Parametereingaben in der Regel vom Benutzer in einem HTML-Formular vorgenommen; die vom Unterprogramm zurückgegebenen Werte werden in der Benutzersitzung im Speicher gehalten (Mapping), um auf einer HTML-Seite angezeigt werden oder als Parameter für weitere Aktionen verwendet werden zu können.

Aktion Unterprogramm

Zuvor müssen die 4GL-Verarbeitung programmiert und die Unterprogrammdaten angelegt worden sein.

Nach Anlage der Schnittstelle, kann der Webservice mit dem Button "Zugriff generieren" veröffentlicht werden.

Aktion X3-Objekt

Der Code der X3-Aktion (Aktionsbutton des Objekts) wird in den Daten der Webaktion erfasst.

Nach Anlage der Schnittstelle, kann der Webservice mit dem Button "Zugriff generieren" veröffentlicht werden.

Vorbedingungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Kopfzeile

Felder

In diesem Register befinden sich die folgenden Felder :

Schnittstellencode.

  • Standort (Feld FCYLIB)

Aktuelle Website.

  • Bezeichnung (Feld INTIT)

Ermöglicht die Definition einer Bezeichnung für jeden Datensatz.

Schließen

 

Register Allgemeine Angaben

Übersicht

Allgemeine Schnittstellenparameter
Die zu erfassenden Parameter hängen vom gewählten Schnittstellentyp ab

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Typ Schnittstelle

  • Typ (Feld TYP)

Schnittstellen vom Typ Datenzugriff:

  • Generierter Tabellenzugriff: ermöglicht die automatische Generierung eines Webservices, um auf die Datensätze einer X3-Datenbank zuzugreifen:

  • Generierter Ansichtszugriff: analog zu Generierter Tabellenzugriff', jedoch für die X3-Ansichten.

  • Zugriff Explorerliste: ermöglicht die Verwendung des Webservice 'Explorerliste' eines X3-Objekts als Datenquelle.

  • Zugriff Unterprogramm: ermöglicht die Personalisierung eines Unterprogramms 'Datenzugriff' und das Hinzufügen der berechneten Felder.

Schnittstellen vom Typ 'Aktion':

  • Aktion Unterprogramm: Aufruf eines Webservices vom Typ Unterprogramm.

  • Aktion Benutzer Objekt: Aufruf eines Webservices vom Typ Aktion eines X3-Objekts.

Tabelle/Ansicht

Tabellencode für einen 'Zugriff generierte Tabelle'.

Ansichtscode für einen 'Zugriff generierte Ansicht'.

Objekt

Objektcode für die Schnittstellentypen 'Aktion Objektbenutzer' und 'Aktion Daten Explorerliste'.

  • Transaktion (Feld VARIANTE)

Code der Transaktion für die Schnittstellen vom Typ 'Datenzugriff Explorerliste' und 'Aktion Benutzer Objekt'.

  • Unsichtbare Bereiche (Feld INVISIBLE)

Dieses Feld ermöglicht die Berücksichtigung der verborgenen Bereiche für das Webservice-Objekt im Fall der Schnittstellen 'Zugriff Explorerliste' und 'Aktion Objektbenutzer'.

  • Feld LIBVAR

 

Unterprogramme

  • Verarbeitung (Feld PRG)

Name der vom Webservice aufgerufenen Verarbeitung.

Dieses Feld muss nur für die Schnittstellen 'Zugriff Daten Unterprogramm' und ' Aktion Benutzer Unterprogramm' angegeben werden.

SEEWARNING Die Verarbeitung und die Unterprogrammdatei müssen erstellt werden.

  • Unterprogramme (Feld SUBPRG)

Name des vom Webservice aufgerufenen Unterprogramms.

Dieses Feld muss nur für die Schnittstellen 'Zugriff Daten Unterprogramm' und ' Aktion Benutzer Unterprogramm' angegeben werden.

SEEWARNING Die Verarbeitung und die Unterprogrammdatei müssen erstellt werden.

Veröffentlichung

  • Freigabename (Feld WEBSRCCOD)

Veröffentlichungs-Name des X3-Webservice.

  • Max Anzahl Zeilen (Feld RESMAX)

Maximale Anzahl an Datensätzen, die vom Webservice zurückgesendet wurden und über den Button 'Zugriff generieren' geändert werden können.

  • Zugriff generieren (Feld IGEN)

SEEREFERTTO Um auf die Feldhilfe der angezeigten Maske zuzugreifen, siehe Dokumentation über den Button [Zugriff generieren].

  • Feld WWSLIB

 

Schließen

 

Register Erweitert...

Felder

In diesem Register befinden sich die folgenden Felder :

Anzeige der Meldungen vom Typ

  • Information (Feld DSYINF)

Ein X3-Webservice kann Meldungen von folgendem Typ zurücksenden:

  • Information,
  • Warnung,
  • Fehler.

Die Auswahl eines Meldungstyps gibt dem XTEND-Server an, dass er diesen Meldungstyp bei der Rückgabe des Webservice-Aufrufs berücksichtigen muss, um den Namen AMSGUSER über den Feldtoken anzuzeigen.

  • Verwarnung (Feld DSYWRN)

 

  • Fehler (Feld DSYERR)

 

Tabelle Nummer 1

  • Optimierungen (Feld OPTIMI)

Die Schnittstellen vom Typ 'Zugriff' sind die am meisten verwendeten der XTEND-Engine; die 'Flüssigkeit' der Webseite hängt stark von der Anwortzeit der aufgerufenen Webseitenantworten auf.

Diese Tabelle schlägt für jeden Zugriffscode die Liste der möglichen Optimierungen vor, die zum Zeitpunkt des Aufrufs in Blocktoken ausgewählt sind.

Pool

  • Standard-Pool (Feld LNKADSDEF)

Der Webservice-Pool ermöglicht die Lokalisierung des Webservices:

  • Ja: gibt an, dass der XTEND-Server den Webservice-Pool verwendet, der auf Standortebene definiert wurde, um den dieser Schnittstelle zugeordneten Webservice aufzurufen.

  • Nein: damit die Schnittstelle einen bestimmten Webservice-Pool verwendet, dessen Code vom Parameter 'Webservice-Pool' vorgegeben ist.
  • Pool Webservice (Feld LNKADS)

XTEND-Poolcode, wenn dieser sich vom Standardpool unterscheidet, der auf Ebene des Parameters 'Webseite' erfasst ist.

Die Verwendung eines bestimmten XTEND-Pools für eine Schnittstelle ermöglicht die Aufteilung der Belastung auf die verschiedenen Verbindungspools, wenn nur wenige Webservice-Lizenzen vorhanden sind.

Beispiel:

Der Standardpool kann für den Aufruf der interaktiven Webservices mit geringer Antwortzeit verwendet werden. 
Ein bestimmter Pool kann dagegen für den Aufruf der Webservices verwendet werden, die längere Verarbeitungen auslösen (wie eine Auftragsübertragung), um die anderen Benutzer nicht zu blockieren.
Dieser Pool kann eventuell mit einem Server der vorgesehenen Verarbeitung verbunden werden.

Zugriff

  • Zugriff geschützt (Feld ACSMOD)

Dieser Parameter ermöglicht die Zugriffsprüfung auf die Webservices über die Profile:

  • Ja: gibt an, dass nur die identifizierten Benutzer Zugriff auf diesen Webservice haben.

Dieser Parameter wird in der Regel von den Anwendungen verwendet, die die Bibliothek AJAX von XTEND verwenden.

  • Feld W1

 

Tabelle Param. Zugriff Unterprogramm

Parametercode.

  • Wert (Feld VALTYP40)

Typ des Wertes für den Parameter:

  • Erfassung: Der Wert der Parameter vom Typ 'Erfassung' wird in der Tokendatei dynamischer Link oder Block erfasst.
  • Konstante: fester Wert, der in der Spalte 'Konstante' erfasst ist.
  • Konstante (Feld VALEUR40)

Wert eines Parameters vom Typ 'Konstante'.

Schließen

 

Berichte

Standardmäßig sind der Funktion folgende Reports zugeordnet :

 PRTSCR : Druck Maske

Dies kann durch geeignete Parameter geändert werden.

Spezielle Buttons

Über diese Schaltfläche kann das XTEND-Dictionary im XML-Format aktualisiert werden.

Der X3WEB-Server berücksichtigt das Dictionary nur, wenn es dieses Format aufweist.

Es ist eine xml-Datei pro Dictionary vorhanden.

So entspricht beispielsweise die Datei ACT.xml sämtlichen Web-Aktionen der aktuellen Website.

Mit diesem Button kann eine Schnittstelle kopiert werden.

Im über diese Schaltfläche geöffneten Fenster befinden sich die folgenden Felder: :

Blocknummer 1

  • Datentypen (Feld TYP)

Schnittstellen vom Typ 'Datenzugriff':

  • Generierter Tabellenzugriff: ermöglicht die automatische Generierung eines Webservices, um auf die Datensätze einer X3-Datenbank zuzugreifen:

  • Generierter Ansichtszugriff: analog zu Generierter Tabellenzugriff', jedoch für die X3-Ansichten.

  • Zugriff Explorerliste: ermöglicht die Verwendung des Webservice 'Explorerliste' eines X3-Objekts als Datenquelle.

  • Zugriff Unterprogramm: ermöglicht die Personalisierung eines Unterprogramms 'Datenzugriff' und das Hinzufügen der berechneten Felder.

Schnittstellen vom Typ 'Aktion':

  • Aktion Unterprogramm: Aufruf eines Webservices vom Typ Unterprogramm.

  • Aktion Objekt: Aufruf eines Webservices vom Typ Aktion eines X3-Objekts.
  • Code (Feld OBJCOD)

  • Feld ZDES

 

  • Freigabename (Feld WEBSRCCOD)

  • Max Anzahl Zeilen (Feld RESMAX)

Maximale Anzahl an Datensätzen, die vom Webservice zurückgesendet wurden und über den Button 'Zugriff generieren' geändert werden können.

  • Verarbeitung (Feld PRG)

Name der vom Webservice aufgerufenen L4G-Verarbeitung.

  • Unterprogramme (Feld SUBPRG)

Name des vom Webservice aufgerufenen Unterprogramms.

  • Modul (Feld MODULE)

  • Feld WA

 

  • Feld WB

 

  • Feld WC

 

  • Typ (Feld TYPASU)

Tabelle Schnittstelle

  • Feld WSEL

 

  • Code (Feld CODXTD)

  • Gruppe (Feld GRP)

  • Dimension (Feld DIME)

  • Bezeichnung (Feld INTITCOURT)

 

  • Länge (Feld CODLNG)

Schließen

'In dieser Dokumentation wird der Icon-Button [Zugriff generieren] beschrieben.

Mit diesem Button kann automatisch der Webservice generiert werden, dessen Veröffentlichungsname in der Schnittstelle definiert ist.

Der generierte Webservice steht sofort auf sämtlichen Webservice-Webservern zur Verfügung, die den Ordner veröffentlichen. 

SEEINFO Der Button ist nach der Datenanlage aktiv.

Der Button 'Zugriff generieren' führt folgende Bearbeitungsschritte durch:

  • Vorschlag, die maximale Anzahl der bei jedem Webservice-Aufruf gelesenen Datensätze zu erfassen ('max. Anzahl Zeilen')
  • Aktivitätscode, Modul und Webservicetyp
  • Anforderung, die nützlichen Felder auszuwählen
  • Generierung der 4GL-Verarbeitung, die vom Webservice aufgerufen wird. Der Name dieser Verarbeitung setzt sich aus 'W + Veröffentlichungsname' zusammen.
  • Veröffentlichung des Webservice unter dem zuvor erfassten Veröffentlichungsnamen

Für Schnittstellen vom Typ

Zugriff Tabellendaten und Zugriff View-Daten

werden Verarbeitung und Unterprogrammdaten automatisch generiert.

Zugriff Unterprogrammdaten, Benutzeraktion Unterprogramm

Verarbeitung und Unterprogrammdaten müssen vor der Zugriffsgenerierung manuell angelegt werden.

Benutzeraktion Objekt, Datenzugriff Auswahlliste links

Es sind weder eine Verarbeitung noch Unterprogrammdaten anzulegen.

Menüleiste

Tools / Kopie Webservice

Mit diesem Werkzeug können eine oder mehrere (Feld Schnittstelle = leer) Schnittstellen einer XTEND-Website aus dem aktuellen X3-Ordner ausgewählt und die Webservices dieser Schnittstelle(n) in einen / einem anderen Ordner kopiert / veröffentlicht werden.

Zur Aktivierung der Kopie muss mindestens eine Schnittstelle aus der Liste ausgewählt werden.

Kopie eines Unterprogramms:

  • Kopie eines 4GL-Webservice
  • Anlage eines Datenblattes 'Unterprogramm'
  • Veröffentlichung des Webservices

Kopie eines objektorientierten X3-Webservices:

  • Veröffentlichung des Webservices

Quelle / Ordner : aktueller Ordner.

Quelle / Website : Code der XTEND-Site, mit dem die Schnittstellenliste angezeigt werden kann (standardmäßig aktuelle Site).

Quelle / Schnittstelle : Schnittstellencode zur Anzeige des Webservices dieser Schnittstelle.

Ziel / Ordner : Zielordner für die Kopie.

Tools / Anlage Field-Token

Mit diesem Werkzeug werden Field-Tokens angelegt:

  • auf Basis der Feldliste einer X3-Tabelle
  • auf Basis der Feldliste eines X3-Views
  • auf Basis der einer Schnittstelle zugeordneten Webservice-Parameter

 Spalte

Beschreibung

Parameter

Code des Tabellenfelds oder des Webservice-Parameters

Titel

Feldtitel

Field-Token

XTEND-Code des Parameters (standardmäßig derselbe Code)
Erfassbar, wenn ein Feld angelegt werden soll, dessen Name sich vom Parameternamen unterscheidet (Mapping)

Existiert

Aktiviert, wenn das Feld bereits im Dictionary vorhanden ist

Typ

Feldtyp (XTEND)
Erfassbar beim Anlegen

Menü

Menü-Id des Typs LokalesMenue
Erfassbar, wenn ein Feld angelegt werden soll, dessen Name sich vom Parameternamen unterscheidet

Größe

Maximal Anzahl von Parameter- oder Feldwerten

Generierung

Gibt für Felder mit Länge > 1 an, ob ein Index zu generieren ist (NOMCHAMP + INDICE)
Keiner : legt ein Feld ohne Index an
Alle : legt so viele indizierte Felder an, wie Werte für das entsprechende Feld erlaubt sind
Eines : legt ein einziges Feld mit dem in der Spalte Index angegebenen Index an.
Erfassbar beim Anlegen.

Index

Feldindex zur Berechnung des Namens.
Erfassbar beim Anlegen, wenn Generierung = Einen

Damit der XTEND-Server die Felder berücksichtigt, müssen diese nach der Generierung freigegeben werden.

Bei Freigabe wird ein neues XML-Dictionary der XTEND-Parameter angelegt.

Wenn die Option 'Technik\Aktualisierung\ Prüfen\Web-Dictionary' der Site aktiviert ist, wird das neue Dictionary bei Aktualisierung / F5 der HTML-Seite im Browser nicht automatisch berücksichtigt.

Sonst muss die Dictionary-Aktualisierung mithilfe folgender URL erzwungen werden:
'http://hostname:port/xtend/svc/SolutionX3/DossierX3/SiteXtend/admin/reposit/reload'

Fehlermeldungen

Nur generische Fehlermeldungen.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung