Γρήγορη φιλοξενία σε Java application server και διασύνδεση με MySQL

Αν ψάχνετε για μια πλατφόρμα φιλοξενίας (είτε κατά τη διάρκεια της ανάπτυξης είτε για deployment οταν ξεπεράσει το beta στάδιο) χρησιμοποιώντας τις υποδομές και τις δυνατότητες scaling του Amazon EC2) για τις δυναμικές (ναι! με διασύνδεση με βάση MySQL) web εφαρμογών που φτιάχνετε σε Java (με πλήρη υποστήριξη MVC, RIA, J2EE κλπ κλπ), χωρίς να χρειαστεί να μπλέκετε με τη διαχείριση instances στο EC2, τότε η λύση λέγεται Stax .

stax1

Η υπηρεσία φιλοξενίας «συνοδεύεται» και από (command-line) εργαλεία off-line ανάπτυξης, testing (με εύκολη διασύνδεση με δημοφιλή IDE π.χ. Eclipse), packaging και deployment.

Αν και σε beta στάδιο ακόμη, εγώ τη χρησιμοποιώ απροβλημάτιστα εδώ και λίγο καιρό για να φιλοξενώ κάποιες δοκιμαστικές εφαρμογές που «σερβίρουν» vxml, ccxml κλπ. στην πλατφόρμα της Voxeo.

Οι εναλλακτικές για (εξωτερικό και όχι τοπικά στο desktop) server side scripting για την ώρα είναι σχετικά περιορισμένες μιας και η desktop πλατφόρμα ανάπτυξης της Voxeo, το Prophecy, συνοδεύεται από PHP server ενώ η δημοφιλής εναλλακτική της φιλοξενίας στον AppServer της Google χρησιμοποιεί python…

Αν πάλι επιμένετε σε EC2 τότε δοκιμάστε το σχετικό, γρήγορης εκκίνησης Java ΑΜΙ.

UPDATE 2009-04-10: Ο ανταγωνισμός αναμένεται να είναι ..μεγάλος για την Stax μιας και το App Engine της Google ανακοίνωσε χτες την υποστήριξη Java (από .jsp μέχρι GWT και AJAX). Περισσότερα και εδώ.

AWS meet up @ Athens

Η πρωτοβουλία για μια συνάντηση με θέμα τo Cloud Computing και τις σχετικές υπηρεσίες της Amazon ήταν μια αφορμή για ένα ευχάριστο απόγευμα Τετάρτης στην καφετέρια του Ελευθερουδάκη στο κέντρο (ε, μετά ακολούθησε και μια …μπυροκατάνυξη στο OktoberFest στην Αγ.Παρασκευή αλλά αυτό είναι μια άλλη ιστορία 🙂 )

Οι βασικοί συντελεστές (αρχι-zunigan) του zuni.gr, ο Γιάννης και ο Στέφανος ήταν εκεί για να παρουσιάσουν στους υπόλοιπους την εμπειρία τους από τις δοκιμές μετάβασης που κάνουν στην πλατφόρμα της Amazon αλλά και να δώσουν ερεθίσματα για περισσότερη κουβέντα τόσο για πρακτικά τεχνοοικονομικά θέματα όσο και για πιθανές εφαρμογές που θα μπορούσαν να «εκμεταλλευτούν» αυτή την υποδομή και την on-demand διαθεσιμότητά της. Και εν πολλοίς το κατάφερε μιας και στο …τραπέζι έπεσαν και προβληματισμοί για εφαρμογές όπως τηλεφωνία και αναγνώριση ομιλίας που μέχρι τώρα ξέφευγαν από το web μοντέλο (ελπίζω όχι για πολύ 😉 )…

Η παρουσίαση αυτή καθ’αυτή κέντρισε το ενδιαφέρον όσων ήταν εκεί τόσο με το περιεχόμενό της όσο και με την εφαρμογή presenter (η οποία είναι ακόμη στα σκαριά – beta και δεν ήταν ευρέως γνωστή).

Παρόλο που η αρχική καθυστέρηση άφιξης σε τέτοιες συναντήσεις δημιουργεί προβλήματα (μιας και χάνει κανείς το αρχικό who-is-who αλλά και το «ζέσταμα» του κλίματος) μπορώ να πω πως οι κουβέντες που ακολούθησαν (τόσο με τους ομιλητές όσο και με το Γιώργο και τον Νίκο) ήταν αρκετά …διαφωτιστικές για τη λειτουργία και την ταυτότητα της κοινότητας…

Ελπίζω πάντως σε μια επόμενη συνάντηση (π.χ. στο επερχόμενο OpenCoffee) να είμαι στην ..ώρα μου!

Σύνθεση ομιλίας και cloud computing


H τεχνολογία σύνθεσης φυσικής ομιλίας βρίσκει από τα πρώτα βήματά της εφαρμογή και στην – υποβοηθητική συνήθως – μετατροπή ενός κομματιού κειμένου που εμφανίζεται στην οθόνη του υπολογιστή μας (είτε αυτό επιλέγεται (explicitly) από το χρήση είτε αυτόματα από εφαρμογές που προσπαθούν να ανιχνεύσουν τι είναι σημαντικό να ανακοινωθεί και τι όχι (screenreaders) σε ομιλία (Text To Speech – TTS). Πέρα από την απλή υποβοήθηση, τη διασκέδαση κλπ υπάρχουν βέβαια περιπτώσεις (όπως π.χ. τα ΑμεΑ με προβλήματα όρασης ή οι ηλικιωμένοι), όπου η τεχνολογία αυτή παίζει έναν πολύ ουσιαστικό ρόλο στη χρήση του υπολογιστή και κατ’επέκταση στη συμμετοχή στη Διαδικτυακή εμπειρία.

Η κίνηση της Ναυτεμπορικής να διαθέσει τη δυνατότητα «εκφώνησης» των άρθρων (βλ. Υπηρεσία AudioNews) που αναρτώνται στην ηλεκτρονική έκδοσή της μπορεί να έχει δυσκολίες να καλύψει πλήρως όλες τις παραπάνω ανάγκες (ειδικά όταν στον χώρο των υποστηρικτικών τεχνολογιών υπάρχουν πολύ εξειδικευμένα προϊόντα) αλλά πρόκειται για μια ενδιαφέρουσα πρόταση, η οποία μπορεί να χαρακτηριστεί συνέχεια των προσπαθειών του ΙΕΛ για Ομιλούντες Ιστοτόπους.

Η εφαρμογή κάνει χρήση των αντίστοιχων προϊόντων της innoetics. Με αξιοποίηση του flash streaming player Flowplayer, η κάθε σελίδα εμφανίζει το νέο ενώ παράλληλα εκκινεί το playback.

Ένα ενδιαφέρον χαρακτηριστικό της συγκεκριμένης υλοποίησης φαίνεται να είναι η αξιοποίηση των δυνατοτήτων ευέλικτης αποθήκευσης S3 που προσφέρει η πλατφόρμα Amazon AWS. Το κομμάτι κειμένου που αντιστοιχεί σε κάθε είδηση πιθανότατα μετατρέπεται offline (πιθανότατα κατά τη δημιουργία της, λιγότερο πιθανό με την πρώτη «ζήτηση» ώστε να αποφεύγονται τυχόν καθυστερήσεις) σε ήχο (mp3 φορμά), αποθηκεύεται στο «σύννεφο» της Amazon, από όπου το «ζητά» στη συνέχεια ο streaming player …

Οι τεχνολογίες αναγνώρισης και σύνθεση ομιλίας ανήκουν, πιστεύω, στην κατηγορία των εφαρμογών που είναι απαιτητικές (τόσο σε υπολογιστική ισχύ/μνήμη όσο και σε αποθηκευτικό χώρο)- τουλάχιστον) αλλά από την άλλη στις περισσότερες εφαρμογές τους εμφανίζονται φαινόμενα ακραίας ζήτησης και άλλοτε χαμηλής αξιοποίησης των πόρων (peak effects). Αυτό δείχνει να ταιριάζει με το μοντέλο της ευέλικτης δέσμευσης/αποδέσμευσης πόρων του Cloud Computing και ίσως στο μέλλον δούμε περισσότερες σχετικές υλοποιήσεις.

Cloud computing

Το cloud computing είναι μια επέκταση της ιδέας του grid computing, όπου μεγάλες/πολλές υπολογιστικές και αποθηκευτικές μονάδες διάσπαρτες γεωγραφικά γίνονται διαθέσιμες στους χρήστες μέσω του Δικτύου με έναν ενιαίο τρόπο (βασισμένο στo δημοφιλές μοντέλο των web services) διαχείρισης και αξιοποίησης των πόρων αυτών, δίνοντας όμως ιδιαίτερη έμφαση στις δυνατότητες δυναμικής και ευέλικτης επέκτασης (ή/και συρρίκνωσης) της χρήσης των πόρων αυτών (scalability) ανάλογα με τις ανάγκες των εφαρμογών που τους χρησιμοποιούν.

Αρκετές πλατφόρμες/υποδομές κινούνται πλέον προς την κατεύθυνση αυτή με δημοφιλέστερη αυτή τη στιγμή το Amazon EC2 ενώ τόσο η Sun όσο και η Google δείχνουν να έχουν μπει κι εκείνες δυναμικά στο χώρο (και το χορό).

Μια πρώτη σύγκριση της Amazon EC2 με το -εν μέρει για την ώρα – ανταγωνιστικό Google AppEngine μπορεί κανείς να βρει στο σχετικό άρθρο του Παναγιώτη.