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

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

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

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

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

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Eπτά - H ιεύθυνση Συνόλων Aντικειµένων (O MG): CORBA και OMA

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

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

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

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

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

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

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

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Oκτώ - O ρόµος της Microsoft: DCO M, OLE και ActiveX

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

Διαχείριση Πληροφοριακών Συστημάτων

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

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

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

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

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

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

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

(Logic Gate Simulator)

Οργάνωση επεξεργαστών και διεργασιών

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

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

MICROBOT SERVER MICROBOT MONITOR ΕΦΑΡΜΟΓΕΣ ΕΛΕΓΧΟΥ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ MICROBOT

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΙΣΑΓΩΓΗ ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΑΟΓΙΣΤΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ...3-1

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009

Σχεδίαση Γλωσσών Προγραμματισμού. Εαρινό Εξάμηνο Lec03 18/02/2019

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

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

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

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

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

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

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Ενότητα 3 (κεφάλαιο 16) Επαναχρησιμοποίηση Λογισμικού

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

Σύντοµη Ιστορία της Πληροφορικής

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

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΙΑ ΙΚΑΣΙΑ ΜΕΤΑΒΑΣΗΣ ΣΤΟ CLOUD COMPUTING ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΙΚΟΙΝΩΝΙΑ ΠΡΟΣΩΠΟ ΜΕ ΠΡΟΣΩΠΟ ΑΠΟ ΚΑΘΕ ΣΗΜΕΙΟ ΤΗΣ ΓΗΣ.

Διαφορές single-processor αρχιτεκτονικών και SoCs

Salespoint. hovernet Το τηλέφωνό µας: Η διεύθυνσή µας: 25 Μαρτίου 44, Νέοι Επιβάτες Θεσσαλονίκη

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

Πρακτικά όλα τα προβλήματα ασφαλείας οφείλονται σε λάθη στον κώδικα

Μάθηµα 3. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Μάθημα: Προγραμματιστικά Εργαλεία για το Διαδίκτυο

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

Distributed Systems II

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

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

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

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

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

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Η σύγχρονη λύση Ηλεκτρονικής Τιµολόγησης

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

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

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

Εισαγωγή στη γλώσσα UML

Α. Ερωτήσεις Ανάπτυξης

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

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

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

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

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

Transcript:

Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση 1

11.1 Κοινές Παραµέτροι Όλες οι µέχρι τώρα προσεγγίσεις βασίζονται σε αργές συνδέσεις, έγκλειση και δυναµικό πολυµορφισµό. Επίσης όλες υποστηρίζουν διαδοχή διασυνδέσεων. Επιπλέον (µετά από αλληλεπίδραση) όλες οι προσεγγίσεις τώρα υποστηρίζουν: Σύνθετα κείµενα µε ενεργά ενσωµατωµένα αντικείµενα. Σχήµα µεταφοράς συστατικού: αρχεία JAR της Java, δοµηµένη αποθήκευση της CO M, OpenDoc Bent. Οµοιόµορφες µεταφορές δεδοµένων. Συµβάντα µε τις συνδέσεις η διόδους τους µε ένα ή πολλούς παραλήπτες. Μεταπληροφορίες: ενδοσκόπηση, αντανάκλαση. Επιµονή (περιπτώσεων),σειριοποίηση ή εξαγωγή. Συστατικά αντικείµενα γίνονται αντιληπτά σαν πολλαπλά ξεχωριστά αντικείµενα (CO M). Σύνδεση ξεχωριστών αντικειµένων µε επέκταση αντικειµένων (OpenDoc). Έµµεση αντικατάσταση του ελέγχου τύπου της Java instanceof και φύλακα µηνυµάτων (checked casts). Στρατηγική Σύγκριση 2

11.2 ιαφορές Προσέγγιση αξιοποίησης λογισµικών συστατικών και η γεφύρωση διαφορετικών συστηµάτων όπως IO N A s Orbix/Desktop for Windows, που είναι εργαλείο ενωποίησης CORBA και COM. IONA s Orbix/ Web σαν µεσάζων κλήσεων αντικειµένων στη Java. JavaSoft s Active Xbridge που επιτρέπει σε περιπτώσεις να ενσωµατώνωνται σε υποδοχείς ActiveX. Κυριώτερες διαφορές προσεγγίσεων υαδικά κριτήρια διασύνδεσης για κάθε πλατφόρµα. Aυτό αποτελεί τον πυρήνα του CO M. Σ αυτό βασίζεται και η JNI. Στη CORBA όµως δεν υπάρχει ορισµός τους. Κριτήρια κώδικα για συµβατότητα και φορητότητα. Η CORBA είναι δυνατή στο καθορισµό συνδέσεων γλώσσας και αυτό ενισχύεται από τον προκαθορισµό µεγάλου αριθµού διασυνδέσεων υπηρεσιών. Η παρούσα πρακτική χρήσης συγκεκριµένων συναρτήσεων του ORB, στη µηχανή του εξυπηρετητή αντικειµένου, µειώνει την φορητότητα των εξυπηρετητών που βασίζονται στη CORBA. Η Java έχει πρόβληµα κριτηρίων συνδέσεως γλώσσας. Οι βιβλιοθήκες της Java έχουν πρόβληµα διάσπασης, µε τις υπηρεσίες της JavaSoft και MicroSoft. H COM δεν έχει πλαίσιο κριτηρίων κώδικα ή συνδέσεως γλώσσας. Επίσης οι διασυνδέσεις της δεν έχουν καθορισθεί πέρα από την Microsoft. Tα κριτήρια των CO M, CORBA και Java µε αυτή την σειρά είχαν µικρές περιόδους ανάπτυξης πριν πάρουν τελική µορφή.tο σύστηµα CO M/OLE/ActiveX έχει πολλούς περιττούς µηχανισµούς όπως εξαγόµενες διασυνδέσεις, συνδεόµενα αντικείµενα και αποσπασµένες διασυνδέσεις. ιαχείρηση µνήµης, περίοδος ζωής και συλλογή αχρήστων. Η CORBA δεν προσφέρει γενική λύση διαχείρισης µνήµης σε κατανεµηµένα συστήµατα. H COM και η DCO M βασίζονται στην αρίθµηση αναφορών όπως τo OpenDoc και το SO M της Apple. Η Java βασίζεται ολοκληρωτικά στη συλλογή αχρήστων και µε τη εισαγωγή του RMI ορίζει το πρότυπο κατανεµηµένων αντικειµένων που υποστηρίζει κατανεµηµένη συλλογή αχρήστων. Στρατηγική Σύγκριση 3

ιαφορές Έννοιες εξέλιξης. H COM παγώνει τις διασυνδέσεις και τα χαρακτηριστικά τους, µόλις εκδοθούν µε τον ενδείκτη τους (ID). Aυτό λύνει και το πρόβληµα της έκδοσης και µεταναστεύσεως αντικειµένων. Στη CORBA δεν υπάρχει άµεσος έλεγχος έκδοσης,αλλά µόνο υποστήριξη για µέγιστο και ελάσσωνα αριθµό έκδοσης. Ο µόνος έλεγχος γίνεται στη δηµιουργία του αντικειµένου. H Javaελέγχει τον αριθµό έκδοσης µόνο στο επίπεδο δυαδικής συµβατότητας. Γι αυτόν τον έλεγχο υπάρχουν κανόνες που δεν είναι και τόσο αποτελεσµατικοί, όπως το ότι η αλλαγή µίας τιµής από την µία έκδοση στη άλλη δεν έχει επιρροή σε προηγούµενους πελάτες. Έννοιες κατηγοριών. Αυτές είναι νεοεισαχθήσες στη COM και εισάγουν την έννοια της συµβατικής σύνδεσης που µπορούν να περιλαµβάνουν αριθµό διασυνδέσεων. Ένα συστατικό µπορεί να ανήκει σε πολλές κατηγορίες και µπορεί να χρησιµοποιεί τις ιδιότητες µέλους κάθε κατηγορίας σαν ψηλού επιπέδου διεκδίκηση. ιαθεσιµότητα βιοµηχανικών εφαρµογών. Η CO M είναι δυνατότερη σε παραδοσιακές τοπικές εφαρµογές. Η DCO M είναι αρκετά δυνατή και στους εξυπηρετητές. Η Java είναι καλύτερη σε πελάτες Web και βελτιώθηκε στους εξυπηρετητές. H CORBA υπερέχει στούς εξυπηρετητές και είναι δυνατή στα λογισµικά επιχειρήσεων. Περιβάλλοντα αναπτύξεως. Υπάρχουν πολλά τέτοια για υποστήριξη της COM. Στη Java ακόµα αναπτύσσονται, ενώ στη CORBA είναι ανύπαρκτα. Yπηρεσίες. Nέες υπηρεσίες απόκτησε η CO M όπως εξυπηρετητή συναλλαγών. Η CORBA έχει πλήρεις προκαθορισµένες υπηρεσίες. Στρατηγική Σύγκριση 4

11.3 Επιπτώσεις Πωλητών Yποδοµών Τρόπος ορισµού προτύπων αντικειµένων. Η OMG ορίζει συνδέσεις γλωσσών. Η OMG/IDL ορίζει προκαθορισµένες διασυνδέσεις και πρωτόκολλο διαλειτουργικότητας (IIOP). Η CO M ορίζει δυαδικές διασυνδέσεις από σύνολο καθορισµένων διασυνδέσεων και δυαδικές κλήσεις συνθηκών. Η Java ορίζει καθορισµένες διασυνδέσεις γλώσσας, σχήµατα φόρτωσης αρχείου µε µεταπληροφορίες σε αρχεία τάξεων και σχήµατα ρευµάτων σειριοποιηµένων αντικειµένων. Από τον τρόπο ορισµού αντικειµένων επιρρεάζεται και η υποστήριξη σε ανοικτά συστήµατα. Καθώς η OMA δεν ορίζει δυαδικά κριτήρια ο πωλητής ORB πρέπει να δώσει εργαλεία σύνδεσης γλώσσας για κάθε υποστηριζόµενη γλώσσα. Καθώς η CO M ορίζει δυαδικά κριτήρια οι συνδέσεις γλώσσας πρέπει να παρασχεθούν από ανεξάρτητους πωλητές. Η COM ακόµη προσφέρει αρκετές παρεκκλίσεις για διάφορες εφαρµογές: βιβλιοθήκες COM, βιβλιοθήκες τύπων, εφαρµογή και δηµιουργία αντιπρόσωπων και προσαρµόστων όπως και εφαρµογές καθορισµένων υπηρεσιών. Η Java απλά χρειάζεται µία τάξη µεταγλωττιστή για κάθε γλώσσα. Οι πιό πάνω λύσεις δουλεύουν καλύτερα για την Java, καλά για την COM και χειρότερα για την OMA. Στη Java κάθε γλώσσα εφαρµόζει συσχετίσεις σε τάξεις αρχείων. Ο αριθµός εφαρµογών γλώσσας = (αριθµός γλωσσών * µέσος αριθµός πωλητών για κάθε γλώσσα). Ο αριθµός εφαρµογών πλατφόρµας = (αριθµός πλατφόρµων * µέσος αριθµός πωλητών για κάθε πλατφόρµα). Η τοπική διασύνδεση της Java JD K 1.1 JNI, ορίζει µία δυαδική διασύνδεση για κάθε πλατφόρµα που διαθέτει τις τοπικές βιβλιοθήκες σε εικονικές µηχανές Java (JV M). Στην CO M κάθε γλώσσα εφαρµόζει την δηµιουργία τοπικού κώδικα. Ο συνολικός αριθµός εφαρµογών που δηµιουργούνται = (αριθµός γλωσσών * αριθµός πλατφόρµων * µέσος αριθµός πωλητών για κάθε γλώσσα κάθε πλατφόρµας). Γιά κάθε πλατφόρµα χρειάζεται ξεχωριστή εφαρµογή CO M. O αριθµός εφαρµογών για όλες τις πλατφόρµες = (αριθµός πλατφόρµων * µέσος αριθµός πωλητών). Στρατηγική Σύγκριση 5

Επιπτώσεις Πωλητών Yποδοµών Στην CORBA κάθε γλώσσα εφαρµόζει την δηµιουργία τοπικού κώδικα. Ο συνολικός αριθµός εφαρµογών που δηµιουργουνται = (αριθµος γλωσσών * αριθµός πλατφόρµων x µέσος αριθµός πωλητών για κάθε γλώσσα κάθε πλατφόρµας). Γιά κάθε πλατφόρµα χρειάζεται ξεχωριστή εφαρµογή ORB και CORBA. O αριθµός εφαρµογών για όλες τις πλατφόρµες = (αριθµός πλατφόρµων * µέσος αριθµός πωλητών). Eπιπλέον οι πωλητές πρέπει να παράσχουν σύνδεσµους γλώσσας που µπορεί να διαφέρουν από πωλητή σε πωλητή, ακόµη και στην ίδια γλώσσα. Ο αριθµός εφαρµογών που διαφέρουν στους συνδέσµους γλώσσας = (αριθµό γλωσσών x αριθµό πλατφόρµων *(µέσος αριθµός συνδέσµων γλωσσών + αριθµός πωλητών ORB για κάθε συνδυασµό γλώσσαςπλατφόρµας-πωλητή)). H CORB A µπορεί να έχει ανεξάρτητους πωλητές και έτσι οι πωλητές CORBA πρέπει να έχουν διαφορετικούς συνδέσµους για κάθε πωλητή γλώσσας, ακόµη και στην ίδια γλώσσα. Oλικός αριθµός εφαρµογών CORBA = (αριθµός γλωσσών * αριθµός πλατφόρµων * µέσος αριθµός πωλητών ανά γλώσσα ανά πλατφόρµα * µέσος αριθµός πωλητών ανά πλατφόρµα). επιπλέον υπάρχουν πωλητές ORB που προµηθεύουν προσαρµοστές αντικειµένου πέρα από τον καθιερωµένο βασικό προσαρµοστή αντικειµένου (BOA). εποµένως οι εξυπηρετητές αντικειµένου εξαρτώνται από το προσαρµοστή αντικειµένου στον οποίο κτίζει. Η αλλαγή από τον ένα µεσάζοντα στον άλλο είναι επιλογή του πελάτη. Συµπερασµατικά για την CORBA µε τέτοιο µεγάλο αριθµό προσφορών, λόγω της διάσπασης της αγοράς, το φάσµα επιλογών είναι εν τέλει µικρό, δηλαδή µία γλώσσα µάλλον δεν θα υποστηρίζεται από όλους τους µεσάζοντες (ORB) σε όλες τις πλατφόρµες. Στο άλλο άκρο η Java όπου η υποστήριξη επιπρόσθετων γλωσσών είναι φτηνή, µία εφαρµογή ανά γλώσσα ανά πλατφόρµα είναι αρκετή για να εγγυηθεί την καθολική υποστήριξη της. Στρατηγική Σύγκριση 6

ΠAPA EIΓ MATA Επιπτώσεις Πωλητών Yποδοµών H Java υποστηρίζει: Java Ada95 (intermetrics,1997) REXX (IBM, 1997) Tις µεγαλύτερες πλατφόρµες Η CO M υποστηρίζει: Java C++ Component Pacsal Object Pascal VisualBasic Object COBOL ML Others Tις µεγαλύτερες πλατφόρµες (µέσω DCO M) H CORBA υποστηρίζει: Κυρίως C++. Μερικές άλλες (η smalltalk παρακµάζει). Java OMG-IDL που όµως δεν υποστηρίζεται από πολλούς ORB. Σχεδόν όλες τις πλατφόρµες µε µεγάλη επιλογή για πωλητές ORB. Συµπερασµατικά όταν πολλές διαστάσεις συνδυάζονται για υποστήριξη µίας πλατειάς ποικιλίας λύσεων οι περισσότερες από αυτές θα βολευτούν σε µία µικρή αγορά. Έτσι βλέποµε και στην περίπτωση της CORBA να αποτυγχάνει στην υποστήριξη µίας ευρείας ποικιλίας λύσεων. Στρατηγική Σύγκριση 7

Επιπτώσεις Πωλητών Yποδοµών Η Java υπερέχει καθαρά στον καθορισµό αποτελεσµατικών εφαρµογών µε υπηρεσίες αναξαρτήτου γλώσσας και γλώσσες ανεξάρτητες υπηρεσιών, µε ένα µειονέκτηµα: Το σχήµα των αρχείων τάξεων είναι στενα συνδεδεµένο µε την γλώσσα. Η CO M (µεταξύ των δύο προηγούµενων) µπορεί να υποστηρίξει ικανοποιητικά ένα µεγάλο φάσµα γλωσσών. Η λύση για την CORBA είναι ο καθορισµός σταθερών δυαδικών κριτηρίων για όλες τις σχετικές πλατφόρµες. Ένας υποψήφιος πωλητής που θα µπορούσε να κάνει αυτό, είναι η Netscape που σκοπεύει να εισάγει τον µεσάζωντα Visibriker ORB (από την Visigenic),στον εξυπηρετητή του Web και στα προϊόντα του παρατηρητή του Com municator. Στο µεταξύ σαν ενδιάµεση γλώσσα χρησιµοποιείται η CORBA C (οι περισσότερες εφαρµογές γλωσσών µπορούν να καλέσουν συναρτήσεις C). Το µειονέκτηµα είναι ότι η C δεν έχει την έννοια του αντικειµένου, όταν έρχεται να γεφυρώσει το χάσµα µεταξύ µίας αντικειµενοστρεφούς γλώσσας και της αντικειµενοστρεφούς CORBA. Επίσης µεσάζοντες όπως ο Orbix δεν υποστηρίζουν σύνδεση µε C. Πλεονέκτηµα της COM είναι η συµπερίληψη κώδικα διαδοχης, όπως Microsoft Office, σε συστατικά. Tο ίδιο είναι δυνατό και στη Java. Στρατηγική Σύγκριση 8

11.4 Οι Eπιπτώσεις για τους Πωλητές Συστατικών Η ελάττωση του βαθµού επιλογών λύσεων είναι καλή όσο δεν επιρεάζεται η λειτουργικότητα. Η CORBA αποτελεί αρχιτεκτονική για τον µεσάζοντα ORB, αλλά όχι για τον πωλητή συστατικών. Η OMA δεν πάει πέρα από τον διαµελισµό αντικειµένων. Ένα από τα λίγα συστατικά υποδοµών είναι το OpenDoc. Ορίζει την αρχιτεκτονική του από τη άποψη του πωλητή συστατικού. Άλλο παρόµοιο είναι το BlackBox. Μερικοί από τους θεµέλιους λίθους της αρχιτεκτονικής συστατικών είναι οι κανονισµοί αλληλεπίδρασης µε άλλα συστατικά,οι ορισµοί των ρόλων των συστατικών και ο καθορισµός κριτηρίων των όψεων διαδύνδεσης χρήστη,για συναρµολόγηση και χρήση. Τα προαναφερθέντα συστατικά υποδοµών ασχολούνται µε την αρχιτεκτονική περιορισµένων εφαρµογών. Στρατηγική Σύγκριση 9