@Denn1s:
spyne.io sieht in der Tat vielversprechend aus und kann offensichtlich auch SOAP verbacken Die lange Abhängigkeitsliste ist zunächst etwas abschreckend, je nach Protokoll/Backendfunktionalität die Ihr einsetzt, könnten diese Abhängigkeiten aber eh bestehen.
Ein paar Hinweise zum API-Design:
Deine Aufgabenliste oben sieht recht dokumenten-/ressourcenzentrisch aus. Da bietet sich an, die API an CRUD bzw. REST (HTTP) zu orientieren. Z.B. könntest eine Ressource "task" kreieren, welche die Initialisierung vornimmt, die Berechnung anstösst, evtl. einen Fortschritt ausgibt und letztendlich die Ergebnisse vorhält. Und für die nötigen Rohdaten ist die CRUD-Metapher ja direkt einleuchtend.
XML über JSON ist im Prinzip doppelt gemoppelt. Klar kannst Du XML als String in JSON verpacken und müsstest dann JSON und XML parsen. Warum dann nicht XML direkt? JSON macht anstelle von XML Sinn, falls Ihr nicht eine der wenigen cutting edges nutzt, die XML JSON voraus hat. Wahrscheinlich haben Eure Javaentwickler aber die tollen XMLSerializer schon fertig und wollen da nicht von abrücken
Python Dateien(XML) empfangen und senden
Danke für die Tipps. Wir machen es jetzt doch mit SOAP ; ) Die Java Menschen freuen sich und im Grunde ist es genauso einfach bzw. schwer. Bei Soap Frameworks für python ist allerdings die Auswahl nicht so groß. Spyne.io geht mit python 3 nicht. Ladon scheint eine gute Lösung zu sein, obwohl das Framework noch paar Bugs hat.
Viele Grüße
Dennis
Viele Grüße
Dennis
Wenn du eh schon relativ eng mit in Zusammenhang mit Java arbeiten musst, dann wäre vielleicht auch Jython einen Blick wert. Damit kannst du Java-Klassen in Python importieren und dann ganz "normal" mit Python-Syntax nutzen.
Im Übrigen mag SOAP aus Python-Sicht durchaus fragwürdig erscheinen. In der Java-Welt ist es jedoch relativ easy, ein paar öffentliche Methoden auf entsprechende SOAP-Messages abbilden zu lassen.
Die Frage ist halt, ob man die zu realisierende Aufgabe wirklich in Form von entfernten Methodenaufrufen umsetzen möchte oder ob man lieber ein passendes Format für den Austausch entwickelt.
Letzteres wäre nämlich in einer deutlich freieren Form via JSON möglich. JSON-Bibliotheken gibt es auch in Java. Und sofern du deinen Kollegen mitteilst, welcher Datentyp vom jeweiligen Schlüssel geliefert wird (bei einer HashMap), dann sollte die Einbindung in deren Java-Architektur keine große Hürde darstellen.
Die Frage ist halt, ob man die zu realisierende Aufgabe wirklich in Form von entfernten Methodenaufrufen umsetzen möchte oder ob man lieber ein passendes Format für den Austausch entwickelt.
Letzteres wäre nämlich in einer deutlich freieren Form via JSON möglich. JSON-Bibliotheken gibt es auch in Java. Und sofern du deinen Kollegen mitteilst, welcher Datentyp vom jeweiligen Schlüssel geliefert wird (bei einer HashMap), dann sollte die Einbindung in deren Java-Architektur keine große Hürde darstellen.