Anmelden

View Full Version : Webservice REST - lange Wartezeiten bei Datenstrukturen mit Dimensions



boonkelz
25-10-17, 09:26
Hallo, ich stehe vor folgenden Problem:
Ich habe ein RPG PGM wo ich wahlweise Daten von einem Mitarbeiter oder von allen Mitarbeitern in einem Restservice abbilden will.

Auch wenn ich Daten von einem Mitarbeiter ermittle, dann dauert das Restservice ewig, bis ich die Daten angezeigt bekomme.

Bei der Erstellung der Restservice wurde natürlich der Value beim OUTPUT gesetzt, dass nur die Daten angezeigt werden, die auch tatsächlich vorhanden sind.

Anbei die Source und die Einstellungen Restservice

411412413

Löst man sowas überhaupt über ein Restservice, oder gibt es hier andere Alternativen ?

Bitte um Hilfe
Hannes

Rainer Ross
25-10-17, 10:37
Hallo Hannes,

wenn es um schnelle Webservices geht kann ich Dir ein paar Tipps geben

JSON Webservice ein Kunde: www.myhofi.com/myapp/websrv01.pgm?id=1 (http://www.myhofi.com/myapp/websrv01.pgm?id=1)
JSON Webservice 300 Kunden: www.myhofi.com/myapp/websrv01.pgm?id=0 (http://www.myhofi.com/myapp/websrv01.pgm?id=0)

Die Webservices laufen direkt auf dem HTTP-Server, der Webservice Server ist nicht nötig
Alle Informationen und Beispielprogramme findest Du hier: https://github.com/rainerross/websrvutl

Herzliche Grüße

Rainer

(https://github.com/rainerross/websrvutl)

andreaspr@aon.at
26-10-17, 09:02
Hallo Hannes,

Ich bin eher ein Freund von NodeJS oder PHP für solche Anforderungen.
Auch hier verwendest du ganz normal den Apache HTTP Server.
Ein einfaches WebService mit XML (SOAP) oder JSON (REST) ist mit ein paar Zeilen Code getan.
Dass RPG nicht unbedingt die optimale Sprache für solche Anforderungen ist, sieht man auch an der anzahl an Zeilen die benötigt werden um Web-Technologien einzubauen auch wenn mitlerweile sehr viel via SQL gemacht werden kann.

Sobald das Thema Erweiterungen und Wartbarkeit betrifft war ich immer froh diesen Weg eingeschlagen zu haben.

lg Andreas

Fuerchau
26-10-17, 09:17
Das Problem der SQL-Funktionen hierbei ist, dass jeder Job, der diese dann nutzt, ebenso eine JVM startet. Im Sinne der verfügbaren Ressourcen kann das schon mal kontraproduktiv werden.
Man sollte sich hier dringend Gedanken machen, wie man javabasierte SQL-Funktionen besser von eigenen Service-Jobs dann durchführen lässt, die man bei hohem Durchsatzanforderungen dann auch skalieren kann.

B.Hauser
26-10-17, 13:04
Ich würde Euch allen empfehlen Rainers Beispiele anzuschauen.
SQL wird nur verwendet, um das eigentliche XML-Dokument zu erzeugen!
Das ganze Beispiel-Programm hat ganze 150 Zeilen, von denen wahrscheinlich 1/3 Kommentare sind.

Birgitta

Rainer Ross
27-10-17, 11:16
Ich bin eher ein Freund von NodeJS oder PHP für solche Anforderungen.

Hier ein Beispiel in Node.js https://github.com/RainerRoss/webservice-IBM-i-and-Node.js/blob/master/webservice.js