Εθνικό Μετσόβιο Πολυτεχνείο. Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εθνικό Μετσόβιο Πολυτεχνείο. Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές"

Transcript

1 Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΝΤΩΝΙΟΣ ΛΑΜΠΑΔΑΡΙΔΗΣ Επιβλέπων : Τιμολέων Σελλής Καθηγητής Ε.Μ.Π. Αθήνα, Ιούλιος 2009

2

3 Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΝΤΩΝΙΟΣ ΛΑΜΠΑΔΑΡΙΔΗΣ Επιβλέπων : Τιμολέων Σελλής Καθηγητής Ε.Μ.Π. Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την 6η Ιουλίου Τιμολέων Σελλής Καθηγητής Ε.Μ.Π Νεκτάριος Κοζύρης Αν. Καθηγητής Ε.Μ.Π Νικόλαος Παπασπύρου Επικ. Καθηγητής Ε.Μ.Π. Αθήνα, Ιούλιος 2009

4 Αντώνιος Λαμπαδαρίδης Διπλωματούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Ε.Μ.Π. Copyright c Αντώνιος Λαμπαδαρίδης, Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν τον συγγραφέα και δεν πρέπει να ερμηνευθεί ότι αντιπροσωπεύουν τις επίσημες θέσεις του Εθνικού Μετσόβιου Πολυτεχνείου.

5 Περίληψη Σκοπός της διπλωματικής εργασίας ήταν η ανάπτυξη μιας εφαρμογής για κινητά τηλέφωνα ή άλλες φορητές συσκευές οι οποίες υποστηρίζουν την πλατφόρμα J2ME (Java Micro Edition), η οποία να επιτρέπει στους χρήστες να μοιράζονται πληροφορίες οι οποίες είναι χρήσιμες για ένα μικρό μόνο χρονικό διάστημα σε πραγματικό χρόνο, καθώς και να επικοινωνούν με ομάδες ατόμων με σύντομα μηνύματα. Εκτός από την εφαρμογή - πελάτη, το σύστημα περιλαμβάνει και τον εξυπηρετητή, ο οποίος διανέμει τα κατάλληλα μηνύματα στους ενδιαφερόμενους και τα αποθηκεύει σε βάση δεδομένων. Πρωταρχικό μέλημα της εφαρμογής - πελάτη, είναι η ευκολία χρήσης και ιδιαίτερα η ευκολία στο ανέβασμα πληροφοριών, έτσι ώστε να ενθαρρύνει τους χρήστες του συστήματος να συνεισφέρουν αποστέλλοντας τις πληροφορίες τους. Μόλις ένας νέος χρήστης εγγραφεί στο σύστημα, ορίζει τις θεματικές περιοχές για τις οποίες ενδιαφέρεται να ενημερώνεται. Σε περίπτωση που κάποιος χρήστης είναι εκτός σύνδεσης, οι πληροφορίες που τον αφορούν αποθηκεύονται στην βάση όσο είναι έγκυρες, έτσι ώστε να τις λάβει μόλις εκκινήσει την εφαρμογή. Λέξεις κλειδιά κινητά τηλέφωνα, Java micro edition, διαχείριση πληροφοριών, διαχείριση ειδοποιήσεων. 5

6

7 Abstract The scope of this thesis was the development of an application for mobile phones, or other devices implementing the Java Micro platform, which allows users to share real-time information useful only for a short time, such as traffic warnings. In addition, users can also create their own private groups so as to inform the group members about their current status. The system consists of two components: the client application running on mobile devices and the server application. The server application stores the received information in the database and alerts users who are interested in it. The primary objective of the client application is to provide an easy-to-use interface helping users to contribute to the system by posting information. Once registered, users are asked to select the topics about which they would like to receive notifications. In case a user is not online, the received alerts are stored in the database as long as they are accurate and the user receives them as soon as he logs in. Key words mobile phones, Java micro edition, information management, alert management. 7

8

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

10

11 Περιεχόμενα Περίληψη Abstract Ευχαριστίες Περιεχόμενα Εισαγωγή Διαχείριση ρευμάτων δεδομένων - data streams Αντικείμενο Διπλωματικής Περιγραφή προβλήματος Σενάρια Επίλυσης Οργάνωση Κειμένου Ανάλυση Απαιτήσεων Συστήματος Απαιτήσεις Συστήματος Το ιδανικό σύστημα Το Σύστημα που υλοποιήθηκε Περιγραφή Συστημάτων Εφαρμογή Πελάτη Εφαρμογή Διακομιστή Διαγράμματα Ροής Δεδομένων Σχεδίαση Συστήματος Αρχιτεκτονική Περιγραφή Κλάσεων Εφαρμογή Πελάτη Εφαρμογή Εξυπηρετητή Βάση Δεδομένων Πρωτόκολλο Επικοινωνίας Μηνύματα Πελάτη Μηνύματα Εξυπηρετητή Υλοποίηση Ενδιαφέροντα Σημεία Υλοποίησης Διαχείριση Ειδοποιήσεων Μηνύματα Εκτός Σύνδεσης Διαχείριση Προσκλήσεων Πλατφόρμες και Προγραμματιστικά Εργαλεία Πλατφόρμες Ανάπτυξης Εργαλεία Ανάπτυξης Συστήματος

12 5. Έλεγχος Μεθοδολογία Ελέγχου Σενάριο Ελέγχου Αναλυτική Παρουσίαση Ελέγχου Σχετικές Εργασίες Micro-blogging Twitter Υπηρεσίες Ενημέρωσης Vodafone Traffic SMS RealTraffic GasPrice.gr Mobile Social Networking Επίλογος και Μελλοντικές Επεκτάσεις Σύνοψη και Συμπεράσματα Μελλοντικές Επεκτάσεις Εύρεση Θέσης Αξιολόγηση Χρηστών Εμπλουτισμός Περιεχομένου Ανάπτυξη σε διαφορετικές πλατφόρμες Web Interface Βιβλιογραφία A. Εγκατάσταση Συστήματος A.1 Εγκατάσταση Εξυπηρετητή A.1.1 Εγκατάσταση Βάσης Δεδομένων A.1.2 Ρύθμιση Δρομολογητή A.1.3 Εγκατάσταση Διακομιστή A.2 Εφαρμογή Πελάτη A.3 Απαιτήσεις σε υλικό και λογισμικό A.4 Περιεχόμενα CD B. Εγχειρίδιο Χρήστη B.1 Πρώτη Εκτέλεση Εφαρμογής B.2 Κεντρικό Μενού Εφαρμογής B.3 Ομάδες Χρηστών B.4 Λήψη Μηνυμάτων

13 Κεφάλαιο 1 Εισαγωγή 1.1 Διαχείριση ρευμάτων δεδομένων - data streams Το διαδίκτυο και τα δίκτυα γενικότερα έχουν γνωρίσει μεγάλη ανάπτυξη τα τελευταία χρόνια. Αρχικά, η πρόσβαση στο διαδίκτυο ήταν εφικτή μόνο μέσω των τηλεφωνικών συνδέσεων. Στη συνέχεια, τα δίκτυα ευρείας ζώνης προσέφεραν ιδιαίτερα υψηλές ταχύτητες πρόσβασης. Παράλληλα, τα κινητά τηλέφωνα και τα δίκτυα κινητής τηλεφωνίας υποστηρίζουν πλέον και αυτά την δυνατότητα της γρήγορης και αξιόπιστης σύνδεσης στον παγκόσμιο ιστό. Με αυτόν τον τρόπο και σε συνδυασμό με την μεγάλη διείσδυση που έχει γνωρίσει το διαδίκτυο, ο καθένας είναι σε θέση να δημοσιεύσει πληροφορίες οπουδήποτε και αν βρίσκεται. Επομένως, διακινείται συνεχώς ένας τεράστιος όγκος δεδομένων. Είναι λογικό, λοιπόν, οι εφαρμογές που σχετίζονται με την διαχείριση αυτής της συνεχούς ροής πληροφοριών να γίνονται όλο και πιο δημοφιλείς. Δεν είναι μόνο ο τεράστιος όγκος των δεδομένων που δημιουργεί νέες προκλήσεις αλλά και το γεγονός ότι τις περισσότερες φορές, η συλλογή, η επεξεργασία και η διανομή της πληροφορίας στους ενδιαφερόμενους πρέπει να γίνεται ταχύτατα γιατί η πληροφορία μετά από μικρό χρονικό διάστημα χάνει την αξία της για τους χρήστες. Ένα τέτοιο παράδειγμα είναι πχ οι μεταβολές της τιμής μετοχών. Επιπλέον, οι χρήστες δεν πρέπει να υποβάλλουν συνεχώς τα ίδια αιτήματα επιβαρύνοντας το σύστημα, αλλά η οποιαδήποτε νέα πληροφορία η οποία ταιριάζει στα ενδιαφέροντα τους να προωθείται σε εκείνους άμεσα. Αυτός είναι ο τομέας των διαρκών ερωτήσεων (Continuous Queries) στον οποίο έχει γίνει μεγάλη έρευνα και έχουν αναπτυχθεί πολλά σχετικά συστήματα από Πανεπιστήμια του εξωτερικού, όπως το STREAM του Stanford. 1.2 Αντικείμενο Διπλωματικής Στην παρούσα διπλωματική εργασία αναπτύχθηκε μια εφαρμογή η οποία επιτρέπει στους χρήστες να ανταλλάσσουν πληροφορίες που αφορούν τις θεματικές ενότητες της αρεσκείας τους σε πραγματικό χρόνο μέσω κινητών τηλεφώνων. Στα πλαίσια της εργασίας οι διαθέσιμες θεματικές ενότητες είναι η κίνηση στους δρόμους και η τιμή της βενζίνης στα διάφορα πρατήρια. Ο χρήστης δηλώνει ποιες από τις θεματικές κατηγορίες τον ενδιαφέρουν και, επιπλέον, προκειμένου να μην λαμβάνει πληροφορίες που δεν τον αφορούν μπορεί να κάνει πιο συγκεκριμένα τα κριτήρια του επιλέγοντας και τις περιοχές για τις οποίες επιθυμεί να λαμβάνει ενημέρωση. Ύστερα δεν χρειάζεται να υποβάλλει κάποιο νέο αίτημα. Μόλις ανεβεί στο σύστημα πληροφορία η οποία ταιριάζει στις επιλογές του, εκείνη προωθείται αυτόματα σε εκείνον. Επιπλέον, έχει ληφθεί μέριμνα και για την περίπτωση που εκείνη την χρονική στιγμή ο χρήστης είναι εκτός σύνδεσης. Το μήνυμα αποθηκεύεται στον διακομιστή και παραδίδεται στον παραλήπτη κατά την επομένη σύνδεση του στην υπηρεσία με την προϋπόθεση ότι υπάρχει ακόμη κάποια αξία στην πληροφορία. Τα μηνύματα τα οποία αφορούν την κίνηση στους δρόμους θεωρούνται έγκυρα για δυο ώρες μετά την αποστολή τους ενώ αυτά που αφορούν την κίνηση στους δρόμους για επτά ημέρες. Επιπλέον, το σύστημα προσφέρει στον χρήστη την δυνατότητα να δημιουργεί δικές του κλειστές ομάδες χρηστών (groups) με τις οποίες μπορεί να ανταλλάσσει μηνύματα, χωρίς αυτές να είναι ορατές στους υπολοίπους. Οι ομάδες αυτές είναι κλειστές, δηλαδή ο μόνος τρόπος να συμμετάσχει κάποιος εί- 13

14 ναι να δεχθεί σχετική πρόσκληση από τον δημιουργό της ομάδας. Αυτή η λειτουργία θα εξυπηρετούσε τα μέλη μιας ομάδας επαγγελματιών που κινείται συνεχώς, τους συμμετέχοντες σε ένα συνέδριο, τα μέλη μιας παρέας κα Περιγραφή προβλήματος Η έγκυρη και έγκαιρη πληροφόρηση μπορεί να μας προστατέψει από ανεπιθύμητες καταστάσεις και να μας βοηθήσει να κερδίσουμε χρόνο, δίνοντας μας την δυνατότητα να εργαστούμε πιο αποδοτικά. Οι νέες τεχνολογίες μας βοηθούν στην κατεύθυνση αυτή. Ωστόσο, δεν είναι πάντα εφικτό να έχουμε πάντα στη διάθεση μας την απαιτούμενη πληροφορία. Σε πολλές περιπτώσεις χρειαζόμαστε πληροφορία η αξία της οποίας χάνεται μετά από κάποιο μικρό χρονικό διάστημα, γεγονός που κάνει μη πρακτική την καταγραφή και ανάκτηση της από συμβατικά μέσα στο διαδίκτυο, όπως τα ιστολόγια. Επιπλέον, την πληροφορία που χρειαζόμαστε γνωρίζουμε ότι κάποιοι την έχουν αλλά δεν ξέρουμε ούτε ποιοι είναι εκείνοι ούτε έχουμε κάποιο τρόπο επικοινωνίας μαζί τους. Άλλες φορές, επιθυμούμε να ενημερώσουμε άμεσα μια συγκεκριμένη ομάδα ατόμων για κάποιο γεγονός και χρειαζόμαστε, επομένως, έναν άμεσο, οικονομικό και μαζικό τρόπο επικοινωνίας. Τέτοια παραδείγματα είναι: 14 Κάποιος βιάζεται να πάει σε μια συνάντηση, δεν γνωρίζει όμως ποια διαδρομή να επιλέξει ώστε να μην χάσει χρόνο στην κίνηση. Όσοι είχαν κάνει την διαδρομή ελάχιστα πριν τον ίδιο γνωρίζουν τι συμβαίνει στην περιοχή, αλλά ο χρήστης δεν γνωρίζει ποίοι είναι εκείνοι και δεν έχει τρόπο επικοινωνίας μαζί τους. Επιπλέον, οι συνθήκες στους δρόμους αλλάζουν πολύ γρήγορα. Έτσι, η ανάρτηση τέτοιου είδους πληροφοριών σε κάποια σελίδα στο διαδίκτυο, σε κάποιο ιστολόγιο, ή σε κάποια ομάδα συζητήσεων δεν είναι και ο πλέον κατάλληλος τρόπος δημοσίευσης. Σε περίπτωση που συμβεί ατύχημα σε κάποιο δρόμο συνήθως ακολουθεί κυκλοφοριακή συμφόρηση. Τα άτομα τα οποία κινούνται προς την περιοχή δεν γνωρίζουν για το ατύχημα και ότι ο δρόμος πιθανώς να έχει κλείσει για κάποιο χρονικό διάστημα και έτσι εγκλωβίζονται στο σημείο εκείνο. Αν υπήρχε πληροφόρηση για το συμβάν, οι οδηγοί θα μπορούσαν να προτιμήσουν κάποια εναλλακτική διαδρομή, γλιτώνοντας και οι ίδιοι ταλαιπωρία και χρόνο αλλά και κάνοντας ταυτόχρονα το έργο των αρχών πιο εύκολο. Ωστόσο, εκείνοι που βρίσκονται εγκλωβισμένοι στο σημείο δεν είναι σε θέση προφανώς να γνωρίζουν ποιοι προτίθενται να κινηθούν προς τα εκεί ώστε να τους ενημερώσουν. Οι τιμές των καυσίμων στα πρατήρια δεν είναι σταθερές, αλλάζουν συνεχώς με μεγάλες διακυμάνσεις. Έτσι δεν είναι εύκολο να έχουμε μια καλή εικόνα για το ποια πρατήρια προσφέρουν τις φθηνότερες επιλογές. Αν ήμασταν όμως σε θέση να ενημερώσουμε τα άτομα τα οποία κινούνται στις ίδιες περιοχές με εμάς κάθε φορά που εντοπίζαμε ένα φθηνό πρατήριο και έκαναν και εκείνοι το ίδιο, τότε θα ήμασταν σε θέση να κάνουμε μια πιο συμφέρουσα επιλογή. Στα πλαίσια ενός συνεδρίου διοργανώνεται μια σημαντική ομιλία. Ωστόσο, μια ώρα πριν την έναρξη της ομιλίας παρουσιάζεται κάποιο τεχνικό πρόβλημα στην αίθουσα με αποτέλεσμα να πρέπει να μεταφερθεί σε κάποια άλλη. Ο υπεύθυνος οργανωτής του συνεδρίου πρέπει επομένως να ενημερώσει όλους τους συμμετέχοντες για την αλλαγή στον τόπο διεξαγωγής της ομιλίας. Ένας τρόπος θα ήταν το ηλεκτρονικό ταχυδρομείο. Ωστόσο, οι συμμετέχοντες πιθανότατα θα βρίσκονται ήδη στον δρόμο και δεν θα είναι στο γραφείο τους ώστε να λάβουν το μήνυμα έγκαιρα. Μια μεγάλη παρέα, έχει κανονίσει να πάει στον κινηματογράφο. Εκείνος που φτάνει πρώτος, διαπιστώνει ότι δεν υπάρχουν αρκετές διαθέσιμες θέσεις για την προβολή που τους ενδιαφέρει. Επομένως, θέλει να ενημερώσει όλους τους υπόλοιπους φίλους του να κινηθούν σε κάποιο άλλο κοντινό κινηματογράφο που θα παίζει την ίδια ταινία. Θα μπορούσε να τους ενημερώσει μέσω

15 τηλεφώνου ή να στείλει γραπτά μηνύματα σε όλους (sms), ωστόσο κάτι τέτοιο θα ήταν αρκετά χρονοβόρο και ακριβό. Σε όλες τις παραπάνω περιπτώσεις, η πληροφορία χάνει την αξία της μετά από ένα μικρό χρονικό διάστημα, λχ στο τέταρτο παράδειγμα δεν θα είχε νόημα κάποιος από τους συμμετέχοντες να λάβει την ενημέρωση αφού έχει φτάσει στην αρχική αίθουσα ή ακόμη χειρότερα μετά την διεξαγωγή της ομιλίας. Έτσι, είναι πολύ σημαντική η άμεση διανομή της πληροφορίας στους ενδιαφερόμενους. Επιπλέον, στις τρεις πρώτες περιπτώσεις, η διαδικασία αποστολής μηνυμάτων θα πρέπει να είναι ιδιαίτερα απλή και γρήγορη έτσι ώστε ο χρήστης να είναι πρόθυμος να μοιραστεί τις πληροφορίες του Σενάρια Επίλυσης Η εφαρμογή που αναπτύχθηκε στα πλαίσια της εργασίας θα ήταν χρήσιμη σε όλες τις παραπάνω περιπτώσεις και φιλοδοξεί να λύσει τέτοιου είδους προβλήματα. Ο χρήστης εγκαθιστά την εφαρμογή στο κινητό του τηλέφωνο και ολοκληρώνει την απλή διαδικασία εγγραφής. Στην συνέχεια, ο χρήστης δηλώνει αν ενδιαφέρεται να λαμβάνει πληροφορίες σχετικές με την κίνηση στους δρόμους και τις τιμές καυσίμων στις περιοχές στις οποίες κινείται, έτσι ώστε να μην λαμβάνει άχρηστες πληροφορίες. Πλέον, όποιο νέο μήνυμα ταιριάζει στα κριτήρια του χρήστη προωθείται αυτόματα σε εκείνον. Για τις θεματικές κατηγορίες για τις οποίες έχει δηλώσει ενδιαφέρον, έχει την δυνατότητα να στέλνει και ο ίδιος πληροφορίες. Με αυτόν τον τρόπο, η εφαρμογή θα αποτελούσε λύση στις τρεις πρώτες περιπτώσεις. Επιπλέον, ο χρήστης μπορεί να δημιουργεί δικές του ομάδες χρηστών που θα ανταλλάσσουν μηνύματα, καθώς και να δεχθεί ή απορρίψει προσκλήσεις που του έχουν γίνει για συμμετοχή σε τέτοιες ομάδες. Προφανώς, ο κάθε χρήστης μπορεί να στείλει και να λάβει μηνύματα μόνο προς και από τις ομάδες που είναι γραμμένος, διασφαλίζοντας έτσι την ιδιωτικότητα. Υπάρχει επίσης η δυνατότητα αποχώρησης από μια τέτοια ομάδα ανά πάσα στιγμή. Ο δημιουργός της ομάδας έχει την επιπλέον δυνατότητα να προσθέσει ή να διαγράψει μέλη στην ομάδα, ενώ επίσης υπάρχει διαθέσιμη και η επιλογή να διαγράψει τελείως την ομάδα από το σύστημα και όλα τα σχετικά με εκείνη στοιχεία. Τέτοιες ομάδες θα μπορούσαν να ήταν οι συμμετέχοντες στο συνέδριο του τέταρτου παραδείγματος ή οι φίλοι στο τελευταίο. Προφανώς, οι προτιμήσεις του χρήστη μπορούν να αλλάξουν ανά πάσα στιγμή κατά την χρήση της υπηρεσίας. 1.3 Οργάνωση Κειμένου Στο επόμενο κεφάλαιο αναφέρονται οι απαιτήσεις για την λειτουργία του συστήματος καθώς και η περιγραφή τόσο της εφαρμογής πελάτη όσο και του διακομιστή. Στο τρίτο κεφάλαιο, επεκτεινόμαστε στο πως οργανώθηκε η εφαρμογή εσωτερικά, δηλαδή τα υποσυστήματα, τα πακέτα και τις κλάσεις που την αποτελούν. Συνεχίζοντας, στο τέταρτο κεφάλαιο επεκτεινόμαστε σε θέματα αλγοριθμικά, ενώ επίσης αναφερόμαστε και στα εργαλεία που χρησιμοποιήθηκαν για την ανάπτυξη της εφαρμογής. Στο κεφάλαιο 5 που ακολουθεί, παρουσιάζεται εκτενώς ένα σενάριο χρήσης του συστήματος το οποίο χρησιμοποιεί τις περισσότερες από τις λειτουργίες του συστήματος έτσι ώστε να εξακριβωθεί η ορθή λειτουργία του. Στο κεφάλαιο 6 αναφερόμαστε σε παρόμοιες υπηρεσίες που προσφέρονται στην αγορά ή έστω υπηρεσίες με παρόμοιο αντικείμενο. Στο κεφάλαιο 7 παρουσιάζονται τα συμπεράσματα της εργασίας, ενώ παρατίθενται και κάποιες προτάσεις για πιθανές επεκτάσεις του συστήματος. Κλείνοντας, στο πρώτο παράρτημα δίνονται λεπτομερείς οδηγίες για την εγκατάσταση του συστήματος, ενώ στο δεύτερο παρατίθεται ένα συνοπτικό εγχειρίδιο χρήσης. 15

16

17 Κεφάλαιο 2 Ανάλυση Απαιτήσεων Συστήματος Σε αυτό το μέρος, αναλύονται η αρχιτεκτονική του συστήματος, οι απαιτήσεις τις οποίες πληρεί, καθώς επίσης παρουσιάζεται και η λειτουργία του. 2.1 Απαιτήσεις Συστήματος Το σύστημα που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας ακολουθεί το μοντέλο client - server. Υπάρχει ένας κεντρικός εξυπηρετητής (server) ο οποίος δέχεται συνδέσεις από όλα τα τερματικά - κινητά τηλέφωνα στα οποία τρέχει η εφαρμογή πελάτη (client). Ο κεντρικός εξυπηρετητής είναι λοιπόν υπεύθυνος για να λαμβάνει τα αιτήματα από τα τερματικά, να τα επεξεργάζεται, να προβαίνει στις κατάλληλες ενέργειες και να στέλνει την κατάλληλη απόκριση Το ιδανικό σύστημα Όπως αναφέρθηκε και παραπάνω το σύστημα το οποίο αναπτύχθηκε αποτελείται από δυο βασικά μέρη, την εφαρμογή κεντρικού εξυπηρετητή και την εφαρμογή πελάτη που τρέχει στα κινητά τηλέφωνα. Σε ένα ιδανικό σύστημα, ο εξυπηρετητής θα ήταν μόνιμα ενεργός και συνδεδεμένος στο internet ώστε να είναι σε θέση να δέχεται συνδέσεις. Το διαθέσιμο εύρος ζώνης θα πρέπει να είναι επαρκές για την εξυπηρέτηση όσων τερματικών χρειαστεί ταυτόχρονα. Τα δεδομένα, ωστόσο, που διακινούνται μέσω της εφαρμογής είναι αρκετά μικρά σε μέγεθος, επομένως σε κάθε περίπτωση οι ανάγκες σε εύρος ζώνης δεν είναι ιδιαίτερα υψηλές. Το υπολογιστικό σύστημα στο οποίο θα τρέχει ο εξυπηρετητής θα πρέπει να έχει επαρκείς πόρους μνήμης και επεξεργαστικής ισχύος έτσι ώστε να είναι σε θέση να εξυπηρετεί πολλούς πελάτες ταυτόχρονα, πιθανώς και με κάποιο είδος κλιμάκωσης. Οι διαχειριστές του συστήματος, μπορούν με βάση τις πληροφορίες που παρέχονται από την διεπαφή χρήστη του εξυπηρετητή να βγάλουν χρήσιμα συμπεράσματα, όπως ποιες λειτουργίες είναι οι πιο δημοφιλείς, ποιοι χρήστες είναι οι πιο ενεργοί κα. Σε ότι αφορά την εφαρμογή πελάτη, τα κινητά - τερματικά πρέπει να έχουν αρκετή μνήμη, επεξεργαστική ισχύ και ενεργειακή αυτονομία έτσι ώστε να είναι σε θέση να τρέξουν την εφαρμογή χωρίς προβλήματα ή καθυστερήσεις. Έγινε προσπάθεια η εφαρμογή να είναι αρκετά λιτή σε απαιτήσεις υπολογιστικών πόρων έτσι ώστε τα σύγχρονα κινητά να μην αντιμετωπίζουν οποιοδήποτε πρόβλημα κατά την εκτέλεση της. Ένα άλλο θέμα είναι οι δικτυακές δυνατότητες των συσκευών. Η επικοινωνία με τον server γίνεται με χρήση tcp socket. Αυτός ο τύπος σύνδεσης μας εξασφαλίζει αξιοπιστία στην ανταλλαγή μηνυμάτων. Η υπηρεσία αυτή, όμως, δεν παρέχεται απ όλες τις εταιρείες κινητής τηλεφωνίας στους πελάτες με καρτοκινητό. Αντίθετα, οι πελάτες συμβολαίου δεν θα αντιμετωπίσουν τέτοιο πρόβλημα. Επίσης, τα δίκτυα 3G επεκτείνουν συνεχώς την κάλυψη τους παρέχοντας πιο αξιόπιστη και γρήγορη σύνδεση στο internet. Επιπλέον, αρκετές συσκευές ενσωματώνουν πλέον δέκτη wi-fi για χρήση ασυρμάτων σημείων πρόσβασης τα οποία παρέχουν υψηλές ταχύτητες και σε πολλές περιπτώσεις η χρήση τους είναι δωρεάν. Σε μια ιδανική περίπτωση, ο χρήστης θα βρίσκεται σε περιοχή που καλύπτεται από δίκτυο 3G. Τέλος, κάποιες από τις λειτουργίες της εφαρμογής απαιτούν την παρουσία του προαιρετικού πακέτου της Java Micro Edition PIM API (Personal Information Management - JSR 75) το οποίο επιτρέπει την πρόσβαση μεταξύ άλλων και στον τηλεφωνικό κατάλογο της συσκευής. 17

18 Σε περίπτωση που το πακέτο αυτό απουσιάζει από την συσκευή, ο χρήστης δεν θα είναι σε θέση να χρησιμοποιήσει τις λειτουργίες δημιουργίας ομάδας χρηστών και προσθήκης μελών σε μια τέτοια ομάδα. Στην πλειοψηφία των σύγχρονων συσκευών οι απαιτούμενες λειτουργίες υποστηρίζονται Το Σύστημα που υλοποιήθηκε Το σύστημα αποτελείται από δυο κυρίως μέρη: από την εφαρμογή πελάτη και την εφαρμογή κεντρικού εξυπηρετητή. Η εφαρμογή κεντρικού εξυπηρετητή αναπτύχθηκε σε πλατφόρμα Java 6 SE (Standard Edition). Η επιλογή της πλατφόρμας αυτής μας εξασφαλίζει ότι η εφαρμογή θα μπορεί να τρέξει σε σχεδόν οποιοδήποτε υπολογιστικό σύστημα ανεξαρτήτως λειτουργικού συστήματος αρκεί να υπάρχει εγκατεστημένη η εικονική μηχανή της java (Java Virtual Machine - JVM), όπως άλλωστε υπόσχεται η java write once write anywhere (WORA). Υποστηρίζει ταυτόχρονη σύνδεση πολλών τερματικών καθώς κάθε σύνδεση εξυπηρετείται από ξεχωριστό νήμα. Ωστόσο, στα πλαίσια των δοκιμών που έγιναν δεν δοκιμάστηκε η σύνδεση πάνω από πέντε τερματικών ταυτοχρόνως. Για την λειτουργία του εξυπηρετητή είναι απαραίτητη η σύνδεση του με την βάση δεδομένων του συστήματος (MySQL) η οποία όχι μόνο παρέχει τα απαραίτητα δεδομένα ώστε ο εξυπηρετητής να είναι σε θέση να αποκρίνεται κατάλληλα στα αιτήματα των πελατών αλλά και χρησιμεύει στην μόνιμη αποθήκευση των δεδομένων. Επιπλέον, κατά τον σχεδιασμό της βάσης δεδομένων έχουν ληφθεί υπ όψιν όλοι οι απαραίτητοι περιορισμοί. Με αυτό τον τρόπο, η βάση δεδομένων δεν εξασφαλίζει μόνο την διάρκεια των δεδομένων όπως αναφέραμε και προηγουμένως αλλά και την συνέπεια αυτών. Ο ρόλος της βάσης δεδομένων, λοιπόν, είναι διπλός στο σύστημα και η ύπαρξη της απαραίτητη για την ορθή του λειτουργία. Για την εφαρμογή πελάτη προτιμήθηκε η πλατφόρμα Java 2 Micro Edition (J2ME). Πρόκειται για μια πλατφόρμα ανάπτυξης εφαρμογών για φορητές συσκευές γενικότερα και όχι μόνο για κινητά τηλέφωνα. Είναι αρκετά δημοφιλής καθώς υποστηρίζεται σχεδόν από το σύνολο των κινητών τηλεφώνων που διατίθενται στην αγορά τα τελευταία χρόνια. Επομένως, ο χρήστης πιθανότατα δεν θα αντιμετωπίσει πρόβλημα κατά την εγκατάσταση και την χρήση της εφαρμογής. Επιπλέον, παρέχει έναν ικανοποιητικό αριθμό έτοιμων βιβλιοθηκών που επιτρέπουν την εύκολη πρόσβαση σε πολλές από τις λειτουργίες της συσκευής, όπως οι δικτυακές δυνατότητες της, η αποστολή σύντομων γραπτών μηνυμάτων (sms) και άλλα. Μοιάζει, επίσης, πολύ με την Java SE καθώς σχεδόν όλες τις οι βιβλιοθήκες της (εκτός από εκείνες που αναφέρονται στην δημιουργία του user interface) είναι οι ίδιες ή απλοποιημένες εκδόσεις των αντιστοίχων της Java SE, γεγονός που διευκολύνει πολύ τον προγραμματιστή. Πιο συγκεκριμένα, η εφαρμογή υλοποιήθηκε σε περιβάλλον Java ME MIDP 2.0, CLDC 1.1. Για ορισμένες λειτουργίες της εφαρμογής απαιτείται η παρουσία του προαιρετικού πακέτου PIM API (Personal Information Management). Αυτό δεν αποτελεί πρόβλημα, καθώς υποστηρίζεται σχεδόν από το σύνολο των κινητών τηλεφώνων. 2.2 Περιγραφή Συστημάτων Στην ενότητα αυτή θα παρουσιάσουμε αναλυτικά όλες τις λειτουργίες που εκτελεί το κάθε τμήμα του συστήματος Εφαρμογή Πελάτη Η εφαρμογή πελάτης είναι απαραίτητη για την χρησιμοποίηση της υπηρεσίας. Πιο συγκεκριμένα, οι χρήστες, αφού πρώτα ολοκληρώσουν την διαδικασία της εγκατάστασης, έχουν την δυνατότητα: 18 Να εγγραφούν στο σύστημα διαλέγοντας ένα ψευδώνυμο, το οποίο θα είναι μοναδικό στο σύστημα. Η διαδικασία εγγραφής γίνεται μόνο κατά την πρώτη εκκίνηση της εφαρμογής. Τα στοιχεία του χρήστη αποθηκεύονται στην συσκευή και πλέον η σύνδεση γίνεται αυτόματα. Επίσης, σε περίπτωση που το επιθυμούν, οι χρήστες μπορούν να διαγραφούν τελείως από την υπηρεσία.

19 Σχήμα 2.1: Υποσυστήματα και η μεταξύ τους σύνδεση Να επιλέξουν από τις διαθέσιμες θεματικές κατηγορίες και περιοχές τα στοιχεία για τα οποία επιθυμούν να λαμβάνουν ενημέρωση. Πιο συγκεκριμένα ο χρήστης επιλέγει αν επιθυμεί να λαμβάνει ενημέρωση για κάποια από τις διαθέσιμες κατηγορίες (κίνηση στους δρόμους, τιμές πρατηρίων βενζίνης) ή και για τις δυο. Σε περίπτωση που επιλέξει κάποια από τις κατηγορίες αυτές, ο χρήστης καλείται να δηλώσει και τις περιοχές για τις οποίες ενδιαφέρεται, έτσι ώστε να μην λαμβάνει πληροφορίες οι οποίες δεν τον αφορούν. Οι διαθέσιμες περιοχές είναι: Κέντρο Αθήνας, Ανατολικά, Βόρεια, Νότια, Δυτικά Προάστια και Πειραιάς. Να λαμβάνει ενημέρωση σύμφωνα με τις παραπάνω επιλογές του χωρίς να απαιτείται κάποια παραπάνω ενέργεια. Σε περίπτωση που είναι συνδεδεμένος, λαμβάνει τις σχετικές ειδοποιήσεις άμεσα στο κινητό του. Σε διαφορετική περίπτωση οι πληροφορίες αυτές αποθηκεύονται στο σύστημα. Μόλις ο χρήστης συνδεθεί στην υπηρεσία, γίνεται έλεγχος αν οι συγκεκριμένες πληροφορίες έχουν ακόμη κάποια αξία. Πιο συγκεκριμένα, οι πληροφορίες για κίνηση στους δρόμους θεωρούνται έγκυρες για δυο ώρες μετά την δημοσίευση τους, ενώ αυτές που αφορούν τις τιμές των πρατηρίων για επτά ημέρες. Στην περίπτωση που θεωρηθεί από το σύστημα ότι η πληροφορία είναι ακόμη έγκυρη, στην οθόνη του χρήστη εμφανίζεται και η ημερομηνία αποστολής έτσι ώστε να μπορέσει και ο ίδιος να κρίνει για την αξία της. Να δημιουργεί δικές του κλειστές ομάδες χρηστών. Εισάγει στην σχετική φόρμα κάποια στοιχεία για την ομάδα (όνομα, περιγραφή) και στην συνέχεια επιλέγει τους χρήστες που θέλει να καλέσει στην ομάδα από τον τηλεφωνικό κατάλογο της συσκευής του. Σε περίπτωση που κάποιος από αυτούς δεν χρησιμοποιεί την εφαρμογή ακόμη, θα δεχθεί την πρόσκληση κατά την εγγραφή του. Να δεχθεί ή να απορρίψει προσκλήσεις από άλλους χρήστες για συμμετοχή σε κάποια ομάδα, καθώς και να δει τα μέλη της ομάδας έτσι ώστε να λάβει μια απόφαση. Φυσικά, τα στοιχεία της ομάδας και η επιλογή αποχώρησης από την ομάδα είναι διαθέσιμα ανά πάσα στιγμή στον χρήστη. Να στείλει και να λάβει μηνύματα προς και από τις ομάδες αυτές. Σε περίπτωση που ο χρήστης είναι εκτός σύνδεσης, λαμβάνει τα μηνύματα τα οποία έχουν σταλεί στις ομάδες στις οποίες συμμετέχει στην επόμενη σύνδεση του, όσος χρόνος και να μεσολαβήσει. Να διαχειριστεί τις ομάδες που ο ίδιος έχει δημιουργήσει. Μπορεί, δηλαδή, να προσθέσει ή να διαγράψει μέλη μετά την δημιουργία του group. Επίσης, ο δημιουργός του group έχει την δυνατότητα να το διαγράψει τελείως από το σύστημα (ισοδυναμεί με αποχώρηση του ιδίου). 19

20 Οι παραπάνω λειτουργίες θα φανούν αναλυτικά στην ενότητα που ακολουθεί μαζί με screenshots της εφαρμογής. Η δοκιμή έγινε σε κινητό τηλέφωνο Nokia E51, με λειτουργικό σύστημα Symbian 9.1, S60 3rd Edition Feature Pack 1. Η εμφάνιση του user interface διαφέρει από συσκευή σε συσκευή. Σύνδεση στην Υπηρεσία Μόλις εκκινήσει η εφαρμογή προσπαθεί να συνδεθεί με τον διακομιστή και προτρέπει τον χρήστη να επιλέξει ποια από τις διαθέσιμες συνδέσεις να χρησιμοποιηθεί. Σε περίπτωση που υπάρξει κάποιο σφάλμα κατά την σύνδεση ή ο χρήστης δεν επιτρέψει στην εφαρμογή να χρησιμοποιήσει τις δικτυακές δυνατότητες της συσκευής του τότε εμφανίζεται μήνυμα σφάλματος και ο χρήστης πρέπει να τερματίσει την εφαρμογή. Επίσης, γίνεται ο σχετικός έλεγχος αν το PIM API είναι διαθέσιμο και αν επιτρέπει ο χρήστης πρόσβαση στον τηλεφωνικό του κατάλογο. Αν υπάρξει πρόβλημα κατά την ανάκτηση των επαφών θα εμφανιστεί μήνυμα σφάλματος όταν ο χρήστης εκτελέσει κάποια λειτουργία η οποία απαιτεί χρήση των πόρων αυτών. Σχήμα 2.2: Σύνδεση με το Διαδίκτυο Σχήμα 2.3: Εκκίνηση Εφαρμογής Σε περίπτωση που είναι η πρώτη εκτέλεση της εφαρμογής, η εφαρμογή εμφανίζει την σχετική φόρμα εγγραφής. Ο χρήστης εισάγει το νούμερο του κινητού του (σε μορφή 69ΧΧΧΧΧΧΧΧ) και επιλέγει ένα μοναδικό ψευδώνυμο με το οποίο το σύστημα θα αναφέρεται σε αυτόν. Γίνεται έλεγχος, αν οι 20

21 επιλογές του χρήστη είναι έγκυρες. Σε περίπτωση οποιουδήποτε σφάλματος (πχ αν το ψευδώνυμο χρησιμοποιείται ήδη από κάποιον χρήστη, ή αν το νούμερο που εισήγαγε δεν είναι δεκαψήφιο) εμφανίζεται μήνυμα σφάλματος και ζητείται ο χρήστης να εισάγει εκ νέου τα στοιχεία του. Σε περίπτωση επιτυχούς εγγραφής τα στοιχεία αποθηκεύονται και στον διακομιστή και στο κινητό τηλέφωνο τοπικά και ο χρήστης μεταφέρεται στο κεντρικό μενού της εφαρμογής, στο οποίο εμφανίζονται οι θεματικές κατηγορίες στις ο χρήστης είναι συνδρομητής. Προφανώς, μετά την εγγραφή του, αρχικά, δεν είναι συνδρομητής πουθενά. Σχήμα 2.4: Εγγραφή Νέου Χρήστη Αν ο χρήστης είναι ήδη γραμμένος στην υπηρεσία, η εφαρμογή διαβάζει τα στοιχεία που είχε αποθηκεύσει κατά την εγγραφή και τα αποστέλλει στον διακομιστή έτσι ώστε να γίνει αυτόματα η σύνδεση. Μόλις συνδεθεί ο χρήστης, γίνεται έλεγχος αν υπάρχει κάποιο μήνυμα που έπρεπε να είχε λάβει όσο ήταν εκτός σύνδεσης και εμφανίζεται στην οθόνη του. Διαφορετικά, αν δεν υπάρχουν μηνύματα, ή τα μηνύματα έχουν λήξει, ενημερώνεται ότι δεν υπάρχει κάποιο νέο μήνυμα. Στην συνέχεια, μεταβαίνει στο κεντρικό μενού της εφαρμογής. Σχήμα 2.5: Σύνδεση Χρήστη Όπως, αναφέρθηκε, υπάρχει διαθέσιμη και η επιλογή διαγραφής του χρήστη από την υπηρεσία μέσω του κεντρικού μενού. Δίνοντας βάρος στην ιδιωτικότητα του χρήστη, σε περίπτωση που κάποιος επιλέξει να σταματήσει να χρησιμοποιεί την υπηρεσία, τότε θα διαγραφούν από το σύστημα όλα τα 21

22 σχετικά με εκείνον στοιχεία (οι επιλογές του ως προς τις θεματικές κατηγορίες, οι ομάδες χρηστών που είχε δημιουργήσει, καθώς και τα μηνύματα που είχε στείλει). Η εφαρμογή τερματίζει και διαγράφονται και από την μνήμη της συσκευής τα στοιχεία σύνδεσης του. Αν επανεκκινήσει την εφαρμογή, θα πρέπει να κάνει εκ νέου εγγραφή στο σύστημα. Χρήση Δημόσιων Θεματικών Κατηγοριών Μετά την εγγραφή ή την σύνδεση του, ο χρήστης μεταφέρεται στην οθόνη οπού εμφανίζονται οι θεματικές κατηγορίες στις οποίες είναι συνδρομητής. Στην συγκεκριμένη οθόνη εμφανίζεται επίσης το ψευδώνυμο το οποίο χρησιμοποιεί ο χρήστης στην υπηρεσία, ως επιβεβαίωση της επιτυχούς σύνδεσης. Η οθόνη αυτή θα μπορούσε να χαρακτηριστεί και ως το κεντρικό μενού της εφαρμογής. Ο χρήστης μπορεί να επιλέξει κάποια από τις κατηγορίες αυτές και να στείλει ένα καινούργιο μήνυμα. Αυτή είναι και η προεπιλεγμένη ενέργεια, δηλαδή πραγματοποιείται με το κεντρικό πλήκτρο της συσκευής. Ανάλογα με την επιλεγμένη θεματική κατηγορία μεταφέρεται στην κατάλληλη φόρμα. Στην περίπτωση που έχει επιλέξει την κατηγορία traffic (κίνηση στους δρόμους) του ζητείται να εισάγει τον δρόμο στον οποίο υπάρχει πρόβλημα καθώς και την περιοχή στην οποία βρίσκεται (από μια popup λίστα). Στην κατηγορία gas (τιμές πρατηρίων βενζίνης) εκτός από την διεύθυνση του πρατηρίου ζητείται επίσης και η τιμή της αμόλυβδης βενζίνης. Και στις δυο περιπτώσεις, γίνεται έλεγχος ότι ο χρήστης έχει συμπληρώσει όλα τα απαιτούμενα πεδία. Σχήμα 2.6: Αποστολή Πληροφοριών Ο χρήστης έχει επιπλέον την δυνατότητα να αλλάξει τις συνδρομές του. Με την επιλογή manage my subscriptions μεταφέρεται στην σχετική φόρμα. Αρχικά επιλέγει τις θεματικές κατηγορίες που τον ενδιαφέρουν (φυσικά μπορεί να μην επιλέξει κάποια) και στην συνέχεια τις περιοχές για τις οποίες επιθυμεί να λαμβάνει ενημέρωση. Σε περίπτωση που επιλέξει κάποια θεματική κατηγορία, ο χρήστης είναι αναγκασμένος να διαλέξει και τουλάχιστον μια περιοχή (εμφανίζεται σχετικό μήνυμα σφάλματος). Διαφορετικά, σε περίπτωση που δεν επιλέξει κάποια θεματική κατηγορία, οι επιλογές του σε σχέση με τις περιοχές δεν έχουν κάποιο νόημα και επομένως αγνοούνται από την εφαρμογή. Μετά από την επιτυχή ολοκλήρωση της διαδικασίας, ο χρήστης μεταφέρεται εκ νέου στο κεντρικό μενού. Οι θεματικές κατηγορίες που εμφανίζονται είναι σύμφωνες με τις νέες προτιμήσεις του. 22

23 Σχήμα 2.7: Αλλαγή Συνδρομών Χρήση Ομάδων Χρηστών Όπως αναφέρθηκε και προηγουμένως, οι χρήστες έχουν την δυνατότητα να δημιουργούν και να συμμετέχουν σε ομάδες χρηστών και να ανταλλάσσουν μεταξύ τους μηνύματα. Ακολουθώντας την σχετική επιλογή my groups από το κεντρικό μενού, ο χρήστης μεταφέρεται σε μια οθόνη όπου εμφανίζονται όλες οι ομάδες στις οποίες ανήκει καθώς και οι ομάδες για τις οποίες έχει δεχθεί πρόσκληση συμμετοχής. Ο χρήστης καταλαβαίνει σε ποια από τις δυο κατηγορίες ανήκει κάθε ομάδα που εμφανίζεται από την εικόνα που υπάρχει πλάι στο όνομα της (ένα πράσινο check σε περίπτωση που είναι μέλος ή ένα κόκκινο ερωτηματικό σε περίπτωση που δεν έχει δεχθεί ακόμη την πρόσκληση). Επιπλέον, οι ομάδες στις οποίες η συμμετοχή του εκκρεμεί ακόμη ξεχωρίζουν με ένα (P) το οποίο ακολουθεί τον τίτλο τους, από την αγγλική λέξη pending. Η προεπιλεγμένη ενέργεια (κεντρικό κουμπί της συσκευής) σε περίπτωση που εκκρεμεί ακόμη η πρόσκληση στην ομάδα είναι η αποδοχή της πρόσκλησης. Ο χρήστης αποδέχεται την πρόσκληση, η λίστα με τις ομάδες ανανεώνεται και πλέον η συγκεκριμένη ομάδα χαρακτηρίζεται από ένα πράσινο check και χωρίς το διακριτικό (P). Αν ο χρήστης είναι ήδη γραμμένος στην ομάδα, τότε μεταφέρεται στην φόρμα αποστολής μηνύματος στην ομάδα. Απαιτείται η συμπλήρωση ενός μόνο πεδίου που περιέχει το κείμενο του μηνύματος και από εκεί και πέρα, το σύστημα αναλαμβάνει την παράδοση του στα υπόλοιπα μέλη. Σχήμα 2.8: Διαχείριση Ομάδων Χρηστών και Αποστολή Μηνύματος 23

24 Σχήμα 2.9: Δημιουργία Ομάδας Χρηστών (1ο βήμα) Η επιλογή delete - διαγραφή, έχει διαφορετικές λειτουργίες ανάλογα με την κατάσταση του group. Αν ο χρήστης είναι ήδη μέλος της ομάδας, τότε ισοδυναμεί με την αποχώρηση του. Διαφορετικά, αν είναι ο ίδιος ο δημιουργός της ομάδας, τότε η ομάδα θα διαγραφεί τελείως από το σύστημα όπως και όλα τα σχετικά με εκείνη στοιχεία. Στην περίπτωση, τέλος, που ακόμη εκκρεμούσε η πρόσκληση στην ομάδα, τότε ο χρήστης απορρίπτει την πρόσκληση. Σε κάθε περίπτωση, μετά την ενέργεια αυτή, η λίστα με τις ομάδες του χρήστη ανανεώνεται έτσι ώστε να επιβεβαιωθούν οι αλλαγές που μόλις έκανε. Η διαδικασία δημιουργίας μιας νέας ομάδας χρηστών αποτελείται από τρία βήματα. Αρχικά, γίνεται έλεγχος από την εφαρμογή αν υπάρχει πρόσβαση στον τηλεφωνικό κατάλογο. Η πρόσβαση μπορεί να μην είναι δυνατή είτε λόγω απουσίας του PIM API, είτε επειδή ο ίδιος ο χρήστης είχε απαγορέψει κατά την εκκίνηση της εφαρμογής την πρόσβαση της στον τηλεφωνικό του κατάλογο, είτε επειδή συνέβη κάποιο άλλο σφάλμα κατά την ανάκτηση των επαφών. Σε κάθε περίπτωση, ο χρήστης ενημερώνεται με μήνυμα σφάλματος και η διαδικασία ακυρώνεται. Αν δεν υπάρξει κάποιο πρόβλημα, εμφανίζεται η πρώτη οθόνη για την δημιουργία μιας νέας ομάδας. Ζητείται από τον χρήστη να εισάγει όνομα για την νέα ομάδα καθώς και μια σύντομη περιγραφή. Το όνομα της ομάδας πρέπει να είναι μοναδικό και γίνεται σχετικός έλεγχος. Αν το όνομα χρησιμοποιείται ήδη τότε εμφανίζεται μήνυμα σφάλματος και ο χρήστης πρέπει να διαλέξει κάποιο διαφορετικό όνομα. Μόλις το όνομα και η περιγραφή της νέας ομάδας γίνουν αποδεκτά από το σύστημα τότε ο χρήστης μπορεί να προχωρήσει στην επόμενη φόρμα και στο τρίτο και τελευταίο βήμα της διαδικασίας που είναι η προσθήκη μελών. Εμφανίζεται ο τηλεφωνικός κατάλογος της συσκευής σε μια λίστα, από την οποία ο χρήστης μπορεί να επιλέξει τα μέλη τα οποία επιθυμεί να προσκαλέσει στην ομάδα του. Μετά την επιτυχή ολοκλήρωση της διαδικασίας ο χρήστης επιστρέφει στην λίστα με όλες τις ομάδες στις οποίες συμμετέχει η οποία ανανεώνεται έτσι ώστε να εμφανίζεται και η καινούργια. Επίσης, οι γραμμένοι στην υπηρεσία χρήστες που έλαβαν πρόσκληση βλέπουν την νέα ομάδα ως pending στην δική τους λίστα. Επειδή ο τίτλος μιας ομάδας χρηστών από μόνος του τις περισσότερες φορές δεν είναι ιδιαίτερα περιγραφικός, υπάρχει η δυνατότητα προβολής των στοιχείων κάθε ομάδας. Στα στοιχεία της ομάδας που αναφέρονται συμπεριλαμβάνονται η περιγραφή της ομάδος που είχε δώσει ο δημιουργός κατά την δημιουργία της καθώς και τα μέλη της. Τα μέλη της χωρίζονται σε τρεις κατηγορίες. Τα επικυρωμένα μέλη, στα μέλη που εκκρεμεί ακόμη η πρόσκληση τους και τέλος, τα άτομα τα οποία έχουν δεχθεί πρόσκληση αλλά δεν είναι χρήστες της υπηρεσίας. Στις δυο πρώτες περιπτώσεις, οι χρήστες χαρακτηρίζονται από το ψευδώνυμο που έχουν στο σύστημα, ενώ στην τρίτη κατηγορία εμφανίζεται ο αριθμός του κινητού τους, αφού δεν υπάρχει κάποια άλλη πληροφορία αποθηκευμένη για εκείνους. Στην συγκεκριμένη φόρμα, υπάρχουν δυο επιλογές για την διαχείριση της ομάδας. Οι επιλογές αυτές είναι διαθέσιμες μόνο στον δημιουργό της ομάδας. Αν κάποιος άλλος χρήστης επιχειρήσει να τις χρη- 24

25 Σχήμα 2.10: Δημιουργία Ομάδας Χρηστών (2ο βήμα) σιμοποιήσει τότε εμφανίζεται το σχετικό μήνυμα λάθους. Η πρώτη δυνατότητα που δίνεται είναι να καλέσει και άλλα μέλη στην ομάδα με χρήση του τηλεφωνικού καταλόγου της συσκευής και η δεύτερη είναι η διαγραφή μελών της ομάδας σε όποια και από τις τρεις κατηγορίες και αν ανήκουν. Να σημειωθεί εδώ, ότι δεν είναι δυνατή η προσθήκη νέων χρηστών σε περίπτωση που για οποιοδήποτε λόγο δεν είναι δυνατή η πρόσβαση στον τηλεφωνικό κατάλογο της συσκευής (εμφανίζεται μήνυμα σφάλματος) καθώς και ότι ο δημιουργός της ομάδας δεν μπορεί μπορεί να διαγράψει τον εαυτό του από την λίστα μελών. Σχήμα 2.11: Διαχείριση Μελών Ομάδας Τέλος, είναι πιθανό ο δημιουργός της ομάδας να καταργήσει την ομάδα ή να διαγράψει κάποιο μέλος της, αφού πρώτα εκείνος έχει ανοίξει την λίστα με τις ομάδες του και έτσι εκείνη να μην είναι πλέον ενημερωμένη. Ωστόσο, έχει ληφθεί μέριμνα και για αυτή τη σπάνια περίπτωση και γίνεται σχετικός έλεγχος πριν επιτραπεί στον χρήστη να στείλει ένα μήνυμα στην ομάδα ή να δει τις πληροφορίες της. Έτσι, αν έχει συμβεί κάτι τέτοιο, ο χρήστης ενημερώνεται με κατάλληλο μήνυμα σφάλματος, ότι, δηλαδή, το μήνυμα του δεν ήταν δυνατό να σταλεί ή ότι δεν έχει πρόσβαση στις πληροφορίες της ομάδας είτε επειδή δεν είναι ο ίδιος πλέον μέλος είτε επειδή η ομάδα έχει καταργηθεί. Αμέσως μετά, η λίστα με τις ομάδες ενημερώνεται έτσι ώστε να είναι έγκυρη. 25

26 Λήψη Ειδοποιήσεων Ένας από τους βασικότερους στόχους της εφαρμογής είναι η άμεση ενημέρωση των χρηστών. Μόλις κάποιος χρήστης στείλει ένα νέο μήνυμα, όλοι οι συνδεδεμένοι συνδρομητές λαμβάνουν μια νέα ειδοποίηση στην οθόνη τους με το μήνυμα αυτό. Το μήνυμα παραμένει ορατό μέχρι ο χρήστης να κλείσει το σχετικό παράθυρο έτσι ώστε να μην υπάρχει περίπτωση να μην το δει. Επιπλέον, αν ληφθεί και νέο μήνυμα πριν ο χρήστης κλείσει την ειδοποίηση για το προηγούμενο, τότε το σχετικό κείμενο προστίθεται στην ήδη υπάρχουσα ειδοποίηση. Η αντίστοιχη διαδικασία συμβαίνει και όταν αποστέλλεται ένα μήνυμα σε κάποια από τις ομάδες χρηστών. Σχήμα 2.12: Λήψη Ειδοποιήσεων Εφαρμογή Διακομιστή Όπως έχει αναφερθεί, ο διακομιστής οφείλει να αποκρίνεται κατάλληλα στα αιτήματα των τερματικών καθώς και να αποθηκεύει και να προωθεί την πληροφορία στους ενδιαφερόμενους. Για την εκπλήρωση των καθηκόντων του είναι απαραίτητη η σύνδεση του με την βάση δεδομένων του συστήματος. Γραφικό Περιβάλλον Η εφαρμογή διακομιστή εκτός από τις βασικές αυτές λειτουργίες παρέχει στους διαχειριστές του συστήματος ένα γραφικό περιβάλλον στο οποίο προβάλλονται πληροφορίες σχετικές με την λειτουργία και τη χρήση του συστήματος. Με αυτόν τον τρόπο, οι διαχειριστές είναι σε θέση να ελέγξουν την ομαλή λειτουργία του συστήματος αλλά και να εξάγουν χρήσιμα στατιστικά στοιχεία, όπως ποιες λειτουργίες είναι οι πιο δημοφιλείς, ποιοι χρήστες οι πιο δραστήριοι κα. Όπως βλέπουμε, το γραφικό περιβάλλον του διακομιστή αποτελείται από τέσσερις καρτέλες. Messages Η πρώτη καρτέλα έχει σχετικά απλή λειτουργία. Εμφανίζονται όλα τα μηνύματα που στέλνονται από και προς τα τερματικά. Τα μηνύματα αυτά ακολουθούν ένα συγκεκριμένο πρωτόκολλο επικοινωνίας το οποίο παρουσιάζεται αναλυτικά σε επόμενη ενότητα. Σε κάθε μήνυμα υπάρχει σαφής ένδειξη αν είναι εξερχόμενο ή εισερχόμενο και με ποιον χρήστη σχετίζεται καθώς πριν από κάθε μήνυμα προηγείται η σχετική εγγραφή FROM: 69XXXXXXXX (στην περίπτωση που είναι εισερχόμενο) ή TO: 69XXXXXXXX (αν είναι εξερχόμενο). 26

27 Σχήμα 2.13: Καρτέλα Μηνύματα Alerts Στην επόμενη καρτέλα, ο διαχειριστής του συστήματος έχει την δυνατότητα να δει τις πιο πρόσφατες δημοσιεύσεις στις ανοιχτές θεματικές κατηγορίες, ανεξάρτητα από το πότε στάλθηκαν. Ο διαχειριστής επιλέγει τον αριθμό των μηνυμάτων που επιθυμεί να εμφανιστεί. Σε περίπτωση που ο αριθμός που εισάγει ο χρήστης είναι μεγαλύτερος από τα αποθηκευμένα μηνύματα εμφανίζονται όλα τα μηνύματα. Σε κάθε μήνυμα αναφέρεται, επίσης, το πότε και από ποιόν χρήστη (ψευδώνυμο) στάλθηκε. Σχήμα 2.14: Καρτέλα Ειδοποιήσεις User Info Στην καρτέλα αυτή, ο διαχειριστής έχει την δυνατότητα να δει ένα είδος προφίλ του κάθε εγγεγραμμένου χρήστη. Επιλέγει από το drop down μενού τον χρήστη που τον ενδιαφέρει και στην συνέχεια εμφανίζονται τα σχετικά με αυτόν στοιχεία. Αυτά περιλαμβάνουν: την τρέχουσα κατάσταση του (σε περίπτωση που δεν είναι συνδεδεμένος εκείνη την στιγμή, εμφανίζεται η ημερομηνία της τελευταίας αποσύνδεσης του), τις θεματικές κατηγορίες και περιοχές στις οποίες είναι συνδρομητής καθώς και τις ομάδες χρηστών στις οποίες ανήκει. Να σημειωθεί εδώ, ότι εμφανίζονται μόνο οι ομάδες για τις οποίες ο χρήστης έχει αποδεχτεί την πρόσκληση. 27

28 Σχήμα 2.15: Καρτέλα Χρήστες Group Info Σε αυτή την καρτέλα εμφανίζονται πληροφορίες για τις ομάδες χρηστών που έχουν δημιουργηθεί. Ο διαχειριστής επιλέγει μια ομάδα και βλέπει όλα τα σχετικά με αυτήν στοιχεία. Μπορεί να δει, δηλαδή, τον δημιουργό της ομάδας, την περιγραφή της, τα τρία πιο πρόσφατα μηνύματα που έχουν ανταλλαχθεί καθώς και τα μέλη της. Στην καρτέλα αυτή εμφανίζονται όλα τα μέλη της ομάδας, ανεξάρτητα αν έχουν ήδη αποδεχτεί την πρόσκληση ή όχι. Εμφανίζονται επίσης τα νούμερα των κινητών ατόμων που έχουν λάβει πρόσκληση αλλά δεν έχουν γραφτεί ακόμη στην υπηρεσία. Φυσικά, ανάλογα με την κατάσταση του, το κάθε μέλος χαρακτηρίζεται από το κατάλληλο αναγνωριστικό. Σχήμα 2.16: Καρτέλα Ομάδες Χρηστών Βάση Δεδομένων Όπως αναφέρθηκε η λειτουργία του διακομιστή εξαρτάται άμεσα από την βάση δεδομένων. Η βάση δεδομένων αποθηκεύει στοιχεία σχετικά με: 28 Τους χρήστες της υπηρεσίας και τις συνδρομές τους. Τις ομάδες χρηστών που έχουν δημιουργηθεί και τα μέλη τους. Τα μηνύματα που έχουν σταλεί στις δημόσιες θεματικές κατηγορίες και στις ομάδες χρηστών. Αποθηκεύονται, επίσης, προσωρινά, και τα μηνύματα προς χρήστες που δεν είναι συνδεδεμένοι

29 την στιγμή της αποστολής έτσι ώστε να είναι δυνατή η παράδοση τους στην επόμενη σύνδεση τους. Άτομα που έχουν δεχτεί προσκλήσεις σε ομάδες χρηστών αλλά δεν έχουν ακόμη γραφτεί στην υπηρεσία έτσι ώστε να δεχθούν την πρόσκληση κατά την εγγραφή τους. Όπως είναι γνωστό, το διάγραμμα οντοτήτων - συσχετίσεων (E-R) είναι ένα εννοιολογικό (conceptual) μοντέλο το οποίο έχει ως σκοπό να αποτυπώσει τις ιδιότητες των οντοτήτων και τις σχέσεις μεταξύ αυτών και όχι την δομή της ίδιας της βάσης δεδομένων. Κατά την υλοποίηση της βάσης δεδομένων λαμβάνονται υπ όψιν και άλλοι παράγοντες όπως θέματα απόδοσης για το συγκεκριμένο πρόβλημα που προσπαθούμε να λύσουμε. Σύμφωνα, λοιπόν, με το μοντέλο οντοτήτων συσχετίσεων έχουμε τις εξής οντότητες: Πρόσωπο: Αντιπροσωπεύει ένα άτομο. Χαρακτηρίζεται από τον αριθμό τηλεφώνου του. Χρήστης: Αντιπροσωπεύει τους γραμμένους χρήστες στην υπηρεσία. Αποτελεί εξειδίκευση του προσώπου και χαρακτηρίζεται επιπλέον από το ψευδώνυμο του, την ημερομηνία τελευταίας σύνδεσης και την τρέχουσα κατάσταση του. Ομάδα Χρηστών: Αντιπροσωπεύει μια ομάδα χρηστών στο σύστημα. Χαρακτηρίζεται από το όνομα της ομάδας και την περιγραφή της. Θεματική Κατηγορία: Αντιπροσωπεύει τις διαθέσιμες επιλογές του χρήστη ως προς τις θεματικές κατηγορίες και περιοχές. Μήνυμα: Χαρακτηρίζεται από το κείμενο του μηνύματος και την ημερομηνία και ώρα αποστολής. Οι οντότητες αυτές συνδέονται μεταξύ τους με τις παρακάτω σχέσεις: Συνδρομητής: Συνδέει τις οντότητες Χρήστης και Θεματική Κατηγορία. Είναι μια σχέση πολλά προς πολλά. Αποστολέας: Συνδέει τις οντότητες Χρήστης και Μήνυμα. Είναι μια σχέση ένα προς πολλά. Μέλος: Συνδέει τις οντότητες Πρόσωπο και Ομάδα Χρηστών. Είναι μια σχέση πολλά προς πολλά. Χαρακτηρίζεται από την ιδιότητα κατάσταση που παίρνει τις τιμές επιβεβαιωμένο μέλος, εκκρεμεί απάντηση και όχι γραμμένος. Ανήκει: Συνδέει τις οντότητες Μήνυμα και Ομάδα Χρηστών. Είναι μια σχέση πολλά προς ένα. Προσδιορίζει σε ποια ομάδα ανήκει το μήνυμα. Αναφέρεται: Συνδέει τις οντότητες Μήνυμα και Θεματική Κατηγορία. Είναι μια σχέση πολλά προς ένα. Προσδιορίζει σε ποια θεματική κατηγορία αναφέρεται το μήνυμα. Δημιουργός: Συνδέει τις οντότητες Χρήστης και Ομάδα Χρηστών. Είναι μια σχέση ένα προς πολλά. Προσδιορίζει τον χρήστη που δημιούργησε την ομάδα. Ακολουθεί το ER διάγραμμα όπου φαίνονται τα παραπάνω στο οποίο ακολουθήθηκαν οι συμβολισμοί του βιβλίου «Database Systems Concepts, Korth & Silbershatz, Mc.Graw Hill». 29

30 Σχήμα 2.17: Διάγραμμα ER Βάσης Δεδομένων Διαγράμματα Ροής Δεδομένων Στην ενότητα αυτή παρατίθενται τα διαγράμματα ροής δεδομένων (DataFlow Diagrams - DFDs) για τις πιο σημαντικές λειτουργίες του συστήματος οι οποίες παρουσιάστηκαν προηγουμένως. Εγγραφή στην Υπηρεσία Σχήμα 2.18: DFD Εγγραφή στην Υπηρεσία Κατά την εγγραφή, αρχικά, ο χρήστης εισάγει τα στοιχεία του στα οποία γίνεται έλεγχος αν είναι έγκυρα (10 ψήφιος αριθμός τηλεφώνου, να μην υπάρχει κάποιο πεδίο κενό). Εφόσον δεν υπάρξει πρόβλημα, το τερματικό στέλνει την σχετική αίτηση στον εξυπηρετητή. Εκείνος, την λαμβάνει και υποβάλλει το σχετικό ερώτημα στην βάση δεδομένων. Ανάλογα, με το αποτέλεσμα του ερωτήματος, αποστέλλει την κατάλληλη απόκριση στον χρήστη. 30

31 Σύνδεση στην Υπηρεσία Σχήμα 2.19: DFD Σύνδεση στην Υπηρεσία Εφόσον ο χρήστης είναι ήδη γραμμένος στην υπηρεσία, αρχικά ανακτώνται από την μόνιμη μνήμη της συσκευής του τα στοιχεία σύνδεσης και στέλνεται το κατάλληλο αίτημα στον διακομιστή. Στην συνέχεια, ο διακομιστής επεξεργάζεται το αίτημα, χαρακτηρίζει τον χρήστη ως συνδεδεμένο και λαμβάνει από την βάση δεδομένων τυχόν μηνύματα εκτός σύνδεσης τα οποία και περιλαμβάνει στην απόκριση του προς το τερματικό. Επεξεργασία Συνδρομών Σχήμα 2.20: DFD Επεξεργασία Συνδρομών Αρχικά, ο χρήστης συμπληρώνει την σχετική φόρμα. Γίνεται έλεγχος για την εγκυρότητα των επιλογών του (αν έχει συμπληρώσει και περιοχές αν έχει επιλέξει κάποια θεματική κατηγορία). Στην συνέχεια, αποστέλλεται το σχετικό αίτημα στον διακομιστή ο οποίος καταχωρεί στην βάση δεδομένων τις νέες προτιμήσεις του χρήστη. Ύστερα, αποκρίνεται αποστέλλοντας στο τερματικό τις νέες ενημερωμένες επιλογές του οι οποίες και εμφανίζονται στην οθόνη του κινητού τηλεφώνου. 31

32 Προβολή Πληροφοριών Ομάδας Χρηστών Σχήμα 2.21: DFD Προβολή Πληροφοριών Ομάδας Χρηστών Λαμβάνεται ως είσοδος το όνομα της ομάδας χρηστών για την οποία ο χρήστης ζητάει πληροφορίες και στέλνεται το κατάλληλο αίτημα στον διακομιστή. Ο διακομιστής ζητάει από την βάση δεδομένων τις πληροφορίες. Εάν ο χρήστης δεν είναι πλέον μέλος της ομάδας τότε η βάση δεν επιτρέπει την πρόσβαση στα στοιχεία αυτά. Σε κάθε περίπτωση, ο διακομιστής αποστέλλει την απόκριση στο τερματικό, στην οθόνη του οποίου εμφανίζονται τα αποτελέσματα του αιτήματος του. Δημιουργία Ομάδας Χρηστών Σχήμα 2.22: DFD Δημιουργία Ομάδας Χρηστών Αρχικά, ο χρήστης συμπληρώνει την σχετική φόρμα και γίνεται έλεγχος αν υπάρχει κάποιο πεδίο κενό. Εφόσον δεν υπάρξει κάποιο πρόβλημα, τότε στέλνεται στον διακομιστή το αίτημα για την δημιουργία της ομάδας. Ο διακομιστής προωθεί το αίτημα αυτό στην βάση δεδομένων. Αν το όνομα που έχει επιλέξει ο χρήστης είναι δεσμευμένο, τότε η βάση δεν επιτρέπει την δημιουργία της ομάδας. Σε κάθε περίπτωση, στέλνεται η σχετική απόκριση. Αν η δημιουργία της ομάδας ήταν επιτυχής τότε ο χρήστης μπορεί να προχωρήσει στην προσθήκη μελών. 32

33 Προσθήκη Μελών Σχήμα 2.23: DFD Προσθήκη Μελών σε Ομάδα Ο χρήστης επιλέγει από τον τηλεφωνικό του κατάλογο τα άτομα που επιθυμεί να προσκαλέσει στην ομάδα. Έτσι, στέλνεται το σχετικό αίτημα, το οποίο επεξεργάζεται ο διακομιστής, αποθηκεύοντας τις αλλαγές στην βάση δεδομένων. Η βάση δεδομένων δεν επιτρέπει διπλοεγγραφές σε μια ομάδα χρηστών και έτσι αγνοεί τέτοια αιτήματα. Δεν γίνεται έλεγχος αν ο χρήστης είναι ο δημιουργός της ομάδας, καθώς αν δεν ήταν δεν θα του είχε επιτραπεί η πρόσβαση στην λειτουργία εξ αρχής. Διαγραφή Μελών Σχήμα 2.24: DFD Διαγραφή Μελών από Ομάδα Αρχικά, η εφαρμογή πελάτης ζητάει από τον διακομιστή την λίστα με τα μέλη μιας ομάδας χρηστών έτσι ώστε να επιλέξει ο χρήστης ποια απ αυτά επιθυμεί να διαγράψει. Ο διακομιστής, σε συνεργασία με την βάση δεδομένων, επιστρέφει την ζητούμενη λίστα. Στην συνέχεια, ο χρήστης επιλέγει τα μέλη προς διαγραφή και στέλνει το σχετικό αίτημα στον διακομιστή, ο οποίος αποθηκεύει τις αλλαγές στην βάση δεδομένων. Δεν γίνεται έλεγχος αν ο χρήστης είναι ο δημιουργός της ομάδας, καθώς αν δεν ήταν δεν θα του είχε επιτραπεί η πρόσβαση στην λειτουργία εξ αρχής. 33

34 Διαγραφή / Αποχώρηση από Ομάδα Σχήμα 2.25: DFD Διαγραφή / Αποχώρηση από Ομάδα Ο χρήστης επιλέγει την ομάδα από την οποία επιθυμεί να πάψει να είναι μέλος και στέλνει το σχετικό αίτημα στον διακομιστή. Στην συνέχεια, ο διακομιστής ελέγχει αν ο αποστολέας του αιτήματος είναι ο δημιουργός της ομάδας. Στην περίπτωση αυτή, διαγράφει τελείως την ομάδα αυτή από την βάση δεδομένων. Διαφορετικά, απλώς διαγράφει το συγκεκριμένο μέλος. Ανταλλαγή Μηνυμάτων Σχήμα 2.26: DFD Ανταλλαγή Μηνυμάτων Ο αποστολέας του μηνύματος (client A) πληκτρολογεί το μήνυμα στην σχετική φόρμα και το αίτημα προωθείται στον διακομιστή. Ο διακομιστής λαμβάνει το νέο μήνυμα, και το αποθηκεύει στην βάση 34

35 δεδομένων αφού κάνει πρώτα έλεγχο αν ο συγκεκριμένος χρήστης είναι ακόμη μέλος της ομάδας, αν πρόκειται για μήνυμα προς ομάδα χρηστών. Στην συνέχεια, ανακτά από την βάση τα στοιχεία των παραληπτών του μηνύματος. Σε περίπτωση που κάποιοι απ αυτούς είναι εκτός σύνδεσης τότε προσθέτει την σχετική εγγραφή στην βάση δεδομένων. Διαφορετικά, δημιουργεί ένα μήνυμα - ειδοποίηση το οποίο προωθεί στους παραλήπτες (client B) στην οθόνη των οποίων εμφανίζεται το μήνυμα που είχε στείλει ο client A. 35

36

37 Κεφάλαιο 3 Σχεδίαση Συστήματος Στο κεφάλαιο αυτό, θα δοθεί μια σύντομη περιγραφή της αρχιτεκτονικής του συστήματος. Το σύστημα υλοποιήθηκε σε αντικειμενοστραφή γλώσσα (Java), άρα τα κομμάτια από τα οποία αποτελείται είναι στην ουσία οι κλάσεις που υλοποιήθηκαν. Θα δοθεί μια σύντομη περιγραφή κάθε κλάσης και, επιπλέον, παρατίθεται και το σχετικό διάγραμμα κλάσεων τόσο για την εφαρμογή κεντρικού εξυπηρετητή όσο και για την εφαρμογή πελάτη. 3.1 Αρχιτεκτονική Το σύστημα μας βασίζεται στην αρχιτεκτονική client-server. Τα τερματικά (κινητά τηλέφωνα) επικοινωνούν με τον κεντρικό διακομιστή, ο οποίος επεξεργάζεται τα αιτήματα τους και αποκρίνεται καταλλήλως. Απαραίτητη στην λειτουργία του διακομιστή είναι η βάση δεδομένων η οποία του παρέχει τα απαιτούμενα δεδομένα και ελέγχει για μη συνεπείς ή ανεπιθύμητες καταστάσεις. Κατά τον σχεδιασμό και την υλοποίηση του συστήματος, επιλέχθηκε να μεταφερθεί, όσο ήταν κάτι τέτοιο εφικτό, ο υπολογιστικός φόρτος στην εφαρμογή του διακομιστή από την εφαρμογή πελάτη. Αυτή η επιλογή ήταν εύλογη καθώς τα τερματικά είναι κινητά τηλέφωνα με ιδιαίτερα περιορισμένους υπολογιστικούς πόρους. Με αυτόν τον τρόπο η εφαρμογή θα τρέχει όσο το δυνατόν ταχύτερα. Επίσης, φροντίσαμε να είναι ιδιαίτερα απλή ώστε να μην προβληματίζει τον τελικό χρήστη, αναγκάζοντας τον να καταφύγει σε κάποιο εγχειρίδιο χρήσης. 3.2 Περιγραφή Κλάσεων Στην ενότητα αυτή θα αναφερθούμε αρχικά στις κλάσεις οι οποίες αποτελούν την εφαρμογή πελάτη και στα πακέτα στα οποία αυτές οργανώνονται. Θα ακολουθήσει η ίδια παρουσίαση και για την εφαρμογή εξυπηρετητή Εφαρμογή Πελάτη Η εφαρμογή πελάτη αποτελείται από τα ακόλουθα πακέτα: visual: Περιέχει κλάσεις που αφορούν το γραφικό περιβάλλον (GUI) της εφαρμογής comm: Ασχολείται με την σύνδεση στο server μέσω internet/δικτύου κινητής τηλεφωνίας και την επικοινωνία με αυτόν. storage: Ασχολείται με θέματα μόνιμης αποθήκευσης και ανάκτησης πληροφοριών στην συσκευή. Πιο αναλυτικά, οι κλάσεις που περιλαμβάνει κάθε πακέτο είναι: 37

38 visual.ui Πρόκειται για την κεντρική κλάση της εφαρμογής. Είναι υποκλάση της κλάσης MIDlet, η οποία είναι έτοιμη κλάση της JavaME και αντιπροσωπεύει μια αυτόνομη εφαρμογή. Προφανώς, λοιπόν, περιλαμβάνει και τον κώδικα για την εκκίνηση και τον τερματισμό της εφαρμογής. Επίσης, περιέχει κώδικα για την δημιουργία όλων των στοιχείων του γραφικού περιβάλλοντος της εφαρμογής καθώς και ακροατές συμβάντων για την είσοδο από τον χρήστη οι οποίοι συνήθως καλούν τις αντίστοιχες μεθόδους της κλάσης visual.update. Περιλαμβάνει, επίσης, την λογική για το ποια οθόνη πρέπει να διαδεχθεί ποια. visual.update Οι μέθοδοι στην κλάση αυτή αναλαμβάνουν την ενημέρωση του γραφικού περιβάλλοντος. Θα μπορούσαμε να τις χωρίσουμε σε δυο κατηγορίες: στις μεθόδους που καλούνται από τους ακροατές συμβάντων της παραπάνω κλάσης (visual.ui), ως απάντηση στις ενέργειες του χρήστη (πχ. αλλαγή των συνδρομών του) και στις μεθόδους που καλούνται ως απόκριση της εφαρμογής σε κάποιο εισερχόμενο μήνυμα από τον διακομιστή (πχ. λήψη μιας νέας ειδοποίησης). Επίσης, καλώντας τις σχετικές μεθόδους της κλάσης ServerConnection επιτυγχάνει την επικοινωνία με τον διακομιστή όποτε είναι απαραίτητο κάτι τέτοιο. storage.user Ελέγχει αν υπάρχει αποθηκευμένο το τηλέφωνο του χρήστη έτσι ώστε η εφαρμογή να αποφασίσει αν πρέπει να προχωρήσει στην διαδικασία εγγραφής νέου χρήστη ή στην διαδικασία σύνδεσης υπάρχοντος χρήστη. Αν δεν υπάρχει, κατά την εγγραφή του χρήστη, δηλαδή, αναλαμβάνει την αποθήκευση του αριθμού τηλεφώνου στην μόνιμη μνήμη της συσκευής. Στις επόμενες εκτελέσεις, αναλαμβάνει την ανάκτηση του αριθμού ο οποίος είναι απαραίτητος ώστε να γίνει η σύνδεση του χρήστη με τον διακομιστή. Με αυτόν τον τρόπο, ο χρήστης δεν είναι αναγκασμένος να πληκτρολογεί τα στοιχεία του κάθε φορά που χρησιμοποιεί την εφαρμογή, καθώς η σύνδεση γίνεται αυτόματα. storage.nickname Η λειτουργία της είναι παρόμοια με την κλάσης User. Η συγκεκριμένη κλάση αναλαμβάνει τόσο την αποθήκευση, κατά την εγγραφή, όσο και την ανάκτηση, στην συνέχεια, του ψευδώνυμου του χρήστη. Δεν απαιτείται αποστολή του ψευδωνύμου για την σύνδεση με την υπηρεσία, ωστόσο χρησιμεύει στο να εμφανίζεται ως τίτλος στο κεντρικό μενού της εφαρμογής επιβεβαιώνοντας έτσι την επιτυχή σύνδεση στην υπηρεσία. (Logged in as: <username>). storage.phonelist Η κλάση αυτή ασχολείται με την ανάκτηση του τηλεφωνικού καταλόγου από το κινητό τηλέφωνο έτσι ώστε να είναι διαθέσιμος στην εφαρμογή μόλις τον χρειαστεί. Κατ αρχάς, η κλάση αυτή ελέγχει αν το πακέτο PIM API είναι διαθέσιμο στην συσκευή. Οι μέθοδοι της κλάσης είναι υπεύθυνες έτσι ώστε να ανακτηθούν μόνο τα ζητούμενα πεδία. Αν υπάρξει οποιοδήποτε πρόβλημα κατά την ανάκτηση του καταλόγου δημιουργείται η σχετική εξαίρεση και έτσι η εφαρμογή δεν επιτρέπει την χρήση των λειτουργιών που απαιτούν την ανάγνωση του τηλεφωνικού καταλόγου. comm.serverconnection Η κλάση αυτή αναλαμβάνει, αρχικά, την σύνδεση με τον κεντρικό εξυπηρετητή. Στην συνέχεια, αναλαμβάνει την αποστολή και την λήψη μηνυμάτων σύμφωνα με το πρωτόκολλο της εφαρμογής. Τα μηνύματα που λαμβάνει από τον διακομιστή χωρίζονται σε δυο κατηγορίες. Σε εκείνα που είναι η απόκριση σε κάποιο αίτημα που έστειλε προηγουμένως η εφαρμογή πελάτη (pull) και σε μηνύματα 38

39 που στέλνονται με πρωτοβουλία του διακομιστή (push). Τα μηνύματα της δεύτερης κατηγορίας είναι στην ουσία οι ειδοποιήσεις που στέλνει ο διακομιστής όταν υπάρξει νέα πληροφορία διαθέσιμη που αφορά τον πελάτη. Στην πρώτη περίπτωση, καλείται συγκεκριμένη μέθοδος η οποία τοποθετεί το μήνυμα σε ειδική δομή έτσι ώστε να είναι διαθέσιμο στην μέθοδο που έχει μπλοκάρει περιμένοντας να διαβάσει την απάντηση από τον διακομιστή και να συνεχίσει και εκείνη την εκτέλεση της. Αντίθετα, στην δεύτερη περίπτωση, καλεί τις σχετικές μεθόδους της κλάσης visual.update έτσι ώστε να ενημερωθεί το γραφικό περιβάλλον της εφαρμογής και να εμφανιστεί το σχετικό μήνυμα στην οθόνη της συσκευής. comm.stringtokenizer Η κλάση StringTokenizer της Java SE (java.util.stringtokenizer) απουσιάζει από την Java Micro Edition. Η κλάση αυτή παρέχει λειτουργίες χωρισμού συμβολοακολουθιών με βάση κάποιο ειδικό χαρακτήρα που δίνεται (delimiter). Για τις ανάγκες της εφαρμογής πελάτη αρκεί o χωρισμός συμβολοακολουθιών με βάση τον χαρακτήρα semicolon (;) έτσι ώστε να είναι δυνατή η επεξεργασία των μηνυμάτων που λαμβάνει η εφαρμογή από τον κεντρικό εξυπηρετητή. Έτσι, η απλοποιημένη εκδοχή της κλάσης, παρέχει τη σχετική μέθοδο που επιστρέφει την χωρισμένη συμβολοακολουθία σε κατάλληλη δομή (Vector). Ακολουθεί το διάγραμμα κλάσεων της εφαρμογής πελάτη, στο οποίο φαίνονται οι κλάσεις της εφαρμογής και ο τρόπος με τον οποίο επικοινωνούν μεταξύ τους. Σχήμα 3.1: Διάγραμμα Κλάσεων Εφαρμογής Πελάτη Εφαρμογή Εξυπηρετητή Οι κλάσεις της εφαρμογής εξυπηρετητή είναι χωρισμένες σε 3 πακέτα. 39

40 gui: Περιλαμβάνει κλάσεις σχετικές με την δημιουργία του γραφικού περιβάλλοντος και την ενημέρωση του. networking: Αφορά την δικτυακή επικοινωνία του server. Αναλαμβάνει την διαχείριση των συνδέσεων με τους πελάτες καθώς και την αποστολή/λήψη μηνυμάτων με αυτούς. database: Ασχολείται με θέματα σύνδεσης με την βάση δεδομένων, καθώς και εκτέλεσης ερωτημάτων σε αυτή. Πιο αναλυτικά, η εφαρμογή εξυπηρετητή περιλαμβάνει τις ακόλουθες κλάσεις: gui.billboardserverapp Πρόκειται για την κλάση που καλείται για την έναρξη της εφαρμογής, η κεντρική κλάση της. Σε αυτή τη κλάση γίνονται αρχικοποιήσεις και καλούνται οι σχετικές μέθοδοι έτσι ώστε να επιτευχθεί η σύνδεση με την βάση δεδομένων και να είναι σε θέση ο διακομιστής να λάβει πλέον συνδέσεις από τους πελάτες. gui.billboardserverview Σε αυτή τη κλάση υλοποιείται το κύριο παράθυρο της εφαρμογής. Δημιουργούνται όχι μόνο τα στοιχεία του γραφικού περιβάλλοντος αλλά και οι απαραίτητοι ακροατές συμβάντων έτσι ώστε η εφαρμογή να αποκρίνεται στον χρήστη. Στις περισσότερες περιπτώσεις, οι ακροατές συμβάντων προωθούν το αίτημα του χρήστη στην κλάση gui.updater έτσι ώστε να γίνει η επεξεργασία του. Επίσης, παρέχονται οι μέθοδοι για την επεξεργασία των στοιχείων του γραφικού περιβάλλοντος (πχ ανάθεση μιας νέας τιμής σε κάποιο text box). gui.billboardserveraboutbox Σε αυτή τη κλάση υλοποιείται το παράθυρο που περιέχει πληροφορίες για την εφαρμογή, όπως η έκδοση, στοιχεία επικοινωνίας κα. Σχήμα 3.2: Παράθυρο About gui.updater Οι μέθοδοι της κλάσης αυτής αναλαμβάνουν την εκτέλεση των κατάλληλων ενεργειών έτσι ώστε να είναι δυνατή η ενημέρωση του γραφικού περιβάλλοντος. Οι μέθοδοι αυτές καλούνται από τους ακροατές συμβάντων ως απόκριση σε ενέργεια του χρήστη, είτε από άλλες κλάσεις ως απόκριση της εφαρμογής σε εισερχόμενα μηνύματα από τους πελάτες. Αρχικά, επεξεργάζονται τα αιτήματα που δέχονται, καλώντας και μεθόδους άλλων κλάσεων και, στην συνέχεια, καλούν τις κατάλληλες μεθόδους της BillboardServerView έτσι ώστε τα αποτελέσματα να είναι ορατά στον χρήστη. 40

41 networking.serverlistener Η κλάση αυτή εκτελείται σε χωριστό νήμα (thread). Ανοίγει την θύρα 4444 στον server και αναμένει για συνδέσεις από την εφαρμογή πελάτη στην θύρα αυτή. Το νήμα μπλοκάρει αναμένοντας την σύνδεση κάποιου τερματικού (εφαρμογής πελάτη). Μόλις δεχθεί μια νέα σύνδεση ξεμπλοκάρει και δημιουργεί ένα αντικείμενο της κλάσης networking.userlistener (η λειτουργία της οποίας εξηγείται αμέσως παρακάτω) και στην συνέχεια ξανά μπλοκάρεται περιμένοντας την επόμενη σύνδεση τερματικού. Επιπλέον, η κλάση ServerListener αποθηκεύει μια λίστα με όλους τους γραμμένους χρήστες της υπηρεσίας την οποία περνά ως παράμετρο στους UserListerner έτσι ώστε να είναι δυνατή επικοινωνία μεταξύ τους. networking.userlistener Αυτή η κλάση εξυπηρετεί την σύνδεση του κάθε τερματικού με τον server σε ξεχωριστό thread. Υπάρχει ένα στιγμιότυπο της κλάσης αυτής για κάθε χρήστη συνδεδεμένο στο σύστημα. Αρχικά, αντιστοιχεί στην οντότητα του χρήστη που εξυπηρετεί το socket με το οποίο έχει συνδεθεί στο σύστημα. Στη συνέχεια, μπλοκάρει περιμένοντας να λάβει κάποιο μήνυμα από τον συγκεκριμένο χρήστη. Μόλις λάβει κάποιο μήνυμα - αίτημα, λοιπόν, ξεμπλοκάρει και εκτελεί τις απαιτούμενες ενέργειες. Αυτές περιλαμβάνουν την ενημέρωση του γραφικού περιβάλλοντος της εφαρμογής (καλώντας σχετικές μεθόδους του Updater) και την εκτέλεση κάποιου ερωτήματος προς την βάση δεδομένων (με κλήση μεθόδων του πακέτου database). Σε πολλές περιπτώσεις, μετά την εκτέλεση του αιτήματος απαιτείται να στείλει και κάποια απόκριση στον πελάτη. Επιπλέον, σε περίπτωση που ο χρήστης τον οποίο εξυπηρετεί ανεβάσει κάποια πληροφορία στις δημόσιες θεματικές κατηγορίες ή στείλει κάποιο μήνυμα σε μια ομάδα χρηστών, το στιγμιότυπο της κλάσης το οποίο τον εξυπηρετεί είναι υπεύθυνο για την άμεση προώθηση του μηνύματος σε όλους τους ενδιαφερόμενους ή την αποθήκευση του στην βάση δεδομένων ως μήνυμα εκτός σύνδεσης. Τέλος, κατά την αποσύνδεση του χρήστη αναλαμβάνει να καταργήσει το socket το οποίο τον εξυπηρετεί και να ενημερώσει την σχετική λίστα. database.user Αυτή η κλάση αναπαριστά την οντότητα του χρήστη στο σύστημα. Ο κάθε χρήστης χαρακτηρίζεται στο σύστημα από τον αριθμό τηλεφώνου του καθώς και το socket το οποίο τον εξυπηρετεί. Οι χρήστες αναπαρίστανται στο σύστημα ανεξάρτητα από το αν είναι συνδεδεμένοι ή όχι εκείνη την στιγμή. Οι μη συνδεδεμένοι χρήστες διαφοροποιούνται από τους υπόλοιπους καθώς το πεδίο που αφορά το socket το οποίο τους εξυπηρετεί έχει την τιμή null. database.dbmanager Η κλάση αυτή αρχικά αναλαμβάνει τον έλεγχο για τον αν υπάρχει διαθέσιμος ο κατάλληλος οδηγός για την σύνδεση με βάση MySQL. Στην συνέχεια, πραγματοποιεί την σύνδεση με την βάση δεδομένων μέσω της οποίας οι υπόλοιπες κλάσεις του πακέτου θα εκτελούν ερωτήματα προς αυτήν. database.dbgui Οι μέθοδοι της κλάσης αυτής είναι όλες στατικές. Στην κλάση, αυτή, λοιπόν, δημιουργούνται όλα τα ερωτήματα προς την βάση τα οποία είναι απαραίτητα για την ενημέρωση του γραφικού περιβάλλοντος του διακομιστή. Επιπλέον, οι μέθοδοι της αναλαμβάνουν να επιστρέψουν τα αποτελέσματα σε κατάλληλες δομές έτσι ώστε να τα επεξεργαστεί η κλάση gui.updater. database.dbuser Στην κλάση αυτή υλοποιούνται τα ερωτήματα προς την βάση τα οποία είναι αποτέλεσμα κάποιου αιτήματος από τερματικό και είναι σχετικά με τον χρήστη της υπηρεσίας. Οι μέθοδοι της κλάσης αυτής αναλαμβάνουν, πχ, την αποθήκευση στην βάση δεδομένων των στοιχείων ενός νέου χρήστη, την 41

42 αποθήκευση και την ανάκτηση των συνδρομών του, καθώς και την ανάκτηση των έγκυρων εκτός σύνδεσης μηνυμάτων κατά την σύνδεση του. Επιπλέον, σε περίπτωση που απαιτείται αποστολή κάποιας απάντησης από τον διακομιστή προς τον πελάτη τότε οι μέθοδοι αυτές επιστρέφουν τα σχετικά αποτελέσματα ως μηνύματα σύμφωνα με το πρωτόκολλο επικοινωνίας έτσι ώστε να είναι έτοιμα προς αποστολή. database.dbgroups Η κλάση αυτή έχει παρόμοια λειτουργία με την προηγούμενη. Η συγκεκριμένη, όμως, αφορά τα ερωτήματα που σχετίζονται με τις ομάδες χρηστών. Οι μέθοδοι της κλάσης, δηλαδή, αναλαμβάνουν την ενημέρωση της βάσης για την δημιουργία νέων ομάδων, την προσθήκη και την διαγραφή μελών, καθώς και την ανάκτηση των σχετικών πληροφοριών. database.dbmessage Τέλος, η κλάση αυτή αναλαμβάνει την διαχείριση των πληροφοριών που στέλνουν οι χρήστες και των μηνυμάτων τους προς τις ομάδες χρηστών. Πιο συγκεκριμένα, υπάρχουν μέθοδοι που απλώς αποθηκεύουν τα νέα μηνύματα στην βάση δεδομένων και κάποιες άλλες οι οποίες είναι υπεύθυνες για την ανάκτηση των στοιχείων των ενδιαφερομένων σε κάθε μήνυμα έτσι ώστε να προωθηθεί σε εκείνους άμεσα ή να αποθηκευτεί ως μήνυμα εκτός σύνδεσης. Κλείνοντας την ενότητα παρατίθεται το διάγραμμα κλάσεων για την εφαρμογή του κεντρικού εξυπηρετητή Βάση Δεδομένων Η βάση δεδομένων είναι ένα πολύ σημαντικό μέρος του συστήματος. Ο ρόλος της είναι διπλός καθώς εξασφαλίζει και την διάρκεια των δεδομένων και την συνέπεια αυτών. Στην βάση δεδομένων, λοιπόν, αποθηκεύονται όλες οι πληροφορίες που είναι απαραίτητες για την λειτουργία του διακομιστή. Αυτό γίνεται για κυρίως για δυο λόγους. Ο πρώτος είναι ότι έτσι αποφεύγουμε την πιθανότητα απώλειας πληροφορίας ακόμη και σε περίπτωση που για οποιοδήποτε λόγο τερματιστεί η λειτουργία του εξυπηρετητή (πχ δυσλειτουργία, αναβάθμιση) και χρειαστεί να επανεκκινήσει. Έτσι, ακόμη και αν συμβεί κάτι τέτοιο δεν θα έχει χαθεί οτιδήποτε από τα δεδομένα και το σύστημα θα είναι σε θέση να ανακάμψει ταχύτατα. Επιπλέον, η χρήση βάσης δεδομένων κάνει πιο εύκολη την αποθήκευση, οργάνωση και ανάκτηση της πληροφορίας. Πιο συγκεκριμένα η βάση αποθηκεύει δεδομένα σχετικά με (σε παρένθεση αναφέρεται ο σχετικός πίνακας στην βάση): Χρήστες τους συστήματος. Αποθηκεύει το όνομα χρήστη, το κινητό τους τηλέφωνο, αν είναι συνδεδεμένοι εκείνη την στιγμή, καθώς και την ημερομηνία της τελευταίας αποσύνδεσης τους (users). Επιλογές των χρηστών. Αποθηκεύει για κάθε χρήστη τις συνδρομές του, δηλαδή πληροφορίες σχετικά με τις θεματικές ενότητες και τις περιοχές για τις οποίες επιθυμεί πληροφόρηση (subscriptions). Ομάδες Χρηστών. Αποθηκεύει τις ομάδες χρηστών που έχουν δημιουργήσει οι χρήστες του συστήματος. Κάθε ομάδα χαρακτηρίζεται από το όνομα της, την περιγραφή της και από τον χρήστη που την δημιούργησε (pgroup). Επιπλέον, κρατούνται πληροφορίες σχετικά με τα μέλη της κάθε ομάδας και αν έχουν αποδεχθεί την πρόσκληση ή εκκρεμεί ακόμη η απάντηση τους (groupmembers). Μηνύματα. Στην βάση αποθηκεύονται τα μηνύματα που έχουν σταλεί είτε στις δημόσιες θεματικές κατηγορίες (messages) είτε στις ομάδες χρηστών (groupmsg). 42

43 Σχήμα 3.3: Διάγραμμα Κλάσεων Εφαρμογής Εξυπηρετητή Μηνύματα έκτος σύνδεσης. Μηνύματα που αφορούν χρήστες οι οποίοι εκείνοι την στιγμή είναι εκτός σύνδεσης αποθηκεύονται προσωρινά μέχρι την επόμενη είσοδο του χρήστη στο σύστημα έτσι ώστε να τα λάβουν και να μην χαθεί τυχόν χρήσιμη πληροφορία για αυτούς (offline). Άτομα τα οποία δεν είναι χρήστες. Αποθηκεύονται πληροφορίες για άτομα τα οποία αν και έχουν λάβει πρόσκληση για συμμετοχή σε κάποια ομάδα χρηστών δεν έχουν ακόμη γραφτεί στην υπηρεσία. Ωστόσο, αποθηκεύεται η σχετική με εκείνους πληροφορία έτσι ώστε μόλις γραφτούν στην υπηρεσία να λάβουν την συγκεκριμένη πρόσκληση (unregistered). Το παρακάτω σχήμα προέκυψε με βάση το ER διάγραμμα που παρουσιάστηκε στο προηγούμενο κεφάλαιο. Ωστόσο, έχει προσαρμοστεί στις ανάγκες της εφαρμογής μας. Τα μηνύματα αποθηκεύονται στην βάση σε διαφορετικούς πίνακες ανάλογα με το αν πρόκειται για μηνύματα που ανήκουν σε ομάδες χρηστών ή σε μηνύματα προς τις δημόσιες θεματικές κατηγορίες, λόγω των διαφορετικών ιδιοτήτων που τα χαρακτηρίζουν, έτσι ώστε να αποφύγουμε εγγραφές με κάποιες ιδιότητες κενές (null). Επιπλέον, στον πίνακα offline τα μηνύματα προς εκτός σύνδεσης χρήστες αποθηκεύονται εκ νέου στην βάση. Από την μια πλευρά, έχουμε πλεονασμό καθώς η ίδια πληροφορία αποθηκεύεται παραπάνω από μια φορά στην βάση δεδομένων, από την άλλη όμως, για την ανάκτηση των μηνυμάτων εκτός σύνδεσης ενός χρήστη δεν απαιτείται ένωση (join) μεταξύ του πίνακα εκτός σύνδεσης και των πινάκων στα οποία αποθηκεύονται τα διάφορα μηνύματα. Έτσι, η εκτέλεση των ερωτημάτων αυτών είναι πολύ πιο γρήγορη, ενώ, οι συνέπειες του πλεονασμού είναι περιορισμένες καθώς τα μηνύματα 43

44 έχουν μικρό μέγεθος και δεν δεσμεύουν μεγάλο αποθηκευτικό χώρο. Επιπλέον, οι συγκεκριμένες εγγραφές δεν ενημερώνονται και, επομένως, δεν δημιουργούνται τέτοιου είδους προβλήματα λόγω του πλεονασμού. Επίσης, έχουν δημιουργηθεί επιπλέον πίνακες στην βάση μας, οι οποίοι έχουν σκόπο να αναπαραστήσουν τις σχέσεις μεταξύ των οντοτήτων μέσω ξένων κλειδιών (foreign keys). Το σχήμα της βάσης φαίνεται στην παρακάτω εικόνα: 1 Σχήμα 3.4: Σχήμα Βάσης Δεδομένων Όπως αναφέραμε και προηγουμένως, η βάση δεδομένων εκτός από την χρησιμότητα της ως αποθηκευτικός χώρος παίζει σημαντικό ρόλο και ως προς την λειτουργία της εφαρμογής. Έχουν ληφθεί υπ όψιν όλοι οι απαραίτητοι κανόνες που πρέπει να ισχύουν και έτσι με τους κατάλληλους περιορισμούς στην βάση δεδομένων αποφεύγονται ανεπιθύμητες καταστάσεις. Η βάση δεδομένων φροντίζει έτσι ώστε: Το ψευδώνυμο που επιλέγει ο κάθε χρήστης να είναι μοναδικό. Το όνομα κάθε ομάδας χρηστών να είναι μοναδικό. Κατά την διαγραφή μιας ομάδας χρηστών να διαγραφούν όλα τα σχετικά με εκείνη στοιχεία από το σύστημα (μηνύματα, μέλη) έτσι ώστε να μην κρατείται άχρηστη πληροφορία. Δεν επιτρέπει διπλοεγγραφές σε μια ομάδα. Δηλαδή, αν γίνει δεύτερη πρόσκληση σε μια ομάδα χρηστών προς ένα άτομο το οποίο είναι ήδη μέλος ή εκκρεμεί η απάντηση του ή δεν είναι γραμμένος χρήστης της υπηρεσίας, τότε η πρόσκληση αυτή θα αγνοηθεί από το σύστημα. Να προστεθεί άμεσα ο δημιουργός της ομάδας χρηστών ως μέλος της. Η λειτουργία αυτή εκτελείται από κατάλληλο σκανδαλιστή (trigger). Τα παραπάνω μας εξασφαλίζουν την συνέπεια των δεδομένων. 1 Λόγω προβλήματος του προγράμματος sql translator το οποίο δημιούργησε το παρακάτω σχήμα, δεν φαίνεται το unique constraint (userid,groupid) στον πίνακα unregistered. 44

45 3.3 Πρωτόκολλο Επικοινωνίας Για την επικοινωνία των τερματικών με τον κεντρικό εξυπηρετητή χρησιμοποιείται το πρωτόκολλο που παρουσιάζεται σε αυτήν την ενότητα. Πρόκειται για απλά μηνύματα κειμένου που ανταλλάσσονται χωρίς κάποια κρυπτογράφηση έτσι ώστε να μην επιβαρυνθούν τα κινητά τηλέφωνα με τους λιγοστούς υπολογιστικούς πόρους (μνήμη, επεξεργαστική ισχύ) με επιπλέον φόρτο. Η γενική μορφή των μηνυμάτων που αποστέλλει η εφαρμογή πελάτη είναι της μορφής: #;COMMAND;ARG_1;ARG_2;...;ARG_N; ενώ των μηνυμάτων που αποστέλλει ο εξυπηρετητής: ;COMMAND;ARG_1;ARG_2;...;ARG_N; Ο αριθμός των παραμέτρων εξαρτάται από την κάθε εντολή. Υπάρχουν και εντολές οι οποίες δεν χρειάζονται κάποια παράμετρο. Στην συνέχεια, θα παρουσιάσουμε όλες τις εντολές που χρησιμοποιούνται στο σύστημα. Αρχικά, παρουσιάζονται οι εντολές που στέλνουν οι πελάτες και στην συνέχεια οι αντίστοιχες του εξυπηρετητή Μηνύματα Πελάτη Στην ενότητα αυτή θα παρουσιαστούν τα μηνύματα που αποστέλλει η εφαρμογή πελάτη προς τον κεντρικό εξυπηρετητή. USER Το μήνυμα αυτό είναι της μορφής: #;USER;number;nick. Αποστέλλεται από το κινητό κατά την πρώτη εκτέλεση της εφαρμογής με σκοπό την εγγραφή του χρήστη στο σύστημα. Η παράμετρος number είναι ο αριθμός κινητού του χρήστη ενώ το nick το username που επέλεξε. Στην συνέχεια, η εφαρμογή περιμένει απάντηση από τον εξυπηρετητή, σχετικά με το αν η εγγραφή ήταν επιτυχής. LOGIN Το μήνυμα αυτό δέχεται μόνο μια παράμετρο. Αποστέλλεται από το κινητό κατά την είσοδο ενός υπάρχοντος χρήστη στο σύστημα. Η παράμετρος που δέχεται είναι ο αριθμός του τηλεφώνου του χρήστη ώστε να γίνει η ταυτοποίηση του. πχ. #;LOGIN; ; GETSUBS Η συγκεκριμένη εντολή δεν δέχεται καμία παράμετρο. Ο πελάτης ζητάει από τον εξυπηρετητή τις τρέχουσες επιλογές του σε ότι αφορά τις συνδρομές του. Δηλαδή, τις θεματικές κατηγορίες για τις οποίες επιθυμεί να λαμβάνει πληροφορίες. NEWSUBS Με αυτήν την εντολή ο πελάτης ενημερώνει τον εξυπηρετητή για τις νέες συνδρομές του χρήστη. Η μορφή του μηνύματος είναι: #;NEWSUBS;topics;areas;. Η παράμετρος topics περιλαμβάνει τις θεματικές κατηγορίες για τις οποίες ο χρήστης επιθυμεί να λαμβάνει πληροφορίες και η areas τις αντίστοιχες περιοχές. Τα ονόματα των θεματικών κατηγοριών χωρίζονται μεταξύ τους με τον χαρακτήρα δίεση (#). Το ίδιο συμβαίνει και με τις περιοχές που επιλέγει ο χρήστης. Αν ο χρήστης δεν επιλέξει κάποια θεματική ενότητα, το topics και το areas παίρνουν την τιμή none. Εάν, πχ, ο χρήστης επιλέξει να δέχεται ενημερώσεις για τιμές καυσίμων και κίνηση, στην περιοχή του κέντρου της Αθήνας και του Πειραιά η εφαρμογή πελάτη θα στείλει: #;NEWSUBS;gas#traffic#;athens# peiraeus#;. 45

46 NEWGAS Με αυτό το μήνυμα το τερματικό ανεβάζει νέο μήνυμα στην θεματική ενότητα τιμές καυσίμων. Το μήνυμα είναι της μορφής: #;NEWGAS;price;address;area. Price είναι η τιμή που πωλείται η βενζίνη, address η διεύθυνση του πρατηρίου και area η περιοχή που βρίσκεται (Αθήνα, Βόρεια,Νότια,Δυτικά,Ανατολικά προάστια ή Πειραιάς). NEWTRAFFIC Πρόκειται για το αντίστοιχο μήνυμα στη περίπτωση που έχουμε καταχώρηση στην θεματική κατηγορία κίνηση στους δρόμους αυτή τη φορά. Η σύνταξη του είναι όμοια με την παραπάνω περίπτωση με την μόνη διαφορά ότι απουσιάζει η παράμετρος price, καθώς δεν έχει κάποιο νόημα στην συγκεκριμένη περίπτωση. GETGROUPS Δεν δέχεται κάποια παράμετρο. Έχει παρόμοια λειτουργία με την #;GETSUBS;, μόνο που αναφέρεται στις ομάδες χρηστών που είναι γραμμένος ο χρήστης. Στην συνέχεια αναμένει την απάντηση του εξυπηρετητή. DELGROUP Η σύνταξη της εντολής είναι: #;DELGROUP;GROUPNAME;. Το μήνυμα αυτό χρησιμοποιείται σε τρεις περιπτώσεις: Στην περίπτωση που ο χρήστης έχει λάβει μια πρόσκληση στην ομάδα GROUPNAME και η απάντηση του εκκρεμεί ακόμη, τότε σημαίνει απόρριψη της πρόσκλησης. Αν ο χρήστης είναι ήδη γραμμένος στην ομάδα, τότε ο χρήστης αποχωρεί από την ομάδα. Αν ο χρήστης που στέλνει το μήνυμα είναι ο δημιουργός της ομάδας τότε αυτή διαγράφεται τελείως από το σύστημα και όλα τα σχετικά με αυτήν στοιχεία. Ο εξυπηρετητής διακρίνει τι από τα παραπάνω συμβαίνει και προβαίνει στις αντίστοιχες ενέργειες. POSTMSG Με αυτή την εντολή ο χρήστης στέλνει ένα μήνυμα σε μια ομάδα. Το συντακτικό είναι ως εξής: #;POSTMSG;GROUPNAME;MESSAGE;. Το groupname είναι το group στο οποίο στέλνει ο χρήστης και message το ίδιο το μήνυμα. ACCEPT Με αυτό το μήνυμα ο χρήστης αποδέχεται την πρόσκληση σε κάποια ομάδα χρηστών. Η εντολή δέχεται παράμετρο το όνομα του group: #;ACCEPT;GROUPNAME; INFOGROUP Με αυτήν την εντολή ο χρήστης ζητάει να λάβει πληροφορίες σχετικά με μια ομάδα χρηστών. Ο εξυπηρετητής απαντά με κατάλληλο μήνυμα που περιέχει το όνομα, την περιγραφή, τον μοναδικό αριθμό της ομάδας, και όλα τα μέλη της ανάλογα με την κατάσταση τους. Η εντολή παίρνει όρισμα το όνομα του group: #;INFOGROUP;GROUPNAME; 46

47 CHECKADMIN Ο χρήστης της εφαρμογής προσπαθεί να εκτελέσει κάποια ενέργεια διαχείρισης πάνω σε μια ομάδα χρηστών, δηλαδή να προσθέσει ή να αφαιρέσει μέλη. Πριν του επιτρέψει η εφαρμογή πρόσβαση στις λειτουργίες αυτές, κάνει έλεγχο αν έχει τα απαραίτητα δικαιώματα για κάτι τέτοιο, αν είναι δηλαδή ο δημιουργός του group. Επομένως, στέλνει το μήνυμα CHECKADMIN στον διακομιστή με παράμετρο τον μοναδικό αριθμό της ομάδας και αναμένει την απάντηση του διακομιστή για να αποφανθεί για το αν πρέπει να επιτρέψει στον χρήστη την επεξεργασία της ομάδας. Παράδειγμα: #;CHECKADMIN;21; NEWGROUP Στέλνεται από την εφαρμογή κατά την δημιουργία μιας νέας ομάδας πριν την προσθήκη μελών. Η εφαρμογή ενημερώνει τον εξυπηρετητή για το όνομα και την περιγραφή της ομάδας που ο χρήστης προσπαθεί να δημιουργήσει, έτσι ώστε να γίνει έλεγχος αν το όνομα είναι ήδη πιασμένο. Η μορφή του μηνύματος είναι: #;NEWGROUP;GROUPNAME;GROUPDESCR;, όπου GROUPNAME το όνομα της ομάδας και GROUPDESCR η περιγραφή της. ADDUSERS Το μήνυμα αυτό στέλνεται από την εφαρμογή στον εξυπηρετητή κατά την προσθήκη νέων μελών σε μια νέα ή υπάρχουσα ομάδα χρηστών. Η μορφή του μηνύματος είναι: #;ADDUSERS;GROUPNAME; USER1;USER2;..;USERN;. GROUPNAME προφανώς είναι το όνομα της ομάδας στην οποία θα προστεθούν τα μέλη, ενώ τα μέλη της χαρακτηρίζονται από τους αριθμούς τηλεφώνου. Σε περίπτωση που δεν προστεθεί κάποιο μέλος η εφαρμογή θα στείλει μήνυμα #;ADDUSERS;GROUPNAME; none;, διαφορετικά, ένα παράδειγμα μηνύματος θα ήταν: #;ADDUSERS;MYGROUP; ; ;. GETMEMBERS Με το μήνυμα αυτό, η εφαρμογή ζητάει από τον εξυπηρετητή να της επιστρέψει τα μέλη μιας ομάδας χρηστών. Το συντακτικό της είναι: #;GETMEMBERS;GROUPNAME;. Στην συνέχεια, ο διακομιστής επιστρέφει την σχετική λίστα με όλα τα μέλη. Πιο συγκεκριμένα, με το αίτημα αυτό, η εφαρμογή πελάτης ζητάει να του σταλεί η λίστα που περιέχει όλα τα μέλη της ομάδας έτσι ώστε να δημιουργηθεί η λίστα από την οποία θα επιλέξει ο χρήστης ποια μέλη επιθυμεί να διαγράψει. Περιλαμβάνονται, δηλαδή,τα επιβεβαιωμένα μέλη, τα μέλη που ακόμη εκκρεμεί η απάντηση στην πρόσκληση, καθώς και άτομα τα οποία ακόμη δεν έχουν γραφτεί στην υπηρεσία αλλά έχουν δεχθεί πρόσκληση στην ομάδα. Δεν περιλαμβάνεται όμως ο δημιουργός της ομάδας καθώς δεν επιτρέπεται να διαγράψει τον εαυτό του. DELETEMEMBERS Το μήνυμα αυτό στέλνεται όταν ο δημιουργός μιας ομάδας χρηστών επιλέγει να διαγράψει κάποια μέλη της. Το μήνυμα που στέλνεται έχει ως εξής: #;DELETEMEMBERS;GROUP;USER1#USER2 #USER4#;. Οι χρήστες προς διαγραφή αναφέρονται με το ψευδώνυμο τους αν πρόκειται για χρήστες γραμμένους στην υπηρεσία, είτε με τον αριθμό του κινητού τους τηλεφώνου σε διαφορετική περίπτωση. LOGOUT Στέλνεται από το κινητό κατά τον τερματισμό της εφαρμογής. Δεν δέχεται κάποια παράμετρο. 47

48 UNREGISTER Αυτό το μήνυμα στέλνεται με σκοπό την πλήρη διαγραφή του χρήστη από το υπηρεσία και την βάση δεδομένων. Δεν δέχεται κάποια παράμετρο Μηνύματα Εξυπηρετητή USEROK Αποστέλλεται από τον εξυπηρετητή, ως απάντηση στο NEWUSER, σε περίπτωση που δεν παρουσιαστεί κάποιο πρόβλημα κατά την εισαγωγή νέου χρήστη έτσι ώστε να επιβεβαιώσει την επιτυχή εγγραφή. USERFAIL Αποστέλλεται από τον εξυπηρετητή, ως απάντηση στο NEWUSER στην περίπτωση που υπάρξει κάποιο πρόβλημα κατά την εγγραφή του χρήστη. Αν, λχ, το όνομα χρήστη ή το τηλέφωνο που επιλέχθηκε είναι ήδη σε χρήση. Η εγγραφή δεν ολοκληρώνεται και ο χρήστης πρέπει να προσπαθήσει πάλι με νέα στοιχεία. NOOFF Στέλνεται ως απάντηση στον client στο αίτημα LOGIN σε περίπτωση επιτυχούς εισόδου του χρήστη και αν δεν υπάρχει κάποιο μήνυμα που εστάλη ενώ ήταν εκτός σύνδεσης και τον αφορά ή αν υπήρχαν τέτοια μηνύματα τα οποία όμως δεν παραδίδονται επειδή έχει μεσολαβήσει μεγάλο χρονικό διάστημα από την αποστολή τους (στην περίπτωση που ανήκουν στις δημόσιες θεματικές κατηγορίες). OFFLINE Και αυτό το μήνυμα στέλνεται στο client ως απάντηση στο αίτημα LOGIN, σε περίπτωση που αυτή τη φορά υπάρχουν μηνύματα που περιμένουν τον χρήστη. Τα μηνύματα αυτά περνάνε ως παράμετροι στην εντολή. Ανάλογα με το είδος του μηνύματος η OFFLINE παίρνει και διαφορετικά ορίσματα. Επομένως, πριν από κάθε μήνυμα υπάρχει η σχετική παράμετρος που δηλώνει το είδος του. Τα μηνύματα που αφορούν την κίνηση στους δρόμους χαρακτηρίζονται από το αναγνωριστικό TRAFFIC και στην συνέχεια ακολουθούν με αυτή την σειρά χωρισμένα με semicolon, ο δρόμος, η περιοχή και η ώρα αποστολής του μηνύματος. Αντίστοιχα, οι πληροφορίες που αφορούν τις τιμές καύσιμων ξεχωρίζουν με την παράμετρο GAS, και ακολουθείται από την τιμή, την διεύθυνση του πρατηρίου, την περιοχή και την ημερομηνία αποστολής. Τέλος, στην περίπτωση που έχουμε μήνυμα που ανήκει σε κάποια ομάδα χρηστών, έχουμε το αναγνωριστικό PRIVE το οποίο ακολουθείται από το όνομα της ομάδας στην οποία ανήκει το μήνυμα, το κείμενο του μηνύματος, το ψευδώνυμο του αποστολέα, την ώρα αποστολής και την ημερομηνία, χωρισμένα πάντα με semicolon. Στην περίπτωση που έχουμε παραπάνω από ένα μήνυμα, το ένα ακολουθεί το άλλο. Δηλαδή έχουμε: ;OFFLINE;TRAFFIC;PANEPISTIMIO U;Athens;13:56:22;PRIVE;ECE;Eimai kentro pame kafe;antonis;13:53: 44; ;PRIVE;ECE;OK;GIANNIS;13:55:37; ;. NEWGAS Μόλις ο server λάβει κάποια πληροφορία σχετικά με τιμές καυσίμων, με χρήση αυτού του μηνύματος την προωθεί άμεσα στους χρήστες που είναι συνδεδεμένοι εκείνη την στιγμή και έχουν δηλώσει ενδιαφέρον. Η μορφή του μηνύματος είναι: ;NEWGAS;price;address;area;. 48

49 NEWTRFC Έχει την ίδια λειτουργία, αλλά αυτή τη φορά αφορά μηνύματα στην κατηγορία κίνηση στους δρόμους. Προφανώς, λείπει η παράμετρος price, δηλαδή η σύνταξη είναι: ;NEWTRFC;address;area;. PRV Εκτελεί την ίδια λειτουργία με τις δυο προηγούμενες εντολές, στην περίπτωση που έχουμε μήνυμα σε κάποια ομάδα χρηστών. Η σύνταξη του είναι ως εξής: ;PRV;group;text;user, όπου group η ομάδα χρηστών που ανήκει το μήνυμα, text το ίδιο το μήνυμα και user ο αποστολέας του μηνύματος. MESSAGEOK Αποτελεί την απόκριση του διακομιστή μετά την αποστολή μηνύματος σε μια ομάδα χρηστών (POSTM SG). Εφόσον δεν υπάρξει κάποιο πρόβλημα, ο διακομιστής στέλνει το συγκεκριμένο μήνυμα έτσι ώστε να επιβεβαιώσει ότι το μήνυμα ελήφθη επιτυχώς. Το μήνυμα δεν δέχεται παραμέτρους. MESSAGEFAIL Και αυτό το μήνυμα είναι απάντηση στο αίτημα POSTMSG. Σκοπός του είναι να ενημερώσει την εφαρμογή πελάτη ότι παρουσιάστηκε κάποιο πρόβλημα κατά την επεξεργασία του μηνύματος και ότι τελικά το μήνυμα απορρίφθηκε. Αυτό μπορεί να συμβεί είτε επειδή ο αποστολέας δεν είναι πλέον μέλος της ομάδας, είτε επειδή η ομάδα έχει διαγράφει από το σύστημα. Το μήνυμα δεν δέχεται παραμέτρους. INFOG Πρόκειται για την απάντηση του εξυπηρετητή στο αίτημα INFOGROUP και σκοπός του είναι να παρέχει στον πελάτη τις πληροφορίες για την ομάδα χρηστών. Η μορφή του μηνύματος είναι: ;INFOG; GROUPNAME;GROUPDESCR;GID;MEMBER1;...;MEMBERN;PEN;PEND1;...;PEND N;UNREG;UNR1;...UNRN;. Παρέχει λοιπόν: το όνομα της ομάδας (GROUPNAME), την περιγραφή της (GROUPDESCR), τον μοναδικό αριθμό της - ταυτότητα στο σύστημα (GID), τα μέλη της (MEMBER1..MEMBERN), τα μέλη που δεν έχουν απαντήσει ακόμη στην πρόσκληση (PEND1...PEN DN) και τα άτομα τα οποία έχουν λάβει πρόσκληση αλλά δεν είναι γραμμένοι στην υπηρεσία (UNR1... UNRN). Σε περίπτωση που κάποια κατηγορία μελών είναι κενή, τότε στη θέση των μελών εμφανίζεται η λέξη none. INFOFAIL Πρόκειται για την απάντηση του διακομιστή στο μήνυμα INFOGROUP στην περίπτωση που ο χρήστης δεν έχει πρόσβαση στις πληροφορίες της ομάδας είτε επειδή δεν είναι πλέον μέλος της είτε επειδή η συγκεκριμένη ομάδα διαγράφηκε από το σύστημα και, επομένως, οι ζητούμενες πληροφορίες δεν είναι πλέον διαθέσιμες. Το μήνυμα δεν δέχεται παραμέτρους. ISADMIN Πρόκειται για την απόκριση του εξυπηρετητή στο αίτημα CHECKADMIN το οποίο ελέγχει αν ο αποστολέας του μηνύματος είναι ο δημιουργός κάποιας ομάδας χρηστών. Σε περίπτωση που είναι, τότε ο εξυπηρετητής αποκρίνεται με το μήνυμα ;ISADMIN;.Το μήνυμα δεν δέχεται παραμέτρους. 49

50 NOTADMIN Πρόκειται για την απόκριση του εξυπηρετητή στο αίτημα CHECKADMIN το οποίο ελέγχει αν ο αποστολέας του μηνύματος είναι ο δημιουργός κάποιας ομάδας χρηστών. Σε περίπτωση που δεν είναι στέλνει ;NOTADMIN;. Το μήνυμα δεν δέχεται παραμέτρους. GNAMEOK Πρόκειται για την απόκριση του εξυπηρετητή στο αίτημα NEWGROUP. Ελέγχει αν το όνομα της ομάδας χρηστών που δόθηκε είναι ήδη δεσμευμένο ή όχι. Σε περίπτωση που δεν είναι, απαντά ;GNAME OK; και δημιουργεί την ομάδα περνώντας τις αλλαγές στην βάση δεδομένων η οποία με τον κατάλληλο trigger προσθέτει τον αποστολέα του μηνύματος NEWGROUP στα μέλη της ομάδας. Το μήνυμα δεν δέχεται παραμέτρους. GNAMEFAIL Πρόκειται για την απόκριση του εξυπηρετητή στο αίτημα NEWGROUP, στην περίπτωση που η βάση δεδομένων δεν επιτρέψει την δημιουργία της νέας ομάδας επειδή το όνομα που επιλέχθηκε είναι ήδη σε χρήση. Τότε ο εξυπηρετητής στέλνει το μήνυμα: ;GNAMEFAIL;. Ο πελάτης πρέπει να επαναλάβει την διαδικασία επιλέγοντας κάποιο άλλο όνομα. Το μήνυμα δεν δέχεται παραμέτρους. MEMBERS Η απόκριση του εξυπηρετητή στο αίτημα GETMEMBERS και επιστρέφει όλα τα μέλη της ομάδας χρηστών που ζητήθηκε εκτός από τον δημιουργό της. Αυτό συμβαίνει διότι η λίστα αυτή περιέχει τα υποψήφια προς διαγραφή μέλη της ομάδας, και ο δημιουργός δεν μπορεί να αφαιρέσει τον εαυτό του από την δική του ομάδα (μπορεί όμως να την διαγράψει). Το μήνυμα είναι της μορφής: ;MEMBERS;USER1;USER2;...;USERN;. Τα μέλη (USER) αναφέρονται είτε με το ψευδώνυμο τους, είτε αν δεν είναι γραμμένοι στο σύστημα με τον αριθμό του κινητού τους. 50

51 Κεφάλαιο 4 Υλοποίηση Στο κεφάλαιο αυτό θα εστιάσουμε στην υλοποίηση του συστήματος. Αρχικά, θα αναφερθούμε στα πιο ενδιαφέροντα σημεία της υλοποίησης και στην συνέχεια θα παρουσιάσουμε τις επιλογές που κάναμε ως προς τις πλατφόρμες ανάπτυξης που χρησιμοποιήθηκαν καθώς και τα προγραμματιστικά εργαλεία τα οποία προτιμήθηκαν. 4.1 Ενδιαφέροντα Σημεία Υλοποίησης Ακολουθούν κάποια σημεία της υλοποίησης τα οποία παρουσιάζουν αλγοριθμικό και τεχνικό ενδιαφέρον και αξίζουν περαιτέρω προσοχής Διαχείριση Ειδοποιήσεων Η διαδικασία παράδοσης των μηνυμάτων στους συνδρομητές της θεματικής κατηγορίας ή στα μέλη μιας ομάδας χρηστών πυροδοτείται αυτόματα κατά την αποστολή του μηνύματος από τον αποστολέα. Με αυτόν τον τρόπο, δεν υπάρχει η ανάγκη δημιουργίας κάποιας διεργασίας η οποία θα έχει σκοπό να ελέγχει σε τακτά χρονικά διαστήματα για νέα μηνύματα έτσι ώστε ο χρήστης να ενημερωθεί κατάλληλα. Μια τέτοια υλοποίηση, θα είχε σημαντικά μειονεκτήματα. Κατ αρχάς, θα επιβάρυνε την εφαρμογή πελάτη, καθώς θα υπήρχε μια διεργασία ακόμη η οποία θα έπρεπε να τρέχει συνεχώς μετά την εκκίνηση της εφαρμογής. Κάτι τέτοιο δεν είναι επιθυμητό, ιδιαίτερα αν λάβουμε υπ όψιν τους περιορισμένους υπολογιστικούς πόρους που διαθέτουν τα κινητά τηλέφωνα. Επιπλέον φόρτος θα υπήρχε και στον κεντρικό εξυπηρετητή, ο οποίος θα έπρεπε να εκτελεί τέτοια ερωτήματα προς την βάση για όλους τους συνδεδεμένους χρήστες. Είναι πολύ πιθανό να μην είχε υπάρξει κάποιο νέο μήνυμα ανάμεσα σε δυο διαδοχικές αιτήσεις από τον πελάτη και έτσι η αίτηση να επιβαρύνει απλώς το σύστημα χωρίς να προσφέρει κάποιο αποτέλεσμα. Τέλος, με τον τρόπο αυτό εισάγεται καθυστέρηση στην παράδοση του μηνύματος στον παραλήπτη, καθώς πρέπει ο ίδιος να ζητήσει να το λάβει. Δημιουργείται, επομένως, και το ερώτημα πόσο χρονικό διάστημα θα πρέπει να μεσολαβεί ανάμεσα σε δυο διαδοχικούς έλεγχους μηνυμάτων, έτσι ώστε και η καθυστέρηση να είναι αποδεκτή και ταυτόχρονα να μην επιβαρύνεται το σύστημα υπερβολικά από τα επαναλαμβανόμενα ερωτήματα. Η υλοποίηση μας, λοιπόν, λειτουργεί ως εξής: Αρχικά, όπως έχει ήδη αναφερθεί, ο εξυπηρετητής κρατάει μια δομή με πληροφορίες για όλους τους χρήστες του συστήματος. Ο χρήστης στο σύστημα αναπαρίσταται ως ένα αντικείμενο με δυο πεδία, τον αριθμό του τηλεφώνου του και την σύνδεση (socket) η οποία τον εξυπηρετεί. Προφανώς, σε περίπτωση που ο χρήστης δεν είναι συνδεδεμένος εκείνη την στιγμή, το πεδίο για την σύνδεση έχει την τιμή null. Επομένως, μόλις ανεβάσει ένας χρήστης μήνυμα σε κάποια θεματική κατηγορία, ο εξυπηρετητής ανακτά από την βάση τα νούμερα των κινητών τηλεφώνων των χρηστών οι οποίοι έχουν δηλώσει ενδιαφέρον για την συγκεκριμένη κατηγορία και περιοχή. Στην συνέχεια, για κάθε νούμερο, ανακτά από την λίστα την σύνδεση η οποία το εξυπηρετεί. Αν η σύνδεση έχει την τιμή null τότε το μήνυμα αποθηκεύεται στην βάση δεδομένων για να παραδοθεί στην επόμενη σύνδεση του χρήστη, διαφορετικά, το μήνυμα προωθείται άμεσα στον χρήστη. 51

52 Αλγόριθμος 1 Αποστολή Ειδοποιήσεων subscribers db.getsubscribers(topic, area) i 0 while i < subscribers.length do connection users.getconnection(subscribers[i]) if connection = null then db.addof f LineM sg(subscribers[i], message) else connection.send(message) end if i + + end while Προφανώς, η διαδικασία είναι παρόμοια όταν σταλεί κάποιο μήνυμα προς κάποια ομάδα χρηστών. Η μόνη διαφορά είναι ότι αυτή τη φορά χρειαζόμαστε από την βάση τα επιβεβαιωμένα μέλη της ομάδας. Αλγόριθμος 2 Αποστολή Μηνυμάτων Ομάδας members db.getconf irmedm embers(group) i 0 while i < members.length do connection users.getconnection(members[i]) if connection = null then db.addof f LineM sg(members[i], message) else connection.send(message) end if i + + end while Μηνύματα Εκτός Σύνδεσης Όπως έγινε φανερό στην προηγούμενη ενότητα έχει ληφθεί μέριμνα στο σύστημα έτσι ώστε τα μηνύματα που προορίζονται προς εκτός σύνδεσης χρήστες να μην χάνονται αλλά να αποθηκεύονται προσωρινά στην βάση δεδομένων έτσι ώστε να παραδίδονται κατά την επόμενη σύνδεση τους. Ωστόσο, η φύση των πληροφοριών που διακινούνται στις δημόσιες θεματικές κατηγορίες είναι τέτοια που μετά από κάποιο χρονικό διάστημα η πληροφορία χάνει την αξία της. Αν κάποιος, λχ, ανοίξει την εφαρμογή στις 6 το απόγευμα, δεν έχει νόημα να λάβει ενημέρωση για την κίνηση στους δρόμους το προηγούμενο πρωί. Έχουμε θεωρήσει, λοιπόν, ότι τα μηνύματα τα οποία ανήκουν στην θεματική κατηγορία κίνηση στους δρόμους παρουσιάζουν πρακτική αξία για δυο ώρες μετά την αποστολή τους, ενώ εκείνα τα οποία ανήκουν στην κατηγορία τιμές καυσίμων για επτά ήμερες. Αντίθετα, τα μηνύματα τα οποία έχουν σταλεί σε ομάδες χρηστών παραδίδονται στον παραλήπτη ανεξαρτήτως του χρονικού διαστήματος που έχει μεσολαβήσει μεταξύ της αποστολής τους και της σύνδεσης του χρήστη. Πριν την προώθηση, λοιπόν, των μηνυμάτων στον παραλήπτη γίνεται ο σχετικός έλεγχος αν τα μηνύματα είναι έγκυρα με βάση την σχετική συνθήκη ανάλογα με τον τύπο τους. Στην συνέχεια, όλα τα μηνύματα εκτός σύνδεσης που αφορούσαν τον συγκεκριμένο χρήστη διαγράφονται από την βάση καθώς δεν χρησιμεύουν πλέον σε κάτι. Να σημειωθεί εδώ, ότι ο έλεγχος εγκυρότητας των μηνυμάτων γίνεται με το κατάλληλο ερώτημα στην βάση. Δηλαδή, ανακτώνται από την βάση μόνο τα έγκυρα μηνύματα. Η παραπάνω διαδικασία περιγράφεται με τον παρακάτω ψευδοκώδικα: 52

53 Αλγόριθμος 3 Μηνύματα Εκτός Σύνδεσης messages db.getofflinemsgs(user, traffic) messages.add(db.getof f LineM sgs(user, gas) messages.add(db.getof f LineM sgs(user, private) for all messages do message.send() end for db.deleteof f Line(user) Διαχείριση Προσκλήσεων Ένα άλλο σημείο που αξίζει να αναφερθεί είναι οι μεταβάσεις της κατάστασης ενός χρήστη όταν δέχεται πρόσκληση για συμμετοχή σε κάποια ομάδα. Μόλις κάποιος χρήστης δεχθεί μια πρόσκληση για μια ομάδα χρηστών δεν γίνεται αυτόματα μέλος, καθώς του δίνεται η δυνατότητα να δεχθεί ή να απορρίψει την πρόσκληση αυτή αφού δει πληροφορίες σχετικές με την ομάδα ώστε να ξέρει περί τίνος πρόκειται. Άμα δεχθεί την πρόσκληση γίνεται επιβεβαιωμένο μέλος, διαφορετικά, αν την απορρίψει διαγράφεται από την ομάδα. Προφανώς, ο χρήστης μπορεί οποιαδήποτε στιγμή να αποχωρήσει από την ομάδα. Ο δημιουργός, ωστόσο, της ομάδας στις δυο τελευταίες περιπτώσεις έχει δικαίωμα να του στείλει εκ νέου πρόσκληση. Στην περίπτωση που κάποιο άτομο το οποίο δεν είναι γραμμένο στην υπηρεσία δεχθεί μια τέτοια πρόσκληση, τότε η πρόσκληση αποθηκεύεται στην βάση δεδομένων του συστήματος και κατά την εγγραφή νέων μελών γίνεται έλεγχος αν υπάρχουν εκκρεμείς προσκλήσεις για εκείνον. Τέλος, ο δημιουργός της ομάδας έχει την δυνατότητα να διαχειριστεί εκ των υστέρων τα μέλη της ομάδας του. Πιο συγκεκριμένα, μπορεί να προσκαλέσει επιπλέον μέλη ή να διαγράψει κάποιο από τα υπάρχοντα μέλη, ανεξάρτητα από την κατάσταση τους. Τα μέλη προς διαγραφή μπορεί να είναι, δηλαδή, επιβεβαιωμένα μέλη, μέλη που εκκρεμεί η απάντηση τους στην πρόσκληση, ακόμα και άτομα τα οποία δεν είναι χρήστες της υπηρεσίας. Ο ίδιος ο δημιουργός της ομάδας δεν μπορεί να διαγράψει τον εαυτό του από μέλος της ίδιας του της ομάδας, μπορεί ωστόσο, να διαγράψει την ίδια την ομάδα και όλα τα σχετικά με εκείνη στοιχεία στο σύστημα. Οι παραπάνω μεταβάσεις γίνονται πιο κατανοητές από το παρακάτω διάγραμμα καταστάσεων: Σχήμα 4.1: Διάγραμμα Καταστάσεων Χρήστη 4.2 Πλατφόρμες και Προγραμματιστικά Εργαλεία Στην ενότητα αυτή αναφέρονται οι πλατφόρμες οι οποίες επιλέχθηκαν για την ανάπτυξη του συστήματος καθώς και τα προγραμματιστικά εργαλεία τα οποία χρησιμοποιήθηκαν. Η ανάπτυξη του συστήματος έγινε σε υπολογιστή με λειτουργικό σύστημα Debian GNU Linux 5.0 Lenny ενώ η εκτέλεση του έχει δοκιμαστεί και σε περιβάλλον Windows XP, SP3. Λεπτομερείς οδηγίες για την εγκατάσταση του συστήματος δίνονται στο τελευταίο κεφάλαιο του τόμου Πλατφόρμες Ανάπτυξης Στον παρακάτω πίνακα αναφέρονται οι τεχνολογίες και οι πλατφόρμες που αναπτύχθηκαν τα επιμέρους συστήματα της υπηρεσίας. 53

54 Εφαρμογή Διακομιστή Εφαρμογή Πελάτη Βάση Δεδομένων Java SE Java ME MySQL Σχήμα 4.2: Πλατφόρμες Ανάπτυξης Στην συνέχεια, θα αναφερθούμε ξεχωριστά σε κάθε μια από τις παραπάνω πλατφόρμες και τα πιο σημαντικά χαρακτηριστικά τους. Java SE Η εφαρμογή διακομιστή υλοποιήθηκε σε Java SE. Η Java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού η οποία παρουσιάστηκε από την Sun το 1995 και πλέον διατίθεται με GPL άδεια (GNU General Public License). Η Java SE (Standard Edition) είναι μια πλατφόρμα για ανάπτυξη εφαρμογών γενικού σκοπού χρησιμοποιώντας την γλώσσα Java. Αποτελείται από την εικονική μηχανή της Java (απαιτείται για την εκτέλεση προγραμμάτων γραμμένων σε java) και από ένα σύνολο βιβλιοθηκών (packages) για την δημιουργία γραφικών, χρήση συνδέσεων δικτύου κα. Ένα από τα μεγαλύτερα πλεονεκτήματα της Java είναι η ανεξαρτησία από την πλατφόρμα, δηλαδή η δυνατότητα ενός προγράμματος να εκτελείται χωρίς να απαιτούνται τροποποιήσεις σε διαφορετικά περιβάλλοντα υπολογιστών, αρκεί βέβαια να διαθέτουν εικονική μηχανή java Write Once, Run Anywhere (WORA). Πράγματι, δεν δημιουργήθηκε κανένα απολύτως πρόβλημα κατά την μεταφορά της εφαρμογής από περιβάλλον Linux όπου έγινε η ανάπτυξη του σε περιβάλλον Windows XP. Java ME Για την υλοποίηση της εφαρμογής πελάτη προτιμήθηκε η λύση της Java Micro Edition (Java ME). Αν εξαιρέσουμε τις βιβλιοθήκες που αναφέρονται στην δημιουργία γραφικού περιβάλλοντος, πρόκειται για ένα υποσύνολο της Java που έχει στόχο να αποτελεί ένα καλώς ορισμένο και πιστοποιημένο σύνολο Java APIs τέτοιο ώστε να επιτρέπει την ανάπτυξη λογισμικού ειδικά για μικρές συσκευές με περιορισμένη αυτονομία, επεξεργαστική ισχύ, και αποθηκευτικό χώρο. Τέτοιες συσκευές είναι πχ τα κινητά τηλέφωνα και τα PDA. Η τεχνολογία Java ME αποτελείται από τρία δομικά στοιχεία: Ρύθμιση (Configuration) Περιέχει το θεμελιώδες σύνολο βιβλιοθηκών και δυνατοτήτων της εικονικής μηχανής. Αφορά ένα ευρύ φάσμα συσκευών και παρέχει τα βασικότερα χαρακτηριστικά της εικονική μηχανής που πρέπει να υπάρχουν σε κάθε υλοποίηση της J2ME. Προφίλ (Profile) Παρέχει το API για λειτουργίες υψηλότερου επιπέδου στον προγραμματιστή και εξαρτάται από την ρύθμιση (configuration). Πιθανώς να παρέχει, πχ, τις απαραίτητες βιβλιοθήκες για τον σχεδιασμό GUI (Graphical User Interface), σε περίπτωση βέβαια που κάτι τέτοιο είναι εφικτό στην συσκευή για την οποία προορίζεται η εφαρμογή. Το προφίλ είναι περισσότερο εξειδικευμένο και απευθύνεται σε σαφώς μικρότερο εύρος συσκευών. Προαιρετικά Πακέτα (Optional Packages) Πρόκειται για βιβλιοθήκες που δεν περιέχονται ούτε στην ρύθμιση ούτε στο προφίλ. Υλοποιούν πολύ συγκεκριμένες λειτουργίες και σε περίπτωση που χρησιμοποιήσουμε κάποιο τέτοιο πακέτο στην ανάπτυξη κάποιας εφαρμογής πρέπει να είμαστε ιδιαίτερα προσεκτικοί και να ελέγξουμε ότι υποστηρίζεται από την συσκευή στην οποία σκοπεύουμε να τρέξουμε την εφαρμογή. 54

55 Πιο παραστατικά έχουμε: Σχήμα 4.3: Η τεχνολογία JavaME Η εφαρμογή που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας χρησιμοποιεί την ρύθμιση Connected Limited Device Configuration (CLDC) καθώς σε αυτή τη κατηγορία ανήκουν τα κινητά τηλέφωνα. Περιέχει ένα πολύ μικρό υποσύνολο κλάσεων της Java και περιέχει μόνο τα ελάχιστα που χρειάζεται ώστε να λειτουργήσει η java virtual machine. Η δεύτερη ρύθμιση, Connected Device Configuration (CDC) απευθύνεται σε συσκευές που διαθέτουν αρκετά περισσότερους πόρους. Περιέχει σχεδόν όλες τις βιβλιοθήκες της Java SE, εξαιρουμένων αυτών που αναφέρονται στο GUI. Το CLDC συμπληρώνεται από το προφίλ Mobile Information Device Profile (MIDP), το οποίο απευθύνεται κυρίως σε κινητά τηλέφωνα και PDA. Έτσι παρέχεται μια πλήρης πλατφόρμα ανάπτυξης εφαρμογών για τις συσκευές αυτές. Το MIDP παρέχει μια μεγάλη ποικιλία βιβλιοθηκών. Ενδεικτικά, αναφέρουμε ότι παρέχει δυνατότητες όπως δημιουργία γραφικού περιβάλλοντος και λειτουργίες μόνιμης αποθήκευσης. Η αυτόνομη εφαρμογή που δημιουργείται από το προφίλ αυτό ονομάζεται MIDlet και οποιαδήποτε άλλη εφαρμογή επεκτείνει την κλάση αυτή. Η εφαρμογή πελάτης αναπτύχθηκε σε CLDC 1.1 και MIDP 2.0. Οι εκδόσεις αυτές υποστηρίζονται από την πλειοψηφία των σύγχρονων κινητών τηλεφώνων που κυκλοφορούν στην αγορά. 55

56 Σχήμα 4.4: Βιβλιοθήκες CLDC και MIDP MySQL Για την βάση δεδομένων του συστήματος προτιμήθηκε το ίσως πιο δημοφιλές opensource RDBMS MySQL, το οποίο και μέχρι πρόσφατα άνηκε στην Sun όπως και η Java, από την οποία λάμβανε και χρηματοδότηση. Πρόσφατα η sun (και η MySQL) εξαγοράστηκε από την Oracle, μια πολύ σημαντική εταιρεία στον χώρο των βάσεων δεδομένων. Το συγκεκριμένο σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων χρησιμοποιείται σε πολλές εφαρμογές web, όπως πχ η wikipedia. Πρόκειται για ένα πολύ ελαφρύ και γρήγορο RDBMS το οποίο ωστόσο περιλαμβάνει όλα τα χαρακτηριστικά που ήταν απαραίτητα για την συγκεκριμένη εφαρμογή. Παρέχει, επίσης, την δυνατότητα επιλογής μηχανής αποθήκευσης (storage engine). Στην περίπτωση του συστήματος, προτιμήθηκε η innodb καθώς προσφέρει referential integrity που μας ήταν απαραίτητη. Η έκδοση της MySQL που χρησιμοποιήθηκε είναι η Εργαλεία Ανάπτυξης Συστήματος NetBeans Η ανάπτυξη και της εφαρμογής πελάτη και της εφαρμογής διακομιστή έγινε στο Ενοποιημένο Περιβάλλον Ανάπτυξης (IDE) NetBeans (έκδοση 6.0.1). Πρόκειται για ένα ανοιχτού κώδικα εργαλείο, γραμμένο σε Java το οποίο αναπτύχθηκε από την Sun Microsystems. Παρέχει δυνατότητα ανάπτυξης κάθε είδους java εφαρμογής (Java SE, web και φυσικά mobile) και όχι μόνο, καθώς υποστηρίζονται και άλλες γλώσσες, όπως η C/C++. Στο αρχικό πακέτο μπορούν να προστεθούν και άλλες δυνατότητες μέσω modules, δίνοντας έτσι στον μηχανικό λογισμικού ένα πλήρες περιβάλλον ανάπτυξης. Παρέχει ό,τι θα περίμενε κανείς από ένα σύγχρονο IDE: 56 λειτουργίες αναζήτησης κώδικα (όπως αυτόματη μετάβαση στον ορισμό κάποιας μεθόδου, εύρεση όλων των σημείων που καλείται η συγκεκριμένη μέθοδος και επισήμανση κάθε εμφάνισης μιας συγκεκριμένης μεταβλητής σε κάποια κλάση).

57 εργαλεία debugging τα οποία βοηθούν στην επίλυση των διαφόρων προβλημάτων της εφαρμογής. εργαλεία σχεδίασης γραφικού περιβάλλοντος (GUI) με δυνατότητα drag and drop. Η δυνατότητα αυτή αφορά και την περίπτωση εφαρμογών Java Micro Edition, για τις οποίες το NetBeans παρέχει πολύ καλή υποστήριξη. Επιπλέον, για τις mobile εφαρμογές παρέχει διάγραμμα ροής καθιστώντας πολύ εύκολη την διαχείριση των οθονών και της εναλλαγής τους. Στον τομέα αυτό, το NetBeans υπερέχει ξεκάθαρα σε σχέση με το ανταγωνιστικό eclipse και είναι από τους βασικούς λόγους που προτιμήθηκε το συγκεκριμένο εργαλείο. ενσωματωμένα εργαλεία σύνδεσης με βάσεις δεδομένων και εκτέλεσης ερωτημάτων σε αυτές. Επιπλέον, παρέχει εργαλεία για σύνδεση και σε άλλου είδους servers (πχ web servers) τα οποία, ωστόσο, δεν μας χρειάστηκαν για την ανάπτυξη του συστήματος. εργαλεία δημιουργίας διαγραμμάτων UML κατ ευθείαν από τον κώδικα της εφαρμογής. Με αυτόν τον τρόπο, η τεκμηρίωση της εφαρμογής γίνεται πολύ πιο εύκολη. PhpMyAdmin Πρόκειται για ένα εργαλείο ανοιχτού κώδικα γραμμένο σε PHP το οποίο χρησιμεύει στην διαχείριση βάσεων δεδομένων MySQL μέσω web interface. Είναι πλήρες λειτουργιών, καθώς παρέχει εύκολο τρόπο δημιουργίας, τροποποίησης, διαγραφής βάσεων δεδομένων, πινάκων, πεδίων ή εγγραφών, διαχείρισης των χρηστών της βάσης και των δικαιωμάτων τους μέσω γραφικού περιβάλλοντος. Επιπλέον, παρέχεται και η δυνατότητα εκτέλεσης όχι μόνο μεμονωμένων εντολών SQL αλλά και ολόκληρων SQL Scripts. To web interface περιλαμβάνει επίσης σελίδες σχετικές με την απόδοση και στατιστικά στοιχεία χρήσης της βάσης. Το εργαλείο αυτό, τρέχει σε όλα τα δημοφιλή λειτουργικά συστήματα και έχει γνωρίσει μεγάλη επιτυχία, καθώς θεωρείται από τις πιο διαδεδομένες εφαρμογές γραμμένες σε PHP. Απαιτεί, ωστόσο, να υπάρχει ήδη εγκατεστημένος κάποιος web server στο σύστημα, όπως πχ ο Apache. 57

58

59 Κεφάλαιο 5 Έλεγχος Στην ενότητα αυτή παρουσιάζεται η μεθοδολογία και ένα από τα σενάρια που χρησιμοποιήθηκαν έτσι ώστε να επαληθευτεί η σωστή λειτουργία του συστήματος. 5.1 Μεθοδολογία Ελέγχου Προκειμένου να εξασφαλιστεί η ορθή λειτουργία του συστήματος έγιναν έλεγχοι σε όλα τα επίπεδα κατά την διάρκεια της ανάπτυξης του. Για κάθε νέο χαρακτηριστικό που προσθέταμε στο σύστημα, γινόταν οι σχετικοί έλεγχοι λειτουργίας στις καινούργιες ή τροποποιημένες κλάσεις και μεθόδους. Προφανώς, οι πιο ενδιαφέρουσες δοκιμές έγιναν σε επίπεδο του ολοκληρωμένου, πλέον, συστήματος με χρήση σεναρίων. Φροντίσαμε τα σενάρια αυτά να χρησιμοποιούν τις περισσότερες από τις λειτουργίες του συστήματος, έτσι ώστε να είμαστε σε θέση να ελέγξουμε κάθε περίπτωση χρήσης. Ένα από αυτά τα σενάρια το οποίο θα παρουσιαστεί εκτενώς στο κεφάλαιο αυτό είναι το ακόλουθο: Θεωρούμε τρεις χρήστες του συστήματος: τον Αντώνη, τον Γιάννη και τον Γιώργο, οι οποίοι είναι απόφοιτοι του ΕΜΠ και όσο ήταν φοιτητές έκαναν παρέα. Αρχικά γράφονται στην υπηρεσία και επιλέγουν τις συνδρομές τους. Ο Γιάννης έχει την ιδέα να δημιουργήσει μια ομάδα χρηστών με τους φίλους του από το Πανεπιστήμιο. Στην συνέχεια, γίνονται όλοι μέλη της ομάδας αυτής, ανταλλάσσουν μηνύματα και τελικά κανονίζουν συνάντηση. Παράλληλα, κάνουν χρήση και των δημόσιων θεματικών κατηγοριών που προσφέρει η υπηρεσία Σενάριο Ελέγχου Αρχικά, ο Γιάννης και ο Αντώνης γράφονται στην υπηρεσία. Στην συνέχεια, ο καθένας επιλέγει τις θεματικές κατηγορίες και περιοχές για τις οποίες επιθυμεί να λαμβάνει ενημέρωση. Ο Αντώνης επιθυμεί να λαμβάνει ειδοποιήσεις για κίνηση στους δρόμους και για τιμές καυσίμων στο κέντρο της Αθήνας και στα Βόρεια Προάστια και ο Γιάννης μόνο για κίνηση στους δρόμους στο κέντρο της Αθήνας και στα Δυτικά προάστια. Ο Γιάννης έχει την ιδέα να δημιουργήσει μια ομάδα χρηστών η οποία θα περιλαμβάνει τους παλιούς συμφοιτητές του, έτσι ώστε σε περίπτωση που κάποιος έχει ελεύθερο χρόνο να ενημερώσει τους άλλους να βρεθούν επί τόπου. Δημιουργεί, λοιπόν, την ομάδα και καλεί σε αυτήν τον Αντώνη, τον Γιώργο και κάποιους άλλους φίλους του. Ο Αντώνης λαμβάνει την πρόσκληση αλλά κατά λάθος την απορρίπτει. Ο Γιώργος μαθαίνει για την υπηρεσία, γίνεται μέλος, δημιουργεί τις συνδρομές του και αποδέχεται την πρόσκληση για την ομάδα που δημιούργησε ο Γιάννης. Στην συνέχεια, στέλνει ένα μήνυμα στην ομάδα χαιρετίζοντας τα μέλη. Ο Γιάννης λαμβάνει το μήνυμα και βλέπει τα μέλη της ομάδας. Διαγράφει από μέλη όλα τα άτομα τα οποία δεν είναι γραμμένα στην υπηρεσία και καλεί και πάλι τον Αντώνη. Ο Αντώνης αυτή τη φορά δέχεται την πρόσκληση. Μια μέρα, ο Αντώνης τελειώνει νωρίτερα από την δουλειά του στο κέντρο της Αθήνας και στέλνει μήνυμα στο group να συναντηθούν για καφέ σε κοντινή καφετέρια. Ο Γιάννης είναι συνδεδεμένος στην υπηρεσία, λαμβάνει το μήνυμα αμέσως και απαντάει καταφατικά. Στον δρόμο για να πάει στην συνάντηση, βρίσκει κίνηση και στέλνει το σχετικό μήνυμα στην κατηγορία κίνηση στους δρόμους. Ο Γιώργος ήταν σε μια συνάντηση και είχε κλειστό το κινητό του. Ενεργοποιεί την συσκευή του και εκκινεί την εφαρμογή. Κατά την σύνδεση του, λαμβάνει τα δυο μηνύματα από την ομάδα καθώς και την ενημέρωση για την κίνηση. Έτσι, απαντάει και εκείνος καταφατικά στο μήνυμα του Αντώνη και 59

60 επιλέγει εναλλακτική διαδρομή έτσι ώστε να γλιτώσει την κυκλοφοριακή συμφόρηση. Στον δρόμο του, εντοπίζει ένα βενζινάδικο με φθηνή βενζίνη και στέλνει μήνυμα στην σχετική κατηγορία. Τέλος, φθάνει στην συνάντηση και μετά από λίγο φτάνει και ο Γιάννης. 5.2 Αναλυτική Παρουσίαση Ελέγχου Στην ενότητα αυτή θα παρουσιαστεί αναλυτικά το σενάριο που περιγράψαμε προηγουμένως. Σε κάθε βήμα του σεναρίου θα παρατίθενται τα σχετικά screenshots από τα κινητά των χρηστών καθώς και τα μηνύματα που ανταλλάσσονται. Το κινητό του Αντώνη είναι το Nokia E51 ( ), ενώ για τους άλλους δυο χρήστες χρησιμοποιήθηκε ο emulator της sun ( Γιάννης και Γιώργος). 1. Ο Αντώνης γράφεται στην υπηρεσία με ψευδώνυμο ANTONIS. Στην συνέχεια επιλέγει να λαμβάνει ενημερώσεις για κίνηση στους δρόμους και τιμές καυσίμων στην Αθήνα και στα βόρεια προάστια. Σχήμα 5.1: Ο Αντώνης γράφεται στην υπηρεσία From: Message: #;USER; ;Antonis; To: Message: ;USEROK; From: Message: #;NEWSUBS;Traffic#Gas#;Athens#North#; From: Message: #;GETSUBS; To: Message: ;SUBS;TRAFFIC;GAS; 2. Ο Γιάννης γράφεται και εκείνος στην υπηρεσία με ψευδώνυμο GIANNIS και επιλέγει και αυτός τις συνδρομές που τον ενδιαφέρουν. From: Message: #;USER; ;GIANNIS; To: Message: ;USEROK; From: Message: #;NEWSUBS;Traffic#;Athens#West#; From: Message: #;GETSUBS; To: Message: ;SUBS;TRAFFIC; 60

61 Σχήμα 5.2: Ο Γιάννης γράφεται στην υπηρεσία 3. Ο Γιάννης δημιουργεί το group ECE με περιγραφή ALUMNI09. Καλεί τον Αντώνη, τον Γιώργο και κάποια άλλα άτομα από τον τηλεφωνικό του κατάλογο. Σχήμα 5.3: Ο Γιάννης δημιουργεί την ομάδα χρηστών ECE From: Message: #;GETGROUPS; To: Message: ;GROUPS;NGROUPS; From: Message: #;NEWGROUP;ECE;ALUMNI09; To: Message: ;GNAMEOK; From: Message: #;ADDUSERS;ECE; ; ;69XXXXXXXX; 69XXXXXXXX; From: Message: #;GETGROUPS; To: Message: ;GROUPS;ECE;NGROUPS; 4. Ο Αντώνης απορρίπτει κατά λάθος την πρόσκληση για την ομάδα ECE. 61

62 Σχήμα 5.4: Ο Αντώνης απορρίπτει την πρόσκληση για την ομάδα ECE From: Message: #;GETGROUPS; To: Message: ;GROUPS;NGROUPS;ECE; From: Message: #;DELETEGROUP;ECE (P); From: Message: #;GETGROUPS; To: Message: ;GROUPS;NGROUPS; 5. Ο Γιώργος γράφεται στην υπηρεσία με ψευδώνυμο GEO. Στην συνέχεια επιλέγει να λαμβάνει ενημερώσεις για κίνηση στους δρόμους και τιμές καυσίμων στην Αθήνα, στα βόρεια προάστια και τον Πειραιά Σχήμα 5.5: Ο Γιώργος γράφεται στην υπηρεσία From: Message: #;USER; ;GEO; To: Message: ;USEROK; From: Message: #;NEWSUBS;Traffic#Gas#;Athens#North#Peiraeus#; From: Message: #;GETSUBS; To: Message: ;SUBS;TRAFFIC;GAS; 6. Ο Γιώργος βλέπει τις πληροφορίες την ομάδα ECE, αποδέχεται την πρόσκληση και στέλνει ένα μήνυμα χαιρετίζοντας τα μέλη. Ο Γιάννης λαμβάνει το μήνυμα του Γιώργου. 62

63 Σχήμα 5.6: Ο Γιώργος βλέπει πληροφορίες για την ομάδα ECE Σχήμα 5.7: Ο Γιώργος αποδέχεται την πρόσκληση στην ομάδα ECE Σχήμα 5.8: Ο Γιώργος χαιρετά τα μέλη της ομάδας ECΕ 63

64 From: Message: #;GETGROUPS; To: Message: ;GROUPS;NGROUPS;ECE; From: Message: #;INFOGROUP;ECE (P); To: Message: ;INFOG;ECE;ALUMNI09;66;GIANNIS;PEN;GEO; UNREG;69XXXXXXX;69XXXXXXX; From: Message: #;ACCEPT;ECE (P); From: Message: #;GETGROUPS; To: Message: ;GROUPS;ECE;NGROUPS; From: Message: #;POSTMSG;ECE;HELLO; To: Message: ;PRV;ECE;HELLO;GEO; 7. Ο Γιάννης βλέπει και αυτός τις πληροφορίες της ομάδας. Ως δημιουργός της, αφαιρεί τα μέλη που δεν έχουν ακόμη γραφτεί στην υπηρεσία και στέλνει νέα πρόσκληση στον Αντώνη. Σχήμα 5.9: Ο Γιάννης διαχειρίζεται τα μέλη της ομάδας From: Message: #;GETGROUPS; To: Message: ;GROUPS;ECE;NGROUPS; From: Message: #;INFOGROUP;ECE; To: Message: ;INFOG;ECE;ALUMNI09;66;GIANNIS;GEO;PEN;none; UNREG;69XXXXXXXX;69XXXXXXXX; From: Message: #;CHECKADMIN;66; To: Message: ;ISADMIN; From: Message: #;GETMEMBERS;ECE; To: Message: ;MEMBERS;GEO; ; ; From: Message: #;DELETEMEMEBERS;ECE;69XXXXXXXX#69XXXXXXXX#; From: Message: #;INFOGROUP;ECE; To: Message: ;INFOG;ECE;ALUMNI09;66;GIANNIS;GEO;PEN;none;UNREG;none; From: Message: #;CHECKADMIN;66; To: Message: ;ISADMIN; From: Message: #;ADDUSERS;ECE; ; 8. Ο Γιώργος κλείνει το κινητό του (και την εφαρμογή) καθώς έχει μια σημαντική συνάντηση. From: Message: #;LOGOUT; 9. Ο Αντώνης λαμβάνει την νέα πρόσκληση και την αποδέχεται. Λίγο αργότερα, έχει ελεύθερο χρόνο από την δουλειά του και στέλνει μήνυμα στην ομάδα ECE προτείνοντας συνάντηση σε κοντινή καφετέρια. Ο Γιάννης λαμβάνει το μήνυμα. From: Message: #;GETGROUPS; To: Message: ;GROUPS;NGROUPS;ECE; From: Message: #;ACCEPT;ECE (P); From: Message: #;GETGROUPS; 64

65 To: Message: ;GROUPS;ECE;NGROUPS; From: Message: #;POSTMSG;ECE;Eimai kentro pame kafe; To: Message: ;PRV;ECE;Eimai kentro pame kafe;antonis; Σχήμα 5.10: Ο Αντώνης προτείνει συνάντηση 10. Ο Γιάννης απαντάει καταφατικά. Στον δρόμο του, όμως, συναντάει κυκλοφοριακή συμφόρηση στην οδό Πανεπιστημίου. Στέλνει το σχετικό μήνυμα ενημερώνοντας τους συνδρομητές της κατηγορίας. Ο Αντώνης λαμβάνει τα δυο μηνύματα από τον Γιάννη. Σχήμα 5.11: Ο Γιάννης απαντάει στον Αντώνη From: Message: #;GETGROUPS; To: Message: ;GROUPS;ECE;NGROUPS; From: Message: #;POSTMSG;ECE;OK; To: Message: ;PRV;ECE;OK;GIANNIS; From: Message: #;NEWTRAFFIC;Panepistimiou;Athens; To: Message: ;NEWTRFC;Panepistimiou;Athens; 11. Ο Γιώργος ανοίγει το κινητό του και ξεκινώντας την εφαρμογή δέχεται και αυτός τα μηνύματα. 65

66 Σχήμα 5.12: Ο Γιώργος λαμβάνει τα εκτός σύνδεσης μηνύματα From: Message: #;LOGIN; ; To: Message: ;OFFLINE;TRAFFIC;PANEPISTIMIOU;Athens;13:56:22;PRIVE;ECE; Eimai kentro pame kafe;antonis;13:53:44; ;prive; ECE;OK;GIANNIS;13:55:37; ; From: Message: #;GETSUBS; To: Message: ;SUBS;TRAFFIC;GAS; 12. Ο Γιώργος απαντάει και αυτός καταφατικά στην πρόσκληση. Ακολουθεί εναλλακτική διαδρομή, αποφεύγοντας την οδό Πανεπιστημίου. Έτσι εντοπίζει ένα νέο φθηνό βενζινάδικο. Τέλος, όλοι φτάνουν στην συνάντηση. Σχήμα 5.13: Ο Γιώργος αποστέλλει πληροφορία σχετική με βενζινάδικο From: Message: #;GETGROUPS; To: Message: ;GROUPS;ECE;NGROUPS; From: Message: #;POSTMSG;ECE;OK; To: Message: ;PRV;ECE;OK;GEO; To: Message: ;PRV;ECE;OK;GEO; From: Message: #;NEWSUBS;Traffic#Gas#;Athens#West#; From: Message: #;GETSUBS; To: Message: ;SUBS;TRAFFIC;GAS; From: Message: #;NEWGAS;.856;skoufa;Athens; To: Message: ;NEWGAS;.856;skoufa;Athens; 66

67 Κεφάλαιο 6 Σχετικές Εργασίες Στην ενότητα αυτή περιγράφονται ορισμένα συστήματα τα οποία παρουσιάζουν ομοιότητες ή έχουν παρόμοιο στόχο με το σύστημα που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας. 6.1 Micro-blogging Το micro-blogging είναι ένα είδος blogging που επιτρέπει στους χρήστες να δημοσιεύσουν μικρά μηνύματα κειμένου ή και φωτογραφίες, τα οποία θα είναι ορατά σε όσους επιλέξει ο χρήστης. Η διαφορά του με το παραδοσιακό blogging είναι ότι οι δημοσιεύσεις είναι πολύ μικρότερου μεγέθους και τα κείμενα σημαντικά πιο σύντομα. Σε γενικές γραμμές, μπορούμε να πούμε ότι τις περισσότερες φορές το περιεχόμενο τέτοιου είδους ιστολογίων αφορά το τι κάνει ο χρήστης την συγκεκριμένη στιγμή. Υπηρεσίες τέτοιου είδους είναι λόγω της ίδιας της φύσης τους αρκετά δημοφιλείς σε φορητές συσκευές. Μερικές από αυτές είναι το plurk, yammer και το πιο δημοφιλές twitter Twitter Η υπηρεσία twitter επιτρέπει στους χρήστες της να ενημερώνουν τους φίλους τους σχετικά με το τι κάνουν εκείνη την στιγμή με σύντομα μηνύματα (tweets). Μπορούν να επιλέξουν φυσικά, ποιοι θα μπορούν να δουν τα συγκεκριμένα μηνύματα. Αρχικά, το twitter ήταν μια εφαρμογή web, η φύση της ωστόσο ήταν τέτοια που γρήγορα επεκτάθηκε και στις φορητές συσκευές, καθώς τα μηνύματα που ανέβαζαν οι χρήστες είχαν νόημα να διαβαστούν για μικρό χρονικό διάστημα και ήταν απλά μηνύματα κειμένου. Η υπηρεσία, λοιπόν, μοιάζει αρκετά με την λειτουργία των ομάδων χρηστών που προσφέρεται από το σύστημα που αναπτύχθηκε. Σε ορισμένες χώρες η πρόσβαση στην υπηρεσία γίνεται μέσω sms (ΗΠΑ, Καναδάς κα) ενώ για τις υπόλοιπες υπάρχουν πολλές εναλλακτικές. Μια από αυτές είναι ένα ειδικά σχεδιασμένο site για κινητά τηλέφωνα, ενώ έχουν αναπτυχθεί και εφαρμογές σε διάφορες πλατφόρμες, όπως το Twidroid στην πλατφόρμα Android και το TwitterBerry για κινητά Blackberry. Επίσης, έχουν αναπτυχθεί και πολλές εφαρμογές σε πλατφόρμα Java ME για χρήστη του Twitter από κινητό τηλέφωνο, όπως το Jitter και το Twitlet. Κάποιοι clients όπως το twibble (υλοποιημένο σε Java ME) προσφέρουν και location based services δίνοντας την δυνατότητα στους χρήστες εκτός από το ίδιο το μήνυμα να περιλαμβάνουν και την περιοχή τους. 6.2 Υπηρεσίες Ενημέρωσης Στην ενότητα αυτή θα αναφερθούμε σε άλλες υπηρεσίες ενημέρωσης για κινητά τηλέφωνα σχετικά με την κίνηση στους δρόμους και τις τιμές πρατηρίων καυσίμων που διατίθενται στην αγορά. 67

68 6.2.1 Vodafone Traffic SMS Πρόκειται για μια υπηρεσία που προσφέρεται τους συνδρομητές της συγκεκριμένης εταιρείας, με σκοπό να τους ενημερώσει σε πραγματικό χρόνο για την κίνηση στους δρόμους της Αθήνας. Η συγκεκριμένη υπηρεσία και το σύστημα που αναπτύχθηκε φιλοδοξούν να λύσουν το ίδιο πρόβλημα. Ωστόσο, η υπηρεσία Traffic SMS λειτουργεί με εντελώς διαφορετικό τρόπο καθώς δεν είναι οι χρήστες που μοιράζονται τις πληροφορίες αλλά αυτές παρέχονται από την εταιρεία κινητής. Οι χρήστες επιλέγουν τις ώρες και μέρες για τις οποίες επιθυμούν να λαμβάνουν ενημέρωση και λαμβάνουν τα σχετικά ενημερωτικά SMS. Οι διαθέσιμες επιλογές είναι: πρωινή (7-9πμ), απογευματινή (4-6μμ) για τις καθημερινές και όλο το Σαββατοκύριακο (Σάββατο 9πμ - Κυριακή 6μμ). Η χρέωση γίνεται με την ενεργοποίηση της συνδρομής στην υπηρεσία η οποία διαρκεί μια εβδομάδα. Η υπηρεσία εστιάζει στις παρακάτω περιπτώσεις (με αυτή τη σειρά προτεραιότητας): Ατυχήματα, πού έχουν γίνει, και ποια είναι η κατάσταση Οδικά έργα Την κατάσταση στις μεγάλες οδικές αρτηρίες της Αθήνας και πού έχουν μπλοκάρει Προβλήματα λόγω έντονων καιρικών φαινομένων Άλλα περιστατικά που ενδεχομένως επηρεάζουν την κυκλοφορία RealTraffic Η εταιρεία Telenavis Hellas Α.Ε. ηγείται στον χώρο της Επιχειρηματικής Γεωγραφικής Πληροφορικής στην χώρα μας. Η υπηρεσία της RealTraffic προσφέρει ενημέρωση σε πραγματικό χρόνο για την κίνηση στους δρόμους. Εκτός από την εφαρμογή web, η υπηρεσία είναι προσβάσιμη και μέσω των μενού υπηρεσιών των τριών Ελληνικών εταιρειών κινητής τηλεφωνίας (cosmote my view, vodafone live!, wind plus). Τα δεδομένα της υπηρεσίας προέρχονται από το Κέντρο Διαχείρισης Κίνησης του ΥΠΕΧΩΔΕ και ανανεώνονται κάθε λεπτό, 24 ώρες το 24ώρο. Πιο συγκεκριμένα, παρέχονται τα εξής στοιχεία: 68 Κατηγοριοποίηση των δρόμων ανάλογα με τον κυκλοφοριακό φόρτο με τα αντίστοιχα χρώματα, για να μπορεί ο χρήστης να καταλάβει γρήγορα που υπάρχουν προβλήματα Πρόβλεψη για την τάση της κυκλοφορίας, στο προσεχές χρονικό διάστημα Έκτακτη ενημέρωση, για έκτακτα συμβάντα που προκαλούν κλείσιμο δρόμων και επιβάρυνση της κυκλοφορίας, από οποιαδήποτε αιτία, την στιγμή που συμβαίνει Εκτίμηση για χρόνους διαδρομών

69 Σχήμα 6.1: Screenshot από την Υπηρεσία RealTraffic Έτσι αν κάποιος επιθυμεί να μεταβεί από το Νέο Ψυχικό στο Σύνταγμα, θα μπορεί να ελέγξει την κατάσταση στις λεωφόρους Μεσογείων και Κηφισίας και να επιλέξει την διαδρομή με τον μικρότερο κυκλοφοριακό φόρτο. Η υπηρεσία διατίθεται με ημερήσια, εβδομαδιαία ή μηνιαία συνδρομή. Επιπλέον, ο χρήστης θα χρεωθεί και για την είσοδο του στο αντίστοιχο μενού υπηρεσιών GasPrice.gr Πρόκειται για μια ιστοσελίδα ( gasprice.gr) η οποία έχει σκοπό να ενημερώνει τα μέλη της και όχι μόνο για τις τιμές των πρατηρίων καυσίμων. Πρόσφατα, δόθηκε η δυνατότητα πρόσβασης στις υπηρεσίες της μέσω μιας ειδικά διαμορφωμένης ιστοσελίδας για κινητά τηλέφωνα στην διεύθυνση: Βασίζεται στην ίδια ιδέα με το σύστημα το οποίο αναπτύχθηκε στα πλαίσια της εφαρμογής: τα μέλη εθελοντικά προσθέτουν το περιεχόμενο της σελίδας. Τα μέλη, δηλαδή, είναι αυτοί που συλλέγουν και εισάγουν τις τιμές στο site καθώς και στοιχεία επιχειρήσεων (πρατηρίων), κριτικές, ωράρια, θέσεις πρατηρίων κ.α. Οι πληροφορίες αυτές είναι, ωστόσο, διαθέσιμες και στους επισκέπτες της σελίδας. Οι επισκέπτες, λοιπόν, έχουν την δυνατότητα αναζήτησης πρατηρίων καυσίμων, προβολή των στοιχείων τους, του ωραρίου λειτουργίας τους, της άποψης των μελών για εκείνα καθώς και το πότε παρατηρήθηκε η συγκεκριμένη τιμή. Για να εισάγει κάποιος τιμές καυσίμων ή νέα πρατήρια στην βάση πρέπει να είναι μέλος της σελίδας. Μεταξύ των άλλων πλεονεκτημάτων που έχουν τα μέλη της υπηρεσίας, είναι η δυνατότητα να δημιουργούν ομάδες πρατήριων τα οποία τους ενδιαφέρουν έτσι ώστε να είναι πιο εύκολη η παρατήρηση και η εισαγωγή τιμών. Επίσης, αν κάποιος είναι ιδιοκτήτης ενός πρατηρίου έχει την δυνατότητα, αφού γραφτεί στην σελίδα, να καταχωρήσει τα στοιχεία της επιχείρισης του. Όπως αναφέρθηκε ήδη, η λειτουργία της σελίδας στηρίζεται στα μέλη της. Έτσι, δημιουργήθηκε ένα σύστημα ιεραρχίας των μελών με σκοπό να επιβραβευτούν τα πιο δραστήρια, με περισσότερες δυνατότητες αλλά και κάποιες αρμοδιότητες στην σελίδα (εφόσον το επιθυμούν). Πρόκειται, λοιπόν, για ένα παρόμοιο σύστημα με εκείνο που αναπτύχθηκε στα πλαίσια την διπλωματικής. Στην περίπτωση του όμως, η πρόσβαση στην υπηρεσία από κινητά τηλέφωνα γίνεται μέσω ειδικά σχεδιασμένης ιστοσελίδας και όχι ειδικής εφαρμογής. Με αναζήτηση στο διαδίκτυο βρέθηκαν αρκετές παρόμοιες σελίδες προορισμένες για άλλες χώρες. 69

70 6.3 Mobile Social Networking Οι υπηρεσίες Social Networking, όπως το facebook, είναι ιδιαίτερα δημοφιλείς. Οι χρήστες γράφονται σε τέτοιου είδους υπηρεσίες και στην συνέχεια δημιουργούν λίστες με φίλους, συναδέλφους, μέλη της οικογενείας κα. Επίσης, τέτοιου είδους υπηρεσίες φέρνουν σε επαφή άτομα με κοινά ενδιαφέροντα καθώς περιλαμβάνουν την δυνατότητα δημιουργίας ομάδων και επικοινωνίας μεταξύ των μελών τους. Πλέον, πολλές τέτοιες σελίδες, προσφέρουν και υπηρεσίες προσβάσιμες μέσω κινητού, ενώ έχουν δημιουργηθεί και συστήματα ειδικά σχεδιασμένα για κινητά τηλέφωνα. Η πρόσβαση από κινητά τηλέφωνα συνήθως γίνεται μέσω sms, wap, i-mode καθώς και εφαρμογές java. Δημοφιλείς υπηρεσίες mobile social networking είναι τα: mobimii, qeep, mobikade, juicecaster και άλλα. Εκτός, λοιπόν, από την υπηρεσία ομάδων χρηστών που είναι παρόμοια με εκείνη του συστήματος που υλοποιήθηκε, προσφέρεται επίσης η δυνατότητα δημιουργίας προφίλ από τους χρήστες, ανάρτησης πολυμεσικού περιεχομένου όπως φωτογραφίες κα. 70

71 Κεφάλαιο 7 Επίλογος και Μελλοντικές Επεκτάσεις Ως επίλογο, θα παραθέσουμε συμπεράσματα που προέκυψαν κατά την εκπόνηση της εργασίας και θα προτείνουμε κάποιες κατευθύνσεις για μελλοντικές επεκτάσεις. 7.1 Σύνοψη και Συμπεράσματα Στα πλαίσια της διπλωματικής εργασίας, αναπτύχθηκε ένα σύστημα το οποίο επιτρέπει στους χρήστες να μοιράζονται πληροφορίες και να ανταλλάσσουν μηνύματα μεταξύ τους άμεσα με χρήση των κινητών τους τηλεφώνων. Με τους ταχύτατους ρυθμούς που κινούμαστε η άμεση και έγκαιρη πληροφόρηση είναι πολύ σημαντική και τα σύγχρονα δίκτυα προσφέρουν την υποδομή στους ανθρώπους να μεταδίδουν πληροφορίες όπου και αν βρίσκονται. Το σύστημα φιλοδοξεί να εκμεταλλευτεί το γεγονός αυτό, παρέχοντας στους χρήστες άμεση πληροφόρηση στα θέματα που τους αφορούν. Αναπτύχθηκε και το κομμάτι του διακομιστή ο οποίος αναλαμβάνει το συντονισμό των χρηστών, την παραλαβή και διανομή των μηνυμάτων αλλά και η εφαρμογή πελάτη που τρέχει στα κινητά τηλέφωνα. Τα κινητά τηλέφωνα, είναι πλέον αναπόσπαστο κομμάτι της καθημερινότητας μας και έχουν εξελιχθεί τόσο ώστε να είναι σε θέση να μας παρέχουν πολύ περισσότερες υπηρεσίες πέρα απ αυτές ενός απλού τηλεφώνου. Αποτελούν, επομένως, μια πλατφόρμα η οποία μας δίνει την δυνατότητα να αναπτύξουμε νέες και καινοτόμες εφαρμογές οι οποίες θα μας διευκολύνουν στην καθημερινότητα μας. Η ανάπτυξη εφαρμογών σε τέτοιου είδους συσκευές αποτελεί πρόκληση για τους προγραμματιστές. Παρά την αλματώδη πρόοδο της τεχνολογίας, τα κινητά τηλέφωνα έχουν πολύ περιορισμένους πόρους (επεξεργαστική ισχύ, ενεργειακή αυτονομία, μνήμη). Πρέπει, επομένως, ο προγραμματιστής να είναι ιδιαίτερα προσεκτικός έτσι ώστε τα προγράμματα του να απαιτούν τα ελάχιστα δυνατά από την συσκευή. Το σύστημα που αναπτύχθηκε είναι πλήρες και λύνει τα προβλήματα που παρουσιάστηκαν στην εισαγωγή της διπλωματικής. Ωστόσο, στην επόμενη ενότητα θα παρουσιάσουμε κάποιες πιθανές βελτιώσεις και επεκτάσεις που θα μπορούσαν να γίνουν. 7.2 Μελλοντικές Επεκτάσεις Ακολουθούν κάποιες προτάσεις για επέκταση της παρούσας διπλωματικής Εύρεση Θέσης Το Location API που παρέχει η Java ME είναι ένα προαιρετικό πακέτο το οποίο επιτρέπει την ανάπτυξη location based εφαρμογών. Δεν είναι ακόμη ιδιαίτερα δημοφιλές καθώς υποστηρίζεται από ελάχιστες συσκευές. Επομένως, λειτουργικότητα της εφαρμογής που βασίζεται στην τεχνολογία αυτή θα απευθυνόταν σε ελάχιστες συσκευές. Μελλοντικά, όταν εδραιωθεί το συγκεκριμένο API θα μπορούσαμε να προσθέσουμε κάποιες ευκολίες για τον χρήστη της εφαρμογής που να βασίζονται σε αυτή τη τεχνολογία. Πιθανές τέτοιες λύσεις είναι: Δεν είναι πλέον ανάγκη ο χρήστης να δηλώνει τις περιοχές που κινείται ώστε να λαμβάνει πληροφόρηση για αυτές. Η θέση του θα είναι διαθέσιμη στον εξυπηρετητή και έτσι αυτός θα 71

72 αναλαμβάνει να τον ενημερώσει για ό,τι συμβαίνει στις κοντινές περιοχές. Δεν θα είναι πλέον απαραίτητη η εισαγωγή από τον χρήστη της περιοχής την οποία αφορά ένα μήνυμα κατά την αποστολή του καθώς θα είναι πλέον δυνατός ο εντοπισμός του. Ωστόσο, θα πρέπει να υπάρχει επιλογή να προσθέσει πληροφορία για κάποια διαφορετική τοποθεσία από την τρέχουσα Αξιολόγηση Χρηστών Η επιτυχία του συστήματος βασίζεται σε μεγάλο βαθμό στην συμμετοχή των χρηστών και στο κατά πόσο οι πληροφορίες που μοιράζονται με τους υπόλοιπους χρήστες είναι έγκυρες, χρήσιμες και ακριβείς. Θα ήταν καλό να υπήρχε επομένως μια ασπίδα προστασίας των χρηστών από μηνύματα που προέρχονται από αναξιόπιστους χρήστες. Μια λύση στο πρόβλημα αυτό, θα ήταν να δίνεται η δυνατότητα να αξιολογούν εκ των υστέρων οι χρήστες τις πληροφορίες που λαμβάνουν. Η αξιολόγηση δεν θα αφορά την πληροφορία μεμονωμένα αλλά τον ίδιο τον αποστολέα της. Στην περίπτωση που ο αποστολέας έχει χαμηλή βαθμολογία, θα εμφανίζεται σχετική ειδοποίηση στα μηνύματα που στέλνει. Επεκτείνοντας το σύστημα αξιολόγησης ακόμη περισσότερο θα μπορούσαμε να προσθέσουμε κάποιου είδους επιβράβευση για τους ενεργούς χρήστες που μοιράζονται χρήσιμες πληροφορίες ως ένα είδος κινήτρου και κάποιου είδους κυρώσεις για τους αναξιόπιστους χρήστες. Θα μπορούσε πχ, να υπήρχε ένα όριο στον ημερήσιο αριθμό ειδοποιήσεων που μπορεί να λάβει ένας χρήστης. Το όριο αυτό θα προκύπτει ως συνάρτηση του αριθμού των μηνυμάτων που έχει στείλει ο χρήστης και της αξιολόγησης που έχουν λάβει Εμπλουτισμός Περιεχομένου Προς το παρόν, οι χρήστες, εκτός από τις ομάδες που δημιουργούν, μοιράζονται πληροφορίες που αφορούν μόνο την κίνηση στους δρόμους της πόλης και την τιμή καυσίμων. Θα μπορούσε να υπάρξει επέκταση της εφαρμογής ώστε να υπάρξουν και επιπλέον θεματικές κατηγορίες. Κάτι τέτοιο, ωστόσο, περιέχει αρκετές δυσκολίες, η σημαντικότερη από αυτές είναι το interface στην εφαρμογή πελάτη. Κάθε νέα κατηγορία απαιτεί διαφορετική φόρμα καθώς ο χρήστης θα πρέπει να εισάγει διαφορετικά στοιχεία. Μια λύση για το πρόβλημα αυτό θα ήταν να γίνεται έλεγχος από τον κεντρικό εξυπηρετητή της έκδοσης της εφαρμογής πελάτη κατά την απόπειρα σύνδεσης στο σύστημα. Σε περίπτωση που έχουν προστεθεί νέες θεματικές κατηγορίες, η σύνδεση θα αποτυγχάνει και ο χρήστης θα προτρέπεται να κατεβάσει την ενημερωμένη έκδοση της εφαρμογής, με υποστήριξη για τις νέες θεματικές κατηγορίες πριν ξαναπροσπαθήσει να χρησιμοποιήσει την υπηρεσία. Επιπλέον, θα μπορούσε να δοθεί δυνατότητα εμφάνισης κάποιου χάρτη, πιθανώς μέσω google maps, έτσι ώστε να μπορούν οι χρήστες να εντοπίζουν τα σημεία στα οποία αναφέρονται οι πληροφορίες που λαμβάνουν. Σε ότι αφορά τους διαχειριστές του συστήματος, θα μπορούσαν να προστεθούν κάποια εργαλεία για την παρουσίαση συγκεντρωτικών στατιστικών στοιχείων για την χρήση της υπηρεσίας. Τέτοια στοιχεία θα μπορούσαν να αφορούσαν τους πιο ενεργούς χρήστες, τις πιο δημοφιλείς θεματικές ενότητες κα Ανάπτυξη σε διαφορετικές πλατφόρμες Η λύση της Java ME προτιμήθηκε για την ανάπτυξη της εφαρμογής πελάτη, κυρίως γιατί υποστηρίζεται από σχεδόν το σύνολο των σύγχρονων κινητών τηλεφώνων και αρκετών άλλων φορητών συσκευών. Σε αυτό το μεγάλο προτέρημα υπάρχει και ο αντίλογος ότι λόγω του τόσο μεγάλου εύρους συσκευών που υποστηρίζει, δεν είναι σε θέση να εκμεταλλευτεί στο έπακρο τις δυνατότητες που παρέχει η κάθε συσκευή. Μια μελλοντική εργασία σε σχέση με την διπλωματική εργασία θα ήταν να γίνει μεταφορά της εφαρμογής πελάτη και σε άλλες πλατφόρμες. Ενδεικτικά, τέτοιες πλατφόρμες είναι το Symbian, Windows Mobile, το iphone της Apple και η ανοιχτή πλατφόρμα Android της Google. 72

73 7.2.5 Web Interface Τα κινητά έχουν το θετικό στοιχείο της φορητότητας ωστόσο δεν είναι πάντα τόσο εύχρηστα, λόγω της σχετικά μικρής τους οθόνης και της απουσίας πληκτρολογίου QWERTY. Έτσι, κάποιες λειτουργίες όπως η προσθήκη μελών σε ομάδα χρηστών δεν είναι πάντα ιδιαίτερα εύχρηστες. Θα μπορούσε, επομένως, να δοθεί η δυνατότητα στους χρήστες να έχουν πρόσβαση στον λογαριασμό τους μέσω web interface και να εκτελούν κάποιες εργασίες από τον υπολογιστή τους. Το login θα γίνεται με τα ίδια στοιχεία με την εφαρμογή πελάτη. Με αυτόν τον τρόπο, λχ, για το παράδειγμα με την προσθήκη μελών, οι χρήστες θα μπορούσαν να ανεβάζουν τα στοιχεία των ατόμων που θέλουν να προσθέσουν, είτε πληκτρολογώντας τα, είτε, ακόμη καλύτερα, ανεβάζοντας αρχεία vcard (vcf). Θα μπορούσε επιπλέον να δίνεται η δυνατότητα να γίνεται εισαγωγή ολόκληρου του καταλόγου επαφών προγραμμάτων όπως το Mozilla Thunderbird ή το Microsoft Outlook. Ο κατάλογος θα αποθηκευόταν στον διακομιστή και έτσι ο χρήστης θα μπορούσε με λίγα μόνο κλικ να επιλέξει τα μέλη που επιθυμεί να προσθέσει. Μέσω του web interface θα μπορούσαν να διατίθενται και άλλες υπηρεσίες για τις οποίες οι μικρές οθόνες του κινητού δεν είναι κατάλληλες. Θα μπορούσε, πχ, να εμφανίζεται λίστα με όλα τα μηνύματα που έχουν σταλεί σε κάποια ομάδα χρηστών ή, πιθανώς, ένα πιο γενικό είδος ιστορικού της ομάδας και των πιο πρόσφατων δημοσιεύσεων στις θεματικές κατηγορίες στις οποίες είναι συνδρομητής ο συγκεκριμένος χρήστης κα. 73

74

75 Βιβλιογραφία [Cade07] Rogers Cadenhead and Laura Lemay, Πλήρες Εγχειρίδιο της Java 6, Εκδόσεις Μ. Γκιούρδας, [cldc] CLDC 1.1 API, jsr139/. [djod04] Martin de Jode, Programming Java 2 micro edition on symbian OS : a developer s guide to MIDP 2.0, John Wiley and Sons, [Gigu00] Eric Giguere, Java 2 micro edition, John Wiley and Sons, [java] Java Platform, Standard Edition 6 Api Specification, javase/6/docs/api/. [LI05] SING LI and JONATHAN KNUDSEN, Beginning J2ME: From Novice to Professional, Third Edition, Apress, [midp] MID Profile API, jsr118/. [mysq] [Silb98] MySQL Documentation, A. Silberschatz, H.F. Korth and S. Sudershan, Database system concepts, McGraw-Hill, Inc. New York, NY, USA, [Yuan03] Michael Juntao Yuan, Enterprise J2ME: Developing Mobile Java Applications, Prentice Hall,

76

77 Παράρτημα A Εγκατάσταση Συστήματος Για την λειτουργία του συστήματος πρέπει πρώτα να εγκαταστήσουμε την εφαρμογή εξυπηρετητή σε κάποιον υπολογιστή με πρόσβαση στο διαδίκτυο και στην συνέχεια να εγκαταστήσουμε την εφαρμογή σε κινητά τηλέφωνα. A.1 Εγκατάσταση Εξυπηρετητή Αρχικά, θα παρουσιάσουμε την διαδικασία που απαιτείται για την εφαρμογής εξυπηρετητή. A.1.1 Εγκατάσταση Βάσης Δεδομένων Για να λειτουργήσει η εφαρμογή εξυπηρετητή είναι απαραίτητο να είναι εγκατεστημένο στο σύστημα μας το RDBMS MySQL. Σε περίπτωση που δεν είναι εγκατεστημένη η MySQL 5.0, μεταβαίνουμε στην τοποθεσία: downloads και κάνουμε λήψη του αντίστοιχου αρχείου ανάλογα με το λειτουργικό μας σύστημα. Η εγκατάσταση είναι μια αρκετά απλή διαδικασία και μπορούμε να χρησιμοποιήσουμε τις προεπιλεγμένες ρυθμίσεις για μια τυπική εγκατάσταση. Στην συνέχεια, στο Configuration Wizard επιλέγουμε Standard Configuration. Όταν μας ζητηθεί εισάγουμε password της αρεσκείας μας για τον χρήστη root. Η προεπιλεγμένη πόρτα στην οποία ακούει ο MySQL server και στην οποία συνδέεται ο εξυπηρετητής του συστήματος είναι η Σε περίπτωση που στο σύστημα μας είναι εγκατεστημένο κάποιο πρόγραμμα firewall πρέπει να βεβαιωθούμε ότι η συγκεκριμένη πόρτα είναι ανοιχτή. Αφού εγκατασταθεί επιτυχώς η MySQL στο σύστημα μας πρέπει να περάσουμε στο σύστημα το σχήμα της βάσης της εφαρμογής. Αρχικά πρέπει να δημιουργήσουμε τον χρήστη bbuser με κωδικό και να δημιουργήσουμε την βάση billboard. Αυτό μπορεί να γίνει ως εξής: Ανοίγουμε μια γραμμή εντολών και δίνουμε: C:\>mysql --user=root -p Εισάγουμε τον κωδικό που επιλέξαμε κατά την εγκατάσταση και στην συνέχεια εκτελούμε τις ακόλουθες εντολές: mysql> CREATE USER localhost IDENTIFIED BY ; mysql> GRANT ALL PRIVILEGES ON *.* TO localhost -> WITH GRANT OPTION; mysql> exit Αυτή τη φορά θα εισέλθουμε στην MySQL ως bbuser και θα δημιουργήσουμε την νέα βάση δεδομένων. Τα αρχεία schema.sql και triggers.sql πρέπει να βρίσκονται στον ίδιο κατάλογο με αυτόν που εργαζόμαστε. Εκτελούμε λοιπόν: C:\>mysql --user=bbuser -p mysql> CREATE DATABASE billboard; mysql> exit C:\>mysql --user=bbuser -p billboard < schema.sql C:\>mysql --user=bbuser -p billboard < triggers.sql 77

78 Σχήμα A.1: Ρύθμιση domain στον δρομολογητή A.1.2 Η βάση είναι πλέον έτοιμη. Ρύθμιση Δρομολογητή Η εφαρμογή πελάτης στα κινητά τηλέφωνα είναι ρυθμισμένη ώστε να συνδέεται σε server που τρέχει σε συγκεκριμένο domain. Για τις ανάγκες τις διπλωματικής χρησιμοποιήσαμε μια δωρεάν υπηρεσία Dynamic DNS, την DynDNS καθώς χρειαζόμασταν στατική IP. Εναλλακτικά, θα μπορούσαμε να είχαμε ενεργοποιήσει την υπηρεσία στατικής διεύθυνσης IP από τον ISP μας, με το ανάλογο κόστος φυσικά. Το domain που κατοχυρώθηκε για την εφαρμογή είναι το billboard.ath.cx. Προκειμένου να αντιστοιχεί το domain με την διεύθυνση IP του μηχανήματος πρέπει ο χρήστης να εισάγει τις πληροφορίες του λογαριασμού στο σχετικό μενού του δρομολογητή του (στις περισσότερες συσκευές αναφέρεται ως Dynamic DNS). Λεπτομέρειες φαίνονται στο παραπάνω screenshot. Επιπλέον, ο χρήστης πρέπει να ρυθμίσει το port forwarding - NAT του δρομολογητή του έτσι ώστε να προωθεί τις εισερχόμενες TCP συνδέσεις στην θύρα 4444 στο μηχάνημα που τρέχει ο εξυπηρετητής. Σε διαφορετική περίπτωση που ο χρήστης δεν διαθέτει δρομολογητή ή ο δρομολογητής του δεν υποστηρίζει την λειτουργία Dynamic DNS τότε πρέπει να κατεβάσει και να εγκαταστήσει τον client της υπηρεσίας DynDNS και να περάσει εκεί τα στοιχεία του domain. Η λήψη του απαραίτητου προγράμματος μπορεί να γίνει από την σελίδα Να σημειωθεί εδώ, ότι στην περίπτωση που ο χρήστης δεν διαθέτει router τότε δεν χρειάζεται προφανώς να ασχοληθεί με port forwarding. Αν υπάρχει κάποιο firewall στον υπολογιστή, πρέπει να βεβαιωθούμε ότι η πόρτα 4444 που χρησιμοποιεί η εφαρμογή είναι ανοιχτή. A.1.3 Εγκατάσταση Διακομιστή Αρχικά, μεταφέρουμε το εκτελέσιμο αρχείο της εφαρμογής billboardserver.jar μαζί με τον φάκελο lib/ στον σκληρό μας δίσκο. Ανοίγουμε μια γραμμή εντολών και δίνουμε: C:\dist\>java -jar billboardserver.jar 78

79 Σχήμα A.2: Ρύθμιση port forwarding Αν δεν έχει γίνει κάποιο σφάλμα κατά την εγκατάσταση θα ανοίξει το κεντρικό παράθυρο της εφαρμογής. Σε διαφορετική περίπτωση, θα εμφανιστεί το σχετικό μήνυμα σφάλματος στην γραμμή εντολών. A.2 Εφαρμογή Πελάτη Η εγκατάσταση εφαρμογών Java ME σε κινητά τηλέφωνα είναι μια πολύ απλή και εύκολη διαδικασία. Η εφαρμογή αποτελείται από ένα μόνο αρχείο τύπου jar. Κατ αρχάς πρέπει να μεταφέρουμε με κάποιο τρόπο το αρχείο αυτό στο κινητό τηλέφωνο. Αυτό μπορεί να γίνει είτε με bluetooth, είτε με υπέρυθρες, είτε να κατεβάσουμε το αρχείο από το web. Μόλις ανοίξουμε το αρχείο, ο οδηγός εγκατάστασης μας ρωτάει αν επιθυμούμε την εγκατάσταση της εφαρμογής και ξεκινάει η διαδικασία της εγκατάστασης. Επειδή η εφαρμογή δεν είναι υπογεγραμμένη ψηφιακά θα εμφανιστεί σχετική ειδοποίηση στον χρήστη, ότι πιθανώς να είναι επικίνδυνη η εγκατάσταση της. Ωστόσο, η χρήση της είναι ασφαλής και επομένως ο χρήστης μπορεί, χωρίς πρόβλημα, να αγνοήσει την ειδοποίηση αυτή. Επιπλέον, εμφανίζονται οι πληροφορίες της εφαρμογής. Στην συνέχεια, ο οδηγός εγκατάστασης θα ψάξει στην μνήμη της συσκευής ώστε να ελέγξει αν υπάρχει κάποια προηγούμενη έκδοση της εφαρμογής εγκατεστημένη. Σε περίπτωση που εντοπισθεί παλιότερη έκδοση τότε ο οδηγός ρωτάει τον χρήστη αν επιθυμεί να την αντικαταστήσει με την νεότερη. Ο χρήστης πρέπει να απαντήσει καταφατικά, διαφορετικά η διαδικασία εγκατάστασης διακόπτεται. Στην συνέχεια, αν το κινητό έχει πολλαπλούς αποθηκευτικούς χώρους (πχ. κάποια κάρτα μνήμης εκτός από την μνήμη της ίδιας της συσκευής), τότε ο χρήστης καλείται να επιλέξει τον προορισμό για την εγκατάσταση. Στο σημείο αυτό ο χρήστης μπορεί να κάνει την επιλογή της αρεσκείας του καθώς η εφαρμογή τρέχει απροβλημάτιστα ανεξάρτητα από το σε ποια μνήμη θα αποθηκευτεί. Τέλος, σε περίπτωση αναβάθμισης, ο χρήστης θα ερωτηθεί αν επιθυμεί να κρατηθούν τα αποθηκευμένα στοιχεία από την προηγούμενη έκδοση. Εδώ ο χρήστης πρέπει να απαντήσει καταφατικά. Σε διαφορετική περίπτωση, τα στοιχεία του (ο αριθμός τηλεφώνου και το ψευδώνυμο του) διαγράφονται από την μνήμη της συσκευής και ο χρήστης πρέπει να γραφτεί και πάλι στην υπηρεσία. 79

80 Σχήμα A.3: Εκκίνηση Εγκατάστασης Σχήμα A.4: Ολοκλήρωση Εγκατάστασης A.3 Απαιτήσεις σε υλικό και λογισμικό Σε ότι αφορά την εφαρμογή εξυπηρετητή, είναι απαραίτητο το μηχάνημα στο οποίο θα τρέξει να έχει εγκατεστημένο το Java Runtime Environment 6 (JRE 6) και τον MySQL Server 5.0. Οδηγίες για την εγκατάσταση του MySQL Server δόθηκαν σε προηγούμενη ενότητα. Το JRE 6 διατίθεται δωρεάν από την sun στην σελίδα: και η εγκατάσταση του απλή. Ένα από τα μεγαλύτερα πλεονεκτήματα της Java είναι ότι τρέχει κάτω από οποιοδήποτε λειτουργικό σύστημα, όποτε δεν υπάρχει κάποια απαίτηση ως προς αυτό. Η εφαρμογή έχει ελεγχθεί σε περιβάλλον Debian GNU/Linux 5.0 Lenny και Microsoft Windows XP SP3. Απαιτείται, επίσης, μόνιμη σύνδεση στο διαδίκτυο έτσι ώστε το εξυπηρετητής να δέχεται συνδέσεις από τα τερματικά καθώς και επαρκείς υπολογιστικοί πόροι (επεξεργαστική ισχύς και μνήμη) έτσι ώστε να είναι σε θέση να εξυπηρετήσει πολλά τερματικά ταυτόχρονα. Σε ότι αφορά τις απαιτήσεις της εφαρμογής πελάτη, το κινητό πρέπει να υποστηρίζει την πλατφόρμα 80

81 Java ME και πιο συγκεκριμένα την ρύθμιση CLDC 1.1 / MIDP 2.0. Επιπλέον, η λειτουργία προσθήκης μελών σε ομάδες χρηστών απαιτεί την παρουσία του PIM API της Java ME, έτσι ώστε να είναι δυνατή η ανάκτηση του τηλεφωνικού καταλόγου της συσκευής. Τέλος, είναι απαραίτητο η συσκευή να έχει δυνατότητα πρόσβασης στο διαδίκτυο μέσω είτε GPRS, είτε, κατά προτίμηση, 3G, είτε Wi-Fi. Οι παραπάνω απαιτήσεις καλύπτονται από την πλειοψηφία των σύγχρονων κινητών τηλεφώνων και οι υπηρεσίες πρόσβασης στο διαδίκτυο προσφέρονται σχεδόν σε όλα τα προγράμματα σύνδεσης των παρόχων. Επομένως, δεν αναμένονται προβλήματα σε ότι αφορά την εγκατάσταση και την χρήση της εφαρμογής. A.4 Περιεχόμενα CD Στο CD που συνοδεύει τον παρόν τόμο περιέχει: Την εφαρμογή κεντρικού εξυπηρετητή. Την εφαρμογή πελάτη. Τις διαφάνειες της παρουσίασης. Τον παρόν τόμο. Την περίληψη (abstract) της διπλωματικής. 81

82

83 Παράρτημα B Εγχειρίδιο Χρήστη Στο δεύτερο παράρτημα θα παραθέσουμε ένα συνοπτικό εγχειρίδιο χρήσης για την εφαρμογή - πελάτη. Λεπτομερείς οδηγίες για την εγκατάσταση της εφαρμογής σε κινητά τηλέφωνα δόθηκαν στο παράρτημα Α. B.1 Πρώτη Εκτέλεση Εφαρμογής Μόλις εκκινήσει η εφαρμογή προσπαθεί να συνδεθεί με τον διακομιστή και πρέπει να επιλέξετε ποια από τις διαθέσιμες συνδέσεις προτιμάτε να χρησιμοποιηθεί. Σε περίπτωση που η σύνδεση με τον διακομιστή δεν είναι εφικτή για οποιοδήποτε λόγο, θα εμφανιστεί μήνυμα σφάλματος και θα πρέπει να τερματίσετε την εφαρμογή. Στην συνέχεια, μπορείτε να προσπαθήσετε πάλι να συνδεθείτε, εκκινώντας την εκ νέου. Επιπλέον, η εφαρμογή προσπαθεί να διαβάσει τον τηλεφωνικό κατάλογο της συσκευής σας. Πρέπει να απαντήσετε καταφατικά στις σχετικές ερωτήσεις έτσι ώστε να μπορείτε να χρησιμοποιήσετε όλες τις διαθέσιμες λειτουργίες. Στην συνέχεια, εμφανίζεται η φόρμα εγγραφής στην οποία πρέπει να εισάγετε όλα τα ζητούμενα στοιχεία. Σε περίπτωση που το όνομα χρήστη που επιλέξατε είναι ήδη δεσμευμένο θα πρέπει να επιλέξετε κάποιο άλλο. Μετά την επιτυχή εγγραφή, μεταφέρεστε το κεντρικό μενού της εφαρμογής. B.2 Κεντρικό Μενού Εφαρμογής Κατά τις επόμενες εκτελέσεις της εφαρμογής θα μεταφέρεστε απ ευθείας στο κεντρικό μενού, καθώς η σύνδεση με τον διακομιστή θα γίνεται αυτόματα, χωρίς να χρειάζεται να εισάγετε εκ νέου τα στοιχεία σας. Στο κεντρικό μενού της εφαρμογής εμφανίζονται οι θεματικές κατηγορίες στις οποίες είστε συνδρομητής. Η προεπιλεγμένη ενέργεια που εκτελείται με το πάτημα του κεντρικού πλήκτρου Σχήμα B.1: Σύνδεση με το Διαδίκτυο 83

84 Σχήμα B.2: Εκκίνηση Εφαρμογής Σχήμα B.3: Εγγραφή Νέου Χρήστη της συσκευής σας είναι η αποστολή πληροφοριών στην επιλεγμένη θεματική κατηγορία. Ανάλογα με την κατηγορία, εμφανίζεται η αντίστοιχη φόρμα, όπου πληκτρολογείτε το μήνυμα σας. Από το κεντρικό μενού έχετε επίσης την δυνατότητα να αλλάξετε ανά πάσα στιγμή τις συνδρομές σας με την επιλογή manage my subscriptions. Στην νέα φόρμα που εμφανίζεται επιλέγετε τις θεματικές κατηγορίες και τις περιοχές για τις οποίες επιθυμείτε να λαμβάνετε ενημερώσεις. Η επιλογή περιοχών είναι υποχρεωτική αν επιλέξετε κάποια θεματική κατηγορία. Επίσης, σε περίπτωση που επιθυμείτε να σταματήσετε να χρησιμοποιείτε την υπηρεσία μπορείτε να διαγράψετε τον λογαριασμό σας με την επιλογή Unregister. Η εφαρμογή τερματίζει και στην συνέχεια μπορείτε να την απεγκαταστήσετε από το κινητό σας τηλέφωνο. Φυσικά, μπορείτε εκ των υστέρων να ξαναγραφτείτε στην υπηρεσία ακόμη και με τα ίδια στοιχεία. Η τελευταία επιλογή που παρέχεται από το κεντρικό μενού της εφαρμογής είναι η My Groups, η χρήση της οποίας παρουσιάζεται στην επόμενη ενότητα. B.3 Ομάδες Χρηστών Η συγκεκριμένη λειτουργία της εφαρμογής σας επιτρέπει να δημιουργείτε και να συμμετάσχετε σε ομάδες χρηστών ανταλλάσσοντας μηνύματα. Με την επιλογή My Groups από το κεντρικό μενού, 84

85 Σχήμα B.4: Αποστολή Πληροφοριών Σχήμα B.5: Αλλαγή Συνδρομών εμφανίζεται η λίστα με τις ομάδες χρηστών στις οποίες συμμετέχετε ή έχετε δεχτεί πρόσκληση συμμετοχής. Οι ομάδες οι οποίες ανήκουν στην πρώτη περίπτωση εμφανίζονται με ένα πράσινο check ενώ οι υπόλοιπες με ένα κόκκινο ερωτηματικό και το διακριτικό (P) (από την αγγλική λέξη pending - εκκρεμεί). Η προεπιλεγμένη ενέργεια στην περίπτωση μιας ομάδας στην οποία είστε ήδη μέλος είναι η αποστολή μηνύματος προς τα μέλη της: μεταφέρεστε στην σχετική φόρμα όπου πληκτρολογείτε το μήνυμα σας. Αντίστοιχα, αν εκκρεμεί ακόμη η απάντηση σας στην πρόσκληση που έχετε δεχτεί τότε με το πάτημα του κεντρικού πλήκτρου της συσκευής σας μπορείτε να αποδεχτείτε την πρόσκληση και να γίνετε μέλος της ομάδας. Με την επιλογή Create Group μπορείτε να δημιουργήσετε μια νέα ομάδα χρηστών. Για να χρησιμοποιήσετε την λειτουργία αυτή πρέπει η εφαρμογή να έχει διαβάσει επιτυχώς τον τηλεφωνικό κατάλογο της συσκευής σας, διαφορετικά θα εμφανιστεί σχετικό μήνυμα σφάλματος. Στην πρώτη φόρμα εισάγετε το όνομα και την περιγραφή της ομάδας που θέλετε να δημιουργήσετε, ώστε να γίνει έλεγχος αν το όνομα που επιλέξατε είναι ήδη δεσμευμένο. Μόλις επιλέξετε ένα ελεύθερο όνομα τότε μεταφέρεστε στον τηλεφωνικό σας κατάλογο, απ όπου μπορείτε να επιλέξετε τα άτομα που επιθυμείτε να συμμετάσχουν στην ομάδα αυτή. Στην συνέχεια, επιστρέφετε στην λίστα με τις ομάδες σας, στην οποία πλέον περιλαμβάνεται και η ομάδα που μόλις δημιουργήσατε! Υπάρχει η δυνατότητα να αποχωρίσετε, ανά πάσα στιγμή, από κάποια ομάδα στην οποία συμμετέ- 85

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;... Περιεχόμενα Αντί προλόγου... 7 Πώς να χρησιμοποιήσετε το βιβλίο... 13 Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...15 Κεφάλαιο 2: Τι βλέπω στην οθόνη μου όταν ολοκληρώσω τη δημιουργία του Προφίλ

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR Τηλέφωνο: 2810-211111 Διαδικασία εισόδου στο opensms Η πρόσβαση στην πλατφόρμα του opensms πραγματοποιείται με την εισαγωγή του Ονόματος χρήστη και του

Διαβάστε περισσότερα

Η νέα Πύλη etwinning. Εργαλεία για την κοινωνική δικτύωση και την επικοινωνία των εκπαιδευτικών. Εργαλεία διαχείρισης ενός έργου etwinning

Η νέα Πύλη etwinning. Εργαλεία για την κοινωνική δικτύωση και την επικοινωνία των εκπαιδευτικών. Εργαλεία διαχείρισης ενός έργου etwinning Η νέα Πύλη etwinning Εργαλεία για την κοινωνική δικτύωση και την επικοινωνία των εκπαιδευτικών Εργαλεία διαχείρισης ενός έργου etwinning ΝΕΑ ΠΥΛΗ ETWINNING...3 ΒΗΜΑΤΑ ΓΙΑ ΤΗ ΣΥΜΜΕΤΟΧΗ ΣΤΗ ΔΡΑΣΗ...4 ΕΓΓΡΑΦΗ

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER Η εφαρμογή LiveTripTraveller διατίθεται για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Στο υπο-ιστοσελίδα www.livetrips.com/sources μπορείτε να κατεβάσετε την εφαρμογή

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ 1 ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ Π.6. ΕΓΧΕΙΡΙΔΙΑ ΜΗΤΡΩΟ ΑΜΕΑ ΥΠΟΣΥΣΤΗΜΑΤΑ ΕΡΓΟ: «ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΜΗΤΡΩΟΥ και ΕΚΠΑΙΔΕΥΣΗ» 2015

Διαβάστε περισσότερα

Άµεσα µηνύµατα Τεύχος 1

Άµεσα µηνύµατα Τεύχος 1 Άµεσα µηνύµατα Τεύχος 1 2008 Nokia. Με την επιφύλαξη παντός δικαιώµατος. Τα σήµατα Nokia, Nokia Connecting People και Nseries είναι εµπορικά σήµατα ή κατατεθέντα εµπορικά σήµατα της Nokia Corporation.

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

Διαβάστε περισσότερα

Περιεχόμενα Πώς να χρησιμοποιήσετε το βιβλίο... 7 Αντί προλόγου... 9 Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3: Κεφάλαιο 4: Κεφάλαιο 5: Πώς να δημιουργήσω το Προφίλ μου και να γίνω μέλος στο Facebook;... 15 Τι

Διαβάστε περισσότερα

Εγκατάσταση Λογαριασμού Αλληλογραφίας στο ελληνικό Outlook Express Περιεχόμενα

Εγκατάσταση Λογαριασμού Αλληλογραφίας στο ελληνικό Outlook Express Περιεχόμενα Εγκατάσταση Λογαριασμού Αλληλογραφίας στο ελληνικό Outlook Express Περιεχόμενα 1. Εισαγωγή 2. Εγκατάσταση λογαριασμού 3. Οδηγίες χρήσης 4. Ανάγνωση ελληνικών 1. Εισαγωγή Σ αυτό το εγχειρίδιο αναγράφονται

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

Διαβάστε περισσότερα

Εισαγωγή 6. Δημιουργία λογαριασμού 13. Εγκατάσταση και λειτουργία του Skype 28. Βασικές λειτουργίες 32. Επιλογές συνομιλίας 48

Εισαγωγή 6. Δημιουργία λογαριασμού 13. Εγκατάσταση και λειτουργία του Skype 28. Βασικές λειτουργίες 32. Επιλογές συνομιλίας 48 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή 6 Δημιουργία λογαριασμού 13 Εγκατάσταση και λειτουργία του Skype 28 Βασικές λειτουργίες 32 Επιλογές συνομιλίας 48 Γενικές ρυθμίσεις Skype 64 Το Skype σε φορητές συσκευές 78 Εγγραφή

Διαβάστε περισσότερα

Ksyla.gr Σύντομη περιγραφή λειτουργίας

Ksyla.gr Σύντομη περιγραφή λειτουργίας Οδηγός Εφαρμογής Ksyla.gr Σύντομη περιγραφή λειτουργίας Το ksyla.gr είναι μια κοινότητα αγοραπωλησίας καύσιμου ξύλου σε οποιαδήποτε μορφή (καυσόξυλα, πέλλετ, μπρικέτες, κάρβουνα) καθώς επίσης και ειδών

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MSSQL Manager Αναλυτικός οδηγός χρήσης: MS SQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Τηλεφωνητής Αναλυτικός Οδηγός Χρήσης Χρήσιμες Συμβουλές: Τηλεφωνητής Η Vodafone σου παρέχει την υπηρεσία Vodafone Business Connect Voicemail ώστε όποιος σε καλεί στον επαγγελματικό

Διαβάστε περισσότερα

Βασικές λειτουργίες διαδανεισμού μέσα από το σύστημα SmILLe

Βασικές λειτουργίες διαδανεισμού μέσα από το σύστημα SmILLe Βασικές λειτουργίες διαδανεισμού μέσα από το σύστημα SmILLe Κεντρικό σύστημα διαδανεισμού smille περιβάλλον διαχειριστή. Για την είσοδό σας στο σύστημα επισκέπτεστε την σελίδα http://ill.lib.ntua.gr/smille/admin/login.php

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ «ΞΕΝΙΟΣ ΖΕΥΣ»

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ «ΞΕΝΙΟΣ ΖΕΥΣ» ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ «ΞΕΝΙΟΣ ΖΕΥΣ» Περιεχόμενα Γενικές Λειτουργίες... 3 Είσοδος Εφαρμογής... 4 Σύνδεση Χρήστη... 4 Δημιουργία Λογαριασμού... 5 Διαχείριση Δελτίων Κίνησης... 7 Επεξεργασία Χρήστη...

Διαβάστε περισσότερα

Οδηγός Χρήσης : Εφαρμογή Vodafone Mobile Broadband

Οδηγός Χρήσης : Εφαρμογή Vodafone Mobile Broadband : Εφαρμογή Vodafone Mobile Broadband Καλώς ήρθατε Στη νέα εφαρμογή διαχείρισης της υπηρεσίας Vodafone Mobile Broadband! Η νέα εφαρμογή διαχείρισης της υπηρεσίας Vodafone Mobile Broadband αποτελεί το κεντρικό

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Ηλεκτρονικού Καταστήματος Ζητούμενο: Να αναπτυχθεί web εφαρμογή,

Διαβάστε περισσότερα

COSMOTE Web 2 SMS. Εφαρμογή τελικού χρήστη ( ιαδίκτυο) Οδηγός Χρήσης

COSMOTE Web 2 SMS. Εφαρμογή τελικού χρήστη ( ιαδίκτυο) Οδηγός Χρήσης COSMOTE Web 2 SMS Εφαρμογή τελικού χρήστη ( ιαδίκτυο) Οδηγός Χρήσης Πίνακας Περιεχομένων 1. Έναρξη της εφαρμογής... 3 1.1. Πλαίσιο εισόδου / εξόδου και επιλογών... 4 1.2. Πλαίσιο εργασιών αποτελεσμάτων...

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΊΑ 6. YΠΗΡΕΣΙΑ ΖΩΝΤΑΝΗΣ

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΊΑ 6. YΠΗΡΕΣΙΑ ΖΩΝΤΑΝΗΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΊΑ 6. YΠΗΡΕΣΙΑ ΖΩΝΤΑΝΗΣ ΜΕΤΑΔΟΣΗΣ (LIVE STREAMING) ΗΜΕΡΙΔΩΝ ΕΚΔΗΛΩΣΕΩΝ] ΓΙΑ ΤΟN ΧΡΗΣΤΗ [13/01/2014] έκδοση: 1.0 1 Περιεχόμενα 1. Έλεγχος εγγράφου...3 2. Εισαγωγή...4 3. Εισαγωγή

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο Εγχειρίδιο Χρήσης για Διαχειριστές Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο 1. Εισαγωγή 1.1 Περιγραφή Λειτουργίας Πλατφόρμας Η Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο παρέχει τη δυνατότητα της

Διαβάστε περισσότερα

Εγχειρίδιο Εφαρμογής Συμβούλων Υποστήριξης / Ενημέρωσης

Εγχειρίδιο Εφαρμογής Συμβούλων Υποστήριξης / Ενημέρωσης Εγχειρίδιο Εφαρμογής Συμβούλων Υποστήριξης / Ενημέρωσης Περιεχόμενα 1. Εισαγωγή... 3 2. Σελίδα εισόδου... 4 3. Αρχική καρτέλα... 6 4. Στοιχεία Συμβούλου... 7 5. Στοιχεία λογαριασμού... 8 6. Αιτήματα Παρόχων...

Διαβάστε περισσότερα

WiFi V-Timer ΕΚΔΟΣΗ 2Η

WiFi V-Timer ΕΚΔΟΣΗ 2Η ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ WiFi V-Timer ΕΚΔΟΣΗ 2Η 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ WiFi V-Timer... 3 2. ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΟΥ WiFi V-Timer... 4 3. ΤΟΠΙΚΟΣ ΧΕΙΡΙΣΜΟΣ ΤΟΥ WiFi V-Timer... 5 4. ΕΓΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

Διαβάστε περισσότερα

ΒΟΗΘΕΙΑ για τη χρήση του ιδρυματικού αποθετηρίου ΥΠΑΤΙΑ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΒΟΗΘΕΙΑ για τη χρήση του ιδρυματικού αποθετηρίου ΥΠΑΤΙΑ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΒΟΗΘΕΙΑ για τη χρήση του ιδρυματικού αποθετηρίου ΥΠΑΤΙΑ Το Ιδρυματικό Αποθετήριο του ΤΕΙ Αθήνας συλλέγει, τεκμηριώνει, αποθηκεύει και διατηρεί ψηφιακό περιεχόμενο έρευνας και εκπαίδευσης. Περιλαμβάνει

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο Outlook Κεφάλαιο 2 Βασικές εργασίες με μηνύματα 31

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο Outlook Κεφάλαιο 2 Βασικές εργασίες με μηνύματα 31 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στο Outlook 2003 9 Διευθέτηση και εκκίνηση του Outlook... 10 Το περιβάλλον του Outlook... 16 Οι προσωπικοί φάκελοι του Outlook... 20 Η Λίστα φακέλων... 21 Ο φάκελος Το Outlook

Διαβάστε περισσότερα

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence Έκδοση 1.3 Ιούνιος 2014 Περιεχόμενα Εφαρμογή Διαχείρισης Τηλεδιασκέψεων... 2 Προβολή τηλεδιασκέψεων... 3 Προσθήκη τηλεδιάσκεψης... 4 Τροποποίηση

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο Outlook Κεφάλαιο 2 Βασικές εργασίες με μηνύματα 33

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο Outlook Κεφάλαιο 2 Βασικές εργασίες με μηνύματα 33 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στο Outlook 2007 9 Διευθέτηση και εκκίνηση του Outlook... 10 Το περιβάλλον του Outlook... 17 Οι προσωπικοί φάκελοι του Outlook... 22 Η Λίστα φακέλων... 23 Το Outlook Σήμερα...

Διαβάστε περισσότερα

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

Διαβάστε περισσότερα

Περιεχόμενα. Εισαγωγή. Οδηγός Χρήστη - Φοιτητή

Περιεχόμενα. Εισαγωγή. Οδηγός Χρήστη - Φοιτητή 1 από 14 04/03/2008 05:18 ΜΜ Οδηγός Χρήστη - Φοιτητή Περιεχόμενα Εισαγωγή Άδεια εισόδου Χαρτοφυλάκιο Χρήστη Αλλαγή του προφίλ μου Εγγραφή σε μάθημα Το Ημερολόγιο μου Οι Ανακοινώσεις μου Έξοδος Ηλεκτρονικό

Διαβάστε περισσότερα

Οδηγός γρήγορης εκκίνησης

Οδηγός γρήγορης εκκίνησης Χρήση του Office 365 σε τηλέφωνο Windows Phone Οδηγός γρήγορης εκκίνησης Έλεγχος ηλεκτρονικού ταχυδρομείου Ρυθμίστε το Windows Phone για αποστολή και λήψη ηλεκτρονικού ταχυδρομείου από το λογαριασμό του

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΗΤΡΩΟ ΑΙΜΟΔΟΤΩΝ

ΕΘΝΙΚΟ ΜΗΤΡΩΟ ΑΙΜΟΔΟΤΩΝ ΕΘΝΙΚΟ ΜΗΤΡΩΟ ΑΙΜΟΔΟΤΩΝ Εγχειρίδιο Χρήσης Εθελοντή Αιμοδότη στο Πληροφοριακό Σύστημα του Εθνικού Μητρώου Αιμοδοτών Κεντρικές Ηλεκτρονικές Υπηρεσίες Διαχείρισης Εθνικού Μητρώου Εθελοντών Αιμοδοτών Εγχειρίδιο

Διαβάστε περισσότερα

Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ (Β Κύκλος), για την υποβολή αιτήσεων

Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ (Β Κύκλος), για την υποβολή αιτήσεων Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ (Β Κύκλος), για την υποβολή αιτήσεων Έκδοση 1 η / Ιούλιος 2019 Πίνακας Περιεχομένων Εισαγωγή... 3 1 Σύνδεση

Διαβάστε περισσότερα

Β ΕΙΔΙΚΗ ΦΑΣΗ ΣΠΟΥΔΩΝ

Β ΕΙΔΙΚΗ ΦΑΣΗ ΣΠΟΥΔΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Υπουργείο Εσωτερικών και Διοικητικής Ανασυγκρότησης ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΑΥΤΟΔΙΟΙΚΗΣΗΣ Β ΕΙΔΙΚΗ ΦΑΣΗ ΣΠΟΥΔΩΝ Υπεύθυνος Σπουδών & Έρευνας: Δ. Τσιμάρας ΕΚΠΑΙΔΕΥΤΙΚΟ ΥΛΙΚΟ

Διαβάστε περισσότερα

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ Οδηγός Χρήσης Εφαρμογής Γραφείων Πρακτικής Άσκησης Αφού πιστοποιηθεί ο λογαριασμός που δημιουργήσατε στο πρόγραμμα «Άτλας» ως Γραφείο Πρακτικής,

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΛΟΓΙΣΜΙΚΟ CISCO JABBER ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/76

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΛΟΓΙΣΜΙΚΟ CISCO JABBER ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/76 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΛΟΓΙΣΜΙΚΟ CISCO JABBER ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/76 31/07/2014 ΠΕΡΙΕΧΟΜΕΝΑ ΕΓΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΛΕΙΤΟΥΡΓΙΑ

Διαβάστε περισσότερα

Simplifying Complexity. Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας

Simplifying Complexity. Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας Simplifying Complexity Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας Περιεχόμενα 1 Εισαγωγή... 2 2 Οδηγίες Χρήσης... 2 2.1 Πρώτη Εγγραφή στην Πλατφόρμα... 2 2.2 Είσοδος στην Πλατφόρμα...4 2.3 Δημιουργία Καρτέλας

Διαβάστε περισσότερα

Open Discovery Space. ODS Portal Manual

Open Discovery Space. ODS Portal Manual ODS Portal Manual Project Acronym: ODS Project Title: Open Discovery Space: A socially powered and multilingual open learning infrastructure to boost the adoption of elearning resources ODS Portal Manual

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία. AtYourService CY : Create a REST API. Δημήτρης Χριστοδούλου

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία. AtYourService CY : Create a REST API. Δημήτρης Χριστοδούλου ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία AtYourService CY : Create a REST API Δημήτρης Χριστοδούλου Λεμεσός 2016 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MySQL Manager Αναλυτικός οδηγός χρήσης: MySQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail &

Διαβάστε περισσότερα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Κέντρο Επαγγελματικής Κατάρτισης. Σταδίου 5, 10562 Σύνταγμα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Κέντρο Επαγγελματικής Κατάρτισης. Σταδίου 5, 10562 Σύνταγμα Σύστημα Διαχείρισης Εκπαίδευσης Εγχειρίδιο Χρήσης Εκπαιδευόμενου Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Κέντρο Επαγγελματικής Κατάρτισης Σταδίου 5, 10562 Σύνταγμα τηλ.: 210-3689381, 210-3689354 fax:

Διαβάστε περισσότερα

Χρήση του Office 365 σε iphone ή ipad

Χρήση του Office 365 σε iphone ή ipad Χρήση του Office 365 σε iphone ή ipad Οδηγός γρήγορης εκκίνησης Έλεγχος ηλεκτρονικού ταχυδρομείου Ρυθμίστε το iphone ή το ipad για αποστολή και λήψη ηλεκτρονικού ταχυδρομείου από το λογαριασμό του Office

Διαβάστε περισσότερα

ΚΑΡΤΕΛΑ ΕΡΕΥΝΗΤΗ ΕΠΙΤΡΟΠΗ ΕΡΕΥΝΩΝ ΑΠΘ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ

ΚΑΡΤΕΛΑ ΕΡΕΥΝΗΤΗ ΕΠΙΤΡΟΠΗ ΕΡΕΥΝΩΝ ΑΠΘ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ 2011 ΕΠΙΤΡΟΠΗ ΕΡΕΥΝΩΝ ΑΠΘ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΡΤΕΛΑ ΕΡΕΥΝΗΤΗ Στο παρόν έγγραφο μπορείτε να βρείτε αναλυτικές πληροφορίες για τις υπηρεσίες που παρέχονται στην Καρτέλα Ερευνητή

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Πανεπιστήμιο Αιγαίου. Ναυτίλος. Σύστημα Ηλεκτρονικής Υποβολής Αιτήσεων Μεταπτυχιακών Προγραμμάτων Πανεπιστημίου Αιγαίου

Πανεπιστήμιο Αιγαίου. Ναυτίλος. Σύστημα Ηλεκτρονικής Υποβολής Αιτήσεων Μεταπτυχιακών Προγραμμάτων Πανεπιστημίου Αιγαίου Πανεπιστήμιο Αιγαίου Ναυτίλος Σύστημα Ηλεκτρονικής Υποβολής Αιτήσεων Μεταπτυχιακών Προγραμμάτων Πανεπιστημίου Αιγαίου Εγχειρίδιο Χρήσης για τον υποψήφιο Έκδοση 1.4.1 Περιεχόμενα 1. Εισαγωγικά... 3 2. Εγγραφή

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ 1. Γενικά ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ Η ηλεκτρονική υποβολή των ισοζυγίων κρέατος πραγματοποιείται μέσα από το λογισμικό Άρτεμις του Ελληνικού Γεωργικού Οργανισμού

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΗΤΡΩΟ ΑΙΜΟΔΟΤΩΝ

ΕΘΝΙΚΟ ΜΗΤΡΩΟ ΑΙΜΟΔΟΤΩΝ ΕΘΝΙΚΟ ΜΗΤΡΩΟ ΑΙΜΟΔΟΤΩΝ Εγχειρίδιο Χρήσης Εθελοντή Αιμοδότη στo Πληροφοριακό Σύστημα του Εθνικού Μητρώου Αιμοδοτών Κεντρικές Ηλεκτρονικές Υπηρεσίες Διαχείρισης Εθνικού Μητρώου Εθελοντών Αιμοδοτών Εγχειρίδιο

Διαβάστε περισσότερα

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ Draft version Θεσσαλονίκη, Ιούλιος 2016 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 4 1. ΓΕΝΙΚΑ... 5 1.1. Πρόσβαση... 5 1.2. Χρήστες... 5 2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ ΗΜΑ... 6 2.1.

Διαβάστε περισσότερα

Εγχειρίδιο Επιμελητή Δράσεων. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις)

Εγχειρίδιο Επιμελητή Δράσεων. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις) (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις) Για το Έργο ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή... 3 2 Τεχνικά Χαρακτηριστικά... 4 3 Περιβάλλον Εργασίας... 5 4 Σύνδεση / Αποσύνδεση Επιμελητή Δράσεων...

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης της Υπηρεσίας Υποστήριξης Χρηστών (Helpdesk) της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Αιγαίου

Εγχειρίδιο Χρήσης της Υπηρεσίας Υποστήριξης Χρηστών (Helpdesk) της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Αιγαίου Εγχειρίδιο Χρήσης της Υπηρεσίας Υποστήριξης Χρηστών (Helpdesk) της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Αιγαίου Έκδοση 1.0 Πίνακας περιεχομένων 1. Εισαγωγή... 3 2. Ηλεκτρονική κατάθεση

Διαβάστε περισσότερα

Αντί προλόγου. 1. Τι είναι το Twitter;

Αντί προλόγου. 1. Τι είναι το Twitter; Περιεχόµενα Αντί προλόγου...7 Πώς να χρησιµοποιήσετε το βιβλίο...13 Κεφάλαιο 1: Πώς δηµιουργώ τον λογαριασµό µου στο Twitter;...15 Κεφάλαιο 2: Πώς µπορώ να συνδεθώ και να αποσυνδεθώ από το Twitter;...37

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

Διαβάστε περισσότερα

Εγγραφή στο Portal για νέους συνδρομητές

Εγγραφή στο Portal για νέους συνδρομητές Εγγραφή στο Portal για νέους συνδρομητές Μεταφερθείτε στην ηλεκτρονική διεύθυνση www.taxpress.gr και από το κεντρικό μενού «e-πηρεσίες» επιλέξτε το «ASTbooks Portal». Θα μεταφερθείτε στην κεντρική σελίδα

Διαβάστε περισσότερα

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

Διαβάστε περισσότερα

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

Διαβάστε περισσότερα

EPALE CY. Οδηγός Ανάρτησης Περιεχομένου

EPALE CY. Οδηγός Ανάρτησης Περιεχομένου EPALE CY Οδηγός Ανάρτησης Περιεχομένου Υπουργείο Παιδείας και Πολιτισμού Διεύθυνση Μέσης Τεχνικής και Επαγγελματικής Εκπαίδευσης Εθνική Υπηρεσία Υποστήριξης EPALE Κύπρου Ιούλιος, 2017 ΕΡΓΑΛΕΙΑ ΠΛΑΤΦΟΡΜΑΣ

Διαβάστε περισσότερα

CRM για Εκπαιδευτικούς Φορείς

CRM για Εκπαιδευτικούς Φορείς Cosmos Business Systems S.A. Group CRM για Εκπαιδευτικούς Φορείς CRM Εκπαιδευτικών Φορέων Το CRM Εκπαιδευτικών Φορέων έχει αναπτυχθεί για να ικανοποιήσει τις ανάγκες διαχείρισης του υποψήφιου πελατολογίου

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης

Οδηγός Εγκατάστασης www.athenaschool.net Οδηγός Εγκατάστασης Αθηνά 2012 Μάρτιος 2013 Copyright Πόλυς Γεωργίου, 2013 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή ή διανομή του παρόντος εγχειριδίου,

Διαβάστε περισσότερα

Χρήση του Office 365 σε τηλέφωνο Android

Χρήση του Office 365 σε τηλέφωνο Android Χρήση του Office 365 σε τηλέφωνο Android Οδηγός γρήγορης εκκίνησης Έλεγχος ηλεκτρονικού ταχυδρομείου Ρυθμίστε το τηλέφωνο Android για αποστολή και λήψη ηλεκτρονικού ταχυδρομείου από το λογαριασμό του Office

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE 15 Πρόλογος Οι οδηγίες που ακολουθούν αναφέρονται στα παρακάτω sites. Site Διεύθυνση Site Συντονιστικής Επιτροπής (ΣΕ) http://se-forum.cperi.certh.gr Site Επιστημονικού Γνωμοδοτικού http://egs-forum.cperi.certh.gr

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΙΑ 2 ΑNAΠΤΥΞΗ

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΙΑ 2 ΑNAΠΤΥΞΗ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΙΑ 2 ΑNAΠΤΥΞΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΗΡΕΣΙΑΣ ΑΝΑΖΗΤΗΣΗΣ ΕΦΑΡΜΟΓΩΝ ΕΛ/ΛΑΚ ] ΓΙΑ ΤΟN ΧΡΗΣΤΗ [13/01/2014] έκδοση: 1.0 1 Περιεχόμενα 1. Έλεγχος εγγράφου...3 2. Εισαγωγή...4 3. Εισαγωγή

Διαβάστε περισσότερα

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

Διαβάστε περισσότερα

«ΖΕΥΣ» Εγχειρίδιο Συμμετοχής σε Ψηφοφορία

«ΖΕΥΣ» Εγχειρίδιο Συμμετοχής σε Ψηφοφορία «ΖΕΥΣ» Εγχειρίδιο Συμμετοχής σε Ψηφοφορία 23 Ιουλίου 2013 Εισαγωγή Η «Ψηφιακή Κάλπη ΖΕΥΣ» είναι ένα πληροφοριακό σύστημα για την αδιάβλητη διεξαγωγή απόρρητων ψηφοφοριών με αμιγώς ηλεκτρονικό τρόπο. Τόσο

Διαβάστε περισσότερα

Σενάριο Χρήσης myschool

Σενάριο Χρήσης myschool Σενάριο Χρήσης ΦΟΡΕΙΣ Επιβεβαίωση των Στοιχείων του Φορέα Αρχικά, θα κληθείτε να ελέγξετε την ορθότητα των στοιχείων του Φορέα σας. Επιλέγοντας την καρτέλα «Φορείς», από το μενού που βρίσκεται στο πάνω

Διαβάστε περισσότερα

ΓΡΑΦΕΙΟ ΤΗΛΕΔΙΑΣΚΕΨΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ

ΓΡΑΦΕΙΟ ΤΗΛΕΔΙΑΣΚΕΨΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΓΡΑΦΕΙΟ ΤΗΛΕΔΙΑΣΚΕΨΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΟΜΕΑΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΗΡΕΣΙΑ ΤΗΛΕΔΙΑΣΚΕΨΕΩΝ epresence Οδηγός συμμετοχής σε τηλεδιάσκεψη Τελευταία ημερομηνία αναθεώρησης:

Διαβάστε περισσότερα

Dropbox. Τι είναι Dropbox; ΓΕΝΙΚΑ

Dropbox. Τι είναι Dropbox; ΓΕΝΙΚΑ Dropbox Τι είναι Dropbox; ΓΕΝΙΚΑ Το Dropbox είναι μια πολύ καλή υπηρεσία φύλαξης, συγχρονισμού και sharing αρχείων μεγάλου όγκου, εύκολη στη χρήση και μας κερδίζει χρόνο. Χρήσιμη για κάθε φοιτητή και διδάσκοντα

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ημέχρι τώρα περιγραφή των πρωτοκόλλων TCP/IP αποδεικνύει, ότι το πρωτόκολλο IP είναι υπεύθυνο για τη μεταφορά των αυτοδύναμων πακέτων στον προορισμό, που δηλώνεται από τη διεύθυνση προορισμού, αλλά δεν

Διαβάστε περισσότερα

SGA Διαχείριση Πρωτόκολλου

SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου 1. SGA Διαχείριση Πρωτοκόλλου... 2 1.1. Καινοτομία του προσφερόμενου προϊόντος... 2 1.2. Γενικές αρχές του προσφερόμενου συστήματος... 2 1.3. Ευκολία

Διαβάστε περισσότερα

«ΖΕΥΣ» Εγχειρίδιο Συμμετοχής σε Ψηφοφορία

«ΖΕΥΣ» Εγχειρίδιο Συμμετοχής σε Ψηφοφορία «ΖΕΥΣ» Εγχειρίδιο Συμμετοχής σε Ψηφοφορία 23 Ιουλίου 2013 Εισαγωγή Η «Ψηφιακή Κάλπη ΖΕΥΣ» είναι ένα πληροφοριακό σύστημα για την αδιάβλητη διεξαγωγή απόρρητων ψηφοφοριών με αμιγώς ηλεκτρονικό τρόπο. Τόσο

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ ΠΕΡΙΕΧΟΜΕΝΑ 1.Γενικές παρατηρήσεις... 3 1.2 Είσοδος στην εφαρμογή... 4 2. Πίνακας αναφορών... 5 2.1 Περιγραφή του πίνακα αναφορών... 6 2.3 Ταξινόμηση... 6 3. Προσθήκη/επεξεργασία

Διαβάστε περισσότερα

Υπηρεσία δανεισμού μεταξύ Βιβλιοθηκών και απόκτηση εντύπων

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

Διαβάστε περισσότερα

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. ΚΕΦΑΛΑΙΟ 13 Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. Οι υπηρεσίες νέφους παρέχονται με τέτοιο τρόπο ώστε ο τελικός χρήστης δεν μπορεί να διακρίνει τεχνικές λεπτομέρειες. Η χρηστικότητα, η διαθεσιμότητα

Διαβάστε περισσότερα

Το πρόγραμμα Skype (έκδοση 4.0.0.226)

Το πρόγραμμα Skype (έκδοση 4.0.0.226) Το πρόγραμμα Skype (έκδοση 4.0.0.226) Το Skype είναι ένα πρόγραμμα με το οποίο μπορούμε να μετατρέψουμε τον υπολογιστή μας σε βιντεοτηλέφωνο! Για να είναι ικανοποιητική η ποιότητα του ήχου και πολύ περισσότερο

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

Αντί προλόγου. 1. Τι είναι το Twitter;

Αντί προλόγου. 1. Τι είναι το Twitter; Περιεχόμενα Αντί προλόγου...7 Πώς να χρησιμοποιήσετε το βιβλίο...13 Κεφάλαιο 1: Πώς να δημιουργήσω το Προφίλ μου και να γίνω μέλος στο Twitter;...15 Κεφάλαιο 2: Τι βλέπω στην οθόνη μου όταν ολοκληρώσω

Διαβάστε περισσότερα

Οδηγός Χρήσης Εφαρμογής Ανάρτησης μέσω Διαδικτύου. (Έκδοση: 9.0)

Οδηγός Χρήσης Εφαρμογής Ανάρτησης μέσω Διαδικτύου. (Έκδοση: 9.0) Οδηγός Χρήσης Εφαρμογής Ανάρτησης μέσω Διαδικτύου (Έκδοση: 9.0) Δεκέμβριος 2016 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή... 3 Συμβατότητα Browser για τη χρήση της Εφαρμογής... 3 Α. Είσοδος με κωδικούς TaxisNet... 9 Β. Είσοδος

Διαβάστε περισσότερα

Atlantis Orders on android

Atlantis Orders on android Atlantis Orders on android 1 Πίνακας περιεχομένων Σύντομη περιγραφή... 3 Αναλυτικότερα για τις παραγγελίες... 3 Περί συγχρονισμού... 4 Η πρώτη χρήση της συσκευής... 5 Για κανονική χρήση... 5 Διαχείριση

Διαβάστε περισσότερα

Εγχειρίδιο Λειτουργίας Τράπεζας Χρόνου

Εγχειρίδιο Λειτουργίας Τράπεζας Χρόνου Εγχειρίδιο Λειτουργίας Τράπεζας Χρόνου Bee Group Α.Ε. [Type the company name] [Pick the date] Εγχειρίδιο λειτουργίας Τράπεζας Χρόνου 2 ΠΕΡΙΕΧΟΜΕΝΑ 1. Αρχική Σελίδα... 3 2. Δημιουργία Λογαριασμού... 3 3.

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΔΙΑΧΕΙΡΙΣΗΣ Συστήματος Διαχείρισης & Διακίνησης Εγγράφων DocuTracks

ΕΓΧΕΙΡΙΔΙΟ ΔΙΑΧΕΙΡΙΣΗΣ Συστήματος Διαχείρισης & Διακίνησης Εγγράφων DocuTracks ΕΓΧΕΙΡΙΔΙΟ ΔΙΑΧΕΙΡΙΣΗΣ Συστήματος Διαχείρισης & Διακίνησης Εγγράφων DocuTracks Dataverse Ltd. Αθήνα, 10/08/2014 Σελίδες: 40 Έκδοση: 1.3 Όνομα : DocuTracks Admin Manual Σελίδα : 2 από 40 Πίνακας Περιεχομένων

Διαβάστε περισσότερα

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

Διαβάστε περισσότερα

Οδηγός γρήγορης εκκίνησης

Οδηγός γρήγορης εκκίνησης Οδηγός γρήγορης εκκίνησης Το Microsoft Word 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης. Γραμμή

Διαβάστε περισσότερα

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. QEMS TUTORIAL CRM Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. ΕΚΔΟΣΗ 1.0.1 + 26/6/2014 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 2 LOGIN... 3 δικαιωματα ΕΦΑΡΜΟΓΗς... 4 ΙΔΙΟΚΤΗΤΗΣ... 4 ADMIN / MANAGER... 4 ΥΠΑΛΗΛΟΣ...

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Περιβάλλον εργασίας Ηλεκτρονικού Ταχυδρομείου: Το περιβάλλον εργασίας

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

ΕΚΠΑ η-τάξη Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

ΕΚΠΑ η-τάξη Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης ΕΚΠΑ η-τάξη Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Εγχειρίδιο Χρήστη - Φοιτητή Η πλατφόρμα η-τάξη είναι ένα ολοκληρωμένο Σύστημα Διαχείρισης Ηλεκτρονικών Μαθημάτων και υποστηρίζει την Υπηρεσία Ασύγχρονης

Διαβάστε περισσότερα

ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΙΝΗΣΗΣ ΕΓΓΡΑΦΩΝ (ΣΗΔΕ) ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΕΝΕΡΓΕΙΑΣ

ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΙΝΗΣΗΣ ΕΓΓΡΑΦΩΝ (ΣΗΔΕ) ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΕΝΕΡΓΕΙΑΣ ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΙΝΗΣΗΣ ΕΓΓΡΑΦΩΝ (ΣΗΔΕ) ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΕΝΕΡΓΕΙΑΣ Yπηρεσία υποστήριξης χρηστών τυ Συστήματος Ηλεκτρονικής Διακίνησης Εγγράφων (helpdesk):

Διαβάστε περισσότερα

Τιμοκατάλογος Κινητής Προγράμματα Καρτοκινητής Ιούνιος 2018

Τιμοκατάλογος Κινητής Προγράμματα Καρτοκινητής Ιούνιος 2018 Τιμοκατάλογος Κινητής Προγράμματα Καρτοκινητής Ιούνιος 2018 1/5 Καρτοκινητό Vodafone Χρεώσεις συνδιαλέξεων Καρτοκινητού Vodafone Πακέτο σύνδεσης καρτοκινητού Vodafone 5 Κάρτες συνδιαλέξεων* 5, 10, 15,

Διαβάστε περισσότερα

Simplifying Complexity. Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας

Simplifying Complexity. Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας Simplifying Complexity Οδηγός Χρήσης Διαδικτυακής Πλατφόρμας Περιεχόμενα 1 Εισαγωγή... 2 2 Οδηγίες Χρήσης... 2 2.1 Πρώτη Εγγραφή στην Πλατφόρμα... 2 2.2 Είσοδος στην Πλατφόρμα... 4 2.3 Δημιουργία Καρτέλας

Διαβάστε περισσότερα

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ Πολυτεχνειούπολη Ακρωτηρίου, Χανιά, 73100 Τηλ.: 28210 37400 (κεντρικό), 28210 37766 (κτίριο ΜΗΠΕΡ), Fax: 28210 37571 e-mail:

Διαβάστε περισσότερα

Αναλυτική παρουσίαση της Εφαρμογής (Ενεργοί Δημότες)

Αναλυτική παρουσίαση της Εφαρμογής (Ενεργοί Δημότες) Αναλυτική παρουσίαση της Εφαρμογής (Ενεργοί Δημότες) Η εφαρμογή αποτελείται από ένα εύκολο και εύχρηστο περιβάλλον χρήσης απόλυτα κατανοητό ακόμα και από χρήστες που δεν είναι γνώστες της τεχνολογίας.

Διαβάστε περισσότερα