Sämtliche X3-Lösungen / X3-Ordner, auf die die XTEND-Anwendungen zugreifen, müssen auf dem X3WEB-Server veröffentlicht sein, auf dem der Webservice-Server liegt.
Dieser Vorgang wird vom Administrator bei der Konfigurierung der X3WEB-Serverkonfiguration über die X3-Konsole durchgeführt.
Über das Menü 'Home/Administration' muss die Liste der veröffentlichten Anwendungen zur Verfügung stehen
Über den Webserver werden Drittanwendungen eine Reihe von X3-Verbindungen zur Verfügung gestellt (X3-Client vom Typ Webservice), die nach "Eingangsgruppen" oder nach "Pools" gruppiert sind.
Die Verbindungspools werden über die X3-Konsole erstellt und konfiguriert. Mit der Konsole kann unter anderem die Anzahl von Poolverbindungen parametriert werden.
Durch diese Anzahl ist die Anzahl von Abfragen (SOAP) festgelegt, die gleichzeitig von diesen Pools verarbeitet werden können. Wenn alle Verbindungen ausgelastet sind, werden die Abfragen in die Warteschlange gestellt.
Der Webservice-Server muss über mindestens einen Verbindungspool (Eingangsgruppe) pro Lösung / Ordner verfügen, in dem die Webservices der XTEND-Anwendungen veröffentlicht werden.
Die Verbindungspools müssen den Status 'gestartet' aufweisen und über mindestens eine freie Verbindung verfügen (<poolentry>).
Die Liste der Verbindungspools ist über die Funktion 'Webservice-Server/Verbindungspools' verfügbar.
Die Antwortzeit der XTEND-Anwendungen und damit die Performance der Webseite hängt stark von den Antwortzeiten der Webservice-Aufrufe ab. Wir empfehlen, regelmäßig folgende Kontrollen durchzuführen:
Die Webservices werden mithilfe der X3-Funktion
'Entwicklung>Verarbeitungsdictionary>Verarbeitungen>Webservices' veröffentlicht.
Um einen Webservice zu veröffentlichen, muss lediglich ein Webservice-Datenblatt mit dem Namen der Veröffentlichung (Alias) und dem Objektcode (plus Transaktionscode) angelegt werden.
Nach der Veröffentlichung eines X3-Objekts kann auf sämtliche Objektaktionen (standardmäßig lesen, anlegen, speichern, löschen) und auf die Explorer-Liste zugegriffen werden.
Mit dem Aktionsbutton 'Löschen' kann die Veröffentlichung des Webservice zurückgenommen werden.
Um ein Webservice-Unterprogramm zu erstellen, muss zunächst ein Datenblatt für das Unterprogramm angelegt werden, in dem die Parameter und Veröffentlichungsgruppen über folgende Funktion deklariert werden:
'Entwicklung>Verarbeitungsdictionary>Verarbeitungen>Unterprogramme'
Dieser Webservice muss anschließend veröffentlicht werden (Button Veröffentlichung). Weiterhin ist ihm für das Webservice-Objekt ein Alias zuzuweisen.
Mit den Veröffentlichungen kann eine logische Verbindung zwischen Parametern (derselben Einheit) hergestellt werden, um verschiedene Entitäten zu schaffen.
Jede Gruppe (oder Entität) kann als Datensatz in einer Tabelle oder Strukturtyp oder Record angesehen werden.
Die Gruppen werden in den XTEND-Parametern zum Mappen zwischen den Webservice-Parametern und den XTEND-Entitäten verwendet.
Beispiel für ein Unterprogramm, das sechs Parameter zurückgibt, die für eine Lieferadressliste (shipaddr, shipcity, shipzip) und eine Rechnungsadressliste (invaddr, invcity, invzip) stehen. Diese Parameter können in die beiden logischen Entitäten oder Gruppen SHIPADDR und IVADDR gruppiert werden.
Die Namen der Veröffentlichungsgruppen werden von X3 generiert. Sie entsprechen den Codeblöcken der Masken.
Es wird stark empfohlen, die Webservice-Unterprogramme oder -X-Objekte mit der Funktion "Webservice-Test" des X3WEB-Servers zu testen, bevor sie in eine XTEND-Anwendung übernommen werden.
XTEND findet die Webservices über eine eindeutige Id, welche für alle XTEND-Sites des X3-Ordners gilt.
Diese Id referenziert die Lokalisierungsdaten eines Webservice, der unter anderem die Adressen des Webservice-Servers (Hostname und Port) und den Alias der Poolverbindungen umfasst.
Funktion
'Entwicklung>Tools>Sonstige>Webservice-Pools'