Μελέτη Μεθοδολογιών ικτυακής Επικοινωνίας Αρθρωµάτων Λογισµικού

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

Download "Μελέτη Μεθοδολογιών ικτυακής Επικοινωνίας Αρθρωµάτων Λογισµικού"

Transcript

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

2 ΙΑΤΡΙΒΗ για την απόκτηση διδακτορικού διπλώµατος του Τµήµατος Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων του Πανεπιστηµίου Αιγαίου Κωνσταντίνος Ράπτης Μελέτη Μεθοδολογιών ικτυακής Επικοινωνίας Αρθρωµάτων Λογισµικού Συµβουλευτική επιτροπή: Επιβλέπων: Σωκράτης Κάτσικας Καθηγητής Πανεπιστηµίου Αιγαίου Μέλη: ιοµήδης Σπινέλλης Επίκουρος Καθηγητής Οικονοµικού Πανεπιστηµίου Αθηνών ηµήτριος Χριστοδουλάκης Καθηγητής Πανεπιστηµίου Πατρών

3 Περίληψη Στόχος των µεθοδολογιών δικτυακής επικοινωνίας, ή αλλιώς των µοντέλων αποµακρυσµένης επίκλησης, αρθρωµάτων και αντικειµένων λογισµικού είναι να καταστεί δυνατή η µεταξύ τους επικοινωνία σε ένα κατανεµηµένο και ετερογενές υπολογιστικό περιβάλλον. Η ανάγκη για ανάπτυξη λογισµικού µε χρήση υπάρχοντα κώδικα και όχι από το µηδέν και η ανάγκη για εξάπλωση του διαθέσιµου κώδικα σε ένα δίκτυο υπολογιστών, πιθανόν διαφορετικών, προκειµένου να υπάρχει εκµετάλλευση τόσο της υπολογιστικής ισχύς όσο και των αποθηκευτικών µέσων αυτών, οδήγησαν στην ανάπτυξη µοντέλων που θα επέτρεπαν την σύνδεση και επικοινωνία αντικειµένων και εξαρτηµάτων λογισµικού τα οποία θα δύναται να προέρχονται από διαφορετικές πηγές, να βασίζονται σε διαφορετικές γλώσσες προγραµµατισµού και να λειτουργούν σε διαφορετικές υπολογιστικές πλατφόρµες. Οι OMG CORBA, Microsoft COM/DCOM και Sun Java RMI αποτελούν τα βασικότερα µοντέλα αρχιτεκτονικές σκοπός των οποίων είναι η επίτευξη της σύνδεσης και επικοινωνίας διαφορετικών εξαρτηµάτων και αντικειµένων λογισµικού. Η χρήση των παραπάνω τεχνολογιών οδήγησε στην ανάπτυξη εφαρµογών αλλά και στην σχεδίαση πληροφοριακών συστηµάτων βασιζόµενων στην αρχιτεκτονική που προτείνεται από τις υποκείµενες τεχνολογίες. Αν και η χρήση των µοντέλων αποµακρυσµένης επίκλησης βοήθησε στην επίτευξη των πρωταρχικών στόχων, γέννησε νέα προβλήµατα τα οποία σχετίζονταν µε τις δυνατότητες επικοινωνίας κα συνεργασίας εξαρτηµάτων και αντικειµένων λογισµικού τα οποία βασίζονταν σε διαφορετικές τεχνολογίες. Με την παρούσα έρευνα, παρουσιάζουµε την αρχιτεκτονική κατασκευής αντικειµένων λογισµικού, γεφυρών των εµπλεκοµένων τεχνολογιών, τα οποία δίνουν την δυνατότητα σε αντικείµενα, εξυπηρετητές, µίας τεχνολογίας να εκθέτουν τις υπηρεσίες τους σε αντικείµενα,πελάτες, διαφορετικών τεχνολογιών. Η ιδέα της αρχιτεκτονικής που προτείνουµε βασίζεται στην ανάπτυξη ενός απλού και εύχρηστου αντικειµένου το οποίο θα λειτουργεί ως εικονικός εξυπηρετητής συµβατός µε την τεχνολογία του πραγµατικού πελάτη και το οποίο θα προωθεί την κλήση του πελάτη, προς το πραγµατικό αντικείµενο εξυπηρετητής λειτουργώντας ως ένας εικονικός πελάτης συµβατός µε την τεχνολογία του εξυπηρετητή. Εφαρµόζοντας την παραπάνω αρχιτεκτονική αναπτύξαµε τέσσερα αντικείµενα γέφυρες που επιτρέπουν την σύνδεση αντικειµένων πελατών και εξυπηρετητών ανεξάρτητα από τις τεχνολογίες στις οποίες βασίζονται. Πιο συγκεκριµένα, τα τέσσερα αντικείµενα-γέφυρες που υλοποιήσαµε αφορούν τις συνδέσεις: 1. εξυπηρετητής τεχνολογίας CORBA πελάτης τεχνολογίας Java RMI, 2. εξυπηρετητής τεχνολογίας Java RMI πελάτης τεχνολογίας CORBA, i

4 3. εξυπηρετητής τεχνολογίας COM/DCOM πελάτης τεχνολογίας CORBA και 4. εξυπηρετητής τεχνολογίας Java RMI πελάτης τεχνολογίας COM/DCOM. Οι υλοποιήσεις των αντικειµένων-γεφυρών των παραπάνω περιπτώσεων, επιτρέπουν τόσο την άµεση σύνδεση αντικειµένων πελατών και εξυπηρετητών δύο διαφορετικών τεχνολογιών όσο και την σύνδεση αυτών µε την διαµεσολάβηση τρίτης τεχνολογίας σε συνδυασµό µε την χρήση δύο αντικειµένων-γεφυρών. Σε κάθε περίπτωση οι υλοποιήσεις ακολουθούν την προτεινόµενη αρχιτεκτονική της χρησιµοποίησης της δοµής ενός αντικειµένου εξυπηρετητής, συµβατού µε την τεχνολογία του πραγµατικού αντικειµένου πελάτης και την ενσωµάτωση όλων των απαραίτητων χαρακτηριστικών ενός αντικειµένου πελάτης, συµβατού µε την τεχνολογία του πραγµατικού αντικειµένου εξυπηρετητή, χωρίς να µεταβάλλονται και να τροποποιούνται τα φυσικά χαρακτηριστικά των υπό σύνδεση τεχνολογιών. ii

5 Ευχαριστίες Ένας σηµαντικός αριθµός ατόµων συνέβαλαν, άµεσα ή έµµεσα, στην ολοκλήρωση της παρούσας ερευνητικής προσπάθειας. Πρώτους από όλους, θα ήθελα να ευχαριστήσω τους γονείς µου και την σύζυγό µου Έφη γιατί πρώτοι αυτοί πίστεψαν σε εµένα και µε ενθάρρυναν καθ όλη την διάρκεια της έρευνας µου. Επιπλέον θα ήθελα να ευχαριστήσω: Τον Καθηγητή, του Πανεπιστηµίου Αιγαίου, Σωκράτη Κάτσικα για την εµπιστοσύνη που έδειξε στο πρόσωπό µου αναλαµβάνοντας την ευθύνη της έρευνας ως επιβλέπων και για καθοδήγησή του καθ όλη την διάρκειά της. Τον Επίκουρο Καθηγητή, του Οικονοµικού Πανεπιστηµίου Αθηνών, ιοµήδη Σπινέλλη, για την καθοδήγηση, την συνεργασία και προπάντων την υποµονή που έδειξε, ως µέλος της τριµελούς συµβουλευτικής επιτροπής, κατά την διάρκεια της έρευνας αλλά και κατά την συγγραφή της παρούσας διατριβής. Τον Καθηγητή, του Πανεπιστηµίου Πατρών, ηµήτριο Χριστοδουλάκη για την συµπαράσταση και κατανόησή του ως µέλος της τριµελούς συµβουλευτικής επιτροπής. Τον Πρόεδρο του Τµήµατος Πληροφοριακών και Επικοινωνιακών Συστηµάτων του Πανεπιστηµίου Αιγαίου, Αναπληρωτή Καθηγητή Γεώργιο Βούρο, για την υποστήριξη και την συνεργασία του όλα αυτά τα χρόνια παρουσίας µου στο Τµήµα ως υποψήφιος διδάκτορας. Τον συνάδελφο υποψήφιο διδάκτορα Ευάγγελο Κουράκο-Μαυροµιχάλη για την συµπαράστασή του και τις χρήσιµες συζητήσεις που είχαµε. Του εύχοµαι σύντοµα να φέρει σε πέρας και την δική του ερευνητική προσπάθεια. Τέλος, θα ήθελα να ευχαριστήσω όλο το προσωπικό του Τµήµατος Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων, διδακτικό και διοικητικό, για την βοήθειά τους κατά την παρουσία µου στο Τµήµα. Την παρούσα εργασία την αφιερώνω στην σύζυγό µου Έφη και στο νέο µέλος της οικογένειάς µας που περιµένουµε να έρθει. Κωνσταντίνος Ράπτης Ιούλιος 2002 iii

6 Πίνακας περιεχοµένων Περίληψη...i Ευχαριστίες... iii Πίνακας περιεχοµένων...iv Σχήµατα... viii Πίνακες...x Γραφήµατα...xi 1 Εισαγωγή Αντικείµενο Στόχοι Τεχνολογίες Ενδιαµέσων OMG CORBA Microsoft COM/DCOM Sun Java RMI Ασυµβατότητα Αντικειµένων Λογισµικού ιαφορετικές προσεγγίσεις και υλοποιήσεις των διεπαφών ιαφορετικές µέθοδοι αναφοράς σε αντικείµενα και φύλαξης αυτών Χρήση διαφορετικών πρωτοκόλλων Γεφυρώνοντας το Χάσµα Οργάνωση της διατριβής Αντικείµενα και τεχνολογίες ενδιαµέσων Εισαγωγή Μοντέλα ενδιαµέσων OMG CORBA ORB Στην πλευρά του πελάτη Στην πλευρά του εξυπηρετητή Αναφορές προς αντικείµενα Μοντέλο επικοινωνίας Γλώσσα ορισµού διεπαφών Μέθοδος στατικής επίκλησης Μέθοδος δυναµικής επίκλησης ιεπαφή δυναµικής επίκλησης ιεπαφή δυναµικού skeleton Object Adapter Microsoft COM/DCOM ιεπαφές Μοντέλο επικοινωνίας Γλώσσα ορισµού διεπαφών της Microsoft υαδικό πρότυπο και απεικονίσεις προς διαφορετικές γλώσσες Λειτουργία της COM/DCOM Sun Java RMI Λειτουργία του συστήµατος Java RMI Μοντέλο επικοινωνίας iv

7 2.3 ιαλειτουργικότητα αντικειµένων Ασυµβατότητα αντικειµένων λογισµικού ιαφορετικές προσεγγίσεις και υλοποιήσεις των διεπαφών ιαφορετικές µέθοδοι αναφοράς σε αντικείµενα και φύλαξης αυτών Χρήση διαφορετικών πρωτοκόλλων Γεφυρώνοντας το χάσµα Γεφύρωση µεταξύ CORBA-COM/DCOM Γεφύρωση µεταξύ CORBA-Java RMI Γεφύρωση µεταξύ COM/DCOM-Java RMI Σύνοψη Εφαρµογές CORBA, Java RMI & COM/DCOM Εισαγωγή Κατασκευή εφαρµογών πελάτη-εξυπηρετητή µε χρήση των CORBA, Java RMI και COM/DCOM Κατασκευή εφαρµογής πελάτη-εξυπηρετητή µε CORBA Κατασκευή της διεπαφής Μετάφραση της διεπαφής Κατασκευή του εξυπηρετητή Μετάφραση του εξυπηρετητή Κατασκευή του πελάτη Μετάφραση του πελάτη Εκτέλεση της εφαρµογής Κατασκευή εφαρµογής πελάτη-εξυπηρετητή µε Java RMI Κατασκευή της διεπαφής Κατασκευή του εξυπηρετητή Κατασκευή του πελάτη Εκτέλεση της εφαρµογής Κατασκευή εφαρµογής πελάτη-εξυπηρετητή µε COM/DCOM Κατασκευή της διεπαφής Εξαγωγή της βιβλιοθήκης τύπων Κατασκευή κλάσης υλοποίησης Καταχώρηση της κλάσης υλοποίησης Κατασκευή του πελάτη Εκτέλεση της εφαρµογής Μοντέλο συνένωσης Java/COM Ανάπτυξη εξυπηρετητή COM µε την χρήση της Java Κατασκευή πελάτη COM µε την χρήση της Java Χρήση εξαρτήµατος COM ως Java Γενίκευση στόχου Αρχιτεκτονική Απαιτήσεις Σύνοψη Σχεδίαση υλοποίησης Εισαγωγή Μετασχηµατισµός εφαρµογών διαφορετικών τεχνολογιών Βήµατα ανάπτυξης µετασχηµατισµένης εφαρµογής Σύνοψη...83 v

8 5 Υλοποίηση Εισαγωγή Εφαρµογή πελάτη Java RMI και εξυπηρετητή CORBA Ανάπτυξη διεπαφής τεχνολογίας Java RMI Ανάπτυξη βοηθητικών αρχείων πελάτη τεχνολογίας CORBA Ανάπτυξη αντικειµένου-γέφυρα Ανάπτυξη βοηθητικών αρχείων πελάτη και εξυπηρετητή τεχνολογίας Java RMI Ανάπτυξη πελάτη τεχνολογίας Java RMI Εκτέλεση Εφαρµογή πελάτη CORBA και εξυπηρετητή Java RMI Ανάπτυξη διεπαφής τεχνολογίας CORBA Εξαγωγή stub πελάτη τεχνολογίας Java RMI Ανάπτυξη βοηθητικών αρχείων πελάτη και εξυπηρετητή τεχνολογίας CORBA Ανάπτυξη αντικειµένου-γέφυρα Ανάπτυξη πελάτη τεχνολογίας CORBA Εκτέλεση Εφαρµογή πελάτη CORBA και εξυπηρετητή COM Ανάπτυξη διεπαφής τεχνολογίας CORBA Ανάπτυξη βοηθητικών αρχείων πελάτη και εξυπηρετητή τεχνολογίας CORBA Ανάπτυξη αντικειµένου-γέφυρα Ανάπτυξη πελάτη τεχνολογίας CORBA Μετάφραση και εκτέλεση Εφαρµογή πελάτη COM και εξυπηρετητή Java RMI Εξαγωγή stub πελάτη τεχνολογίας Java RMI Ανάπτυξη αντικειµένου-γέφυρα Ανάπτυξη πελάτη τεχνολογίας COM Eκτέλεση Εφαρµογή σύνδεσης πελάτη Java RMI και εξυπηρετητή COM µέσω της τεχνολογίας CORBA Σύνοψη Αξιολόγηση Εισαγωγή Συνεισφορά στην διαλειτουργικότητα των αντικειµένων Παραδοχές Αξιολόγηση αντικειµένου-γέφυρα ως λογισµικό Συµµόρφωση µε τα πρότυπα Περιορισµοί από το υλικό ιαθεσιµότητα Ασφάλεια vi

9 6.4.5 Συντηρησιµότητα Μεταφερσιµότητα Επιδόσεις Συµπεράσµατα Σύνοψη Μελλοντική εργασία Εισαγωγή Εφαρµογή της αρχιτεκτονικής στα πλαίσια πραγµατικού έργου Λειτουργία δυναµικής επίκλησης Ανάπτυξη εργαλείου κατασκευής αντικειµένων-γεφυρών Συνδυασµός µε εργαλεία διαλειτουργικότητας CORBA/COM Υποστήριξη XML και SOAP Σύνοψη Σύνοψη Βιβλιογραφικές αναφορές & πηγές ηµοσιευµένα άρθρα - Παρουσιάσεις Τεχνικά δελτία - Προδιαγραφές Βιβλία Πίνακας Ακρώνυµων Παράρτηµα Α Α.1 Αντικείµενο-γέφυρα σύνδεσης πελάτη Java RMI εξυπηρετητή CORBA Α.2 Αντικείµενο-γέφυρα σύνδεσης πελάτη CORBA εξυπηρετητή Java RMI Α.3 Αντικείµενο-γέφυρα σύνδεσης πελάτη CORBA εξυπηρετητή COM 170 Α.4 Αντικείµενο-γέφυρα σύνδεσης πελάτη COM εξυπηρετητή Java RMI Παράρτηµα Β Β.1 Χρήση εξαρτήµατος COM από πελάτη τεχνολογίας CORBA vii

10 Σχήµατα Σχήµα 2.1: Η αρχιτεκτονική της OMA...11 Σχήµα 2.2: Η διαµεσολάβηση του ORB µεταξύ πελάτη & εξυπηρετητή...13 Σχήµα 2.3: Η αρχιτεκτονική της CORBA...14 Σχήµα 2.4: ράση πελάτη-εξυπηρετητή µέσω COM/DCOM...22 Σχήµα 2.5: Επικοινωνία πελάτη-εξυπηρετητή µέσω διεπαφής...23 Σχήµα 2.6: Αρχιτεκτονική συστήµατος Java RMI...28 Σχήµα 2.7: ροµολόγηση αιτήσεων-αποκρίσεων στο σύστηµα Java RMI...28 Σχήµα 3.1: Ανάπτυξη εφαρµογής CORBA...42 Σχήµα 3.2: Τα παραγόµενα αρχεία από την διεπαφή SumInt µέσω του µεταφραστή jidl...45 Σχήµα 3.3: Ανάπτυξη εφαρµογής Java RMI...51 Σχήµα 3.4: Ανάπτυξη εφαρµογής COM/DCOM...59 Σχήµα 3.5: Μοντέλο συνένωσης Java/COM...66 Σχήµα 3.6: Χρήση εξαρτήµατος COM ως Java...69 Σχήµα 3.7: ιάγραµµα κλάσεων αλληλεπίδρασης αντικειµένων Α και Β...72 Σχήµα 3.8: ιάγραµµα δράσεων αλληλεπίδρασης αντικειµένων Α και Β...72 Σχήµα 4.1: Το τρίγωνο συνδέσεως των τεχνολογιών CORBA, COM/DCOM και Java RMI...76 Σχήµα 4.2: Μετασχηµατισµός δύο όµοιων εφαρµογών διαφορετικών τεχνολογιών...77 Σχήµα 4.3: Μετασχηµατισµός µε την χρήση και της τρίτης τεχνολογίας ως γέφυρα επικοινωνίας...78 Σχήµα 4.4: Βήµατα ανάπτυξης µετασχηµατισµένης εφαρµογής...80 Σχήµα 4.5: Μετασχηµατισµένη εφαρµογή πελάτη-εξυπηρετητή δύο διαφορετικών τεχνολογιών ενδιαµέσων...81 Σχήµα 4.6: οµή του αντικειµένου-γέφυρα...82 Σχήµα 5.1: Εξελιγµένο τρίγωνο συνδέσεως των τεχνολογιών CORBA, COM/DCOM και Java RMI...85 Σχήµα 5.2: Γενική µορφή µετασχηµατισµένης εφαρµογής πελάτη Java RMI και εξυπηρετητή CORBA...86 Σχήµα 5.3: Βήµατα ανάπτυξης µετασχηµατισµένης εφαρµογής πελάτη Java RMI εξυπηρετητή CORBA...94 Σχήµα 5.4: Μετασχηµατισµένη εφαρµογή πελάτη τεχνολογίας Java RMI και εξυπηρετητή τεχνολογίας CORBA...95 Σχήµα 5.5: Γενική µορφή µετασχηµατισµένης εφαρµογής πελάτη CORBA και εξυπηρετητή Java RMI...96 viii

11 Σχήµα 5.6: Τα παραγόµενα αρχεία από την διεπαφή SumIntBr.idl µέσω του µεταφραστή jidl...99 Σχήµα 5.7: Βήµατα ανάπτυξης µετασχηµατισµένης εφαρµογής πελάτη CORBA εξυπηρετητή Java RMI Σχήµα 5.8: Μετασχηµατισµένη εφαρµογή πελάτη τεχνολογίας CORBA και εξυπηρετητή τεχνολογίας Java RMI Σχήµα 5.9: Γενική µορφή µετασχηµατισµένης εφαρµογής πελάτη CORBA και εξυπηρετητή COM Σχήµα 5.10: Τα παραγόµενα αρχεία από την διεπαφή SumInt.idl µέσω του µεταφραστή jidl Σχήµα 5.11: Βήµατα ανάπτυξης µετασχηµατισµένης εφαρµογής πελάτη CORBA εξυπηρετητή COM Σχήµα 5.12: Μετασχηµατισµένη εφαρµογή πελάτη τεχνολογίας CORBA και εξυπηρετητή τεχνολογίας COM Σχήµα 5.13: Γενική µορφή µετασχηµατισµένης εφαρµογής πελάτη COM και εξυπηρετητή Java RMI Σχήµα 5.14: Βήµατα ανάπτυξης µετασχηµατισµένης εφαρµογής πελάτη COM και εξυπηρετητή Java RMI Σχήµα 5.15: Μετασχηµατισµένη εφαρµογή πελάτη τεχνολογίας COM και εξυπηρετητή τεχνολογίας Java RMI Σχήµα 5.16: Μετασχηµατισµός µε την χρήση της τεχνολογίας CORBA ως γέφυρα επικοινωνίας µεταξύ πελάτη Java RMI και εξυπηρετητή COM.126 Σχήµα 5.17: Σύνθεση εφαρµογής πελάτη Java RMI και εξυπηρετητή COM..128 Σχήµα 5.18: Μετασχηµατισµένη εφαρµογή πελάτη τεχνολογίας Java RMI και εξυπηρετητή τεχνολογίας COM ix

12 Πίνακες Πίνακας 2.1: Απεικονίσεις βασικών τύπων CORBA IDL/Java [Orfali et al 98]...17 Πίνακας 2.2: Απεικονίσεις κατασκ. τύπων CORBA IDL/Java [Orfali et al 98]18 Πίνακας 2.3: Απεικονίσεις βασικών τύπων Microsoft IDL/Java [Orfali et al 98]...25 Πίνακας 2.4: Βασικές διαφορές µεταξύ CORBA/DCOM/RMI...34 Πίνακας 3.1: Επεκτάσεις αρχείων τα οποία δύναται να εµπεριέχουν βιβλιοθήκες τύπων...62 Πίνακας 5.1: Αντιστοίχιση διεπαφών τεχνολογιών Java RMI και CORBA...88 Πίνακας 5.2: Εφαρµογές εξυπηρετητή Java RMI και πελάτη CORBA...91 Πίνακας 5.3: Πελάτης τεχνολογίας Java RMI...93 Πίνακας 5.4: Αντιστοίχιση διεπαφών τεχνολογιών CORBA και Java RMI...98 Πίνακας 5.5: Εφαρµογές εξυπηρετητή CORBA και πελάτη Java RMI Πίνακας 5.6: Πελάτης τεχνολογίας CORBA Πίνακας 5.7: Κώδικας κλάσης τεχνολογίας COM, παράγωγο του εργαλείου JActiveX Πίνακας 5.8: Κώδικας διεπαφής τεχνολογίας COM, παράγωγο του εργαλείου JActiveX Πίνακας 5.9: ιεπαφή IDL τεχνολογίας CORBA Πίνακας 5.10: Εφαρµογές εξυπηρετητή CORBA και πελάτη COM Πίνακας 5.11: Πελάτης τεχνολογίας CORBA Πίνακας 5.12: Εφαρµογές εξυπηρετητή COM και πελάτη Java RMI Πίνακας 5.13: Πελάτης τεχνολογίας COM Πίνακας 6.1: Πλατφόρµες και τεχνολογίες ενδιαµέσων Πίνακας 6.2: Υπηρεσίες ασφάλειας των CORBA, COM/DCOM και Java RMI Πίνακας Β.1: ιεπαφή Java, περίβληµα τεχνολογίας COM Πίνακας Β.2: ιεπαφή IDL τεχνολογίας CORBA Πίνακας Β.3: Αντικείµενο-γέφυρα σύνδεσης πελάτη CORBA εξαρτήµατος COM Πίνακας Β.4: Πελάτης τεχνολογίας CORBA x

13 Γραφήµατα Γράφηµα 6.1: Εφαρµογές πελάτη-εξυπηρετητή Γράφηµα 6.2: Εφαρµογές πελάτη-εξυπηρετητή Γράφηµα 6.3: Μετασχηµατισµένες εφαρµογές πελάτη-γέφυρας-εξυπηρετητή (τοπικές κλήσεις) Γράφηµα 6.4: Μετασχηµατισµένες εφαρµογές πελάτη-γέφυρας-εξυπηρετητή (πελάτης-γέφυρα αποµακρυσµένα, γέφυρα-εξυπηρετητής τοπικά) Γράφηµα 6.5: Μετασχηµατισµένες εφαρµογές πελάτη-γέφυρας-εξυπηρετητή (πελάτης-γέφυρα τοπικά, γέφυρα-εξυπηρετητής αποµακρυσµένα) Γράφηµα 6.6: Εφαρµογές πελάτη-εξυπηρετητή Γράφηµα 6.7: Μετασχηµατισµένες εφαρµογές πελάτη-γέφυρας-εξυπηρετητή xi

14 Κεφάλαιο 1 : Εισαγωγή 1 Εισαγωγή 1.1 Αντικείµενο Στόχοι Η ανάγκη για αλληλεπίδραση (interaction) µεταξύ εξαρτηµάτων λογισµικού (software components) από διαφορετικούς κατασκευαστές, τα οποία τρέχουν σε διαφορετικά µηχανήµατα και πάνω από διαφορετικά λειτουργικά συστήµατα, οδήγησε στον προσδιορισµό των µοντέλων ενδιαµέσων για αποµακρυσµένη επικοινωνία (Middleware Remoting Models). Η Common Object Request Broker Architecture (CORBA) της Object Management Group (OMG) [OMG 95, OMG 98, OMG 99, Vinosky 93, Vinosky 97], η Component Object Model / Distributed Component Object Model (COM/DCOM) της Microsoft [Microsoft 95, Microsoft 96, Microsoft 98, Wallace 99] και η Java Remote Method Invocation (RMI) της Sun [Sun 96a, Sun 96b, Sun 96c, Sun 98, Sutherland 98], είναι τρία µοντέλα που επιτρέπουν σε εξαρτήµατα λογισµικού µε διαφορετική προέλευση να δουλεύουν µαζί. Για να µπορούν τα εξαρτήµατα λογισµικού να επικοινωνούν αλληλεπιδρούν µεταξύ τους θα πρέπει να συµµορφώνονται µε τους κανόνες της υποκείµενης τεχνολογίας ενδιαµέσου (underlying middleware technology). Όµως, είναι δύσκολο, εάν όχι αδύνατο, για δύο εξαρτήµατα τα οποία βασίζονται σε διαφορετικές τεχνολογίες να επικοινωνήσουν µεταξύ τους. Τα προβλήµατα συµβατότητας πηγάζουν από τις διαφορές των υποκείµενων µοντέλων και από τον τρόπο που αυτά παρουσιάζουν και χρησιµοποιούν τα εξαρτήµατα λογισµικού. Όταν υπάρχει η ανάγκη για διαλειτουργικότητα (interoperation) µεταξύ δύο ή περισσοτέρων εξαρτηµάτων, βασισµένων σε διαφορετικές τεχνολογίες, ο βασικός στόχος είναι µην γίνεται αντιληπτό από τα εξαρτήµατα το γεγονός ότι τα άλλα εξαρτήµατα λειτουργούν κάτω από µία διαφορετική τεχνολογία χωρίς βέβαια αυτό να επηρεάζει τα χαρακτηριστικά και την συµπεριφορά τους. Ο σκοπός της παρούσας ερευνητικής εργασίας και διδακτορικής διατριβής αφορά µε την αξιοποίηση της γλώσσας προγραµµατισµού Java ως ένα εργαλείο για την ανάπτυξη µίας αρχιτεκτονικής και τη δηµιουργία ενός µηχανισµού ο οποίος θα γεφυρώνει τις τρεις πιο διαδεδοµένες τεχνολογίες ενδιαµέσων γα αποµακρυσµένη επικοινωνία: CORBA, COM/DCOM και Java RMI. Χρησιµοποιήσουµε, δηλαδή, την Java ως µία κόλλα γενικής χρήσης. Στόχος µας είναι να επιτρέπουµε σε ένα αντικείµενο εξυπηρετητή (server object), το οποίο µπορεί να ακολουθεί µία από τις παραπάνω τεχνολογίες, να προσφέρει τις µεθόδους και γενικότερα τις υπηρεσίες του σε έναν πελάτη (client object) ασχέτως µε την τεχνολογία που και αυτός ακολουθεί. 1.2 Τεχνολογίες Ενδιαµέσων Η ικανότητα να κατασκευάζονται εφαρµογές χρησιµοποιώντας αντικείµενα λογισµικού από διαφορετικές αρχιτεκτονικές, τα οποία τρέχουν σε διαφορετικά µηχανήµατα και βασιζόµενα σε διαφορετικά λειτουργικά συστήµατα, δεν είναι κάτι το εύκολο. Η ανάγκη για αλληλεπίδραση µεταξύ των αντικειµένων αυτών οδήγησε στον προσδιορισµό των µοντέλων ενδιαµέσων [Martin 93, Plasil et al 1

15 Κεφάλαιο 1 : Εισαγωγή 98]. Όπως προαναφέραµε τα µοντέλα των CORBA, COM/DCOM και Java RMI, είναι τα τρία βασικότερα για την διεκπεραίωση µίας τέτοιας επικοινωνίας. Γενικά, ένας ενδιάµεσος µπορούµε να πούµε ότι περιγράφει, ουσιαστικά, ένα σύνολο από υπηρεσίες και πρωτόκολλα τα οποία υπάρχουν ακριβώς κάτω από τις εφαρµογές και παρέχουν ένα σύνολο από υπηρεσίες για τις εφαρµογές αυτές [Clark96]. Μεταφέροντας την γενική αυτή ερµηνεία στην περίπτωση της επικοινωνίας των αντικειµένων λογισµικού, ένα µοντέλο ενδιάµεσου προσφέρει τις κατάλληλες εκείνες διεπαφές, υπηρεσίες και πρωτόκολλα έτσι ώστε να είναι δυνατή η επικοινωνία µεταξύ αυτών των αντικειµένων. Τα τρία µοντέλα-τεχνολογίες που προαναφέραµε και µε τα οποία ασχολούµαστε στην παρούσα διατριβή, εφαρµόζονται στις περιπτώσεις κατανεµηµένων αντικειµένων. Αντικειµένων, δηλαδή, τα οποία βρίσκονται σε περισσότερους από έναν υπολογιστές και πιθανώς διασκορπισµένα σ ένα δίκτυο και σε διαφορετικά λειτουργικά συστήµατα OMG CORBA Η OMG ιδρύθηκε τον Απρίλιο του 1989 από έντεκα εταιρίες, µεταξύ των οποίων οι 3Com Corporation, American Airlines, Canon Inc., Data General, Hewlett-Packard, Philips Telecommunications N.V., Sun Microsystems και Unisys Corporation. Σκοπός τους ήταν να συζητάνε τις σκέψεις τους για το µέλλον της τεχνολογίας των αντικειµένων. Σήµερα, η οµάδα αυτή αποτελείται από περισσότερες από 800 εταιρίες και οι δραστηριότητές της έχουν επικεντρωθεί στην τεχνολογία των κατανεµηµένων αντικειµένων και στην CORBA. Η CORBA δεν αποτελεί ένα εκτελέσιµο προϊόν αλλά ένας γνώµονας που πρέπει να ακολουθείται από κάποιον ο οποίος θέλει να κατασκευάσει έναν Object Request Broker (ORB). Ο στόχος που προσπαθεί να επιτευχθεί είναι οι εφαρµογές να µπορούν να επικοινωνούν µεταξύ τους ανεξάρτητα µε το που βρίσκονται και από ποιον έχουν κατασκευαστεί. Η OMG δηµιούργησε µία ευρύτερη αρχιτεκτονική, την Object Management Architecture (OMA) [OMG 96, Martin 93, Vinoski 97], της οποίας η CORBA αποτελεί το κοµµάτι εκείνο που είναι υπεύθυνο για την λειτουργικότητα του ORB και περιλαµβάνει διάφορες υπηρεσίες, διεπαφές και αντικείµενα εφαρµογών. Ο ρόλος της CORBA στην OMA είναι να προσδιορίζει το πώς θα πρέπει να υλοποιείται ένας ORB. Η πρώτη έκδοση της CORBA (CORBA 1.0) έγινε δεκτή τον εκέµβριο του 1990 και στις αρχές του 1991 παρουσιάστηκε η CORBA 1.1. Με την έκδοση αυτή προσδιορίστηκαν: η γλώσσα προσδιορισµού των διεπαφών (Interface Definition Language IDL) και η διεπαφή προγραµµατισµού εφαρµογής (Applicaton Programming Interface API). Με τα παραπάνω έγινε εφικτή η επικοινωνία, µε τη χρήση συγκεκριµένων υλοποιήσεων ORB, αντικειµένων τα οποία βασίζονταν σε διαφορετικές αρχιτεκτονικές και έτρεχαν σε διαφορετικά µηχανήµατα. Η CORBA 2.0 [OMG 95] έγινε δεκτή ως πρότυπο τον εκέµβριο του Με την έκδοση αυτή έγινε εφικτή η επικοινωνία µεταξύ ORB διαφορετικής 2

16 Κεφάλαιο 1 : Εισαγωγή προελεύσεως, δηλαδή µεταξύ ORB διαφορετικών κατασκευαστών. Αυτό έγινε εφικτό µε την παρουσίαση του πρωτοκόλλου IIOP (Internet Inter-ORB Protocol). Κάθε κατασκευαστής ο οποίος θα ήθελε να δηµιουργήσει έναν ORB συµβατό µε το πρότυπο της CORBA 2.0 θα έπρεπε να υποστηρίζει το πρωτόκολλο αυτό. Θα πρέπει να τονίσουµε ότι το πρωτόκολλο IIOP ορίζεται για δίκτυα που στηρίζονται στο πρωτόκολλο TCP/IP. Κατά καιρούς ακολούθησαν και άλλες εκδόσεις του προτύπου της CORBA, οι οποίες αποτελούσαν ενηµερώσεις των προηγουµένων και υπήρχαν και επιµέρους προσθήκες. Η τελευταία έκδοση της CORBA είναι η 3.0 ενισχύει τις προηγούµενες εκδόσεις µε τρία νέα χαρακτηριστικά: την ολοκλήρωση της CORBA µε την Java και το διαδίκτυο (Internet), την ποιότητα του ελέγχου των υπηρεσιών και την αρχιτεκτονική για εξαρτήµατα βασιζόµενα στην CORBA [Siegel99]. Υπάρχουν αρκετές υλοποιήσεις του προτύπου της CORBA, ορισµένες εµπορικές και άλλες ελεύθερες. Οι διαφορές που υπάρχουν µεταξύ των υλοποιήσεων αυτών αφορούν την συµµόρφωσή τους σε διαφορετικές εκδόσεις και υποστήριξη των υπηρεσιών του προτύπου της CORBA Microsoft COM/DCOM Η COM (Component Object Model) [Microsoft 95] ορίζει ένα πρότυπο βάσει του οποίου αντικείµενα παρέχουν διάφορες υπηρεσίες το ένα στο άλλο. Το πρότυπο αυτό σχεδιάστηκε από την Microsoft µε σκοπό να εφοδιάσει τους προγραµµατιστές µε προδιαγραφές για αντικείµενα σε παραθυρικό περιβάλλον, τα γνωστά µας Windows. Όταν η Microsoft ανέπτυξε το λειτουργικό σύστηµα Windows 3.0 µε γραφικό περιβάλλον, αντελήφθησαν ότι θα πρέπει να βρουν νέες µεθόδους παρουσίασης του λογισµικού της. Επίσης αντελήφθησαν ότι οι χρήστες ήθελαν να έχουν την δυνατότητα να ανταλλάζουν δεδοµένα µεταξύ διαφόρων εφαρµογών και το clipboard µε τις λειτουργίες της αποκοπής, της αντιγραφής και της επικόλλησης αποτελούσε ένα βήµα προς αυτήν την κατεύθυνση. Όταν συνενώθηκαν κάποιες εφαρµογές υπό την σκέπη του Microsoft Office, τότε έγινε αντιληπτό ότι θα ήταν ιδιαίτερα χρήσιµο για τους χρήστες να έχουν την δυνατότητα να περιλαµβάνουν γραφήµατα, που δηµιούργησαν σε κάποιο φύλλο εργασίας, σε ένα έγγραφο του κειµενογράφου Word. Με την προοπτική αυτή δηµιουργήθηκε το 1992 το πρότυπο OLE (Object Linking and Embedding) έτσι ώστε να είναι δυνατή η υποστήριξη, από εφαρµογές, αντικειµένων που έχουν δηµιουργηθεί από άλλες εφαρµογές [Geraghty et al 99]. Το πρότυπο αυτό εφαρµόστηκε στην έκδοση 3.1 του λειτουργικού Windows. Όµως µε το OLE δηµιουργήθηκε η ανάγκη για ένα πρότυπο το οποίο θα προσδιόριζε το πώς θα µπορούσαν οι υπηρεσίες µίας εφαρµογής να αξιοποιούνται από κάποια άλλη εφαρµογή. Εάν δηλαδή χρειαζόµαστε κάποια λειτουργικά στοιχεία από µία µεγάλη εφαρµογή και όχι ολόκληρη τότε οι σχεδιαστές της εφαρµογής αυτής θα πρέπει να το γνωρίζουν έτσι ώστε να την σχεδιάσουν ανάλογα. Το µοντέλο COM γεννήθηκε για να λύσει ακριβώς αυτό το πρόβληµα. Οι προγραµµατιστές χρησιµοποιώντας το µοντέλο αυτό έχουν την δυνατότητα να αναπτύσσουν εφαρµογές οι οποίες να αποτελούνται από COM-αντικείµενα. Όταν µία εφαρµογή αποτελείται από διάφορα αντικείµενα λογισµικού τότε κάποιος τρίτος θα µπορούσε να 3

17 Κεφάλαιο 1 : Εισαγωγή χρησιµοποιήσει µόνο αυτά που επιθυµεί. Μία άλλη δυνατότητα είναι η επαναχρησιµοποίηση των αντικειµένων για το χτίσιµο µίας νέας εφαρµογής. Το πρόβληµα µε τα COM-αντικείµενα είναι ότι αυτά πρέπει να βρίσκονται στο ίδιο µηχάνηµα. Για την επίλυση του προβλήµατος η Microsoft επέκτεινε το COM µοντέλο σε µορφή κατανεµηµένου µοντέλου (Distributed COM DCOM) [Microsoft 98] βάσει του οποίου επιτρέπεται σε αντικείµενα να βρίσκονται σε διαφορετικά µηχανήµατα και να µπορούν να επικοινωνούν µεταξύ τους Sun Java RMI Η Java RMI (Remote Method Invocation) [Sun 98] αποτελεί άλλο ένα µοντέλο αντικειµενοστρεφούς σχεδιασµού µε σκοπό να προάγει την διαλειτουργικότητα µεταξύ Java αντικειµένων σε ένα κατανεµηµένο και ετερογενές περιβάλλον. Αναπτύχθηκε από την Sun και συµπεριλήφθηκε στην έκδοση 1.1 του εργαλείου ανάπτυξης της Java (Java Development Kit). Η RMI αποτελεί ένα µηχανισµό που επιτρέπει τις κλήσεις µεταξύ αντικειµένων σε διαφορετικά εικονικά µηχανήµατα Java. Από τη στιγµή που αποκτηθεί µία αναφορά σε ένα αποµακρυσµένο αντικείµενο τότε αυτό µπορεί να χρησιµοποιηθεί σαν να ήταν τοπικό. Η RMI εκτελεί όλες τις απαραίτητες διαδικασίες, που αφορούν το αποµακρυσµένο αντικείµενο, χωρίς αυτές να γίνονται αντιληπτές από τον προγραµµατιστή. Με τον τρόπο αυτό η ανάπτυξη κατανεµηµένων εφαρµογών Java αποτελεί ιδιαίτερα εύκολη υπόθεση. 1.3 Ασυµβατότητα Αντικειµένων Λογισµικού Όπως έχουµε αναφέρει, η ραγδαία ανάπτυξη των εξαρτηµάτων λογισµικού και τα πλεονεκτήµατα των εφαρµογών που βασίζονται σε εξαρτήµατα, έναντι των µονολιθικών εφαρµογών, οδήγησαν πολλές επιχειρήσεις να αναπτύξουν τις εφαρµογές των δικτύων τους βασιζόµενες στα εξαρτήµατα. Η χρήση τους όµως, παρόλο που ανοίγει νέες κατευθύνσεις, δηµιουργεί αναπόφευκτα και νέα προβλήµατα. Όπως είδαµε, τα εξαρτήµατα θα πρέπει να συµµορφώνονται µε συγκεκριµένες τεχνολογίες και αρχιτεκτονικές ενδιάµεσων (middleware architectures). Η εξάρτηση αυτή, όπως είναι φυσικό, δηµιουργεί προβλήµατα συµβατότητας µεταξύ εξαρτηµάτων τα οποία στηρίζονται πάνω σε διαφορετικές αρχιτεκτονικές ενδιαµέσων. Αυτά τα προβλήµατα γίνονται ιδιαίτερα κρίσιµα σε ευµετάβλητα πληροφοριακά συστήµατα εταιριών λόγω εξαγορών ή συγχωνεύσεων µε άλλες εταιρίες ή ακόµα και λόγω αναβάθµισης της υπάρχουσας υποδοµής των [Charles99]. Σε αυτό το σηµείο θα πρέπει να τονίσουµε ότι καθώς τα εξαρτήµατα λογισµικού αποτελούν παραδείγµατα των αντικειµένων λογισµικού, κάθε τι που εφαρµόζεται στα αντικείµενα έχει και άµεση επίπτωση στα εξαρτήµατα. Για το λόγο αυτό κάθε αναφορά σε αντικείµενα λογισµικού έχει κατά συνέπεια ανάλογη εφαρµογή και στα εξαρτήµατα. Για να είναι δυνατή η επικοινωνία των αντικειµένων θα πρέπει να συµµορφώνονται µε ένα µοντέλο ενδιαµέσου. Όµως είναι δύσκολο, εάν όχι ακατόρθωτο, για δύο αντικείµενα τα οποία στηρίζονται σε διαφορετικές υποκείµενες τεχνολογίες, να καταφέρουν να επικοινωνήσουν. Τα αίτια της 4

18 Κεφάλαιο 1 : Εισαγωγή ασυµβατότητας πηγάζουν από τις διαφορές των αρχιτεκτονικών ενδιαµέσων, στις οποία στηρίζονται, καθώς επίσης και στους διαφορετικούς τρόπους που αυτές παρουσιάζουν τα αντικείµενα αυτά ιαφορετικές προσεγγίσεις και υλοποιήσεις των διεπαφών Ένα από τα βασικά στοιχεία ενός αντικειµένου είναι οι διεπαφές του. Μέσω των διεπαφών τα αντικείµενα εκθέτουν την λειτουργικότητά τους. Μία διεπαφή αποτελείται από την περιγραφή µίας οµάδας λειτουργιών τις οποίες ένας πελάτης µπορεί να ζητήσει από ένα αντικείµενο. Ένας πελάτης επικοινωνεί µε την διεπαφή ενός αντικειµένου και ποτέ µε το ίδιο το αντικείµενο. Οι διεπαφές επιτρέπουν στα αντικείµενα να εµφανίζονται ως µαύρα κουτιά. ιαφορετικές προσεγγίσεις και υλοποιήσεις των διεπαφών κάνει τα αντικείµενα αόρατα από πελάτες διαφορετικής τεχνολογίας ιαφορετικές µέθοδοι αναφοράς σε αντικείµενα και φύλαξης αυτών Όταν ένας πελάτης επιθυµεί να επικοινωνήσει µε ένα αντικείµενο θα πρέπει πρώτα να αποκτήσει τις απαιτούµενες πληροφορίες για την διεπαφή του αντικειµένου. Ο πελάτης, µέσω της υποκείµενης τεχνολογίας του, θα πρέπει να είναι ικανός να αναγνωρίσει το όνοµα του αντικειµένου, να ξέρει που να ψάξει και πώς να ανακτήσει τις απαιτούµενες πληροφορίες αυτού. Θα πρέπει δηλαδή να ξέρει πως η υποκείµενη τεχνολογία του επιθυµητού αντικειµένου αποθηκεύει και διαδίδει τις πληροφορίες αυτές. Εάν η υποκείµενη τεχνολογία ενός πελάτη δεν έχει την δυνατότητα αυτή τότε είναι αδύνατο να βρεθούν οι απαραίτητες πληροφορίες του επιθυµητού αντικειµένου Χρήση διαφορετικών πρωτοκόλλων Ένα άλλο βασικό στοιχείο στην επικοινωνία µεταξύ κατανεµηµένων αντικείµενων είναι το πρωτόκολλο που χρησιµοποιείται για την µετάδοση των δεδοµένων. Στην περίπτωσή µας, το πρωτόκολλο µεταφοράς δεν αφορά µόνο στο κατώτερο πρωτόκολλο που χρησιµοποιείται στο επίπεδο µεταφοράς ενός δικτύου (Transport Layer) αλλά περιλαµβάνει και τα πρωτόκολλα που χρησιµοποιούνται και στα ανώτερα επίπεδα του δικτύου και συγκεκριµένα στα επίπεδα Presentation και Session, τα οποία υποστηρίζονται από τους εκάστοτε Request Brokers (RBs). 1.4 Γεφυρώνοντας το Χάσµα Από την πλευρά του κατασκευαστή λογισµικού, κάθε αντικείµενο λογισµικού κατασκευάζεται ακολουθώντας τους κανόνες της υποκείµενης γλώσσας προγραµµατισµού και της υποκείµενης τεχνολογίας στην οποία συµµορφώνονται. Τα βασικά στοιχεία τα οποία κάνουν τα αντικείµενα να υπόκεινται σε µία τεχνολογία είναι οι διεπαφές τους, η ονοµασία τους, ο τρόπος που αποθηκεύονται και ο τρόπος που αναφερόµαστε σε αυτά. Όταν απαιτείται αλληλεπίδραση µεταξύ δύο ή περισσοτέρων αντικειµένων, τα οποία βασίζονται σε διαφορετικές τεχνολογίες, ο βασικός στόχος είναι να µην γίνεται αντιληπτό από τα αντικείµενα το γεγονός ότι τα άλλα αντικείµενα 5

19 Κεφάλαιο 1 : Εισαγωγή λειτουργούν κάτω από µία διαφορετική τεχνολογία χωρίς βέβαια αυτό να επηρεάζει τα χαρακτηριστικά και την συµπεριφορά τους. Όταν ένα αντικείµενο επιθυµεί να επικοινωνήσει µε ένα άλλο θα πρέπει να είναι ικανό να βλέπει, να καταλαβαίνει και να δουλεύει µε την διεπαφή του άλλου προκειµένου να αιτηθεί τις απαιτούµενες µεθόδους. Κάθε τεχνολογία έχει τον δικό της τρόπο να δηµιουργεί τις διεπαφές των αντικειµένων χρησιµοποιώντας την δικιά της IDL. Για το λόγο αυτό, δύο τεχνολογίες για να επικοινωνήσουν θα πρέπει η µία να κατανοεί την IDL της άλλης. Προκειµένου να επιτευχθεί ο παραπάνω στόχος, θα πρέπει µεταξύ των διαφορετικών RBs να µεσολαβεί, κατά κάποιον τρόπο, ένας µηχανισµός ο οποίος θα είναι υπεύθυνος για την µετάφραση των αιτήσεων και των αποκρίσεων των διαφορετικών αντικειµένων έτσι ώστε να είναι κατανοητές από τα διαφορετικά άκρα χωρίς όµως να µεταβάλλει τα χαρακτηριστικά και την συµπεριφορά των επιµέρους αντικειµένων. Επίσης ο διαµεσολαβητής πρέπει να εφοδιάζεται µε τα χαρακτηριστικά εκείνα που θα του επιτρέπουν να εµφανίζεται στις επιµέρους τεχνολογίες ως ένα συµβατό αντικείµενο ώστε να είναι δυνατή η επικοινωνία µαζί του. Ουσιαστικά, ο διαµεσολαβητής θα πρέπει να υποστηρίζει έναν διπλό ρόλο, ως εξυπηρετητής ίδιας τεχνολογίας µε αυτήν του πραγµατικού πελάτη και οµοίως ως πελάτης της αυτής υποκείµενης τεχνολογίας του πραγµατικού εξυπηρετητή. Για να επιτευχθεί αυτός ο στόχος ο διαµεσολαβητής θα πρέπει να περιλαµβάνει στη δοµή του τα απαραίτητα χαρακτηριστικά των υπό γεφύρωση τεχνολογιών. 1.5 Οργάνωση της διατριβής Η παρούσα εργασία είναι ανεπτυγµένη σε οκτώ, συνολικά, κεφάλαια: Το παρόν πρώτο κεφάλαιο αποτελεί την εισαγωγή της παρούσας διατριβής. Στο δεύτερο κεφάλαιο, µε τίτλο Αντικείµενα και τεχνολογίες ενδιαµέσων, παραθέτουµε τις τρεις βασικές τεχνολογίες ενδιαµέσων στις οποίες επικεντρώνεται η έρευνά µας. Επίσης, συζητάµε για την διαλειτουργικότητα των αντικειµένων λογισµικού και αναφερόµαστε στις προσπάθειες που έχουν γίνει για την γεφύρωση των διαφορετικών τεχνολογιών. Στο τρίτο κεφάλαιο, Εφαρµογές CORBA, Java RMI & COM/DCOM, µελετάµε και παρουσιάζουµε την µεθοδολογία και αρχιτεκτονική ανάπτυξης εφαρµογών πελάτη-εξυπηρετητή σύµφωνα µε την κάθε τεχνολογία. Η παρουσίαση αυτή είναι απαραίτητη δεδοµένου ότι η συνέχεια της εργασίας µας θα βασιστεί στον τρόπο ανάπτυξης των επιµέρους εφαρµογών. Στην ενότητα 3.2 του κεφαλαίου, παραθέτουµε την γενίκευση του στόχου που έχουµε θέσει και παρουσιάζουµε τη γενική µορφή της αρχιτεκτονικής για την υλοποίηση του στόχου και καθορίζουµε το πλαίσιο των απαιτήσεων που θα πρέπει να ικανοποιούµε. 6

20 Κεφάλαιο 1 : Εισαγωγή Στο τέταρτο κεφάλαιο, Σχεδίαση υλοποίησης, παραθέτουµε την µεθοδολογία που θα ακολουθήσουµε για την διασύνδεση αντικειµένων διαφορετικών τεχνολογιών. Αναφερόµαστε στον µετασχηµατισµό των εφαρµογών που βασίζονται σε διαφορετικές τεχνολογίες και καθορίζουµε τα βήµατα ανάπτυξης της νέας µετασχηµατισµένης εφαρµογής που προκύπτει. Το πέµπτο κεφάλαιο, όπως υποδηλώνει και ο τίτλος του Υλοποίηση, αποτελεί την υλοποίηση των όσων καθορίσαµε στην πορεία των κεφαλαίων τρία και τέσσερα. Στο έκτο κεφάλαιο, Αξιολόγηση, παραθέτουµε την συνεισφορά των υλοποιήσεών µας στην διαλειτουργικότητα των αντικειµένων λογισµικού και δηλώνουµε τις παραδοχές µας κατά την πορεία της εργασίας. Επίσης, προχωρούµε στην αξιολόγηση των αποτελεσµάτων βάσει των απαιτήσεων που είχαµε θέσει στο τρίτο κεφάλαιο και βάσει των προδιαγραφών απαιτήσεων από το λογισµικό. Το έβδοµο κεφάλαιο, µε τίτλο Μελλοντική εργασία, καθορίζει τα πλαίσια µέσα στα οποία θα προχωρήσει η παρούσα έρευνα. Τέλος, το όγδοο κεφάλαιο αποτελεί την σύνοψη της παρούσας διατριβής. 7

21 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων 2 Αντικείµενα και τεχνολογίες ενδιαµέσων Στο κεφάλαιο αυτό παραθέτουµε τις τρεις βασικότερες τεχνολογίες ενδιαµέσων που χρησιµοποιούνται για την επικοινωνία αποµακρυσµένων αντικειµένων λογισµικού σε ένα ετερογενές υπολογιστικό περιβάλλον. Προτού προχωρήσουµε στην αναλυτική παρουσίαση των τεχνολογιών αυτών, ορίζουµε συνοπτικά, στην εισαγωγή του παρόντος κεφαλαίου, τις έννοιες αρχιτεκτονική εφαρµογών πελάτη-εξυπηρετητή, αντικείµενα λογισµικού και αντικειµενοστρεφής προγραµµατισµός και την έννοια των εξαρτηµάτων λογισµικού. Στην συνέχεια του κεφαλαίου αναφερόµαστε στην διαλειτουργικότητα των αντικειµένων, τα οποία βασίζονται σε διαφορετικές τεχνολογίες ενδιαµέσων, παραθέτοντας τα κύρια σηµεία ασυµβατότητας και τις βασικότερες προσπάθειες που έχουν πραγµατοποιηθεί για την γεφύρωση των διαφορετικών µοντέλων ενδιαµέσων. 2.1 Εισαγωγή Η σύγχρονη ανάπτυξη του λογισµικού στηρίζεται, ουσιαστικά, σε δύο πολύ βασικές τεχνολογίες, σ αυτήν του πελάτη-εξυπηρετητή (client-server) και στην τεχνολογία του αντικειµενοστρεφούς προγραµµατισµού (object-oriented programming). Η αρχιτεκτονική πελάτη-εξυπηρετητή προτάσσει την ιδέα ενός πελάτη, ο οποίος είναι το calling module ενός µεγάλου τµήµατος λογισµικού και του εξυπηρετητή ο οποίος αποτελεί το called module και ο οποίος εκθέτει κάποιες υπηρεσίες, οι οποίες µπορεί να ζητηθούν από κάποιον πελάτη [Sinha 92]. Ορισµένα από τα οφέλη που πηγάζουν από την χρήση της αρχιτεκτονικής πελάτη-εξυπηρετητή σχετίζονται µε: την δυνατότητα του εξυπηρετητή να προσφέρει τις υπηρεσίες του σε πολλούς πελάτες ταυτόχρονα, ο εξυπηρετητής µπορεί να βρίσκεται στην ίδια τοποθεσία µε τον πελάτη ή κάπου αποµακρυσµένα στο δίκτυο, οι πελάτες και οι εξυπηρετητές αποτελούν ζεύγη τα οποία αλληλεπιδρούν µε ανταλλαγές µηνυµάτων ενώ, το ιδανικό λογισµικό που βασίζεται στην αρχιτεκτονική πελάτη-εξυπηρετητή είναι ανεξάρτητο από το υλικό ή το λειτουργικό σύστηµα [Karimi 99]. Η δεύτερη βασική τεχνολογία είναι αυτή του αντικειµενοστρεφούς προγραµµατισµού η οποία είναι οργανωµένη γύρω από τα αντικείµενα (objects) παρά γύρω από δράσεις (actions). Σύµφωνα µε τον Budd [Budd 91], όλα τα αντικείµενα είναι στιγµιότυπα κάποιας κλάσης η οποία και προσδιορίζει τις µεθόδους οι οποίες µπορεί να ζητηθούν προς υλοποίηση. Σε περίπτωση που έχουµε περισσότερα από ένα στιγµιότυπα µίας κλάσης τότε τα αντικείµενα αυτά κάνουν χρήση της ίδιας µεθόδου ως απόκριση σε παρόµοια µηνύµατα. Η τεχνική του αντικειµενοστρεφούς προγραµµατισµού προώθησε µία νέα προσέγγιση στην τεχνολογία του λογισµικού κατά την οποία αξιόπιστες εφαρµογές µπορούν να κατασκευαστούν, παρά να προγραµµατιστούν [Nierstrasz et al 92]. Η ανάγκη να κατασκευάζεται λογισµικό από υπάρχοντα κώδικα και όχι από την αρχή, οδήγησε στην ανάπτυξη λογισµικού βασιζόµενου στα εξαρτήµατα 8

22 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων (component-based software) [Sametinger 97, Brown et al 98, Brown 99]. Με τη χρήση λογισµικού, το οποίο βασίζεται σε εξαρτήµατα, δίνεται η δυνατότητα στην σχεδίαση και ανάπτυξη συστηµάτων από στοιχεία εφαρµογών τα οποία προέρχονται από ανεξάρτητες πηγές, διαφορετικές γλώσσες προγραµµατισµού, εργαλεία και υπολογιστικές πλατφόρµες [Adler 95a]. Παρ όλου που το όνειρο για λογισµικό βασισµένο σε εξαρτήµατα ήταν αρκετά παλιό, µόνο στις αρχές της προηγούµενης δεκαετίας κάτι τέτοιο έδειχνε να είναι εφικτό [McIlroy 69]. Τα εξαρτήµατα είναι αντικειµενοστρεφή ή τουλάχιστον χρησιµοποιούνται όπως τα αντικείµενα λογισµικού. Ο Szyperski [Szyperski 98] ορίζει ένα εξάρτηµα λογισµικού ως µία µονάδα σύνθεσης µε ρητά καθορισµένες διεπαφές και σαφές πλαίσιο εξαρτήσεων. Είναι µία µονάδα λογισµικού η οποία µπορεί να αναπτυχθεί ανεξάρτητα και να αποτελέσει κοµµάτι σύνθεσης µίας εφαρµογής από τρίτους. Παρ όλου που τα εξαρτήµατα λογισµικού άνοιξαν νέους ορίζοντες στην ανάπτυξη των εφαρµογών, η χρήση τους αναπόφευκτα δηµιούργησε και νέα προβλήµατα. Τα εξαρτήµατα θα πρέπει συµµορφώνονται προς µία υποκείµενη τεχνολογία ενδιαµέσου έτσι ώστε να µπορούν να δουλεύουν µαζί. Αυτή η εξάρτηση δηµιουργεί προβλήµατα συµβατότητας µεταξύ εξαρτηµάτων που βασίζονται σε διαφορετικές τεχνολογίες. 2.2 Μοντέλα ενδιαµέσων Η ικανότητα να κατασκευάζονται εφαρµογές χρησιµοποιώντας αντικείµενα λογισµικού από διαφορετικές µεθοδολογίες, τα οποία τρέχουν σε διαφορετικά µηχανήµατα και βασίζονται σε διαφορετικά λειτουργικά συστήµατα, δεν είναι κάτι το εύκολο. Η ανάγκη για αλληλεπίδραση (interaction) µεταξύ των αντικειµένων αυτών οδήγησε στον προσδιορισµό των µοντέλων ενδιαµέσων (middleware models) [Martin 93, Plasil et al 98]. Τα µοντέλα των Object Management Group Common Object Request Broker Architecture (OMG CORBA) [OMG 95, OMG 98, OMG 99, Vinosky 93, Vinosky 97], Microsoft Component Object Model - Distributed Component Object Model (COM/DCOM) [Microsoft 95, Microsoft 96, Microsoft 98, Wallace 99] και Sun Java Remote Method Invocation (RMI) [Sun 96a, Sun 96b, Sun 96c, Sun 98, Sutherland 98], είναι τα τρία βασικότερα για την διεκπεραίωση µιας τέτοιας επικοινωνίας. Τι είναι όµως ένας ενδιάµεσος; Γενικά µιλώντας, ένας ενδιάµεσος εξυπηρετεί την επικοινωνία µεταξύ πελάτη και εξυπηρετητή ενός συστήµατος [Lewandowski 98]. Ουσιαστικά, ένας ενδιάµεσος περιγράφει ένα σύνολο από υπηρεσίες και πρωτόκολλα τα οποία υπάρχουν κάτω από τις εφαρµογές και παρέχουν υποστήριξη προς τις εφαρµογές αυτές [Clark et al 96]. Μεταφέροντας την γενική αυτή ερµηνεία στην περίπτωση της επικοινωνίας των αντικειµένων λογισµικού, ένα µοντέλο ενδιάµεσου προσφέρει τις κατάλληλες εκείνες διεπαφές, υπηρεσίες και πρωτόκολλα έτσι ώστε να είναι δυνατή η επικοινωνία µεταξύ αυτών των αντικειµένων. Τα τρία µοντέλα, τεχνολογίες, που προαναφέραµε και µε τα οποία ασχολούµαστε στην παρούσα διατριβή, εφαρµόζονται και στις περιπτώσεις κατανεµηµένων αντικειµένων (distributed objects). Αντικειµένων, δηλαδή, τα 9

23 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων οποία βρίσκονται σε περισσότερους από έναν υπολογιστές και πιθανώς διασκορπισµένα σ ένα δίκτυο. Τι απαιτείται όµως, έτσι ώστε ένα αντικείµενο λογισµικού να καταστεί κατανεµηµένο; Θεωρείστε ότι έχουµε ένα αντικείµενο σε έναν εξυπηρετητή και το οποίο κατέχει κάποιες χρήσιµες λειτουργίες τις οποίες κάποιοι πελάτες µπορεί να ζητήσουν. Το αντικείµενο εξυπηρετητής θα πρέπει να είναι διαθέσιµο δηµόσια ώστε ένας αποµακρυσµένος πελάτης να µπορεί να το προσπελάσει. Επίσης, θα πρέπει να αναµένει πιθανές κλήσεις και όταν κάποιος πελάτης θελήσει να τον προσπελάσει τότε θα πρέπει να κάνει δικτυακές κλήσεις για να συνδεθεί µε τον εξυπηρετητή και να του περάσει τις αιτήσεις για τις ζητούµενες µεθόδους µε τέτοιο τρόπο ώστε να είναι κατανοητές από τον εξυπηρετητή. Παρατηρώντας από την πλευρά του πελάτη, αυτός θα πρέπει να γνωρίζει τον τρόπο µε τον οποίο πρέπει να απευθυνθεί στο αποµακρυσµένο αντικείµενο, να του αιτηθεί τις µεθόδους και να εξάγει τα αποτελέσµατα από την απάντηση που θα λάβει. Όµως η παραπάνω διαδικασία απαιτεί αρκετό προγραµµατισµό, σε δικτυακό επίπεδο, κάτι το οποίο δεν είναι επιθυµητό από τους προγραµµατιστές. Προκειµένου να απλοποιηθεί το πρόβληµα, ο προγραµµατιστής του αντικειµένου θα µπορούσε να περικλύσει όλες τις απαιτούµενες δικτυακές κλήσεις σε ένα αντικείµενο proxy το οποίο θα εµφανίζεται στον πελάτη ως το αντικείµενο εξυπηρετητής και το οποίο θα κάνει όλες τις κλήσεις προς το αποµακρυσµένο αντικείµενο. Με τον τρόπο αυτό ο κατασκευαστής του αντικειµένου πελάτη δεν χρειάζεται να ανησυχεί για θέµατα δικτυακού προγραµµατισµού. Με τον παραπάνω τρόπο έχει ολοκληρωθεί η κατασκευή ενός κατανεµηµένου αντικειµένου το οποίο µπορεί να τοποθετηθεί οπουδήποτε σε ένα δίκτυο και προσφέρει τις υπηρεσίες του σε αποµακρυσµένους πελάτες. Τα µοντέλα µε τα οποία ασχολούµαστε είναι αυτά τα οποία παρέχουν όλους τους απαιτούµενους µηχανισµούς για την ολοκλήρωση της παραπάνω διαδικασίας. Και τα τρία µοντέλα βασίζονται πάνω στην γενική µορφή της τεχνικής Remote Procedure Call (RPC) προκειµένου να επιτευχθεί η υποκείµενη δικτυακή επικοινωνία. Η τεχνική RPC µπορεί να περιγραφεί µε τον παρακάτω απλό τρόπο [Tanenbaum et al 85]. Ένας πελάτης καταθέτει µία κλήση στο µηχάνηµα που βρίσκεται, µε την προοπτική να επικαλεσθεί µία µέθοδο που βρίσκεται σε ένα αποµακρυσµένο µηχάνηµα. Στην συνέχεια, µία διεπαφή, η οποία ονοµάζεται stub, συλλέγει την κλήση του πελάτη και την µορφοποιεί σε ένα µήνυµα που θα µεταφερθεί στο δίκτυο και το οποίο έχει µία δεδοµένη µορφή. Τώρα, στην πλευρά του εξυπηρετητή υπάρχει µία ανάλογη διεπαφή skeleton η οποία συλλέγει το µορφοποιηµένο µήνυµα, το µεταφράζει και το προωθεί στο αντικείµενο εξυπηρετητής. Εν συνεχεία και µε αντίστροφο τρόπο η απάντηση του εξυπηρετητή επιστρέφει στο αντικείµενο πελάτης. Ουσιαστικά µε την τεχνική RPC ένα πρόγραµµα µπορεί να αιτηθεί µία υπηρεσία από ένα άλλο πρόγραµµα, το οποίο βρίσκεται σε έναν αποµακρυσµένο υπολογιστή, χωρίς να χρειάζεται να εµπλέκεται µε τις δικτυακές λεπτοµέρειες. 10

24 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων OMG CORBA Η OMG ιδρύθηκε τον Απρίλιο του 1989 από έντεκα εταιρίες, µεταξύ των οποίων οι 3Com Corporation, American Airlines, Canon Inc., Data General, Hewlett-Packard, Philips Telecommunications N.V., Sun Microsystems και Unisys Corporation. Σκοπός τους ήταν να συζητάνε τις σκέψεις τους για το µέλλον της τεχνολογίας των αντικειµένων. Σήµερα, η οµάδα αυτή αποτελείται από περισσότερες από 800 εταιρίες και οι δραστηριότητές της έχουν επικεντρωθεί στην τεχνολογία των κατανεµηµένων αντικειµένων και στην CORBA. Η CORBA δεν αποτελεί ένα εκτελέσιµο προϊόν αλλά ένας γνώµονας που πρέπει να ακολουθείται από κάποιον ο οποίος θέλει να κατασκευάσει έναν Object Request Broker (ORB). Ο στόχος που προσπαθεί να επιτευχθεί είναι, οι εφαρµογές να µπορούν να επικοινωνούν µεταξύ τους ανεξάρτητα µε το που βρίσκονται και από ποιον έχουν κατασκευαστεί. Η OMG δηµιούργησε µία ευρύτερη αρχιτεκτονική, την Object Management Architecture (OMA) [OMG 96, Martin 93], της οποίας η CORBA αποτελεί το κοµµάτι εκείνο που είναι υπεύθυνο για την λειτουργικότητα του ORB και περιλαµβάνει διάφορες υπηρεσίες, διεπαφές και αντικείµενα εφαρµογών. Σύµφωνα µε την OMA, κάθε εξάρτηµα λογισµικού αναπαρίσταται ως αντικείµενο. Ένα αντικείµενο είναι µία αναγνωρίσιµη οντότητα που δύναται να παρέχει µία ή περισσότερες υπηρεσίες και που µπορεί, επίσης, να αιτηθεί υπηρεσίες από ένα άλλο αντικείµενο. Στο σχήµα 2.1 απεικονίζεται η αρχιτεκτονική της OMA µε τα βασικά της µέρη [Vinoski 97]. Ο ρόλος της CORBA στην OMA είναι να προσδιορίζει το πώς θα πρέπει να υλοποιείται ένας ORB. ιεπαφή Εφαρµ ογής (Application Interface) ιεπαφή Πεδίου (Domain Interface) Κοινές Υπηρεσίες (Common Facilities) Object Request Broker Υπηρεσίες Αντικειµ ένου (Object Services) Σχήµα 2.1: Η αρχιτεκτονική της OMA Τι είναι όµως ένας Request Broker (RB); Γενικά µιλώντας, ένας RB είναι ένας µηχανισµός ελέγχου ο οποίος διαµεσολαβεί στην επικοινωνία µίας εφαρµογής 11

25 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων πελάτη, η οποία επιθυµεί κάποιες υπηρεσίες και µίας εφαρµογής εξυπηρετητή, η οποία είναι ικανή να παράσχει τις υπηρεσίες αυτές. Ουσιαστικά οι RBs απαλλάσσουν τον πελάτη από το βάρος να διατηρούν πληροφορίες για το που και πώς να αποκτήσουν κάποιες επιθυµητές υπηρεσίες. Μπορούµε να διακρίνουµε τρία είδη RBs [Adler 95b]: Τον forwarding broker, ο οποίος µεταβιβάζει την αίτηση του πελάτη στην σχετική εφαρµογή εξυπηρέτησης, παραλαµβάνει την απάντηση και την µεταβιβάζει πίσω στον πελάτη. Η αρχιτεκτονική των CORBA και Java RMI βασίζεται σε αυτό το µοντέλο. Τον handle-driven broker, ο οποίος στην αίτηση που καταθέτει ένας πελάτης επιστρέφει ένα πακέτο πληροφοριών µε την βοήθεια τον οποίων ο πελάτης µπορεί να δράσει µε τον εξυπηρετητή της επιθυµητής υπηρεσίας. Η αρχιτεκτονική της DCOM βασίζεται σε αυτό το µοντέλο. Τον hybrid broker, ο οποίος υποστηρίζει δυναµικά και τα δύο παραπάνω µοντέλα δίνοντας την δυνατότητα στον πελάτη να προσδιορίσει, µε την αρχική κατάθεση της αίτησής του, ποιο µοντέλο θα χρησιµοποιηθεί. Η πρώτη έκδοση της CORBA (CORBA 1.0) έγινε δεκτή τον εκέµβριο του 1990 και στις αρχές του 1991 παρουσιάστηκε η CORBA 1.1. Με την έκδοση αυτή προσδιορίστηκαν: η γλώσσα ορισµού των διεπαφών (Interface Definition Language IDL) και η διεπαφή προγραµµατισµού εφαρµογής (Applicaton Programming Interface API). Με τα παραπάνω έγινε εφικτή η επικοινωνία, µε τη χρήση συγκεκριµένων υλοποιήσεων ORB, αντικειµένων τα οποία βασίζονταν σε διαφορετικές αρχιτεκτονικές και έτρεχαν σε διαφορετικά µηχανήµατα. Η CORBA 2.0 [OMG 95] έγινε δεκτή ως πρότυπο τον εκέµβριο του Με την έκδοση αυτή έγινε εφικτή η επικοινωνία µεταξύ ORB διαφορετικής προελεύσεως, δηλαδή µεταξύ ORB διαφορετικών κατασκευαστών. Αυτό έγινε εφικτό µε την παρουσίαση του πρωτοκόλλου Internet Inter-ORB Protocol (IIOP). Κάθε κατασκευαστής ο οποίος θα ήθελε να δηµιουργήσει έναν ORB συµβατό µε το πρότυπο της CORBA 2.0 θα έπρεπε να υποστηρίζει το πρωτόκολλο αυτό. Θα πρέπει να τονίσουµε ότι το πρωτόκολλο IIOP ορίζεται για δίκτυα που στηρίζονται στο πρωτόκολλο µεταφοράς TCP/IP. Κατά καιρούς ακολούθησαν και άλλες εκδόσεις του προτύπου της CORBA, οι οποίες αποτελούσαν ενηµερώσεις των προηγουµένων και υπήρχαν και επιµέρους προσθήκες. Η τελευταία έκδοση της CORBA, η 3.0, ενισχύει τις προηγούµενες εκδόσεις µε τρία νέα χαρακτηριστικά: την ολοκλήρωση της CORBA µε την Java και το διαδίκτυο (Internet), την ποιότητα του ελέγχου των υπηρεσιών και την αρχιτεκτονική για εξαρτήµατα βασιζόµενα στην CORBA [Siegel 99]. Υπάρχουν αρκετές υλοποιήσεις των προδιαγραφών της CORBA, ορισµένες εµπορικές και άλλες ελεύθερες. Οι διαφορές που υπάρχουν µεταξύ των υλοποιήσεων αυτών αφορούν την συµµόρφωσή τους σε διαφορετικές εκδόσεις και την υποστήριξή τους στις υπηρεσίες της CORBA. 12

26 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων ORB Χρησιµοποιώντας έναν ORB, ένα αντικείµενο πελάτης µπορεί να επικαλεσθεί µία µέθοδο σ ένα αντικείµενο εξυπηρετητή το οποίο µπορεί να βρίσκεται στο ίδιο µηχάνηµα ή ακόµα και σε κάποιο άλλο µηχάνηµα στο δίκτυο (σχήµα 2.2). Ο ORB λαµβάνει την κλήση αυτή και είναι υπεύθυνος να βρει το αντικείµενο εξυπηρετητής, το οποίο µπορεί να απαντήσει στην αίτηση του πελάτη, να του περάσει τις απαιτούµενες παραµέτρους, να επικαλεσθεί την αιτούµενη µέθοδο και τέλος να επιστρέψει στον πελάτη τα αποτελέσµατα. Σε όλη αυτή την διαδικασία, ο πελάτης δεν απασχολείται µε το που βρίσκεται το αποµακρυσµένο αντικείµενο, την γλώσσα προγραµµατισµού του, το λειτουργικό του σύστηµα ή οποιαδήποτε άλλα χαρακτηριστικά του συστήµατος [Martin 93]. Πελάτης Client Αντικείµενο Εξυπηρετητής Object Implementation Αποκρίσεις Αιτήσεις ORB Σχήµα 2.2: Η διαµεσολάβηση του ORB µεταξύ πελάτη & εξυπηρετητή Ας δούµε τα κύρια στοιχεία που συνθέτουν την αρχιτεκτονική της CORBA τα οποία µπορούµε να διακρίνουµε στο σχήµα

27 Κεφάλαιο 2 : Αντικείµενα και τεχνολογίες ενδιαµέσων Πελάτης Αναφορά Αντικειµένου Αντικείµενο Εξυπηρετητής Αποθήκη ιεπαφών Αποθήκη Υλοποίησης ιεπαφή δυναµικής επίκλησης Στατική διεπαφή IDL Stubs ιεπαφή του ORB Στατική διεπ IDL Skeleton υναµική διεπαφή Skeleton Object Adapter Πυρήνας του ORB ιεπαφή ανεξάρτητη του ORB Συγκεκριµένες διεπαφές stubs & skeletons Υπάρχει η δυνατότητα πολλαπλών Object Adapters ιεπαφή εξαρτώµενη από τον ORB Σχήµα 2.3: Η αρχιτεκτονική της CORBA Στην πλευρά του πελάτη Η διεπαφή IDL stub παρέχει στον πελάτη, σε στατική µορφή, την διεπαφή του αποµακρυσµένου αντικείµενου εξυπηρετητή. Ουσιαστικά προσδιορίζει το πώς ο πελάτης µπορεί να επικαλεσθεί τις µεθόδους του εξυπηρετητή. Από την πλευρά του πελάτη η διεπαφή stub του δίνει την δυνατότητα να καταθέσει µία τοπική κλήση και λειτουργεί ως µία εικόνα του αποµακρυσµένου αντικειµένου εξυπηρετητή. Τόσο η stub, από την πλευρά του πελάτη, όσο και η διεπαφή skeleton, από την πλευρά του εξυπηρετητή, δηµιουργούνται µέσω της εφαρµογής κατάλληλου µεταφραστή επί µίας διεπαφής που έχει γραφτεί µε την χρήση της IDL, προκειµένου να προσδιοριστούν οι µέθοδοι που είναι διαθέσιµες καθώς και ο τρόπος που θα πρέπει να ζητηθούν. Επιπλέον, η stub εµπεριέχει και τον απαιτούµενο κώδικα για την µορφοποίηση (marshaling) του µηνύµατος του πελάτη. Αυτό σηµαίνει ότι κωδικοποιεί την αίτηση του πελάτη σε µία τέτοια µορφή που αυτή µπορεί να µεταφερθεί µέσα από το δίκτυο στο αποµακρυσµένο αντικείµενο. Αντίστοιχα και µε αντίστροφη ροή, αποκωδικοποιεί την απάντηση του εξυπηρετητή και την προωθεί στον πελάτη. Όλη η παραπάνω διαδικασία πραγµατοποιείται χωρίς να γίνεται αντιληπτή από τον χρήστη. Η διεπαφή δυναµικής επίκλησης (Dynamic Invocation Interface DII) δίνει τη δυνατότητα να ανακαλυφθεί µία µέθοδος που θα επιθυµούσε το αντικείµενο πελάτης όταν αυτό εκτελείται και χωρίς προηγουµένως να υπάρχει κάποια διεπαφή της µορφής IDL stub. 14

Μεθοδολογίες ικτυακής Επικοινωνίας Αρθρωµάτων Λογισµικού

Μεθοδολογίες ικτυακής Επικοινωνίας Αρθρωµάτων Λογισµικού Πανεπιστήµιο Αιγαίου Σχολή Θετικών Επιστηµών Τµήµα Μηχανικών Πληροφορικών και Επικοινωνιακών Συστηµάτων Σηµειώσεις για το µάθηµα Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο Κατανεµηµένος

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

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

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

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

Σχεδίαση Middleware Εγχειρίδιο Μελέτης

Σχεδίαση Middleware Εγχειρίδιο Μελέτης Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο», η οποία έχει ενταχθεί στο Επιχειρησιακό

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

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

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

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

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

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

Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο

Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο Πανεπιστήµιο Αιγαίου Τµήµα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστηµάτων Πρόγραµµα Προπτυχιακών Σπουδών Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο Κατανεµηµένος Προγραµµατισµός

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

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ 1. CORBA (Common Object Request Broker Architecture - Αρχιτεκτονική ιαµεσολάβησης για Αιτήµατα Κοινών Αντικειµένων)

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ 1. CORBA (Common Object Request Broker Architecture - Αρχιτεκτονική ιαµεσολάβησης για Αιτήµατα Κοινών Αντικειµένων) ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ 1. CORBA (Common Object Request Broker Architecture - Αρχιτεκτονική ιαµεσολάβησης για Αιτήµατα Κοινών Αντικειµένων) 1.1. Τι είναι η CORBA 1.2. CORBA αρχιτεκτονική διαχείρισης αντικειµένου

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

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

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

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1 Σύστηµα CORBA οµή συστήµατος Μεταβίβαση παραµέτρων Μοντέλα επικοινωνίας υναµικές κλήσεις Αναφορές αντικειµένων Ονόµατα αντικειµένων ιαχείριση αντικειµένων Υλοποίηση συστηµάτων CORBA Κατανεµηµένα Συστήµατα

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

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

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών CORBA Αρχιτεκτονική και 3-tier 3 εφαρµογές Β. Φλώρος. Μαρτάκος Συνεργάτης ερευνητής Επικ. Καθηγητής Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών Τι Είναι; CORBA =

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

Λογισµικό ΣΓΠ. Συστήµατα Γεωγραφικών Πληροφοριών ΙΙ. Χαροκόπειο Πανεπιστήµιο, Τµήµα Γεωγραφίας, ΣΓΠ ΙΙ, Χρίστος Χαλκιάς

Λογισµικό ΣΓΠ. Συστήµατα Γεωγραφικών Πληροφοριών ΙΙ. Χαροκόπειο Πανεπιστήµιο, Τµήµα Γεωγραφίας, ΣΓΠ ΙΙ, Χρίστος Χαλκιάς Λογισµικό ΣΓΠ Συστήµατα Γεωγραφικών Πληροφοριών ΙΙ Εισαγωγή Βασικός στόχος των λογισµικών πακέτων ΣΓΠ, είναι η παροχή ενός ενιαίου πλαισίου εργασίας µε γεωγραφικές πληροφορίες. Η εξέλιξη του λογισµικού

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

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

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών 1 6.1 Προέλευση H διαλειτουργικότητα του λογισµικού περιοριζόταν στην κλήση συνθηκών στο επίπεδο διεργασιών. Κανένα λειτουργικό δεν υποστήριζε

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

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 ιαφορετική αρχιτεκτονική: Κοινή βάση δεδοµένων, υνατότητες διασύνδεσης διαφορετικών συστηµάτων Η ανάγκη για την βελτίωση της ποιότητας των

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

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

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

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

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

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

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση 1 11.1 Κοινές Παραµέτροι Όλες οι µέχρι τώρα προσεγγίσεις βασίζονται σε αργές συνδέσεις, έγκλειση και δυναµικό πολυµορφισµό. Επίσης όλες υποστηρίζουν διαδοχή διασυνδέσεων.

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

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

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

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

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Διαδικτυακές Εφαρμογές Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης ΟΙΚΟΝΟΜΙΚΌ ΠΑΝΕΠΙΣΤΉΜΙΟ ΑΘΗΝΏΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης 1o φροντιστήριο στο µάθηµα Ανάλυση και µοντελοποίηση

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

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

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

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

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

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

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

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

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης

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

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

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

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

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

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Remote Method Invocation (RMI) Εισαγωγή Η αποµακρυσµένη επίκληση µεθόδων (RMI), επιτρέπει σε

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

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τ µ ή µ α Γεωγρα φ ίας ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ ΙI

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τ µ ή µ α Γεωγρα φ ίας ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ ΙI ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τ µ ή µ α Γεωγρα φ ίας ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ ΙI (Συµπληρωµατικές Σηµειώσεις) Χρίστος Χαλκιάς Καλλιθέα, 2007-1 - Χαλκιάς Χ., 2007 ΠΕΡΙΕΧΟΜΕΝΑ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ - ΛΟΓΙΣΜΙΚΑ

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

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1 Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα Προγραμματισμός II 1 lalis@inf.uth.gr Χρήση λογισμικού που ήδη υπάρχει Τα πολύπλοκα συστήματα αναπτύσσονται σταδιακά, «χτίζοντας» πάνω σε υπάρχουσα λειτουργικότητα

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές

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

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχε Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator Γνωστό και ως Ειδικός Σχεδιασμού 2Δ- 3Δ γραφικών,

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

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

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

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

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

(Logic Gate Simulator)

(Logic Gate Simulator) Περιγραφή Άσκηση 21 Εξοµοιωτής Κυκλωµάτων Λογικών Πυλών () Στα πλαίσια της άσκησης LogicGateSimulator 1 θα αναπτύξετε ένα πρόγραµµα σύµφωνα µε το οποίο το σύστηµα θα σας επιτρέπει: 1. να ορίζετε ένα κύκλωµα

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

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

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

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

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

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

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

Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα

Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα

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

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

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

7.2 Τεχνολογία TCP/IP

7.2 Τεχνολογία TCP/IP 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Πώς χρησιµοποιείται σήµερα ο όρος TCP/IP; ε ποια πρωτόκολλα αναφέρεται και γιατί έχει επικρατήσει αυτή η ονοµασία; 2. Ποια ανάγκη οδήγησε στην επικράτηση της τεχνολογίας

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

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ Αριθμ. Πρωτ.: 129334/2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ ΤΟΥ ΑΡΙΣΤΟΤΕΛΕΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΑΚΟΙΝΩΝΕΙ Τη διενέργεια διαδικασίας ΑΠΕΥΘΕΙΑΣ

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

Κεφάλαιο 6 Λογισμικό Εφαρμογών. Εφαρμογές Πληροφορικής Κεφ.6 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 6 Λογισμικό Εφαρμογών. Εφαρμογές Πληροφορικής Κεφ.6 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 6 Λογισμικό Εφαρμογών Καραμαούνας Πολύκαρπος 1 Λογισμικό Εφαρμογών (application software) Είναι όλα τα προγράμματα που μετατρέπουν τον ΗΥ σε εξειδικευμένο μηχάνημα για συκεκριμένες εργασίες. Περιέχει

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

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

Διαχείριση Ετερογενών Δικτύων

Διαχείριση Ετερογενών Δικτύων Διαχείριση Ετερογενών Δικτύων Δημήτρης Ι. Χρόνης (Ο.Τ.Ε) Λάμπρος Ράπτης (Ε.Μ.Π) Περιεχόμενα Παροχή υπηρεσιών σε ετερογενή δίκτυα Αρχιτεκτονική διαχείρισης ετερογενών δικτύων Λειτουργικές απαιτήσεις Τεχνικά

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

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Αναθέσεων Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 7/12/2010 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289 Unified Information

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

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

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

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το

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

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

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

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Τεχνικές Προδιαγραφές ιαλειτουργικότητας ΤΕΧΝΙΚΕΣ ΠΡΟ ΙΑΓΡΑΦΕΣ ΕΙΓΜΑ ΠΑΡΑΡΤΗΜΑΤΟΣ ΙΑΓΩΝΙΣΜΟΥ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «Κοινωνία της Πληροφορίας» http://www.infosociety.gr Μάιος 2003 Τεχνικές Προδιαγραφές ιαλειτουργικότητας

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

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού Μάρα Νικολαϊδου Αντικείµενο & Σκοπός Παρουσίαση και ανάλυση όλων των σταδίων της διαδικασίας ανάπτυξης

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

28 Πολυπρακτορικά Συστήµατα

28 Πολυπρακτορικά Συστήµατα ΚΕΦΑΛΑΙΟ 28 28 Πολυπρακτορικά Συστήµατα "There is no such thing as a single agent system". [Woodridge, 2002] Η παραπάνω ρήση από το βιβλίο του M.Wooldridge τονίζει, ίσως µε περισσή έµφαση, ότι είναι πλέον

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

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

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

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

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

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

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

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ Η Διαχείριση Εργασιών ΔΙ.Α.Π. αποτελεί μία επέκταση της υφιστάμενης Εφαρμογής Διαχείρισης Έργων & Πληρωμών. Η Εφαρμογή Διαχείρισης

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

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη πληροφοριακών συστηµάτων οµή παρουσίασης Τεχνολογική-Ιστορική Επισκόπηση Φάσεις Ανάπτυξης Πληροφοριακού Συστήµατος

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΞΑΜΗΝΟ Η ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΦΟΙΤΗΤΗ : ΜΟΣΧΟΥΛΑ ΟΛΓΑ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ : 30/02 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΥΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΣΥΝΕ ΡΙΩΝ ΜΕ ΧΡΗΣΗ

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Ηλεκτρονικού Πρωτοκόλλου Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 10/1/2011 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289

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

«Περιεχόµενα. 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα. 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών

«Περιεχόµενα. 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα. 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών «Περιεχόµενα 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών 05 Χαρακτηριστικά Τι περιλαµβάνει το epolis 06 Πλεονεκτήµατα Λύσεις και οφέλη του προγράµµατος

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

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

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

Απομακρυσμένα αντικείμενα (Remote Objects) Κατανεμημένα Συστήματα 1

Απομακρυσμένα αντικείμενα (Remote Objects) Κατανεμημένα Συστήματα 1 Απομακρυσμένα αντικείμενα (Remote Objects) Κατανεμημένα Συστήματα 1 llis@inf.uth.gr Απομακρυσμένα αντικείμενα Οι μέθοδοι τους μπορεί να κληθούν απομακρυσμένα στο πνεύμα των RPCs Οι τοπικές αναφορές σε

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

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία Ενότητα 6: Η Τεχνολογία Λογισμικού στην Αλληλεπίδραση Ανθρώπου-Υπολογιστή Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν

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

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός ΗΥ : Αντικειµενοστρεφής Προγραµµατισµός http://www.csd.uoc.gr/~hy Β. Χριστοφίδης christop@ics.forth.gr Τµήµα Επιστήµης Υπολογιστών, Πανεπιστήµιο Κρήτης Ηράκλειο Κρήτης Γενικές Πληροφορίες Ώρες ιδασκαλίας

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή ΣΥΜΠΕΡΑΣΜΑΤΑ 8.1 Εισαγωγή Η διατριβή συµβάλλει στην ανάπτυξη µεθόδων παροχής ΠοιΥπ σε DiffServ IP δίκτυα και το επιτυγχάνει µε δύο διαφορετικούς τρόπους: µε την παρουσίαση µεθόδων παροχής ΠοιΥπ που παρέχουν

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 435: ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ Ακαδηµαϊκό Έτος 2004 2005, Χειµερινό Εξάµηνο 2 Η ΟΜΑ ΙΚΗ ΕΡΓΑΣΙΑ: ΑΝΑΠΤΥΞΗ ΑΡΧΙΚΗΣ Ι ΕΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΝΑΓΚΩΝ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

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

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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

7.8 Σύστηµα ονοµάτων περιοχών (Domain Name System, DNS)

7.8 Σύστηµα ονοµάτων περιοχών (Domain Name System, DNS) 7.8 ύστηµα ονοµάτων περιοχών (Domain Name System, DNS) Ερωτήσεις 1. Γιατί χρησιµοποιούµε συµβολικά ονόµατα αντί για τις διευθύνσεις; 2. ε τι αναφέρονται το όνοµα και η διεύθυνση ενός υπολογιστή; Πώς και

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Κατανεµηµένα Αντικείµενα 16-1

Κατανεµηµένα Αντικείµενα 16-1 Κατανεµηµένααντικείµενα Αποµακρυσµένα αντικείµενα Αναφορές προς αντικείµενα Εξυπηρετητές αντικειµένων Εκκαθάριση αντικειµένων Μετρητές αναφορών Λίστες αναφορών Αποκοµιδή απορριµµάτων Κατανεµηµένα Αντικείµενα

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