# Datenaustausch?



## MikeThom (5. Nov 2010)

Hallo,

ich habe ein kleines Java Programm geschrieben welches eine Datenbank überwacht und z.B. INSERTs durchführt. Die INSERTs sollen alle über das Programm erfolgen und niemals direkt auf der DB. Soweit so gut. 

Jetzt gibt es ein anderes nicht Java Programm welches auf einem anderen Rechner liegt und Daten in die DB schreiben soll. 

Meine Frage ist jetzt was für eine Schnittstelle sollte ich in meinem Java Programm bereitstellen um größere Datenmengen möglichst schnell entgegenzunehmen? Soll ich einen Socket-Öffnen und da einfach auf ankommende Pakete lauschen? Was ist wenn zwei Anfragen gleichzeitig eingehen? Hat jemand schon einmal ein vergleichbares Problem gehabt? 

Danke


----------



## gman (5. Nov 2010)

> was für eine Schnittstelle sollte ich in meinem Java Programm bereitstellen



Kommt auch darauf an wo dein Java-Programm läuft. Wenn es auf dem/einen Server läuft, könntest du einen
Webservice bereitstellen. Dieser Webservice nimmt dann ein POJO entgegen in dem die Daten einer Zeile der
entsprechenden Tabelle enthalten sind und schreibt sie in die DB.

Stichworte sind hier: JAX-WS (und eventuell CXF) und JAXB


----------



## Empire Phoenix (6. Nov 2010)

Theoretisch könntest du das ganze auch tranzparent machen. Dein programm hat einen Socket und verhält sich so als wäre es der SQL server und filtert nur die eingaben nach nicht erlaubten kram. Vorteil wäre hier das jedes beliebige programm mit funktioniren würde. Nahteil der größere Programieraufwand.


----------



## FArt (9. Nov 2010)

Vielleicht kommt ja JMS für dich in Frage. Die Aufträge werden vom Producer in eine Queue gestellt und der Consumer holt sie sich heraus.
Schnell aufgesetzt, flexibel und mächtig... und du musst dich nicht um Sockets usw. kümmern...


----------

