[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.102

    Lesender Zugriff auf Redis per RPG

    Hallo zusammen,

    unsere Java Kollegen betreiben seit langem einen Redis Server (nicht auf der IBM i). Wir haben vor vielen Jahren mal eine Lösung in RPGLE geschaffen, mit der wir in diesen Server reinschreiben können. Wir nutzen dazu die LIBHTTP Funktionalität von Scott Klement. Da wird eine eigene socket Kommunikation eröffnet usw. Alles ganz schön "tief unten".

    Jetzt müssen wir auch lesend auf den Redis zugreifen. Meine Frage ist: Hat das schon mal jemand in RPG gemacht? Oder gibt es da vielleicht inzwischen von IBM eine einfachere Lösung? Beim Googlen stößt man auf Seiten wie "IBM Cloud Databases for Redis". Das sagt mir aber nichts.

    In vielen anderen Programmiersprachen (z.B. Java) gibt es fertige Clients. Aber richtig schön ist ein Kommunikation zwischen RPG und Java natürlich nicht.

    Wenn jemand eine gute Idee hat, bitte posten.

    Im Voraus vielen Dank!

    Dieter



  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Es gibt von Dieter Bender eine schöne OpenSource-Lösung:
    http://www.bender-dv.de/AppServer4RPG.html
    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

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Hallo Baldur. Vielen Dank für deine Nachricht. Ich weiß, dass es diese Lösung gibt. Wir bekommen dann aber nochmal eine weitere "Asynchronität" in unsere Applikation. Ich fände es schöner, wenn wir direkt in unserem Programm einen Call machen könnten, der uns sagt, ob im Redis etwas für uns drinsteht.

    Aber ich habe die Lösung im Hinterkopf. Wenn wir nichts passenderes finden, kommen wir darauf zurück.

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von dschroeder Beitrag anzeigen
    Hallo Baldur. Vielen Dank für deine Nachricht. Ich weiß, dass es diese Lösung gibt. Wir bekommen dann aber nochmal eine weitere "Asynchronität" in unsere Applikation. Ich fände es schöner, wenn wir direkt in unserem Programm einen Call machen könnten, der uns sagt, ob im Redis etwas für uns drinsteht.

    Aber ich habe die Lösung im Hinterkopf. Wenn wir nichts passenderes finden, kommen wir darauf zurück.
    ... das ist technisch asynchron, funktional synchron! Hast Du mal nachgesehen, was mit Redis per JDBC geht? Möglicherweise kann man da direkt per embedded SQL via ArdGate arbeiten...

    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/

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ob ein JDBC Zugriff auf Redis möglich ist, weiß ich nicht. Ich kläre das mit meinen Kollegen mal ab.
    Vielen Dank erstmal.

  6. #6
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Noch ein Wort zu AppServer4RPG bzw zu ArdGate:

    Wir setzen ungern in unserer Individualprogrammierung "fremde" Software ein. Wenn wir Code Snippets bekommen, die wir verstehen können, ist das OK. Oder wenn die Software (zb. per SQL-Funktionen) direkt von IBM kommt und wir da den 7x24 Support im Rücken haben, ist das auch etwas anderes.
    Ich weiß, dass jetzt einige sagen "Aber man kann doch nicht alles selbst entwickeln". Im Moment sehen wir das so, dass wir die Dinge, die kritisch sind, doch lieber selbst unter Kontrolle haben. Selbst wenn unsere Lösung dann nicht so schön ist.

    Ob wir diese Einstellung dauerhaft durchhalten können, weiß ich natürlich nicht.

    Dieter

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nun ja, dafür gibts eben OpenSource. Man bekommt die Quellen gleich mit, lernt diese kennen und kann sie wie eigene Software verwenden.
    Alternativ kannst du ja basierend auf den Schnittstellen Wrkreginf durchaus eigene Software entwickeln.

    Nach diesen Randbedingungen dürftet ihr eigentlich Office gar nicht einsetzen.
    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

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von dschroeder Beitrag anzeigen
    Noch ein Wort zu AppServer4RPG bzw zu ArdGate:

    Wir setzen ungern in unserer Individualprogrammierung "fremde" Software ein. Wenn wir Code Snippets bekommen, die wir verstehen können, ist das OK. Oder wenn die Software (zb. per SQL-Funktionen) direkt von IBM kommt und wir da den 7x24 Support im Rücken haben, ist das auch etwas anderes.
    Ich weiß, dass jetzt einige sagen "Aber man kann doch nicht alles selbst entwickeln". Im Moment sehen wir das so, dass wir die Dinge, die kritisch sind, doch lieber selbst unter Kontrolle haben. Selbst wenn unsere Lösung dann nicht so schön ist.

    Ob wir diese Einstellung dauerhaft durchhalten können, weiß ich natürlich nicht.

    Dieter
    Auch da kann ich weiterhelfen! Statt ArdGate könnt ihr auch Infosphere Federation Server nehmen, das ist von IBM und damit kann man auch von der AS400 mit SQL auf JDBC Data Sources zugreifen. Da brauchts dann lediglich einen weiteren Server auf dem das läuft und die Software ist nicht Open Source und kostet einen schmalen Obolus an IBM. Mit dem Support durch IBM wünsche ich euch viel Glück - ich kenne nämlich niemanden, der das im Eier Umfeld einsetzt.
    Was die grandiosen Java-SQL procedures und functions angeht, falls ihr die einsetzt, müsst ihr mit dem Einsatz von Java aufpassen, die mögen das nicht, dass da noch jemand nicht-IBM Java einsetzt.
    Was ich nicht ganz verstanden habe, habt ihr eine eigene Implementierung von Redis oder gibt es das von IBM?

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

  9. #9
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ich hatte schon befürchtet, dass ich hier eine Grundsatzdiskussion auslöse. Das war aber nicht meine Absicht.

    Ich denke, ich bin da etwas missverstanden worden. Ob wir fremde Software einsetzen oder nicht, hängt natürlich zunächst davon ab, ob wir die Lösung mit vertretbarem Aufwand überhaupt selbst entwickeln könnten. Beim Office Paket ist das augenscheinlich nicht der Fall.

    Wenn wir dann bei einem Probem, das wir selber lösen könnten, vor der Entscheidung stehen, ob wir Fremdsoftware einsetzen oder ob wir es selber bauen, stellen wir uns folgende Fragen:
    - Wieviel Aufwand erspart uns die fremde Lösung?
    - Wie abhängig machen wir uns von der fremden Software?
    - Wie kritisch ist unser Problem, also: wie schnell benötigen wir einen workaround, falls die fremde Software mal nicht mehr läuft und wie schnell könnten dann wir einen workaround selber schaffen?

    Was wir im konkreten Fall für den Redis Zugriff benötigen, ist ja nur ein sehr kleines Tool. Aber es wird an einer kritischen Stelle eingesetzt. Deshalb fände ich es besser, dieses Tool vollständig unter Kontrolle zu haben. Und deshalb fände ich ein Code-Snippet oder etwas ähnliches besser. Wenn es das nicht gibt, muss ich neu überlegen.

    Zum Thema OpenSource: Ich habe die Befürchtung, dass, wenn eine Software komplex genug ist, einem OpenSource nicht zwingend weiterhilft. Man muss ja im Zweifel auch genug Zeit und Ressourcen haben, um den OpenSource Code zu lesen, zu verstehen und ggf. zu korrigieren. (Das ist allgemein gemeint. Ich habe überhaupt keine Ahnung, wie komplex ArdGate ist).

  10. #10
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Übrigens noch eine Anmerkung zum IBM Support. Ich hatte schon oft mit dem Support zu tun. Die Webseiten von IBM sind immer noch furchtbar. Aber wenn man es geschafft hat, ein Ticket zu eröffnen (geht ja auch telefonisch), bekommt man meiner Erfahrung nach hervorragenden Support. Schnell und kompetent. Und IBM bleibt solange am Ball, bis das Problem gelöst ist. Das klappt natürlich alles am besten, wenn man sich komplett in der IBM Schiene befindet. Bei einem Problem im RDi bezieht der Support bei Bedarf z.B. automatisch Leute von der Datenbankentwicklung mit ein.

    Ich muss allerdings zugeben, dass ich nicht weiß, wieviel der Wartungsvertrag kostet.

  11. #11
    Registriert seit
    Apr 2005
    Beiträge
    385
    Warum kapselst du nicht Dieter's Lösung in ein eigens PGM und ließt (rufst) das PGM als SPECIAL Datei auf. Dann sollte doch alles so sein wie gewünscht...

  12. #12
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Danke für deine Anwort.
    Aber wie ich schon sagte, ist das Installieren einer größeren Software nur eine Option, wenn wir keine einfachere Möglichkeit finden. Dieter Benders Lösung läuft ja letztendlich auch darauf hinaus, dass wir den Redis mittels Java ansprechen. Das könnten wir auch machen, indem wir eine Java-Klasse in RPGLE embedden. Das würde für uns weniger "fremde" Software bedeuten. Ist auch nicht schön, da in dem RPG Job dann immer eine VM hochgezogen wird. Aber das wäre in unserem Fall nicht tragisch, da der Job sowieso als Batch-Job den ganzen Tag über laufen wird.

    Aber noch lieber wäre mir eben eine Lösung, die nativ mit RPG auskommt oder auch mit SQL. Aber das scheint es ja nicht zu geben bzw. das wohl noch niemand aus dem Forum programmiert.

    Dieter

Similar Threads

  1. Zugriff auf IFS getrennt
    By RPG_KL in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 30-07-20, 20:04
  2. Qdls zugriff unter Win7 zugriff verweigert
    By berg01796 in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 15-11-16, 12:55
  3. AS400-Zugriff
    By Der Gute in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 01-07-02, 12:11
  4. ODBC Zugriff auf DB2 mit VBA
    By Bärnd in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 29-05-02, 16:58
  5. FTP - Zugriff
    By Andreas Herzfeldt in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 02-07-01, 07:51

Berechtigungen

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