Ε ΝΤΟΠΙΣΜΟΣ Κ ΙΝΟΥΜΕΝΩΝ Α ΝΤΙΚΕΙΜΕΝΩΝ ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗΣ ΕΡΓΑΣΙΑΣ Βόγκλης Κωνσταντίνος Τσίπουρας Μάρκος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Internet Υπηρεσίες & Εφαρμογές Τμήμα 1I-ΙΝΠ01 – Web Design / Development Κωνσταντίνος Σαπουντζής.
Advertisements

Υλοποίηση Συστήματος Ψηφοφορίας με τη χρήση Java RMI
WORDPRESS. Self-Hosting Wordpress • Απαιτείται δικό μας domain, και δικιά μας Web Hosting Υπηρεσία (κατόπιν πληρωμής) • Το λογισμικό του Wordpress κατεβαίνει.
ShareIt Social Network Project Simos Hatzikostas: Manolhs Georgiou: Theodoros Demetriou:
ΔΙΑΔΙΚΤΥΟ (INTERNET) Γκόγκου A. Μάρθα Msc Πληροφορικής.
Ιστορία του Ιντερνετ.
Web 2.0 Διαδίκτυο: Ο Προσωπικός μας Υπολογιστής
Οδηγός δημιουργίας ιστολογίου στο blogger.com
WIFI-Aσύρματα Δίκτυα.
Λειτουργικό Σύστημα 2ο μέρος.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
L OCATING M OVING O BJECTS U SING T WO -T IER S CHEME ANAΦΟΡΑ ΤΟΥ PROJECT Βόγκλης Κωνσταντίνος.
Web Services Υπηρεσίες διαδικτύου
Πτυχιακή εργασία των Κωνσταντίνου Κουρμούση (1604)
1 Συλλογικοί Κατάλογοι & Διαδίκτυο Μιχάλης Σφακάκης.
Βάσεις Δεδομένων (ΚΒΔ)
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 4: Exceptions Εβδομάδα 4: Εξαιρέσεις [Exceptions]
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές.
ΕΝΤΟΠΙΣΜΟΣ ΚΙΝΟΥΜΕΝΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου.
Υπηρεσίες δικτύων επικοινωνίας
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
Εισαγωγικά Σχόλια για την Εργαστηριακή Άσκηση Τεχνολογίας Λογισμικού Κ. Κοντογιάννης.
ΠΛΗΡΟΦΟΡΙΚΗ Α’ ΓΥΜΝΑΣΙΟΥ
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Δίκτυα Ηλεκτρονικών Υπολογιστών
Περίπτωση χρήσης: Process sale Από την ΠΧ στον κώδικα.
Οριζόντιο Έργο Υποστήριξης Σχολείων, Εκπαιδευτικών και Μαθητών στο Δρόμο για το ΨΗΦΙΑΚΟ ΣΧΟΛΕΙΟ, νέες υπηρεσίες Πανελλήνιου Σχολικού Δικτύου και Στήριξη.
Διαχείριση Εκπαιδευτικού Περιεχομένου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Copy Constructor Deep and Shallow Copies.
Το Internet Δικτύωση παροχέα υπηρεσιών Internet στην Ελλάδα.
Βελτίωση της πλατφόρμας ανάπτυξης συστημάτων πολλών πρακτόρων Agent Factory ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Ηλεκτρολόγων.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
Threads Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά η μία μετά.
Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη.
Κεφάλαιο 4 Εξαιρέσεις. Όταν σε ένα πρόγραμμα συμβεί κάποιο λάθος, ο κώδικας εγείρει (throw) μία εξαίρεση. Στη Java oι εξαιρέσεις εκπροσωπούνται από αντικείμενα.
FEDORA ARCHITECTURE1 Αρχιτεκτονικές Ψηφιακών Βιβλιοθηκών FEDORA.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΖΗΤΗΜΑΤΑ ΑΣΦΑΛΕΙΑΣ I Β. Μάγκλαρης 20/11/2009.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Εργαστηριακό σεμινάριο Χειμερινό εξάμηνο
Κατανεμημένα Συστήματα
Εισαγωγή στις βάσεις δεδομένων ISBN
Java DataBase Connectivity
Κεφάλαιο 10: Υπηρεσίες και εφαρμογές Διαδικτύου
Wikis Ο Cunningham εμπνεύστηκε τον όρο wiki από τα "wiki wiki", δηλαδή τα "γρήγορα" λεωφορεία πυκνών δρομολογίων στον αερολιμένα της Χονολουλού.
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ (ΕΡΓΑΣΤΗΡΙΟ)
Εφαρμογεσ τηλεματικησ στη διοικηση
Κεφάλαιο 6o. Επίπεδο εφαρμογής
Κεφάλαιο 7: Διαδικτύωση-Internet
Κεφάλαιο 6o. Επίπεδο εφαρμογής
ΕΦΑΡΜΟΓΕΣ ΝΕΦΟΥΣ 13.1 Εισαγωγή στις Εφαρμογές Νέφους
Web Services στη C# Εργαστήριο 3
Εισαγωγή στη Java Χαρακτηριστικά της Java Εργαλεία της Java
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
Υπηρεσίες και εφαρμογές Διαδικτύου
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
«Βιβλιοθήκη ανοικτού εκπαιδευτικού λογισμικού ΠΣΔ:
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Ε ΝΤΟΠΙΣΜΟΣ Κ ΙΝΟΥΜΕΝΩΝ Α ΝΤΙΚΕΙΜΕΝΩΝ ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗΣ ΕΡΓΑΣΙΑΣ Βόγκλης Κωνσταντίνος Τσίπουρας Μάρκος

Εντοπισμός Κινούμενων Αντικειμένων Αντικείμενο της εργασίας Υλοποίηση Υπηρεσίας Καταλόγου (directory service) Εργαλείο Voyager (οικογένεια προϊόντων για κατανεμημένες εφαρμογές) Μέθοδοι Υπηρεσίας Καταλόγου με χρήση Home Location Register Υπηρεσίας Καταλόγου με χρήση ιεραρχικής δομής (δέντρο)

Εντοπισμός Κινούμενων Αντικειμένων Σημερινή κατάσταση στο Internet Όλο και περισσότεροι χρήστες του Internet δεν έχουν σταθερό σημείο πρόσβασης, ούτε ζητάνε σταθερούς πόρους Αναπτύσσονται εφαρμογές για τις οποίες είναι απαραίτητη η μετακίνηση λογισμικού και δεδομένων σε ένα δίκτυο (ubiquitous computing). Απαιτείται δυναμική μεταφορά WEB σελίδων μεταξύ replication servers Πράκτορες λογισμικού (software agents) χρειάζεται να μετακινούνται στο δίκτυο σε αναζήτηση πληροφορίας Με την ανάπτυξη της Java, ο μεταφέρσιμος κώδικας αποτελεί σημαντικό συστατικό εφαρμογών WEB

Εντοπισμός Κινούμενων Αντικειμένων Ανάγκες που Δημιουργούνται Δημιουργία αντιστοίχησης μεταξύ του ονόματος του κινούμενου αντικειμένου και της τρέχουσας διεύθυνσής του Ανάπτυξη εφαρμογών που διαχειρίζονται κινούμενα αντικείμενα Οι εφαρμογές να είναι επεκτάσιμες να εκμεταλλεύονται την τοπικότητα να είναι σταθερές να έχουν ανοχή στα λάθη Ανάπτυξη απανταχού επικοινωνίας (ubiquitous) Διατήρηση της μυστικότητας της θέσης Μετατροπή μεταξύ πρωτοκόλλων Γενικότητα της αρχιτεκτονικής

Εντοπισμός Κινούμενων Αντικειμένων Προηγούμενη Δουλειά Για την υλοποίηση υπηρεσίας καταλόγου έχουν προταθεί πολλές τεχνικές : Χρήση Home Location Register, για αποθήκευση της τρέχουσας θέσης ενός αντικειμένου. Το HLR είναι ένα σύνολο εγγραφών (μια για κάθε αντικείμενο) που βρίσκονται σε έναν κόμβο και περιέχουν την τρέχουσα θέση των κινούμενων αντικειμένων. Ιεραρχική κατανομή μιας γεωγραφικής περιοχής, σε μικρότερες. Συνήθως χρησιμοποιείται δεντρική δομή τα φύλλα της οποίας περιέχουν πληροφορίες για κινούμενα αντικείμενα στην περιοχή τους Χρήση κεντρικοποιημένης σχεσιακής βάσης δεδομένων στην οποία αποθηκεύονται στοιχεία σχετικά με τη θέση και τη κατάσταση του αντικειμένου και στην οποία γίνονται κάποιοι υπολογισμοί για να προβλεφθεί η μελλοντική τους θέση.

Εντοπισμός Κινούμενων Αντικειμένων Υλοποίηση - Εργαλείο Voyager Για την υλοποίηση υπηρεσίας καταλόγου θα χρησιμοποιήσουμε την οικογένεια προϊόντων Voyager. Πλεονεκτήματα : Απλοποίηση πρόσβασης στα πιο κοινά βιομηχανικά πρότυπα (CORBA, RMI και DCOM) Απλοποίηση της δημιουργίας κατανεμημένων συστημάτων. (π.χ. οι Java κλάσεις δεν χρειάζεται να τροποποιηθούν για να χρησιμοποιηθούν από απόσταση) Προσφέρουν μια παγκόσμια αρχιτεκτονική που απομονώνει τον κώδικα του χρήστη από λεπτομέρειες επικοινωνιακών πρωτοκόλλων Υποστήριξη των ποιο γνωστών πρωτοκόλλων υπηρεσίας απόδοσης ονομάτων (CORBA, RMI, DCOM)

Εντοπισμός Κινούμενων Αντικειμένων Υλοποίηση - Εργαλείο Voyager Χαρακτηριστικά : Επιτρέπει την από απόσταση ενεργοποίηση μιας Java κλάσης κατά την εκτέλεση μιας εφαρμογής (runtime). Μπορούμε να κατασκευάσουμε ένα απομακρυσμένο στιγμιότυπο μιας κλάσης και να δημιουργήσουμε έναν proxy για το αντικείμενο αυτό Οι κλάσεις μπορούν να φορτώνονται δυναμικά από μια ή περισσότερες τοποθεσίες. Μέθοδοι που καλούνται στον proxy προωθούνται στο αντικείμενο του Αν συμβεί μια απομακρυσμένη εξαίρεση, συλλαμβάνεται και επιστρέφεται τοπικά. Επιτρέπει δημιουργία αυτόνομων κινητών πρακτόρων

Εντοπισμός Κινούμενων Αντικειμένων Υλοποίηση - Βήματα Η υλοποίηση περιλαμβάνει τα ακόλουθα βήματα: Εγκατάσταση του Voyager Εξοικείωση με το περιβάλλον του. Υλοποίηση βασικών παραδειγμάτων Δημιουργία κινητών πρακτόρων Εντοπισμός της κλάσης που υλοποιεί την υπηρεσία καταλόγου Συνδυασμός των μεθόδων της κλάσης αυτής, με δομές έτσι ώστε να καταλήξουμε στους δυο τρόπους υλοποίησης της υπηρεσίας καταλόγου. Μετρήσεις απόδοσης

Εντοπισμός Κινούμενων Αντικειμένων Υλοποίηση - Τι έχει γίνει Έχει γίνει η εγκατάσταση στo εργαστήριο με τα SUN ultra Έχουν υλοποιηθεί τα βασικά παραδείγματα χρήσης του Voyager (δημιουργία απομακρυσμένων αντικειμένων, επικοινωνία, ανταλλαγή μηνυμάτων, μετακίνηση) Η κλάση που υλοποιεί την βασική υπηρεσία καταλόγου είναι η Directory. Περιλαμβάνει μεθόδους για εισαγωγή και διαγραφή μιας εγγραφής

Εντοπισμός Κινούμενων Αντικειμένων Υλοποίηση - Χρονοδιάγραμμα

Εντοπισμός Κινούμενων Αντικειμένων Δομές Σχήμα δύο Επιπέδων (two-tier scheme) Ιεραρχικό Σχήμα (hierarchical Scheme)

Εντοπισμός Κινούμενων Αντικειμένων Σχήμα Δυο Επιπέδων (two-tier) Τοπική Βάση Δεδομένων (Home Location Register - HLR ένας για κάθε ζώνη) Σχετίζεται με κάθε χρήστη Προκαθορισμένος για κάθε χρήστη Περιέχει την τρέχουσα τοποθεσία του χρήστη Όταν ο χρήστης μετακινηθεί, ενημερώνει τον HLR για την νέα του τοποθεσία Χρησιμοποιείται σε κινητή τηλεφωνία και mobile IP

Εντοπισμός Κινούμενων Αντικειμένων Σχήμα Δυο Επιπέδων (two-tier) Επέκταση - Βελτίωση του HLR (Visitors Location Registers - VLRs) Σχετίζεται με κάθε χρήστη που δεν ανήκει στην συγκεκριμένη ζώνη Περιέχει την τρέχουσα τοποθεσία του χρήστη Ένας χρήστης, εξετάζεται πρώτα αν βρίσκεται στον τοπική VLR και μετά η κλήση πηγαίνει στον HLR. Όταν ο χρήστης μετακινηθεί διαγράφεται η εγγραφή του στον αρχικό VLR και δημιουργείται μία νέα εγγραφή στον τελικό VLR.

HLR VLR Δίκτυο Εντοπισμός Κινούμενων Αντικειμένων Σχήμα Δυο Επιπέδων (two-tier)

Εντοπισμός Κινούμενων Αντικειμένων Ιεραρχικό σχήμα Κατακερματισμός του συνολικού δικτύου σε περιοχές Δημιουργία ενός Κόμβου Καταλόγου για κάθε περιοχή Ο Κόμβος Κατάλογος περιέχει την τρέχουσα τοποθεσία του κάθε χρήστη Δημιουργία ενός επιπέδου πιο πάνω από ευρύτερες περιοχές Δημιουργία ενός Κόμβου Καταλόγου για κάθε ευρύτερη περιοχή Ο Κόμβος Κατάλογος περιέχει την τρέχουσα τοποθεσία του κάθε Κόμβου Καταλόγου του προηγούμενου επιπέδου

Εντοπισμός Κινούμενων Αντικειμένων Ιεραρχικό σχήμα Εικονικό Δέντρο Αναζήτησης

Εντοπισμός Κινούμενων Αντικειμένων Ιεραρχικό σχήμα Κάθε κόμβος περιέχει πληροφορίες μόνο για το υποδέντρο του Η εισαγωγή - διαγραφή ενός αντικειμένου γίνεται με διαδοχική αίτηση των κόμβων από το αντίστοιχο φύλλο μέχρι την ρίζα και ολοκλήρωση της πράξης με ενημέρωση από τη ρίζα μέχρι το φύλλο

Εντοπισμός Κινούμενων Αντικειμένων Παράδειγμα εφαρμογής - Κώδικας import com.objectspace.voyager.*; import com.objectspace.voyager.directory.*; public class naming_test { public static void main( String[] args ) { try { Voyager.startup(); // δημιουργία καταλόγου αρχικών ονομάτων String dirClass=Directory.class.getName(); IDirectory symbols=(IDirectory)Factory.create(dirClass,"//pontus:8000"); symbols.put("CV","costas voglis"); symbols.put("MT","markos tsipouras"); // δημιουργία 2ου καταλόγου root IDirectory root=(IDirectory)Factory.create(dirClass,"//halimedes:9000"); root.put("symbols",symbols); // πρόσβαση στο symbols από το root System.out.println("CV -> " + root.get( "symbols/CV")); System.out.println("MT -> " + root.get( "symbols/MT")); root.remove("symbols/MT"); System.out.println("MT -> " + root.get( "symbols/MT")); } catch( Exception exception ) { System.err.println( exception ); } Voyager.shutdown(); } }

Εντοπισμός Κινούμενων Αντικειμένων Παράδειγμα εφαρμογής - Αποτέλεσμα > voyager 8000 voyager 3.2 copyright objectspace > voyager 9000 voyager 3.2 copyright objectspace > java naming_test.class CV->costas voglis MT->markos tsipouras MT->NULL >