1 / 31

Υπηρεσίες Web και Συστάδες υπολογιστών

Υπηρεσίες Web και Συστάδες υπολογιστών. Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011. Υπηρεσίες Web. HTTP, HTML, Javascript , php. Υπηρεσίες Web. Hyper-Text Transfer Protocol (HTTP)

meriel
Download Presentation

Υπηρεσίες Web και Συστάδες υπολογιστών

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Υπηρεσίες Web καιΣυστάδες υπολογιστών Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011

  2. Υπηρεσίες Web HTTP, HTML, Javascript, php Κ. Διαμαντάρας

  3. Υπηρεσίες Web Hyper-Text Transfer Protocol (HTTP) • Το πρωτόκολλο HTTP ανήκει στην κατηγορία των πρωτοκόλλωνRequest-Reply (RR). Χρησιμοποιείται από έναν πελάτη που λέγεται web browser(φυλλομετρητής ιστού) ή απλά browser, ο οποίος στέλνει αιτήματα σε έναν εξυπηρετητή ιστού(web server). • Ο εξυπηρετητής αποκρίνεται επιστρέφοντας ένα αρχείο σε γλώσσα HTML (Hyper-Text Markup Language). Τα αρχεία html είναι γνωστά και ως ιστοσελίδες (web pages). • Εξαιρετικά διαδεδομένο πρωτόκολλο. Οι browsers θεωρούνται βασικό εργαλείο και υποστηρίζονται από όλα τα Λειτουργικά Συστήματα. Πλέον διαδεδομένοι browsers: Firefox (Mozilla), Chrome (Google), Internet Explorer (Microsoft), Safari (Apple), Opera, ...κλπ Κ. Διαμαντάρας

  4. Μέθοδοι που χρησιμοποιούνται από το HTTP • Κάθε αίτηση πελάτη καθορίζει το όνομα της μεθόδου που θα εφαρμοστεί σε κάποιο πόρο του εξυπηρετητή καθώς και το URL του πόρου. Πχ. • Μήνυμα HTTP request: • Μήνυμα HTTP reply: Κ. Διαμαντάρας

  5. Βασικές Μέθοδοι HTTP • Κάθε κλήση HTTP του πελάτη στον εξυπηρετητήπεριέχει τη μέθοδο που θα εφαρμοστεί και το URL του πόρου που αιτείταιο πελάτης. Οι μέθοδοι είναι: • GET: Ο πελάτης αιτείται τον πόρο που περιγράφεται στο URL. Οεξυπηρετητής επιστρέφει τον πόρο (αρχείο html). • HEAD: Ο πελάτης αιτείται τον πόρο που περιγράφεται στο URL. Οεξυπηρετητής επιστρέφει μόνο πληροφορίες για τον πόρο (κεφαλίδα) όπως τύπος, μέγεθος, χρόνος τελευταίας τροποποίησης, κλπ • POST: Ο πελάτης αιτείται την εκτέλεση ενός προγράμματος στον εξυπηρετητής σύμφωνα με το URL που δίνεται. Οι παράμετροι του προγράμματος βρίκονται μέσα στο μήνυμα. Ο server εκτελεί το πρόγραμμα και επιστρέφει ένα αρχείο html. Απαιτείται κάποια γλώσσα προγραμματισμού στον εξυπηρετητή (server side scripting language). Πιο διαδεδομένες τέτοιες γλώσσες είναι ηphp (συνδυάζεται συνήθως με τον Apache server) και η asp(συνεργάζεται με τον ISS της Microsoft). Κ. Διαμαντάρας

  6. Λοιπές μέθοδοι HTTP • Άλλες μέθοδοι που υλοποιούνται από το πρωτόκολλο HTTP είναι: • PUT: Ο πελάτης αιτείται να αποθηκευτούν τα δεδομένα που περιέχονται στο μήνυμα στο δεδομένο URL είτε ως μεταβολή του υπάρχοντος πόρου είτε ως δημιουργία καινούργιου • DELETE: Ο πελάτης αιτείται να διαγραφεί στον εξυπηρετητή ο πόρος που δίνεται στο URL. Οι εξυπηρετητές πολλές φορές δεν ικανοποιούν αυτή τη μέθοδο οπότε επιστρέφεται “failure”. • OPTIONS: Ο πελάτης αιτείται πληροφορίες σχετικά με τις επιλογές μεθόδων (πχ. GET, HEAD, PUT, κλπ) που είναι διαθέσιμες για τον συγκεκριμένο πόρο που περιγράφεται στο URL • TRACE: Ο εξυπηρετητής απλά επιστρέφει το μήνυμα στον πελάτη. Χρησιμοποιείται για διαγνωστικούς σκοπούς. Κ. Διαμαντάρας

  7. Παράδειγμα: http://www.it.teithe.gr Κ. Διαμαντάρας

  8. Η γλώσσα HMTL • Η γλώσσα html ανήκει στην κατηγορία των γλωσσών mark-up, δηλαδή τα διάφορα μέρη του κειμένου μαρκάρονται με χαρακτηριστικές συμβολοσειρές που λέγονται tags. Μερικά παραδείγματα tags: Κ. Διαμαντάρας

  9. HTML Document Object Model (DOM) • Τα htmltags που αποτελούν ένα αρχείο html αντιστοιχούν σε αντικείμενα ενός μοντέλου που καλείται Document Object Model. Η ιεραρχία των αντικειμένων είναι πολύπλοκη και ξεφεύγει του σκοπού αυτού του μαθήματος. • Ένα παράδειγμα ιεραρχίας αντικειμένων και των ιδιοτήτων τους (attributes) φαίνεται στο παρακάτω σχήμα. Κ. Διαμαντάρας

  10. HTML DOM <html> <head><title>My title</title></head> <body><a href=“...”>My link</a> <h1>My header</h1> </body> </html> Κ. Διαμαντάρας

  11. HTML Scripting • Η γλώσσα HTML επιτρέπει την συμπερίληψη προγραμμάτων μέσα στο αρχείο html που επιστρέφεται από τον εξυπηρετητή. Τα προγράμματα που περιέχονται στο αρχείο html λέγονται “scripts” καιπρέπει να είναι γραμμένα σε μια κατάλληλη γλώσσα όπως πχ, JavaScript ή η VBScript. • Τα προγράμματα εκτελούνται από τον browser του πελάτη, γι’ αυτό και η χρήση τους καλείται client-side scripting(scripting από την μεριά του πελάτη). • Ο browser του πελάτη διαθέτει ενσωματωμένο τον κατάλληλο compiler για την μετάφραση και εκτέλεση των scripts. Όλοι οι μοντέρνοι browsers υποστηρίζουν JavaScript. Κ. Διαμαντάρας

  12. Παράδειγμα: JavaScript <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7" /> </head> <script type="text/javascript"> document.write('<p>Αυτή είναι μια δοκιμαστική γραμμή html<br/> Γειά σας !!!!</p>'); alert('Αυτό είναι ένα popup window'); </script> </html> Δείτε το εδώ: http://www.it.teithe.gr/~kdiamant/OpSys/test.html Κ. Διαμαντάρας

  13. Server side scripting • Στην πλειοψηφία των διαδικτυακών εφαρμογών πελάτη – εξυπηρετητή απαιτείται η πρόσβαση σε κάποια βάση δεδομένων για την άντληση στοιχείων. Χαρακτηριστικά παραδείγματα: • οι μηχανές αναζήτησης όπως google, bing, yahoo, κλπ • Τα ηλεκτρονικά καταστήματα όπωςamazon, κλπ • Η ηλεκτρονική κράτηση εισιτηρίων/θέσεων σε αεροπλάνα, ξενοδοχεία, κινηματογράφους, κλπ • Οι υπηρεσίες κοινωνικής δικτύωσηςόπως facebook, google+, twitter, κλπ • Η ηλεκτρονική καταχώρηση βαθμών και γενικά η ηλεκτρονική διαχείριση μαθημάτων • Και πολλές άλλες εφαρμογές (ή μάλλον η μεγάλη πλειοψηφία) Κ. Διαμαντάρας

  14. Server side scripting: η γλώσσα php • Η χρήση κατανεμημένων βάσεων δεδομένων απαιτεί την κλήση ενός προγράμματος στη μεριά του εξυπηρετητή το οποίο θα κάνει ερώτημα (query)στην βάση δεδομένων –πιθανότατα με χρήση SQL – και θα επιστρέψει το αποτέλεσμα στον πελάτη. • Δεν είναι πρακτικό να αντιγραφεί ολόκληρη η βάση δεδομένων στον πελάτη και να γίνει εκεί το query καθώς η βάση μπορεί να είναι εξαιρετικά μεγάλη. Άλλωστε ο χρήστης δεν ενδιαφέρεται να να συντηρεί τη βάση ούτε να μάθει πώςγίνεται ένα ερώτημα SQL. Αυτό το αναλαμβάνει ένα πρόγραμμα στην πλευρά του εξυπηρετητή. • Για το σκοπό αυτό υπάρχουν γλώσσες που υποστηρίζουν τη συγγραφή προγραμμάτων που εκτελούνται στον εξυπηρετητή μετά από κλήση του πελάτη. • Παραδείγματα τέτοιων γλωσσών είναι η php και η asp. Κ. Διαμαντάρας

  15. Server side scripting: η γλώσσα php • Ένα πρόγραμμα php βρίσκεται μέσα σε ένα τμήμα ενός αρχείου html το όνομα του οποίου πρέπει να τελειώνει σε .php. Το τμήμα ξεκινά με τη συμβολοσειρά <?phpκαι τελειώνει με τη συμβολοσειρά ?>. • Όταν ο εξυπηρετητής λάβει μια αίτηση από έναν πελάτη πχ. για το αρχείο test.php, διαβάζει το περιεχόμενο του αρχείου και • όπου βλέπει στατικό κώδικα html τον επιστρέφει ανέπαφο • όπου βλέπει κώδικα php τον εκτελεί. Ο κώδικας php παράγει κείμενο html το οποίο αντικαθιστά τον κώδικα php. Το κείμενο αυτό μαζί με τον υπόλοιπο στατικό κώδικα του αρχείου επιστρέφεται στον πελάτη • Ο πελάτης μπορεί να περάσει ορίσματα στο πρόγραμμα php όπως φαίνεται στο παρακάτω αίτημα URL http://www.mysite.com/test.php?a=3&str=hello Όρισμα 1: a Όρισμα 2: str Κ. Διαμαντάρας

  16. Παράδειγμα: php <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF8" /> </head> <p>Αυτό είναι στατικό html.</p> <?php $a = $_GET['a']; $str = $_GET['str']; if ($a && $str) { echo "<p>Παράμετρος 1: <b>$a</b>, Παράμετρος 2: <b>$str</b></p>"; } ?> </html> Δείτε το εδώ http://aetos.it.teithe.gr/~kdiamant/OpSys/test.php?a=3&str=hello Κ. Διαμαντάρας

  17. Επικοινωνία php με βάση δεδομένων στον εξυπηρετητή • Η πιο συνηθισμένη εφαρμογή τηςphp είναι η σύνδεσή της με μια τοπική σχεσιακή βάση δεδομένων στον εξυπηρετητή. Πιο συνηθισμένη περίπτωση είναι η σύνδεση με την βάση mysql, αλλά είναι δυνατή και η σύνδεση με άλλες βάσεις όπως ηpostgresql, κα. • Χρησιμοποιώντας εντολές όπωςmysql_connect(), mysql_query() και mysql_fetch_array(), mysql_close(), κλπ, είναι δυνατή η εκτέλεση ερωτήματος στη βάση και το σερβίριασμα του αποτελέσματος στον πελάτη με μορφή αρχείου html κατάλληλου για να εμφανιστεί στον browser του πελάτη. • Η ανάλυση των εντολών χρήσης της mysql(ή άλλων ΒΔ) από την php ξεφεύγει από τα όρια του παρόντος μαθήματος Κ. Διαμαντάρας

  18. HTML, DOM, JavaScript, Php, Mysql, κλπ • Όλες οι σχετικές τεχνολογίες είναι αντικείμενο του μαθήματος «Ανάπτυξη Διαδικτυακών Εφαρμογών» ή παρόμοιου. • Για περισσότερες λεπτομέρειες καλές πηγές είναι οι παρακάτω http://www.w3schools.com (καλύπτει όλες τις βασικές τεχνολογίες web: html, DOM, javascript, css, php, asp, κλπ. Δεν δίνεται ιδιαίτερο βάθος σε κάποιες, πχ php) www.php.net(εξαιρετικά λεπτομερές online php manual) http://dev.mysql.com/doc/ (mysql documentation) http://www.tizag.com(tutorials διαδικτυακών εφαρμογών) Κ. Διαμαντάρας

  19. Συστάδες Υπολογιστών (Clusters) Κ. Διαμαντάρας

  20. Συστάδες υπολογιστών (clusters) • Ορισμός: Συστάδα υπολογιστών (cluster) είναι μια ομάδα από διασυνδεδεμένους ολοκληρωμένους υπολογιστές που συνεργάζονται σαν ένα ενιαίο υπολογιστικό σύστημα δίνοντας στον έξω κόσμο την εντύπωση ενός μόνο μηχανήματος. • Ολοκληρωμένοι υπολογιστές = θα μπορούσαν, ανθέλαμε, να λειτουργήσουν αυτόνομα εκτός cluster • Πλεονεκτήματα: • Απόλυτη Κλιμάκωση: δυνατότητα δημιουργίας μεγάλων έως πολύ μεγάλων συνόλων, πχ. Google cluster > 1.000.000 κόμβοι (εκτιμώμενο) • Σταδιακή κλιμάκωση: δυνατότητα σταδιακής προσθήκης κόμβων • Υψηλή διαθεσιμότητα: η αποτυχία ενός κόμβου θεραπεύεται από τους υπόλοιπους κόμβους, οπότε το συνολικό σύστημα δεν «πέφτει» εύκολα • Υψηλός δείκτης τιμής/απόδοση: χρήση πολλών φθηνών μηχανών πιο οικονομική από την χρήση ενός τεράστιου παράλληλου υπολογιστή Κ. Διαμαντάρας

  21. Αρχιτεκτονική cluster Σειριακές εφαρμογές Παράλληλες εφαρμογές Ενδιάμεσο λογισμικό cluster Η/Υ Η/Υ Η/Υ Η/Υ Λογισμικό Επικοινωνίας Λογισμικό Επικοινωνίας Λογισμικό Επικοινωνίας Λογισμικό Επικοινωνίας Υλικό & Δίκτυο Υλικό & Δίκτυο Υλικό & Δίκτυο Υλικό & Δίκτυο Δίκτυο υψηλών ταχυτήτων Κ. Διαμαντάρας

  22. Αρχιτεκτονική cluster • Εκτός από τους κόμβους επί πλέον συστατικά του cluster είναι: • Το ταχύ δίκτυο LAN ή WAN. Απαραίτητο για την όσο το δυνατόν ταχύτερη ανταλλαγή μηνυμάτων. Το εύρος ζώνης του δικτύου (= ταχύτητα μεταφοράς bits/sec) μπορεί να επηρεάσει σημαντικά την αποδοτικότητα των κατανεμημένων εφαρμογών που εκτελούνται σε αυτό • Το ενδιάμεσο λογισμικό: προσφέρει μια ενιαία διεπαφή στον χρήστη και του δίνει την εικόνα ενός μοναδικού μηχανήματος (single-system image). Το ενδιάμεσο λογισμικό επίσης • είναι υπεύθυνο για την δρομολόγηση των αιτημάτων στον κατάλληλο κόμβο – εξυπηρετητή • φροντίζει για την εξισορρόπηση του φόρτου εργασίας μεταξύ των κόμβων • Διαχειρίζεται τα σφάλματα στα διάφορα επί μέρους στοιχεία του συστήματος Κ. Διαμαντάρας

  23. Λειτουργίες ενδιάμεσου λογισμικού cluster • Μοναδικό σημείο εισόδου. Ο χρήστης με το “cluster” και όχι με έναν-έναν υπολογιστή ξεχωριστά. • Μοναδική ιεραρχία αρχείων. Ο χρήστης βλέπει ένα σύστημα αρχείων. • Μοναδικό σημείο ελέγχου. Ο διαχειριστής ελέγχει το cluster από ένα συγκεκριμένο κόμβο. • Μοναδικό εικονικό δίκτυο. Όλοι οι κόμβοι επικοινωνούν μεταξύ τους με τις ίδιες εντολές περάσματος μηνυμάτων σα να είναι στο ίδιο δίκτυο ακόμη κι αν ανήκουν σε διαφορετικά δίκτυα. • Μοναδικό σύστημα διαχείρισης εργασιών. Οι διεργασίες δρομολογούνται στους κόμβους διαφανώς ως προς τον χρήστη. Αυτός υποβάλλει απλώς την διεργασία στο “cluster” χωρίς να γνωρίζει σε ποιον ή ποιους ακριβώς κόμβους θα εκτελεστεί. Αν η διεργασία είναι σειριακή θα εκτελεστεί σε ένα κόμβο, αν όμως είναι παράλληλη θα απασχολήσει πολλούς κόμβους. Κ. Διαμαντάρας

  24. Λειτουργίες ενδιάμεσου λογισμικού cluster • Μοναδικός χώρος εισόδου/εξόδου. Οποιοσδήποτε κόμβος προσπελαύνει συσκευές I/O χωρίς να είναι απαραίτητο να γνωρίζει τη φυσική τους θέση. • Μοναδικός χώρος διεργασιών. Οι διεργασίες μπορούν να επικοινωνούν μεταξύ τους άσχετα σε ποιον κόμβο εκτελούνται. • Σημεία ελέγχου. Το ενδιάμεσο λογισμικό αποθηκεύει σε τακτά χρονικά διαστήματα την κατάσταση των διεργασιών και τα μερικά αποτελέσματα έτσι ώστε το σύστημα να μπορεί να ανακάμψει μετά από ένα σφάλμα. • Μετανάστευση διεργασιών. Η δυνατότητα μεταφοράς μιας διεργασίας από ένα κόμβο σε ένα άλλο είτε για λόγους εξισορρόπησης φόρτου εργασίας είτε επειδή ο αρχικός κόμβος κατέρρευσε (διαχείριση σφαλμάτων) Κ. Διαμαντάρας

  25. Διάταξη υπολογιστών σε cluster • Υπάρχουν τρεις βασικές αρχιτεκτονικές διάταξης Η/Υ σε cluster: • Εξυπηρετητές με ξεχωριστούς δίσκους. Δεν υπάρχει διαμοιρασμός δίσκων. Απαιτείται λογισμικό διαχείρισης της ανάθεσης των εισερχομένων αιτημάτων σε συγκεκριμένο κόμβο έτσι ώστε να γίνεται εξισορρόπηση του φόρτου εργασίας και ταυτόχρονα να επιτυγχάνεται μέγιστη χρησιμοποίηση των κόμβων. Κάθε κόμβος μορεί να είναι ένας παράλληλος (πχ. πολυ-πύρηνος) επεξεργαστής P P Κόμβος Χ Κόμβος Υ P P P P P P Δίκτυο υψηλής ταχύτητας M I/O I/O Ι/Ο I/O Μ Δίσκος Δίσκος Κ. Διαμαντάρας

  26. Διάταξη υπολογιστών σε cluster • Διάταξη εξυπηρετητών με κοινούς δίσκους ωστόσο κάθε κόμβος δουλεύει σε διαφορετικό λογικότόμο (partition). Έτσι υπάρχει διαμοιρασμός δίσκων σε επίπεδο υλικού ώστε να μειώνεται οι επικοινωνία μεταξύ επεξεργαστών, ωστόσο από λογικής (προγραμματιστικής) απόψεως οι επεξεργαστές έχουν διαφορετικούς δίσκους. Κοινός Δίσκος Τόμος 1 P P Κόμβος Χ Κόμβος Υ P Ι/Ο Ι/Ο P Τόμος 2 P P P P Δίκτυο υψηλής ταχύτητας M I/O I/O Ι/Ο I/O Μ Δίσκος Δίσκος Κ. Διαμαντάρας

  27. Διάταξη υπολογιστών σε cluster • Εξυπηρετητές με κοινούς δίσκους τόσο από απόψεως υλικού όσο και λογικλα κοινούς: γίνεται διαμοιρασμός του ίδιου τόμου. Κάθε υπολογιστής έχει πρόσβαση σε όλους τους δίσκους οι οποίοι μπορεί να ακολουθούν το πρωτόκολλο RAID για προστασία από σφάλματα. Κοινοί Δίσκοι RAID P P Κόμβος Χ Κόμβος Υ P Ι/Ο Ι/Ο P P P P P Δίκτυο υψηλής ταχύτητας M I/O I/O Ι/Ο I/O Μ Δίσκος Δίσκος Κ. Διαμαντάρας

  28. Διαχείριση σφαλμάτων • Αν αποτύχει ένας κόμβος του cluster την ώρα που εκτελεί μια εφαρμογή τότε άλλοι κόμβοι αναλαμβάνουν την εκτέλεση της εργασίας του νεκρού κόμβου. • Η μετανάστευση μιας εφαρμογής και των δεδομένων της από ένα κόμβο που κατέρρευσε σε ένα άλλο κόμβο που λειτουργεί λέγεται “failover” • Ανάλογα με την αρχιτεκτονική του cluster πριν από τη μετανάστευση της εφαρμογής απαιτούνται διαφορετικές ενέργειες • Σε περίπτωση ξεχωριστών δίσκων απαιτείται αντιγραφή των δεδομένων σε backup δίσκους ώστε να είναι διαθέσιμα στον κόμβο που θα αναλάβει την εκτέλεση από εδώ και πέρα • Στην περίπτωση των κοινών δίσκων απαιτείται απλώς η ύπαρξη κάποιου πρωτοκόλλου (όπως το RAID) για την διασφάλιση της διαθεσιμότητας των δεδομένων Κ. Διαμαντάρας

  29. Παραλληλισμός • Οι συστάδες υπολογιστών προσφέρουν υπηρεσίες παράλληλης επεξεργασίας στους χρήστες καθώς διαθέτουν πολλούς κόμβους οι οποίοι με κατάλληλο τεμαχισμό της εφαρμογής του πελάτη μπορούν να την εκτελέσουν παράλληλα. • Ποιος θα τεμαχίσει την εφαρμογή; Υπάρχουν δύο βασικές επιλογές: • Παραλληλοποίηση από τον μεταφραστή. Ο προγραμματιστής γράφει κλασικό σειριακό κώδικα και ο παράλληλος μεταφραστής καθορίζει πώς θα τεμαχιστεί ο κώδικας σε παράλληλα τμήματα • Παράλληλος προγραμματισμός: Ο προγραμματιστής αποφασίζει πώς θα τεμαχιστεί ο αλγόριθμος σε τμήματα γράφει δηλαδή παράλληλο κώδικα σε κάποιο κατάλληλο περιβάλλον καθορίζοντας πώς ακριβώς θα ανταλλάσσονται μηνύματα μεταξύ διεργασιών. Κ. Διαμαντάρας

  30. Παραλληλισμός • Πλεονεκτήματα/Μειονεκτήματα παραλληλοποίησης από τον μεταφραστή + Ευκολία προγραμματισμού καθώς αυτός γίνεται με το παραδοσιακό σειριακό μοντέλο − Δυσκολία βέλτιστης εκμετάλλευσης του παραλληλισμού του αλγορίθμου. Ο προγραμματιστής σκέφτεται «σειριακά» και συνεπώς η παραλληλοποίηση που επιτυγχάνει ο μεταφραστής έχει περιορισμένα αποτελέσματα. • Πλεονεκτήματα/Μειονεκτήματα παράλληλου προγραμματισμού + Αυτή είναι η καταλληλότερη λύση για τις περισσότερες εφαρμογές αν απαιτείται η εξαγωγή του μέγιστου παραλληλισμού από την εφαρμογή − Ο προγραμματιστής πρέπει να εκπαιδευτεί στη συγγραφή παράλληλου κώδικα. Κ. Διαμαντάρας

  31. Υπηρεσίες Νέφους (Cloud) • Υπηρεσίες Νέφους(Cloud): Ανάπτυξη εφαρμογών σε συστάδα υπολογιστών χρησιμοποιώντας συγκεκριμένες συναρτήσεις διεπαφής (API). Εκτέλεση των προγραμμάτων από άλλη διεπαφή (συνήθως διαδικτυακή) • Παράδειγμα: Google cloud • Google web toolkit http://code.google.com/webtoolkit/ Κ. Διαμαντάρας

More Related