2008-11-12 13 views
5

Hipotetycznie masz dwa produkty, jeden napisany w Javie, drugi w języku C#. Lubisz backend oparty na Javie (część niewidoczna dla użytkownika), ale chciałbyś użyć nakładki C# (WPF). Jaki jest najlepszy sposób na ich łączenie?Jaki jest najlepszy sposób na interfejs C# i Java?

Należy pamiętać, że backend musi być w stanie działać na serwerze lub na komputerze lokalnym, a frontend powinien być w stanie połączyć się z jednym z nich.

Moje pierwsze przemyślenia miały na celu użycie czegoś takiego jak Ice, a może serwis internetowy.

Idź!

Edit

Konwersja kodu lub uruchomienie go w jakimś neutralnym różnych VM (iKVM) nie jest rozwiązaniem.

Odpowiedz

1

Ujawnij usługę sieci Web w systemie java i poproś program C# o rozmowę z usługą WWW java. Zajrzyj do WCF (Windows Communication Foundation), dzięki czemu łatwiej będzie rozmawiać z serwisem WWW java.

0

Można używać usług sieciowych.

Lub możesz użyć IVKM do osadzenia kodu Java bezpośrednio w zespole .NET.

0

Pracowałem na zapleczu Java dla bogatego klienta C#. Komunikuje się za pośrednictwem usług sieciowych w porządku. Jedyny problem, jaki mieliśmy, to hierarchie dziedziczenia, które wymazują WSDL usług WWW.

2

Usługi internetowe powinny być domyślnym wyborem, ponieważ w tej przestrzeni jest tyle pracy wokół interoperacyjności.

Jeśli nie przeszkadza szczelne sprzęgło i musi podejmować decyzje w oparciu Performace, dwa rozwiązania, jakie napotykane są:

Jestem pewien, że istnieją inni.

2

Podczas gdy usługi internetowe (WS- *) mogą być poprawne,, a uzyskanie stosów do współdziałania może być kludgy.

Wiele można powiedzieć o architekturze HTTP + (POX | JSON) i REST-ian.

0

Sądzę, że istnieją pewne problemy z interoperacyjnością za pomocą usług internetowych na platformach Java/.NET. Na przykład występują pewne problemy przy użyciu Axis2 i .net razem. W większości przypadków istnieje obejście.

Słyszałem jednak kilka dobrych komentarzy na temat używania architektury REST-ian.

0

Istnieje kilka metod tworzenia/uzyskiwania współdziałania między systemami java i .net.

  • Web services
  • Visual J #
  • Java Native Interface (JNI)
  • BytecodeTranslation
  • Runtime Mosty

Usługi internetowe są najczęściej używane. Usługi sieciowe najczęściej wykorzystują mechanizm komunikacji oparty na SOAP, który może być z natury wolniejszy niż alternatywne mechanizmy komunikacji binarnej. Usługi sieciowe nie są również odpowiednie do przekazywania obiektów niestandardowych między Javą i .NET jako parametrami i wartościami zwracanymi.

Ten artykuł daje naprawdę dobry przegląd tego, co jest co:

http://www.devx.com/interop/Article/19945

Powiązane problemy