Geeignete Programmiersprache/IDE für SOAP/ODBC/XML

amokkx

Lt. Commander
Registriert
Jan. 2010
Beiträge
1.174
Hallo zusammen.

Bin gerade in einem Projekt für einen Kunden, welches folgendes tun soll:

Daten aus unserer Datenbank auslesen (ODBC-Komponente)
Daten in XML-Struktur speichern (XML-Komponente)
Daten am Ende per SOAP an den Endkunden übertragen (SOAP-Komponente)
Wir kriegen übrigens auch WSDL-Dateien geliefert, ein Import dieser wär natürlich auch nicht schlecht.

Eine GUI o.ä. wird nicht genötigt, das Modul läuft automatisch im Hintergrund, sobald ein Benutzer ein bestimmten Ereignis ausführt, daher wäre es evtl. schön, wenn man nichts weiteres auf dem Client installieren muss. Ich denke hier an Java oder .NET.

Das Programm ist "eigentlich" schon fertig, nur haben wir festgestellt, dass unser Altbacken Delphi nicht gut mit aktuellen SOAP-Sachen umgehen kann (es hapert schon beim https). Wäre dieses Problem nicht da, wäre das Projekt schon fertig. Wir haben "leider" schon alles fertig programmiert, bevor wir wussten, dass es via SOAP übermittelt werden muss und daran scheitert es nun.

Daher nun meine Frage, welche Programmiersprache hier ordentliche Komponente mitliefert und womit man es recht zügig umsetzen kann? Wir sind ja alle relativ froh, wenn wir hier mal was anderes als Delphi-Code sehen :D

Hoffe auf eure Hilfe und Inspirationen.
Vielen Dank im Voraus.
 
SOAP in .NET Framework ist passabel supported, gibt auch ein tool was wsdl dateien importieren kann. In .NET Core gibts da sicherlich noch einige offene Punkte, ob damit alles sauber geht weiß ich nicht. Das ganze .NET Framework (also nicht .NET Core) ist feature-complete, wird also nur noch gewartet.

Ich würde dir da eher zu Java raten, via Apache Axis oder so, da kenn ich mich aber nur bedingt aus.
 
Wie triggerst du denn den „jetzt synchronisieren“-Event?

Wenn der Sync zwischen Datenbank und Webservice verzögert stattfinden kann und du einen Server zur Verfügung hast, dann könnte man das mit talend oder jedem x-beliebigem ETL-Tool machen. Das geht ohne Programmierung, man muss sich den „Flow“ nur zusammen klicken und als Job einplanen.

Wenn du eine Binary brauchst, dann gibt es unzählige Möglichkeiten sowas zu realisieren. Ich würde dann wohl auf ElectronJs gehen und mir eine kleine JavaScript-Anwendung programmieren und die mit Electron zu einer Binary kompilieren (weder für Windows, Linux noch MacOS muss etwas auf dem Client installiert werden). Dann hat man auch das Java-Gedöns nicht. Falls man als Fallback wirklich auf jegliche GUI verzichten möchte, dann kann man das auch mit PKG (https://github.com/zeit/pkg/blob/master/README.md) erreichen.
 
Hi! Ich arbeite täglich mit R und RStudio (IDE), wobei leider derzeit ohne RSConnect (Server), sondern nur Client. Kann es für ODBC und XML nur empfehlen. R SOAP und WSDL brachte mir Google und Stackoverflow ziemlich schnell Lösungsansätze, habe aber damit keine Erfahrung.
 
Also, da ihr ja offenbar die ganze Datenbankmechanik schon programmiert habt in Delphi, würde ich in Java nur noch die SOAP Kommunikation entwickeln, dem Modul einfach das XML an die Hand geben und das andere bei Bedarf nachziehen, sonst war's ja komplett für die Katz.
Das Java Modul sollte dabei eigentlich recht überschaubar sein vom Aufwand.
 
  • Gefällt mir
Reaktionen: new Account()
Wenn nun schon alles fertig wäre und Ihr nur Probleme mit der https-Kommunikation habt, würde ich doch (auch in Hinblick auf zukünftige Projekte) nahelegen einen Proxy (in einer beliebigen Sprache) zu entwickeln, der lokal installiert Eure Delphi-http-Anfragen erhält und via https an den Server weiterreicht; die Antwort würde das Ding dann an Euer Backend zurückgeben und die Katze is' im Sack.

Mit dem Ding in der Tüte und ein bisschen Konfigurationsarbeit hättet Ihr die Probleme für alle Zeiten gelöst, da solch ein Proxy dauerhaft wiederverwendbar wäre und Ihr in Eurem Workflow bleiben könntet.
 
in diesem Fall würde ich kein Java empfehlen, außer man entwickelt nun einen wrapper drum herum so dass man ihn als Dienst mit einem integrierten Scheduler ausführt oder sonstige Trigger. Das Problem bei Java ist halt immer, dass die JVM sich erst mal initialisieren muss. Das dauert alles unnötig Zeit für eine solch einfache Aufgabe.

Du kannst sowas ohne Probleme in c#, delphi, python, ... schreiben.

Interessanter wäre aber wirklich, was genau die https Probleme denn sind? Eventuell müsst ihr einfach nur das TLS Zertifikat mit dem Public Key zur Validierung hinzufügen?

Phrasendreher schrieb:
würde ich doch (auch in Hinblick auf zukünftige Projekte) nahelegen einen Proxy (in einer beliebigen Sprache) zu entwickeln

also sowas programmiert man doch heute nicht mehr... vor allem für einen so einfachen Anwendungsfall. Da installiert man sich einfach nginx, haproxy, whatever und fertig.
 
Ich würde vom Technologie bzw. Sprachwechsel abraten da es mit jeder höheren Programmiersprache geht. Hier Delphi Soap client
Hab schon mit C++ und mit Java unzählige Male Soap Webservices programmiert. In Java ist es voll in die Sprache integriert und ein Kinderspiel.
Beim nächsten Mal gleich auf Java setzen oder C#
 
Zurück
Oben