DB Anwendung - Daten auf ext. Server - Anregungen?

Status
Nicht offen für weitere Antworten.

miketech

Bekanntes Mitglied
Hi zusammen,

zunächst zum Hintergrund:

Ich plane demnächst eine Anwendung zu schreiben, die primär ein Datenbankfrontend sein wird, d.h. Verwaltung von Kundendaten etc. Es handelt sich um einen kleinen Betrieb, es gibt 3 Workstations, die Anwendung muss nur auf einem dieser Workstations bedient werden, zusätzliche Hardware (Server im Intranet) soll nicht angeschafft werden.

Da es sich um einen kleinen Betrieb handelt, möchte ich Probleme wie Backups, Ausfallproblematik gerne vom Betrieb fernhalten. Idee ist daher, dass ich auf einem Server (im Internet) die Daten speichere und nicht im Intranet. Zwar bin ich hier von der Verfügbarkeit der Internet-Verbindung abhängig, allerdings habe ich somit die Möglichkeit, dass ich mich besser um Backups kümmern kann. Außerdem kann die Anwendung dann problemlos von einer anderen Workstation bedient werden.

Hierzu die erste Frage:

Gibt es hier rechtliche Einschränkungen in Deutschland, dass z.B. Kundendaten nicht auf einem Server im Internet zugänglich sein dürfen, sondern nur im Intranet oder so?

Auf jeden Fall hätte der Betrieb hiermit den Vorteil, dass im Ausfall des Rechners, der diese Anwendung nutzt einfach auf einen anderen Rechner gewechselt werden kann. Ob es sich um eine Swing/SWT-Anwendung mit Webstart handelt oder um eine Web-Anwendung habe ich noch nicht entschieden. Das ist immer noch eine meiner "Hauptsorgen", weil ich alles spannend finde :)

Da der Server, den ich verwende für einen J2EE Container zu schwach sein wird und das für diese Anwendung auch absolut überdimensioniert wäre suche ich für den Fall, dass ich die Daten auf dem Server persistiere eine leichtgewichtigere Möglichkeit:

Eine Möglichkeit wäre via Hibernate auf die Daten zuzugreifen. Im Falle, dass ich eine Swing-Anwendung habe, wird somit allerdings erforderlich, dass die Datenbank nach außen hin zugänglich ist.

Ansonsten gibt es ja noch sowas, wie EJB-Container für Tomcat. Sind diese deutlich leichtgewichtiger als ein kompletter J2EE? Dann könnte ich via Session Beans / Webservices auf die Daten zugreifen. Ob das gerade in einer Anwendung, die hauptsächlich Daten aus einer Datenbank darstellt sinnvoll ist, weiß ich nicht. Es müssen ja vielfältige Queries abgesendet werden und man möchte vielleicht nicht unnötig viele Daten übermitteln, aber auch nicht für jeden Sonderfall einen Service aufbauen. Alternativ könnte ich ja mit EJBs dann auch EntityBeans verwenden. Eventuell ist es das, was ich suche?

Oder wie würdet Ihr in dieser Situation vorgehen? Kleines Unternehmen, Datenbankanwendung zur Verwaltung von u.a. Kundendaten.

Swing/SWT/Web-Anwendung? Persistenz extern oder intern? Hibernate, EJB, Webservice?


Würde mich über Anregungen freuen.

Gruß

Mike
 

ms

Top Contributor
Also ich glaube es wäre mit Kanonen auf Spatzen geschossen, wenn du für einen einzigen User (=Workstation) nur wegen dem Backup bzw der Möglichkeit, dass die Applikation schnell auf einem anderen Rechner Verfügbar ist, eine ganze Webapplikation bauen bzw. eine Client-Server-Architektur verwenden würdest. Würde es nicht reichen, einfach nur in regelmäßigen Abständen automatisiert ein Backup zu fahren, und diese Daten dann auf einem Server im Internet ablegen?

Verwendung von Hibernate ist davon unabhängig. EJB's hingegen benötigen einen Applikationserver. EJB-Container für Tomcat? Ist mir neu. Erklär mir das genauer wie du das meinst.

Ich glaube auch nicht, dass es irgend eine gesetzliche Grundlage gibt, die du da ansprichst. Aber vielleicht solltest du da besser einen Juristen zu Rate ziehen um auf Nummer sicher zu gehen.

ms
 

Murray

Top Contributor
Es ist nicht verboten, Kundendaten über das Internet bereitzustellen; allerdings wird möglicherweise der Betreiber des Servers als Betreiber eines Rechenzentrums einzustufen sein, der Datenverarbeitung im Auftrag vornimmt. In diesem Fall werden abhängig von der Natur der personenbezogenen Daten ("nur" Adressdaten oder auch Gesundheits- und/oder Einkommensdaten) verschiedene Stufen der Zugangssicherung verlangt. Das solltest du vorher auf jeden Fall mit einem einschlägig erfahrenen Jursiten klären.
 

miketech

Bekanntes Mitglied
Hi,

naja bisserl strukturiert solls halt schon werden. Soll auch gleichzeitig als Übung für mich dienen. D.h. irgendein ORM sollte schon zum Einsatz kommen, damit ich nicht mit Queries im Quellcode zu kämpfen habe.

D.h. ich sollte komplett auf EJBs verzichten? Einfach eine Datenbank und eine GUI? Swing?

Finds halt schon nett, wenn sowas im Browser läuft :) Gäbe es eine JSF Implementierung mit Qooxdoo fürs Rendering wäre das auch nett zu programmieren.

Was ich meinte ist übrigens sowas wie OpenEJB, also ein leichtgewichtiger EJB Container. Den kann man soweit ich weiß mit Tomcat verwenden.

Gruß

Mike
 

ms

Top Contributor
Strukturiert kannst du es auch als Swing-Client machen.
Es gibt die Präsentationsschicht (Swing-Teil), dann eine Serviceschicht (inkl. Transaktionslayer), die die eigentliche Logik beinhaltet und es gibt eine Persistenzschicht, die z.B. mit Hibernate realisiert wird. Diese Teile könntest du dann nehmen und eine Webapplikation draus machen. Die Präsentationsschicht ersetzt du durch z.B. JSF. Zwischen Präsentationsschicht und Serviceschicht kannst du noch eine EJB-Schicht (Sessionbeans) einziehen.

Wie gesagt, ich finde für diese Anforderung wäre das von dir genannte für einen Kundeneinsatz übertrieben.

ms
 

miketech

Bekanntes Mitglied
Hi,

ja vielleicht hast Du recht. Ich find die Idee einer Webanwendung nur wahnsinnig genial :) Ob es wirklich das richtige ist, ist nochmal was anderes. Für "normale" Desktopanwendungen, die nur zur Datenerfassung und dem Abruf von Daten dienen hat ein Swing Client nicht viele Vorteile im Vergleich zu JSF. Das einzige ist vielleicht, dass er nicht vom Internet abhängig ist und manchmal vielleicht etwas schneller reagiert.

Das mit EJB ist wahrscheinlich etwas zu viel. Da bin ich eher damit beschäftigt das Ding am Laufen zu halten :)

Also bleibe ich bei Hibernate. Ob Swing oder JSF muss ich mir nochmal überlegen. Gäbe es Qooxdoo + JSF wäre es für mich klar. Aber Apache Tomahawk etc bieten zwar nette JSF Libs, die aber nicht den Desktop Look'n Feel haben und das ist eine Voraussetzung. Und Eclipse RAP setzt zwar auf Qooxdoo, aber ob ich damit glücklich werde weiß ich auch noch nicht. Wäre ja im Grunde eine SWT Anwendung, die dann aber irgendwie (Magic) im Web läuft, wenn man SWT durch RWT ersetzt.

Gruß

Mike
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P NestedException(EJB + JPA) / Mehrbenutzer Anwendung Data Tier 6
C EclipseLink in eine JavaEE Tomcat Anwendung einbinden Data Tier 7
P CORBA Problem bei EJB 3.0 Anwendung in Glassfish v3 Data Tier 7
L JSP Mit Java-Daten von einer Webseite zu ziehen? Data Tier 5
R JSF Daten werden nicht aktualisiert aus Datenbank gelesen Data Tier 3
C Hibernate ProgressBar updaten mit Daten aus Hibernate Data Tier 4
M Hibernate Hibernate liest Daten zu oft aus! Data Tier 16
R Hibernate daten laden Data Tier 7
S JPA und Versionsmanagement der Daten Data Tier 2
D Daten werden nicht gespeichert mit Spring + JPA (Hibernate): Data Tier 6
V Daten speichern Data Tier 7
T DB Daten beim Anlegen neuer EntityManagerFactory verloren Data Tier 3
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Data Tier 1
P Wildfly + Hibernate + SQL Server Data Tier 0
G JPA Zugriff auf (externe) Datenbank auf dem Server Data Tier 8
M Problem mit @Temporal Mapping und SQL Server Data Tier 3
ruutaiokwu select auf select in sql server Data Tier 3
F GF server bei jedem update restart Data Tier 4
A Hibernate Transactionsmanagement OHNE Application-Server Data Tier 4
M SQL Server 2000 JPA/Hibernate Konfiguration SQl Quoted Identifiers Data Tier 2

Ähnliche Java Themen

Neue Themen


Oben