Newbie WS-Client

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
curious79
User
Beiträge: 3
Registriert: Dienstag 9. Dezember 2008, 17:51

Hallo an alle,

das ist mein erstes Posting hier im Forum.

Ich bin ein Pythonneuling, aber kein Programmieranfänger. Habe folgende Frage(n):
Ich versuche zu einem Web Service, den ich entwickelt habe (nicht in Python) einen Rich Client in Python zu schreiben

1) Ich habe bißchen rumgesucht und dachte SOAPpy sowie vielleicht auch zsi wäre brauchbar. Irgendwie war ich aber (bisher) zu blöd diese Module zu installieren. Ist es entscheidend welche Version von Python (zur Zeit habe ich 2.6 installiert) ich habe, da es für jede Version einen eigenen Installer zu geben scheint? (Leider aber meist nicht für 2.6)

2) Hat jemand schonmal nen Rich Client damit geschrieben und kann mir vielleicht sonst noch ein paar Tips geben, welche packages sich gut dafür eignen?

Danke für eure Hilfe,

Grüße

curious
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

curious79 hat geschrieben:1) Ich habe bißchen rumgesucht und dachte SOAPpy sowie vielleicht auch zsi wäre brauchbar. Irgendwie war ich aber (bisher) zu blöd diese Module zu installieren. Ist es entscheidend welche Version von Python (zur Zeit habe ich 2.6 installiert) ich habe, da es für jede Version einen eigenen Installer zu geben scheint? (Leider aber meist nicht für 2.6)
Ja, sofern die Module nicht nur reines Python sind sondern auch C-Code enthalten. Dann kann man Module für 2.5 nicht für 2.6 hernehmen, man muss sie aus dem Quellcode kompilieren.

Übrigens ist Python und SOAP eine schlechte Idee. In Python ist eher XML-RPC populär, wo die Stdlib sogar eine Implementation schon mitbringt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
curious79
User
Beiträge: 3
Registriert: Dienstag 9. Dezember 2008, 17:51

Leonidas hat geschrieben: Übrigens ist Python und SOAP eine schlechte Idee. In Python ist eher XML-RPC populär, wo die Stdlib sogar eine Implementation schon mitbringt.
Danke für die schnelle Antwort. Das wirft natürlich wieder neue Fragen auf :D
Weißt du, ob man xml-rpc auch beim Binding in WSDL einsetzen kann? Ich kannte das bisher nur mit SOAP. Ich wollte eigentlich nicht meinen WS komplett umbauen. Außerdem möchte ich mir die Möglichkeit offenhalten eventuell ein paar WS-* Erweiterungen noch einzubauen und auszuprobieren.
Ist die Vorliebe zu XML-RPC mehr ne Stilfrage oder gibts da generell Probleme damit in Python? Die Codeausschnitte mit SOAPpy, die ich gesehen habe, sahen eigentlich recht schön aus.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

curious79 hat geschrieben:Weißt du, ob man xml-rpc auch beim Binding in WSDL einsetzen kann?
XML-RPC unterstützt Introspection (zumindest einige Implementierungen), da braucht man dann auch kein WSDL.
curious79 hat geschrieben:Ist die Vorliebe zu XML-RPC mehr ne Stilfrage oder gibts da generell Probleme damit in Python?
Ich denke die Vorliebe zu XML-RPC liegt daran, dass SOAP ein überkomplizizierte Fehlgeburt mit einigen Problemen ist. Für RPC würde ich XML-RPC verwenden, wenn es interoperabel sein soll (siehe paste.pocoo.org und paste.lisp.org, die beide XML-RPC nutzen), wenn es nur lokal auf Unices sein soll dbus und wenn es schnell sein soll vielleicht Thrift oder ProtocolBuffers über TCP oder Ice. Wenn man nur zuwischen Python-Programmen kommunizieren will vielleicht auch noch PyRO.

Es gab auf Reddit übrigens eine Diskussion welches SOAP-Modul weniger schlecht ist als die anderen, kannst es dir ja ansehen.

Für Web-Sachen kann auch REST interessant sein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
curious79
User
Beiträge: 3
Registriert: Dienstag 9. Dezember 2008, 17:51

Danke dir für deine Hilfe, REST habe ich schon mal was drüber gehört, was ich weiß (bin aber da kein Experte) ist das noch ein wenig unausgegoren.
Werde es mal mit den SOAP-Hinweisen auf Reddit versuchen (guter Link, suds klingt brauchbar für das was ich machen möchten)
Gebe dir recht, dass SOAP ein wenig kompliziert, häßlich und aufgebläht ist, man kommt nur leider momentan für größere Industriesachen als defacto-Standard kaum drum rum. (Vielleicht ist es genau deswegen so häßlich geworden?)
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Nein, REST ist nicht unausgegoren. REST hat vor allem HTTP verstanden, was im Web sicher eine tolle Sache ist; SOAP nicht.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

curious79 hat geschrieben:REST habe ich schon mal was drüber gehört, was ich weiß (bin aber da kein Experte) ist das noch ein wenig unausgegoren.
Inwiefern? Wenn du damit meinst, dass da keine dicke Spec (oder sogar zwei) und große Mengen XML dahinter stehen: dann nicht. Ich fasse das hingegen aber eher positiv auf.
curious79 hat geschrieben:Gebe dir recht, dass SOAP ein wenig kompliziert, häßlich und aufgebläht ist, man kommt nur leider momentan für größere Industriesachen als defacto-Standard kaum drum rum. (Vielleicht ist es genau deswegen so häßlich geworden?)
Es ist hässlich geworden, weil man XML-RPC enterprise-ready machen wollte, also noch ein paar Specs draufwerfen und noch mehr XML bis SOAP alle Probleme löst aber eben kein konkretes. Du siehst es im Dialog: es basiert auf HTTP, integriert sich aber nicht in HTTP weil es von HTTP unabhängig sein sollte. Aber niemand braucht SOAP über IRC oder SOAP-SMTP oder SOAP-TCP. Ich habe zum Spaß mal XML-RPC direkt über TCP geleitet, hat dann aber 0 Vorteile gehabt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten