[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Also auch in RPG kann ich ja mit CLOB's für JSON umgehen um diese bereitzustellen.
    Allerdings sollte man sich hier tatsächlich überlegen, ob für Webservices hier mehr als 100KB, max. ggf. 2MB an Daten zurückgegeben werden müssen.
    Da wird vom Client auch gerne ein Paging verwendet, dass ungeführ dem Umfang einer Browser-Seite entspricht (20-50 Zeilen), Page 1 - N.

    Die Crux hier ist tatsächlich, dass für die Kommunikation zwischen RPG und Client eine Schicht eingezogen werden muss (Node.js, Java, Python, PHP, ...), um die Businesslogik nicht auch noch neu schreiben zu müssen. Und was bietet sich da einfacher an als SQL?
    Ggf. kann man Services in RPG ja auch via "dcl-f .... HANDLER(XXX)" bauen. Im Handler kann der Web-Service laufen und per RPG-READ/WRITE die Kommunikation.
    Da würde zwar je Client ggf. ein eigener Server-Job benötigt, aber das ist performanceseitig das geringste Problem.
    Da SQL intern multithreaded arbeiten kann, ILERPG aber nicht, verlangsamen externe UDF's das System maßgeblich.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Nov 2020
    Beiträge
    418
    Ich habe da eher den pragmatischen Ansatz dazu.
    Wenn man SQL hört, denken alle gleich an DB-Zugriffe und dementsprechend darf da keine Business-Logik hinein.
    Ich trenne hier viel mehr zwischen Daten-Zugriffe & Verarbeitung.
    Beides kann in RPG, in SQL, Python, Java & Co geschrieben werden können.

    Damals was die Diskussion: Wie viel Char darf eine Spalte/Variable haben.
    Dieser Gedanke kommt aus dem Zeitalter als die Systeme noch KB oder MB RAM hatten.
    Die gleiche Diskussion sehe ich heute immer wieder mit DB Zugriffe.
    Wenn ich es schaffe diese Zugriffe aus der Business-Logik raus zu nehmen, ist es egal was in welche Sprache dies gemacht wird

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    "Wenn ich es schaffe diese Zugriffe aus der Business-Logik raus zu nehmen" meinte Dieter ja auch;-).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Anfangs haben wir bei Webservices auch angenommen, dass es reicht, wenige MB (mit RPG) zurückzugeben. Für Listen mit mehr Daten haben wir dann Paging eingebaut. Wir haben aber das Problem, dass wir einige Business-Objekte haben (z.B. Versicherungsverträge), die so komplex sind, dass das 2 oder 3 MB nicht reichen, um ein Objekt zu beschreiben. Wird müssten dann unsere Business-Objekte in kleinere logische Objekte aufspalten oder wird müssten unsere großen Objekte als Byteketten betrachten und dass dann im Paging herausgeben oder wir müssten die Speichergrenze mittels SQL umgehen. Und das ist im Moment der Ansatz, den wir verfolgen.

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von dschroeder Beitrag anzeigen
    Anfangs haben wir bei Webservices auch angenommen, dass es reicht, wenige MB (mit RPG) zurückzugeben. Für Listen mit mehr Daten haben wir dann Paging eingebaut. Wir haben aber das Problem, dass wir einige Business-Objekte haben (z.B. Versicherungsverträge), die so komplex sind, dass das 2 oder 3 MB nicht reichen, um ein Objekt zu beschreiben. Wird müssten dann unsere Business-Objekte in kleinere logische Objekte aufspalten oder wird müssten unsere großen Objekte als Byteketten betrachten und dass dann im Paging herausgeben oder wir müssten die Speichergrenze mittels SQL umgehen. Und das ist im Moment der Ansatz, den wir verfolgen.
    ... das hört sich für mich alles nach Gebastel an. Einen Versicherungsvertrag in ein SQL Statement zu packen oder per SQL Programm zusammen zu klappern halte ich für ein anspruchsvolles Unterfangen. Wenn ich mir das noch in einer Architektur von Services vorstelle, wird mir flau im Magen dabei.
    Das mit dem Debug ist doch nur die halbe Wahrheit, wie will ich denn da Fehlersituationen im richtigen Leben beikommen? m. E. geht da nichts an einem ausgeklügelten logging vorbei, das ich für Analysezwecke feinkörnig steuern kann (log4j oder gleichwertiges lässt grüßen). SQL ist da als Programmiersprache völlig ungeeignet.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Mit dem Einsatz von BLOB/CLOB/DBCLOB kann ein Dokument 2GB groß werden und auch von RPG mit SQL-Substr bearbeitet werden. Sicherlich kein einfaches Unterfangen aber konzeptionell machbar.
    Auch die SQL-Treiber unterstützen LOB's um sie mit anderen Sprachen dann abgreifen zu können.
    Ich lese via SQL Dateien aus dem IFS auch als CLOB / BLOB ohne Probleme.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Artikel: Rahmenprogramm Best Practices
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 11-08-15, 17:07
  2. Erstellen einer UDF mit UNION
    By e_sichert in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 09-05-08, 13:25
  3. Job m.best. Anforderungen erstellen
    By deni87991 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 10-04-06, 14:14
  4. PWRDWNSYS nach best. Job und IPL zu best. Datum/Uhrzeit
    By cassandra in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 30-04-03, 14:39

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •