Anmelden

View Full Version : Webservice + RPG



harkne
30-03-09, 14:11
Hi,

ich habe folgendes Problem.

Ich habe eine MYSQL Datenbank. Jetzt bräuchte ich Daten aus dieser in meinem RPG-Programm. Ein Java-Programm ist vorhanden welche die Daten aus der MYSQL-Datenbank holt. Jetzt meine Frage.
Gibt es eine Möglichkeit aus einem RPG-Programm heraus ein Java-Programm aufzurufen, welches aber nicht auf der AS400 ist sondern auf einem externen Server, und die Daten dann wieder ans RPG zurück gibt ?

Viele Grüsse Harald

BenderD
30-03-09, 14:42
... gehen tut das schon, aber antun würde ich mir das nicht, da würde ich lieber eine Java Bridge dazwischenschalten.
Für die RPG Hardliner: Mr. Google liefert ein paar Fundstellen - aber bitte nicht bei mir über abgebrochene Fingernägel und hochgeklappte Fußnägel beschweren!

D*B


Hi,

ich habe folgendes Problem.

Ich habe eine MYSQL Datenbank. Jetzt bräuchte ich Daten aus dieser in meinem RPG-Programm. Ein Java-Programm ist vorhanden welche die Daten aus der MYSQL-Datenbank holt. Jetzt meine Frage.
Gibt es eine Möglichkeit aus einem RPG-Programm heraus ein Java-Programm aufzurufen, welches aber nicht auf der AS400 ist sondern auf einem externen Server, und die Daten dann wieder ans RPG zurück gibt ?

Viele Grüsse Harald

mihael
31-03-09, 10:58
Hallo,

ist es denn ein Java Programm, welches auf der System i läuft oder handelt es sich wirklich um einen Webservice?

Letzteres kann man mittels dem Serviceprogramm HTTPAPI von Scott Klement ansprechen. Das Serviceprogramm selbst ist eigentlich ein HTTP Client für RPG, wurde aber erweitert und kann auch SOAP Nachrichten parsen mittels eXpat, welches dem SAVF beiliegt.

Hypertext Transfer Protocol API (http://www.scottklement.com/httpapi/)

Ein kleines Tutorial kann man hier finden:
http://www.rpgnextgen.com/downloads/RPG%20Web%20Service%20Client.pdf

Allerdings stimme ich Herrn Bender zu: Wenn es darum geht einfach nur die Daten von der MySQL Datenbank zu holen wäre ein Web Service nicht unbedingt meine erste Wahl.

MySQL Database Access from RPG | System iNetwork (http://systeminetwork.com/article/mysql-database-access-rpg)

Gruss

Mihael

BenderD
31-03-09, 11:15
meine Antwort bezog sich primär auf die Titelzeile WebService aus RPG aufrufen, was allerdings die Variante mit dem JDBC mit embedded Java in RPG angeht, da sind meine Befürchtungen bezüglich Finger- und Fußnägel nicht kleiner, die Krux ist doch, dass ich dann in jedem Job, der das verwendet eine JVM als Wackelhaufen starte(wenn sie ein anderer schon gestartet hat, dann klemmts irgendwo, irgendwie...)
Ich würde in beiden Fällen einen asynchronen Java Serverdienst einsetzen, der mit einem Service Programm per DataQ kommuniziert. (sonst hätte ich da auch keine OpenSource zu gemacht)

D*B



Hallo,

ist es denn ein Java Programm, welches auf der System i läuft oder handelt es sich wirklich um einen Webservice?

Letzteres kann man mittels dem Serviceprogramm HTTPAPI von Scott Klement ansprechen. Das Serviceprogramm selbst ist eigentlich ein HTTP Client für RPG, wurde aber erweitert und kann auch SOAP Nachrichten parsen mittels eXpat, welches dem SAVF beiliegt.

Hypertext Transfer Protocol API (http://www.scottklement.com/httpapi/)

Ein kleines Tutorial kann man hier finden:
http://www.rpgnextgen.com/downloads/RPG%20Web%20Service%20Client.pdf

Allerdings stimme ich Herrn Bender zu: Wenn es darum geht einfach nur die Daten von der MySQL Datenbank zu holen wäre ein Web Service nicht unbedingt meine erste Wahl.

MySQL Database Access from RPG | System iNetwork (http://systeminetwork.com/article/mysql-database-access-rpg)

Gruss

Mihael

mihael
31-03-09, 11:44
Die Java-RPG-MySQL-Lösung ist auch nur eine weitere Möglichkeit, die man hat und nicht unbedingt die passende zu der Situation.

... und falls der Ersteller von diesem Thread folgende Lösung noch nicht kennt, kann er sich die ja auch mal anschauen:

SourceForge.net: AppServer4RPG (http://sourceforge.net/projects/appserver4rpg)

Lohnt sich auf jeden Fall.

Gruss

Mihael

harkne
14-04-09, 13:19
Vielen Dank für die Hilfe.

Ich hab den Thread nur geschrieben und gebe die Warnungen und Vorschläge mal so weiter.

Viele Grüsse Harald

wti
23-04-09, 13:03
Hallo,

ist es denn ein Java Programm, welches auf der System i läuft oder handelt es sich wirklich um einen Webservice?

Letzteres kann man mittels dem Serviceprogramm HTTPAPI von Scott Klement ansprechen. Das Serviceprogramm selbst ist eigentlich ein HTTP Client für RPG, wurde aber erweitert und kann auch SOAP Nachrichten parsen mittels eXpat, welches dem SAVF beiliegt.

Hypertext Transfer Protocol API (http://www.scottklement.com/httpapi/)

Ein kleines Tutorial kann man hier finden:
http://www.rpgnextgen.com/downloads/RPG%20Web%20Service%20Client.pdf

Allerdings stimme ich Herrn Bender zu: Wenn es darum geht einfach nur die Daten von der MySQL Datenbank zu holen wäre ein Web Service nicht unbedingt meine erste Wahl.

MySQL Database Access from RPG | System iNetwork (http://systeminetwork.com/article/mysql-database-access-rpg)

Gruss

Mihael

hello @all,
hiermit deklassiere ich mich zwar als newbie, aber mir bleibt keine andere Wahl. Ich habe keinerlei Erfahrung in diesem Bereich und jetzt die Anforderung auf dem Tisch einen http-request aus einem RPG-Programm heraus - möglichst performant - abzusetzen.
Die obige Lösung (HTTPAPI von Scott Klement) und das angegebene Tutorial kommt meinem Problem schon ziemlich nahe. Allerdings brauche ich die Anwendung des API's bis ins Kleinste vorgekaut, d.h. wie setze ich den http-request ab???

Die zu übertragenden Daten sind:



POST capture.html HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 175
Hier steht dann der zu übertragende Text



Ein http-response muss natürlich auch verarbeitet werden:



POST capture.html HTTP/1.0
Content-Length: 55
RC=0&Hier steht dann der zu empfangende Text


Kann mich da jemand mit der Nase draufstoßen, d.h. welches API muss ich wie verwenden...???

thx @all

mihael
12-05-09, 20:24
Das Serviceprogramm HTTPAPI von Scott Klement ist genau was du brauchst. Scott Klement hat ausserdem ne Menge Beispiele noch als Source beigelegt. Die Beschreibung der Prozeduren ist bei den Prototypen zu finden. Das sollte locker reichen. Ein bischen musst du nun auch schon selber machen.

Gruss

Mihael

Spateneder
14-05-09, 16:34
Hallo,
meine Übersetzungen von zwei Scott-Klement-Artikeln zu Deinem Thema findest Du in NEWSolutions.
Ausgabe Februar 2007: RPG und Webservices.
Ausgabe Juli 2007: MySQL-Zugriff mit RPG und JDBC.
Beide mit Beispielcode zum Download.
Gruß
M. Spateneder