2 Stimmen

Sprachübergreifende C#- und Java-Entwicklung

Können Sie mir einen Rat geben, wie ich am besten sicherstellen kann, dass zwei Anwendungen (eine in C#, die andere in Java) kompatibel sind? y effizient beim Datenaustausch? Gibt es irgendwelche Probleme, die Sie festgestellt haben?

Es handelt sich um ein Punkt-zu-Punkt-Szenario, bei dem ein Host ein Dienstanbieter und der andere ein Dienstnutzer ist.

3voto

kgiannakakis Punkte 100768

をご覧ください。 protobuf Datenaustauschformat. Eine .NET-Implementierung ist ebenfalls verfügbar .

3voto

alphazero Punkte 26906

JSON für beschreibende Daten und XML für allgemeine Datentypen. Wenn Ihnen das nicht effizient genug ist, müssen Sie Ihre eigenen Codecs entwickeln, um die Unterschied in der Byte-Reihenfolge zwischen C# und Java .

2voto

Ken Wootton Punkte 1100

Anstatt sich auf eine bestimmte Technologie zu konzentrieren, ist der beste Rat, den ich geben kann, sich auf die Schnittstelle zwischen den beiden zu konzentrieren (egal ob es sich um einen Webdienst, eine Datenbank oder etwas ganz anderes handelt). Wenn es sich zum Beispiel um einen Webdienst handelt, sollten Sie sich auf die Erstellung eines klaren WDSL-Dokuments konzentrieren. Schnittstelle, Schnittstelle, Schnittstelle. Versuchen Sie, die spezifischen Technologien auf beiden Seiten weitestgehend zu ignorieren, abgesehen von einigen Prototypen, um sicherzustellen, dass beide Sprachen Ihre Entscheidungen unterstützen.

Abgesehen von größeren Hindernissen sollten Sie sich nicht auf die Effizienz konzentrieren. Konzentrieren Sie sich auf Klarheit. Wahrscheinlich werden zwei Teams (d. h. verschiedene Personen) an den beiden Enden dieser Schnittstelle arbeiten. Es ist viel wichtiger, sicherzustellen, dass sie sie richtig benutzen, als die Dinge nur ein wenig schneller zu machen.

2voto

Wael Awada Punkte 1456

Wenn Sie Java als Webserver verwenden, können Sie Jax-WS ( https://jax-ws.dev.java.net/ ) zur Erstellung von Webservices und WCF für .Net zur Verbindung mit dem Java-Webserver

1voto

TLiebe Punkte 7783

Sie können z. B. XML verwenden (was nicht immer sehr effizient ist) oder Sie müssen ein eigenes proprietäres Binärformat entwickeln (effizient, aber sehr viel mehr Arbeit). Ich würde mit XML beginnen, und wenn die Bandbreite zu einem Problem wird, können Sie jederzeit auf ein proprietäres Binärformat umsteigen.

Etwas wie SOAP (Wikipedia) wird sowohl von C# als auch von Java unterstützt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X