Linux Inside
85
ρεί να την προσπελάσει. Σε προηγούμενα τεύχη έχουμε περι-
γράψει αναλυτικά τον τρόπο εγκατάστασης της Java. Καθώς
όμως είναι σημαντικό να έχουμε στη διάθεσή μας και το Java
DB, παραθέτουμε μία γρήγορη ανασκόπηση με επιπλέον
οδηγίες για τη λειτουργία του Java DB, ανάλογα με την εγκα-
τάσταση Java που διαθέτουμε.
Απεγκαθιστούμε κάθε έκδοση Java που διαθέτουμε. Ο τρό-
πος διαφέρει ανάλογα με την εγκατάσταση, αλλά μπορούμε
να βρούμε οδηγίες με μία σύντομη αναζήτηση στον Παγκό-
σμιο Ιστό. Στη συνέχεια, εγκαθιστούμε το JDK 7 της Oracle
και μαζί έχουμε και το Java DB. Συνοπτικά ακολουθούμε τα
επόμενα βήματα: Κατεβάζουμε το τελευταίο JDK, από τον
ιστότοπο της Oracle [3], στο φάκελο Downloads. Από εκεί το
αποσυμπιέζουμε, το μετακινούμε σε νέο φάκελο και ενημε-
ρώνουμε το αρχείο .profile.
cd Downloads
tar xzfv jdk-7u5-linux-i586.tar.gz
sudo mv jdk1.7.0_05/ /opt
cd
gedit .profile
Στο τέλος του .profile προσθέτουμε τις ακόλουθες γραμ-
μές:
export JAVA_HOME="/opt/jdk1.7.0_05"
export DERBY_HOME="$JAVA_HOME/db"
export PATH="$PATH:$JAVA_HOME/bin:$DERBY_HOME/bin"
Αποθηκεύουμε και ενεργοποιούμε με επανεκκίνηση ή δίνο-
ντας:
. .
profile
Ελέγχουμε την εγκατάσταση δίνοντας:
java -version
ij
ij> exit;
Αν έχουμε ήδη εγκατεστημένο το JDK 7, απλώς ενημερώ-
νουμε κατάλληλα τις μεταβλητές συστήματος, όπως στο
προηγούμενο βήμα.
Εναλλακτικά, αν χρησιμοποιούμε την έκδοση 6 της Java,
απλά εγκαθιστούμε το αντίστοιχο Java DB [4] και ενημερώ-
νουμε κατάλληλα τις μεταβλητές του συστήματός μας. Μπο-
ρούμε ακόμη, ανεξάρτητα της έκδοσης Java που διαθέτουμε,
να εγκαταστήσουμε την τελευταία έκδοση του Apache Derby
[5].
Για την εκτέλεση του Apache Derby απαιτείται μόνο το
JRE της Java έκδοσης 5 ή μεγαλύτερης, ενώ για την ανάπτυ-
ξη εφαρμογών που χρησιμοποιούν βάσεις δεδομένων του
Apache Derby απαιτείται το JDK.
Η εφαρμογή μας
Στις μέρες μας χρησιμοποιούμε ιστότοπους που απαιτούν
την εγγραφή και τη σύνδεσή μας ως χρήστες. Αυτό συνεπά-
γεται μεγάλο πλήθος ονομάτων, συνθηματικών και λοιπών
πληροφοριών. Υπάρχει μία κατηγορία βοηθητικών προγραμ-
μάτων, οι ονομαζόμενοι διαχειριστές συνθηματικών
(
password managers), που μας βοηθούν να αποθηκεύουμε
και να αναζητούμε τα στοιχεία σύνδεσης σε διάφορες υπηρε-
σίες. Σε αυτό το τεύχος δημιουργούμε έναν απλό διαχειριστή
συνθηματικών ως παράδειγμα μίας αυτόνομης παραθυρικής
εφαρμογής Java που χρησιμοποιεί βάση δεδομένων για την
αποθήκευση και τη διαχείριση των πληροφοριών της.
Δημιουργία της βάσης δεδομένων
Στην εφαρμογή μας έχουμε μία βάση δεδομένων με έναν μό-
νο πίνακα (kleidi) για την αποθήκευση κλειδιών πρόσβασης.
Χρησιμοποιούμε τη γλώσσα δομημένων ερωτημάτων
(
Structured Query Language, SQL). Η SQL είναι μία δημοφιλής
γλώσσα χειρισμού βάσεων δεδομένων. Η εφαρμογή μας ουσια-
στικά διαμορφώνει ερωτήματα SQL για τη διαχείριση των δεδο-
μένων της (εισαγωγή, διόρθωση, διαγραφή, αναζήτηση εγγρα-
φών), τα οποία απευθύνει μέσω του JDBC για εξυπηρέτηση
από το σύστημα διαχείρισης του Java DB.
Καθώς όμως η δημιουργία της βάσης δεδομένων θα γίνει μία
φορά στη διάρκεια ζωής της εφαρμογής, βγάζουμε εκτός το
σχετικό κώδικα. Δημιουργούμε ένα σενάριο με το οποίο το ij θα
δημιουργήσει τη βάση δεδομένων και σε αυτήν τον πίνακα kleidi
για την αποθήκευση των κλειδιών πρόσβασης. Για λόγους επί-
δειξης δημιουργούμε και δύο δειγματικές εγγραφές.
Μέσα στο φάκελο εργασίας (workspace) του Eclipse δημι-
ουργούμε έναν φάκελο για την αποθήκευση του έργου λογι-
σμικού (project) της εφαρμογής μας. Εκεί θα δημιουργηθεί
κατά την πρώτη εκτέλεση του σεναρίου ο φάκελος με τα αρ-
χεία της βάσης δεδομένων. Αλλάζουμε κατάλληλα τη διαδρο-
μή στο σενάριο dimiourgiabasis.sql που παρέχεται στο συνο-
δευτικό DVD του περιοδικού και το εκτελούμε.
ij dimiourgiabasis.sql
Για να επιβεβαιώσουμε τη δημιουργία της βάσης, του πίνα-
κα και την καταχώριση των δειγματικών δεδομένων εκτελού-
με το (επίσης παρεχόμενο στο συνοδευτικό DVD) σενάριο
προβολής των περιεχομένων του πίνακα της βάσης (αλλάζο-
ντας πάλι κατάλληλα τη διαδρομή σύνδεσης στη βάση δεδο-
μένων).
ij probolipinakonbasis.sql
Δημιουργία έργου λογισμικού στο Eclipse
Θα αναπτύξουμε την εφαρμογή μας χρησιμοποιώντας τα
λιγότερα δυνατά εργαλεία, όπως επιπρόσθετα και πλαίσια
συνεργασίας του Eclipse με συστήματα διαχείρισης βάσεων
δεδομένων. Αυτό μεγαλώνει ίσως λίγο τον κώδικα που γρά-
φουμε, αλλά με αυτόν τον τρόπο είναι πιο απλός.
Επιπλέον, το έργο λογισμικού που αναπτύσσουμε, έχει τις
λιγότερες εξαρτήσεις από βιβλιοθήκες και επιπρόσθετα,
που συχνά οδηγούν σε προβλήματα, με την αλλαγή εκδόσε-
ων, ασυμβατότητες κ.ά. που δεν αξίζει να υποστούμε για μία
μικρή εφαρμογή.
Σκοπός μας είναι να δείξουμε τον τρόπο και το μηχανισμό
υλοποίησης αντίστοιχων εφαρμογών. Όταν τα καταφέρουμε
στα απλά, μπορούμε να πειραματιστούμε με πιο πολύπλοκα
εργαλεία και πλαίσια ανάπτυξης κώδικα, τα οποία εισάγουν
πολλή φλυαρία για μικρές εφαρμογές, απλοποιούν όμως τη
διαδικασία ανάπτυξης για μεγαλύτερες.
Τον Ιούνιο του 2012 κυκλοφόρησε η νέα έκδοση 4 του
Eclipse με σημαντικές αλλαγές τόσο στην εμφάνιση και στο
περιβάλλον εργασίας όσο και στο σύνολο των μηχανισμών
του Eclipse Platform. Ακολουθώντας τις οδηγίες προηγού-
μενου άρθρου της σειράς αξίζει τον κόπο να εγκαταστήσου-
με και να χρησιμοποιούμε αυτήν την ανανεωμένη έκδοση.
Linux Labs - Java
Η εφαρμογή μας ουσιαστικά διαμορφώνει
ερωτήματα SQL για τη διαχείριση των
δεδομένων της (εισαγωγή, διόρθωση,
διαγραφή, αναζήτηση εγγραφών), τα οποία
απευθύνει μέσω του JDBC για εξυπηρέτηση από
το σύστημα διαχείρισης του Java DB.