# Javaprogram aus C/AL-Programm ansteuern



## Steev (30. Apr 2009)

Guten Morgen liebe Forengemeinde,

ich habe da mal eine Frage und hoffe das ihr mir in dieser Sache einen Tipp geben könnt.

Ich versuche ein Java-Programm aus einem anderem Programm anzusteuern. Dabei geht es aber nicht darum, ein Java-Programm aus einem anderen Programm zu starten, sondern während der Laufzeit Daten zwischen den Programmen auszutauschen. Das Problem ist halt, dass das Programm, aus dem ich das Java-Programm ansteuern will kein Java-Programm ist. Gibt es da irgendwelche Möglichkeiten, oder muss ich auf C++ und OCX oder ActiveX zurückgreifen?

Ich hoffe mir kann da jemand helfen.


----------



## ARadauer (30. Apr 2009)

du könntest mit sockets über localhost kommunizieren


----------



## Steev (30. Apr 2009)

Hmmm,

ich dachte eigendlich an so eine Art ActiveX-Bridge für Java oder so. Deine Lösung würde bei anderen Programmen funktionieren, nicht aber bei C/AL-Programmen da es dort keine Möglichkeit der Netzwerkprogrammierung gibt.

Ich habe zwar schon eine Active-X-Bridge für Java gefunden, die kostet aber leider, wenn man sie kommerziel nutzt > 1000$. Und das sehe ich irgendwie nicht ein.

Kennst du vieleicht eine Open-Source Java-ActiveX oder Java-OCX-Bridge?

Gruß
Steev


----------



## tuxedo (30. Apr 2009)

SWT hat eine ActiveX Brücke. Die ist "für umme".

Damit steuern wir DirectShow um Video und Audiostreams zu Rendern ..

- Alex


----------



## Steev (30. Apr 2009)

Mit SWT habe ich früher schon mal was gemacht.
Ich gucke mir das mal an. Danke für deine Antwort.


----------



## Steev (30. Apr 2009)

Wenn ich das richtig verstanden habe, dann habe ich also mit der SWT-ActiveX-Bridge die Möglichkeit zum Beispiel Word in Java anzusteuern.
Leider hilft mir das überhaupt nicht weiter, da ich genau den umgekehrten Weg gehen will.

Ich muss in einem anderen Programm ein Java-Programm zur Laufzeit ansteuern, um Daten abzufragen.
Also kurz: Ich brauche eine Möglichkeit, wie ich mit einem Java-Programm bestimmte Funktionalitäten für andere Programme über Active-X oder sonst wie zur Laufzeit zur verfügung stellen kann.


----------



## Steev (30. Apr 2009)

Kann mir keiner helfen, oder ist mein Problem unlößbar?

Es gibt doch sicher die Möglichkeit die Funktionen eines Javaprogramms über ActiveX bereit zu stellen.


----------



## HoaX (30. Apr 2009)

Da das die wenigsten brauchen wird es sowas sicher nicht in brauchbarer Qualität für umme geben.
Je nach dem wie schnell die Kommunikation sein muss kannst du ja auch ein Zwischenprogramm schreiben welches du mit entsprechenden Parametern aufrufst, dieses dann per Socket mit Java kommuniziert, und dann die Antwort auf Konsole ausgibt. Zwar nicht schön, aber evtl. ausreichend.


----------



## tuxedo (30. Apr 2009)

Javamethoden von ActiveX aus benutzen? Hatte das andersrum verstanden. Denke auch dass Socket hier eine der "günstigsten" Methoden ist. 

Gruß Alex


----------



## Steev (30. Apr 2009)

Ok, dann muss ich mir eben selbst was basteln.

Über Sockets währe für mich aber eher eine Notlösung, da dieses Programm schnell und stabil sein sollte, darf durch solch eine Kommunikation die Sicherheit nicht gefährdet werden. Auserdem unterstüzt, wie oben schon angesprochen, C/AL keine Netzwerkprogrammierung.

Daher muss ich wohl irgendwas mit C++ basteln und dann über die JNI drau zugreifen.

Trotzdem Danke für eure Beiträge


----------



## Wildcard (30. Apr 2009)

Dir ist hoffentlich bewusst das du nur sinnvoll mit Programmen kommunizieren kannst, die diese Möglichkeit auch vorsehen. Einfach irgendwelche Methoden aufrufen ist nicht möglich.


----------



## Steev (30. Apr 2009)

Das ist mir bewusst.
Deshalb müsste diese Möglichkeit ja erst erstellt werden. Zum Beispiel indem man sich in C++ ein Programm schreibt, dass so eine Art Bindeglied darstellt.

Ich meine aber, dass ich irgendetwas in der Art, wie ich es machen will, schon mal auf der Sun-Website gesehen hätte...

Da muss ich mal suchen, vieleicht gibt es ja doch so etwas in der Art...


----------



## Wolfgang Lenhard (30. Apr 2009)

Was ist mit Soap? Wäre das eine Lösung? Da gibts dann auch entsprechende libs für c: csoap client/server library | csoap client/server library und natürlich auch für Java


----------



## SvenK (30. Apr 2009)

Mir würde CORBA noch einfallen. Ist zwar nicht ganz ohne, sowas aufzusetzen und ich bin auch überhaupt kein Fachmann darin, aber es wäre denke ich eine elegante und recht sichere Umsetzung.

Und interessant ist es alle mal


----------

