Portieren von Steinzeit-Software nach Java

  • hallo,

    ich habe damals im Zivildienst für meine Dienststelle eine kleine Datenbank-Application zusammengepfuscht, die ein paar Daten speichert und ein paar Sachen ausdrucken lässt. Dazu gehören Daten (Adresse, Tel-Nr, Geburtsdatum, ...) der Mitarbeiter, absolvierte Fortbildungen, usw.
    Es lassen sich Datenbank-Abfragen durchführen (z.B. alle Mitarbeiter die Fahrer sind, alle Mitarbeiter die Notfallsanitäter sind, ...) und diese als Liste bzw. Adressetiketten ausdrucken.

    Jetzt sollen da ein paar zusätzliche Features rein - nur hab ich leider ein paar große Probleme dabei.

    Das Programm hab ich seinerzeit unter Borland Delphi 5 erstellt, die Datenbank läuft mit einer proprietären Database-Engine. Das Programm hab ich damals in Ermangelung von Fachwissen "Pi mal Daumen" geschrieben.

    Ausserdem möchte ich, dass das Programm plattformunabhängig läuft, also auf Linux, Mac OS X, Windows funktioniert.

    Also hab ich mich entschlossen, das Ding unter Java komplett neu zu schreiben - Die Daten bekomm ich schon rüber, selbst wenn ich die händisch neu reintippen müsste wär das kein großer Zeitaufwand - nur hab ich mit GUI und Datenbank unter Java keine Erfahrung. Daher möchte ich euch bitten mir bei ein paar Fragen zu helfen:

    • Bietet Java Datenbank-Funktionalität, die halbwegs einfach zu handhaben ist?
    • Gibt es ein GUI, mit dem ich das GUI des Programms erstellen kann?
    • Gibt es Buchempfehlungen zu Datenbanken mit Java und GUI mit Java? (Horton habe ich natürlich von EPROG, der liegt nur leider in Wien, wo ich in den Ferien selten hinkomme)
    • Kann man aus solchen Java-Programmen brauchbare Sachen (z.B. Tabellen, ...) ausdrucken?
    • Haben Java-Datenbankprogramme eine annehmbare Geschwindigkeit? (müsste auf einem Notebook mit 800 MHz Pentium 3 und Windows 2000 laufen

    danke!

  • Ja, Datenbankanbindungen gibt es in Java und sind auch recht brauchbar zu verwenden. (Geschmackssache, obs in java einfacher/schwieriger ist...). Du schreibst, dass es plattformunabhängig laufen soll. Daraus schließe ich mal, dass es auf mehreren Computern laufen soll? Spricht für SQL-Server, der wo zentral läuft, da gibt es auch sehr gute Anbindungen.

    GUI (bzw. IDE) gibt's zB Netbeans (ähnlich wie Delphi) oder Eclipse.

    Ausdrucken geht auch.

    Naja, Geschwindigkeit von Java ist nicht berauschend, aber sicher ausreichend. Datenbanksachen sind nicht so langsam, ich finde die GUIs etwas lahm, aber ist nicht so schlimm. Was würdest du von PHP halten? Wenn, so wie ich annahm, die Applikation auf mehreren Rechnern laufen soll, wäre das wohl am Einfachsten. Naja, will dir Java nicht ausreden, nur so ein Gedanke...

    • Bietet Java Datenbank-Funktionalität, die halbwegs einfach zu handhaben ist?

    JDBC (http://java.sun.com/jdbc) ist seit Anfang an dabei und bietet eine plattformunabhaengige Schnittstelle.
    An Java-Datenbanken gibt es Hypersonic [size=-1](http://www.hsqldb.org/) und Cloudscape (http://www.cloudscape.com/ da hat IBM seine Finger im Spiel)
    Ansonsten kannst du jede Datenbank von MS Access, MS SQL Server ueber MySQL, PostgreSQL bis Oracle oder DB2 verwenden.

    [/size]

    • Gibt es ein GUI, mit dem ich das GUI des Programms erstellen kann?

    Seit Java 1.2 ist Swing mit den Java Foundation Classes dabei. Dafuer gibt es bei Netbeans einen GUI Editor und auch Eclipse hat inzwischen einen.
    Viele sind mit Swing aber nicht gluecklich (traege und nicht 100% Plattform LooknFeel) und daher gibt es heute auch noch SWT bzw. die RichClient-Plattform von Eclipse http://www.eclipse.org. Das verwendet native Widgets, ist aber nicht mehr ganz so plattform-unabhaengig. Aber reicht fuer Windows, GTK, Motif, MacCarbon,...

    • Gibt es Buchempfehlungen zu Datenbanken mit Java und GUI mit Java? (Horton habe ich natürlich von EPROG, der liegt nur leider in Wien, wo ich in den Ferien selten hinkomme)

    JDBC beschreibt jedes Anfaegnerbuch und wer SQL kann, hat die Basics in wenigen Minuten verstanden. Fuer Swing und SWT gibt es viele Tutorials auf http://java.sun.com bzw. http://eclipse.org

    • Kann man aus solchen Java-Programmen brauchbare Sachen (z.B. Tabellen, ...) ausdrucken?

    Drucken geht natuerlich. Aufwand kann ich nicht schaetzen, da ich die Libraries nicht kenne. Entweder core package javax.print oder Libs wie JFreeReport ansehen http://www.jfree.org/jfreereport

    • Haben Java-Datenbankprogramme eine annehmbare Geschwindigkeit? (müsste auf einem Notebook mit 800 MHz Pentium 3 und Windows 2000 laufen

    Alles eine Frage des Designs...Wenn man JDBC und Standard-SQL verwendet kann man auch am Ende noch die Datenbank gegen eine Bessere austauschen oder auf einen anderen Rechner auslaggern...
    Oft ist aber die GUI Befuellung bzw die Abfrage-Logik schuld (zuviele Daten auf einmal).


    Wenn du einen Server zur Verfuegung hast, ist wohl eine Webanwendung am besten. HTML im Browser ist wohl am plattform-unabhaengigsten, wenn es keine echte GUI-Anwendung sein muss und ein Server im Spiel sein darf. Mit JSP (Java Server Pages) steht auch dafuer ein Java-Mittel zur Verfuegung. Natuerlich kann man mit Java auch einen Webserver (Tomcat und HTTP connector) relativ einfach lokal laufen lassen um temporaere Offline-Abfragen zu ermoeglichen. Bei dieser Konstellation bin ich mit einem Geschwindigkeitsversprechen bei 800 Mhz aber vorsichtig.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!