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

    Webservice auf IBM i erstellen incl. OAuth2 - Berechtigung

    Hallo,

    wir haben bereits einige Webservices in Java geschrieben. Der Zugriff auf die Webservices wird mittels eines OAuth2-Tokens gesteuert. Das heißt, wenn jemand auf den Webservice zugreift, muss er sich zunächst ein gültiges OAuth2-Token besorgen und dieses bei der Anfrage mitsenden. Der Server (wie gesagt, in Java geschrieben), kann dann das Token dekodieren und feststellen, ob es bereits abgelaufen ist und welcher User darin "eingepackt" wurde. Der Prüf- bzw. Dekodierungsalgorithmus wurde dabei nicht selbst geschrieben, sondern kann über irgendwelche Java-Bibliotheken geladen werden.

    Wenn wir jetzt einen Webservice auf der IBM i schreiben möchten (natürlich in RPG), müssten wir diese OAuth-Authentifizierung ebenfalls sicherstellen. Hat das schon mal jemand gemacht? Muss man das überhaupt im RPG machen oder kann der IWS das vielleicht schon automatisch machen? Wir haben mal testweise einen standardmäßigen Webserver mit dem IWS-Assistenten aufgesetzt. Der Server läuft und liefert auch ein Ergebnis zurück, das mittels eines RPG-Programms ermittelt wurde. Aber wir haben im Moment noch keine Authentifizierung.

    Kann jemand etwas zu diesem Thema sagen?

    Vielen Dank im Voraus.

    Dieter

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Meine Empfehlung?
    Mach den kompletten Webservice in Java;-) zumal du das Verfahren ja schon hast.
    Java läuft ja auf der IBM i.
    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
    Aug 2001
    Beiträge
    2.644
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Meine Empfehlung?
    Mach den kompletten Webservice in Java;-) zumal du das Verfahren ja schon hast.
    Das wäre zu einfach
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Danke für die Antworten. Aber der Sinn des Ganzen ist natürlich, unsere bestehenden RPG-Programme zu nutzen. Außerdem sollten die RPG-Programmierer in der Lage sein, den Webservice zu erweitern, ohne jedesmal auf die Hilfe eines Java Kollegen angewiesen zu sein.

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Ich würde in so einen Fall, den Part für die Generierung des OAuth2-Tokens in ein Java Modul/Microservice/Job auslagern.
    Dadurch könnt seid ihr abgekapselt, weniger abhängig und in Java ist das sehr einfach und schnell implementiert.

    lg Andreas

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Um es mit D*B's Worten zu sagen:
    Java-Aufrufe aus RPGLE sind aufwändig zu implementieren und sind mehr Huddel als nötig.
    Zumal jeder Aufruf einer JAVA-Routine im RPG einen zusätzlichen JVM-Job generiert.
    Auf seiner Internet-Seite http://www.bender-dv.de/ bietet er einen AppServer4RPG an.
    Hiermit könnt ihr Java-Aufrufe in einer JVM kapseln und von jedem RPGLE aufrufen.
    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

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    904
    Wie sieht es mit einer Node.js Einbindung aus?
    Beispiele dafür gäbe es genügend, npm, Github etc.
    kf

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die Betonung liegt ja auf ILERPG-Entwicklern.
    Wie viele davon kennst du, die zusätzlich auch noch Java können?
    Gerade bei Kunden erlebe ich es oft genug, dass noch nicht mal genug NoffHoff zu ILE vorhanden ist, geschweige denn von Java und dann noch auf der AS/400, ähm IBM i.

    Node.js ist ja auch nur ein Java-Derivat mit der Betonung auf "js=JavaScript".
    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

  9. #9
    Registriert seit
    Jan 2007
    Beiträge
    904
    Baldur,
    ich wüsste nicht, wie das mit RPG(LE) zu lösen ist, dafür ist diese Sprache ja eigentlich auch nicht gemacht. Für solche Sachen ist immer irgend ein Hintergrund-Programm notwendig. Ich hab mich damit auch schon rumgeschlagen, allerdings nicht in Zusammenhang mit RPG.
    kf

  10. #10
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ich habe zwischenzeitlich auch schon mit einem unserer Java Kollegen gesprochen. Wir haben uns den Java Code angesehen, mit dem so ein Token verifiziert wird. Leider wird dabei auch eine Java-Lib verwendet, die nicht von uns programmiert wurde. Es wird nicht so einfach sein, den Algorithmus zum Auspacken und Prüfen des Tokens in RPG nachzubilden.
    Deshalb bin ich auch schon geneigt, dem Vorschlag von Andreas zu folgen und die Prüfung in Java auf der i zu implementieren.

    Ob wir das erstmal direkt machen und damit einige JVMs in Kauf nehmen oder ob wir das über eine Server-Variante machen, weiß ich noch nicht.

    Ich denke, dass unseren Kollegen Java etwas näher liegt als node.js.

    Schade, ich hatte gehofft, dass es da ein natives API für RPG gibt.

    Ich bedanke mich nochmals für alle Antworten.

    Dieter.

  11. #11
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo Dieter,

    machbar in RPG ist es schon, aber aufwändig. Bisher habe ich für ein eigenes Projekt Oauth 1.0 in RPG implementiert, das funktioniert ganz gut. Nach meiner Information gibt es als Bezahlprogramm nur die bvstools für eine Oauth 2.0 native RPG Anwendung. Bisher kam auch keine kundenseitige Anfrage für so ein Projekt.

    Herzliche Grüße
    Rainer Ross

  12. #12
    Registriert seit
    Aug 2001
    Beiträge
    2.644
    Zitat Zitat von dschroeder Beitrag anzeigen
    Danke für die Antworten. Aber der Sinn des Ganzen ist natürlich, unsere bestehenden RPG-Programme zu nutzen. Außerdem sollten die RPG-Programmierer in der Lage sein, den Webservice zu erweitern, ohne jedesmal auf die Hilfe eines Java Kollegen angewiesen zu sein.
    Also erstens kann auch ein Java-Entwickler auf der i selbst sich um ein Java-Programm kümmern, und zweitens bleibt die Frage: wie oft und wo ist die Logik denn nun hinterlegt?
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

Similar Threads

  1. Webservice per SQL abfragen
    By KM in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 04-11-22, 07:41
  2. Protokoll für Webservice
    By svit in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 02-03-17, 16:13
  3. WebService länge der Parameterübergabe
    By svit in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 11-09-14, 14:23
  4. WebService über HTTPS
    By harbir in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 26-03-14, 14:13
  5. AS/400-Eth-ISDN(incl. LAN+TCP/IP)-Eth-5494
    By Tornado in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 16-11-01, 14:56

Berechtigungen

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