Υλοποίηση Συστήματος Ψηφοφορίας με τη χρήση Java RMI

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Δημιουργία Ιστοσελίδων σε HTML και FrontPage Πρόγραμμα Αναμόρφωσης Προπτυχιακών Σπουδών Κεντρικό Γραφείο Υποστήριξης Εκπαιδευτικού Έργου Αλέξανδρος Λεκατσάς.
Advertisements

The EDONKEY protocol Ιωάννης Ζιαγκλιαβός Α.Μ.123 Παναγιώτης Κατσίκος Α.Μ.124 Ευφροσύνη Κουρή Α.Μ. 138.
1. Εισαγωγή Ορισμοί:  VOD  NVOD  Live Streaming.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Διαδίκτυο Κίκα Χρυσοστόμου.
Γονικός έλεγχος Κ. Ξ. Γ. «ΛΙΟΛΙΟΥ». Γονικός έλεγχος •Ακόμη κι όταν δεν κρυφοκοιτάζετε, μπορείτε να θέσετε περιορισμούς στη χρήση του υπολογιστή από τα.
Ιστορία του Ιντερνετ.
Πανεπιστήμιο Αιγαίου Σχολή Επιστημών της Διοίκησης Τμήμα Μηχανικών Οικονομίας & Διοίκησης Computer applications in the modern enterprise Γ. Κούζας, PhD.
Νήματα στη Java Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία
1 Κλήση Απομακρυσμένων Διεργασιών (Remote Procedure Call - RPC) Γεωργόπουλος Άλκης Κολωνιάρη Γεωργία Κοντογιώργης Τάσος Λεοντιάδης Ηλίας Πετράκης Γιάννης.
Λειτουργικό Σύστημα 2ο μέρος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Τεχνολογία Δικτύων Επικοινωνιών
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Ενότητα Β: Εισαγωγή στο Διαδίκτυο Κουμπή Βασιλάντα, Ph.D, MSc.
Uniform Resource Locators (URLs) Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World Wide Web) Στη Java,
Στογιάννου Αθανασία 1Ι-ΙΝΠΟ internet Στογιάννου Αθανασία web designer 2013 web designer 2013.
Ε ΝΤΟΠΙΣΜΟΣ Κ ΙΝΟΥΜΕΝΩΝ Α ΝΤΙΚΕΙΜΕΝΩΝ ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗΣ ΕΡΓΑΣΙΑΣ Βόγκλης Κωνσταντίνος Τσίπουρας Μάρκος.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Εισαγωγή στον Robot Simulator HY-475/575. Περιεχόμενα Εισαγωγικά Αρχιτεκτονική Εγκατάσταση Περιήγηση.
Κατεύθυνση «Προηγμένες Τεχνολογίες Ανάπτυξης Λογισμικού»
Κεφάλαιο 11.2 Sockets.
Υπηρεσίες δικτύων επικοινωνίας
Τεχνικές Μεταγωγής Παράγραφος 1.5.
Μποχρίνη Σταυρούλα ΑΜ:3173 Σταθόπουλος Αναστάσιος ΑΜ:3220.
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
1 Ολυμπιάδα Πληροφορικής Μάθημα 7. 2 Στόχοι μαθήματος Δημιουργία συναρτήσεων από το χρήστη Δομή προγράμματος με συναρτήσεις Συναρτήσεις και παράμετροι.
Διαχείριση πληροφοριών και επικοινωνίες Ονομ/νυμο Επιμορφωτή Επιμορφωτής: Ονομ/νυμο Επιμορφωτή ΥΠΕΠΘ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ»
Εισαγωγικά Σχόλια για την Εργαστηριακή Άσκηση Τεχνολογίας Λογισμικού Κ. Κοντογιάννης.
Διδακτική της Πληροφορικής Παρουσίαση εκπαιδευτικών παιχνιδιών με σκοπό την κατανόηση βασικών αρχών της πληροφορικής Αντωνακάκη Δέσποινα Α.Μ 933 Καντεράκης.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Γρήγορη αναφορά για την εφαρμογή © 2013 Microsoft Corporation. Με επιφύλαξη κάθε νόμιμου δικαιώματος. Η αρχική οθόνη του Lync Η αρχική οθόνη του Lync διαθέτει.
Ο προσωπικός υπολογιστής εσωτερικά
Εισαγωγικά Θέματα WWW Δίκτυα Ομοτίμων p2p.
Ποιότητα Λογισμικού Ενότητα 2: Παραμετρικοί έλεγχοι στο JUnit. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής.
RPC Vs RMI Άλκης Γεωργόπουλος Αλέξανδρος Καρακασίδης Γεωργία Καστίδου Γεωργία Κολωνιάρη Αναστάσιος Κοντογιώργης Ηλίας Λεοντιάδης Μαρία Παπαφώτη Γιάννης.
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Κεφάλαιο 10 – Υποπρογράμματα
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
Ανάπτυξη ενός Συστήματος Ομοτίμων στο PlanetLab Σπυρίδων-Δημήτριος Αγάθος Νικόλαος Καλιμάνης Κώστας Λίλλης.
Κεφάλαιο 11.1 Uniform Resource Locators (URLs). Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Σύνοψη 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Ηλεκτρονικό Ταχυδρομείο
ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Κατασκευή Ιστοσελίδας Χρηματοοικονομικού.
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ (ΕΡΓΑΣΤΗΡΙΟ). 2 Εξοικείωση με πρωτόκολλο TCP Connection Oriented Αξιοπιστία στην παράδοση Σειρά Καθυστερήσεις Χαρακτηριστικά.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
To πρωτόκολλο διαδικτύου IP -χρησιμοποιείται από αποστολέα και παραλήπτη που μπορεί να βρίσκονται σε διαφορετικά δίκτυα για να ανταλλάξουν πακέτα πληροφοριών.
Hy335a Φροντιστήριο 1 ησ σειράς ασκήσεων Βαρδάκης Γιώργος Τριανταφυλλάκης Κωστής.
Κατανεμημένα Συστήματα
Java DataBase Connectivity
Κεφάλαιο 7 Διαδικτύωση-Internet
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ (ΕΡΓΑΣΤΗΡΙΟ)
Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008
Κεφάλαιο 7: Διαδικτύωση-Internet
Λύσεις Ασφάλειας στο Επίπεδο Διασύνδεσης
Κινητά και Διάχυτα Συστήματα
9.2 Δομή και υπηρεσίες του Διαδικτύου
Το μοντέλο πελάτη - εξυπηρετητή
Web Services στη C# Εργαστήριο 3
9.3 υπηρεσίες του Διαδικτύου
Υπηρεσίες Διαδικτύου.
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
Μεταγράφημα παρουσίασης:

Υλοποίηση Συστήματος Ψηφοφορίας με τη χρήση Java RMI Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Στέφανος Κων/νος Σαλτέας – Καλογεράς Παναγιώτης

Γενικά Το Java RMI επιτρέπει σε εφαρμογές την κλήση μεθόδων από απομακρυσμένα αντικείμενα Απαιτείται η ύπαρξη ενός RMI client και ενός RMI server. Παρέχει το μηχανισμό επικινωνίας ανάμεσα στον Client και στον Server επιτρέπει σε οποιοδήποτε αντικείμενο της Java να χρησιμοποιηθεί, ακόμα και αν ο RMI server δεν το έχει ξανασυναντήσει

Εφαρμογές Πελάτη & Εξυπηρέτη Μια τυπική εφαρμογή εξυπηρέτη δημιουργεί: απομακρυσμένα αντικείμενα αναφορές σε αυτά ώστε να είναι προσβάσιμα περιμένει τους πελάτες να καλέσουν μεθόδους πάνω σε αυτά. Μια τυπική εφαρμογή πελάτη καλεί μεθόδους πάνω σε απομακρυσμένα αντικείμενα μέσω μιας απομακρυσμένης αναφοράς.

Λειτουργίες Client και Server Ανάγνωση πολιτικής ασφαλείας (όταν δεν έχουμε HTTP μπορούμε να φιλτράρουμε τους πελάτες που θα έχουν πρόσβαση) Σύνδεση με το Registry Αναμονή για rmi requests Client Ανάγνωση πολιτικής ασφαλείας (αν χρειάζεται). Εντοπισμός και σύνδεση με τον εξυπηρέτη. Πραγματοποίηση απομακρυσμένων κλήσεων.

Εύρεση Απομακρυσμένων Αντικειμένων – Χρήση του Registry Το RMI προσφέρει ένα απλό σχήμα ονοματοδοσίας, στο οποίο ένα απομακρυσμένο αντικείμενο δίνει στον εαυτό του ένα όνομα όταν τρέχει για πρώτη φορά. Στη συνέχεια καταχωρείται στο RMI registry με μια διαδικασία εγγραφής. Το registry συνδέει το όνομα του αντικειμένου (όχι το όνομα της κλάσης) και το ίδιο το αντικείμενο. Στη Java, όταν ένα απομακρυσμένο αντικείμενο εγγράφεται στο registry μίας συγκεκριμένης μηχανής, συνδέται με ένα αντικείμενο ονοματοδοσίας. Αν ένα πελάτης θέλει να χρησιμοποιήσει ένα αντικείμενο, το οποίο βρίσκεται σε έναν απομακρυσμένο κόμβο (έστω κόμβος A), κάνει μία αναζήτηση στο Registry του κόμβου Α. Χρησιμοποιεί το αποτέλεσμα της αναζήτησης για να συνδεθεί με το απομακρυσμένο αντικείμενο, και να παρεμβάλλει τις μεθόδους του.

Δυναμική φόρτωση κλάσεων Παρέχεται η δυνατότητα, ο πελάτης να στείλει στον εξυπηρέτη τη μέθοδο που επιθυμεί να εκτελεστεί. Για να γίνει αυτό θα πρέπει να υπάρχει και στον πελάτη εν λειτουργία εξυπηρέτης Web. Αν δεν υπάρχει εξυπηρέτης Web στο σύστημα, τότε το RMI εκτελεί αυτόματα ένα απλό εξυπηρέτη Web, για την ανταλλαγή μηνυμάτων και τη μεταφορά των κλάσεων

Αρχιτεκτονική Client και Server

Λειτουργία του stub Κατά την επίκληση μίας μεθόδου του stub, γίνονται τα παρακάτω: Εκκίνηση μίας σύνδεσης με την απομακρυσμένη JVM που περιέχει το απομακρυσμένο αντικείμενο. Εγγραφή και μετάδοση των παραμέτρων στην απομακρυσμένη JVM. Αναμονή του αποτλέσματος της απομακρυσμένης επίκλησης της μεθόδου. Ανάγνωση της απάντησης ή της εξαίρεσης που επιστρέφεται από την απομακρυσμένη επίκληση. Επιστροφή της τιμής στον καλώντα.

Λειτουργία του skeleton Διαβάζει τις παραμέτρους για την απομακρυσμένη μέθοδο Κάνει επίκληση της μεθόδου στο πραγματικό απομακρυσμένο αντικείμενο Γράφει και μεταδίδει το αποτέλεσμα (τιμή ή εξαίρεση) στον πελάτη.

Stubs και Skeletons Server Process Client Process SKELETON Server Machine TCP/IP stack Return value STUB Client Process Client Machine

Απαιτήσεις Ύπαρξη εξυπηρέτη Web τουλάχιστον στον RMI server Εκτέλεση JRE τόσο στον RMI client όσο και στον RMI server

Περιορισμοί και Ζητήματα Επιδόσεων Η χρήση του HTTP για την ανταλλαγή μηνυμάτων μειώνει την απόδοση κατά τουλάχιστον μία τάξη μεγέθους Αντιμετώπιση firewalls: Δυνατότητα tunelling με τη χρήση ενός ενδιάμεσου κόμβου με τον οποίο μπορούν να επικοινωνήσουν και οι δύο άκρες

Διαδικασία Μεταγλώτισης και Εκτέλεσης Client και Server Για τον εξυπηρέτη: Μεταγλώτισση του εξυπηρέτη: javac server.java Δημιουργία των Skeleton και Stub: rmic server Εκκίνηση του registry: rmiregistry & Εκτέλεση του εξυπηρέτη: java server hostname Για τον πελάτη: Μεταγλώτισση του πελάτη javac client.java Εκτέλεση του πελάτη και καθορισμό της θέσης του stub java -Djava.rmi.server.codebase = http://hostname/~username/directory/ clientclass hostname method parameters

Αναφορές http://www.javacoffeebreak.com/articles/javarmi/javarmi.html http://java.sun.com/docs/books/tutorial/rmi/ Andrew S. Tanenbaum and Maarten Van Steen, "Distributed Systems: Principles and Paradigms", Prentice Hall, 2002