# Schnittstelle Java/C#, C++



## xanadoo (16. April 2009)

Hallo zusammen,

Ich habe eine Frage:
Ich müsste eine Komponente in Java schreiben, welche dann von anderen Programmen (welche nicht in Java geschrieben wurden) angesprochen werden können.

Der Komponente soll ein Textfile übergeben werden
und diese gibt dann ein daraus erstelltes PDF Dokument zurück.

Das ganze passiert nur lokal auf den jeweiligen Clients, es gibt also keinen Datenaustausch über das Netzwerk oder so.

Kann mir jemand einen Tipp geben, wie man so was (heutzutage) machen kann.
Ich weiss von früher, dass man solche Sachen z.B. mit Corba oder Soap machen konnte, diese aber nicht so "bequem" waren.

Gibt es da inzwischen andere Lösungsansätze?

Gruss Xanadoo


----------



## Chefkoch333 (16. April 2009)

Hi,
also deine Anforderungen hören sich stark nach einem Webservice  an. Und was die Bequemlichkeit angeht, es gibt genug WS-Frameworks & Eclipse-Plugins welche dir die arbeit erleichtern.


----------



## xanadoo (16. April 2009)

Ich denke ich habs nicht genau genug erklärt...

Ich muss eine Komponente in Java schreiben welche (als Libary oder so) z.B. in einem C++ Programm eingebunden werden kann.
Und das C++ Programm muss diese dann direkt ansprechen können.

Also WebService fällt da wohl weg.

Ich weiss auch nicht genau, ob dies so überhaupt geht.


----------



## Chefkoch333 (16. April 2009)

Ah okay, naja über einen Webservice würde das sicher auch gehen, aber ich denke du willst den Overhead vermeiden der dabei entsteht.
Für Java->C++ gibt es noch die JNI-API. Da kenne ich mich aber zu wenig mit aus um zu sagen ob und wie die entgegengesetzte Richtung funktioniert. Wäre aber evtl. ein guter Ansatz sich damit genauer zu beschäftigen.


----------



## Chefkoch333 (16. April 2009)

hmm laut Wikipedia ist es möglich: http://de.wikipedia.org/wiki/Java_Native_Interface


----------



## MaaartyyyyyyS (17. April 2009)

Schreib zunächst in Eclipse eine Java Anwendung.

Diese erhält als Kommandozeilenparameter:
1.) die umzuwandelnde Eingabedatei
2.) den Namen der Ausgabedatei.

Wenn das ganze unter Eclipse läuft mußt Du die Anwendung 
in einem Jar-File verpacken.

Mit eingebettetem Manifest startet das Jar-File auf Doppelklick,
genauso wie Notapad.exe.
(vorrausgesetzt Java ist auf dem Rechner installiert)

Die Anwendung läßt sich in der Form dann auch von jedem anderen Programm starten.

Beste Grüße und viel Erfolg


----------

