background image

Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής 
 

 

 

40 

 

3.2.3 Αρχεία Εργασιών και Αναφοράς Κατάστασης 
 

 

Τόσο  οι  χρήστες  όσο  και  οι  επισκέπτες  έχουν  πρόσβαση  στις  λειτουργίες 

μεταγλώττισης  και  προσομοίωσης.  Οι  λειτουργίες  αυτές  κάνουν  χρήση  του  προσωρινού 
καταλόγου “/tmp/jobs/”. Όταν ένας χρήστης ή επισκέπτης κάνει αίτηση για προσομοίωση ή 
μεταγλώττιση  ενός  αρχείου,  δημιουργείται  ένα  αρχείο  εργασίας  σ’  αυτόν  τον  προσωρινό 
κατάλογο. Καθώς το σενάριο τερματικού “job_scheduler.sh” εκτελείται, ελέγχει τον κατάλογο 
“/tmp/jobs/” για αρχεία εργασίας. Όταν ένα αρχείο εργασίας βρεθεί, εκτελείται η λειτουργία 
του  και  το  αρχείο  αυτό  απομακρύνεται.  Έτσι  χρησιμοποιούμε  ουσιαστικά  τον  κατάλογο 
“/tmp/jobs/” ως ουρά αναμονής για τις εργασίες μεταγλώττισης και προσομοίωσης. Για την 
παρακολούθηση τρέχουσας εργασίας αλλά και της ουράς αναμονής χρησιμοποιούμε το αρχείο 
αναφοράς  κατάστασης.  Το  αρχείο  αυτό  δημιουργείται  από  το  σενάριο  τερματικού  στον 
κατάλογο “/tmp/status/” και περιλαμβάνει δεδομένα σχετικά με την κατάσταση εργασίας. Σε 
περίπτωση που δεν εκτελείται κάποια εργασία υπάρχει αντίστοιχο μήνυμα αλλιώς μας δίνει το 
αναγνωριστικό  “ID”  του  αρχείου  εργασίας  που  εκτελείται  και  τον  αριθμό  υπολειπόμενων 
αρχείων  εργασίας  στην  ουρά  αναμονής.  Η  διατήρηση  καταλόγων  και  αρχείων  γι’  αυτές  τις 
λειτουργίες  μας  επιτρέπει  την  επαφή  του  σεναρίου  τερματικού  και  των  εργαλείων  που 
χρησιμοποιεί  με  την  υπόλοιπη  εφαρμογή,  ανεπτυγμένη  σε  τεχνολογίες    διαδικτύου, 
γεφυρώνοντας τα προβλήματα συμβατότητας μεταξύ τους. 

 

Κλείνοντας την δομή των καταλόγων, πιστεύουμε ότι δείξαμε τον τρόπο χρήσης του 

δεύτερου μέρους των αποθηκεμένων αρχείων. Σε συνδυασμό με την βάση δεδομένων, έχουμε 
μία πλήρη εικόνα των στοιχείων που βρίσκονται στον εξυπηρετητή. Στα επόμενα υποκεφάλαια 
θα  δούμε  πώς  τα  στοιχεία  αυτά  αξιοποιούνται  για  την  υποστήριξη  των  λειτουργιών  που 
συνθέτουν την εφαρμογή μας. 

 

3.3 Ανάπτυξη και Υλοποίηση της Εφαρμογής 

 

 

Σε  προηγούμενα  κεφάλαια  αναφέραμε  τα  εργαλεία  που  χρησιμοποιήθηκαν  για  την 

ανάπτυξη της εφαρμογής. Παρακάτω θα εξηγήσουμε τον τρόπο που χρησιμοποιήσαμε αυτά τα 
εργαλεία για την σύνταξη των λειτουργιών που συνθέτουν την εφαρμογή μας. Οι λειτουργίες 
παρουσιάζονται  κατηγοριοποιημένες  με  τον  σκοπό  που  επιτελούν  αλλά  και  με  τον  τρόπο 
υλοποίησής τους. Αρχικά κάνουμε την ανάλυση των λειτουργιών που είναι απαραίτητες για 
την  ορθή  φόρτωση  της  εφαρμογής  και  την  μετάφραση  του  συνδέσμου  στην  σελίδα  που 
ζητήθηκε. Έπειτα εξετάζουμε τον τρόπο υλοποίησης των λειτουργιών που αναλαμβάνουν την 
λειτουργική  αλληλεπίδραση  του  χρήστη  με  τον  εξυπηρετητή.  Οι  επόμενες  λειτουργίες  που 
βλέπουμε  αποτελούνται  από  κλάσεις  και  μεθόδους.  Προχωράμε  μετά  στην  ανάλυση  του 
τρόπου υλοποίησης και χρήσης του θέματος εμφάνισης και τέλος εξηγούμε τις τεχνικές που 
χρησιμοποιήσαμε για την κάλυψη της εφαρμογής από θέματα ασφάλειας.