Thursday, November 09, 2006

Εντυπώσεις απο το JBoss For Advanced J2EE developers


Το παρακάτω κείμενο είναι σκέψεις και εντυπώσεις απο το JBoss for Advanced J2EE developers εκπαιδευτικό σεμινάριο το οποίο είχα την τύχη (ευχαριστώ τον εργοδότη μου) να παρακολουθήσω, μιας και ήταν η πρώτη προσπάθεια στην Ελλάδα για την συγκεκριμένη εταιρία.
Αν είσαι από αυτούς που νομίζουν ότι α) είναι οι καλύτεροι β) οτι μπορούν να λύσουν το κάθε τους πρόβλημα απλά με το να ψάξουν στο internet γ) Πως το να μαθαίνεις για συγκεκριμένες τεχνολογίες ειναι σπατάλη ώρας και πόρων μιας και θές πάντα να ξέρεις τι γίνεται γενικά και όχι ειδικά! Τοτε μην διαβάζεις παρακάτω συνέχισε να ψάχνεις στο google για τις απαντήσεις που ψάχνεις και σου εύχομαι καλή τύχη στις τεχνολογικές σου αναζητήσεις.

Η παραπάνω παράγραφος ίσως ακούγεται κάπως ειρωνική αλλά δυστυχώς ή ευτυχώς περιγράφει μια γενική κατάσταση στον χώρο μας. Δεν το κρύβω ότι οι εντυπώσεις μου από το όλο πράγμα είναι άριστες και αν ψάξεις να βρείς παραγράφους με υπονοούμενα δεν θα βρεις, παρόλα αυτά θέλω να εξηγήσω γιατί έχω άριστες εντυπώσεις γιατί ενθουσιάστηκα!

Όταν λες ότι θα πάω να παρακολουθήσω το Σεμινάριο Α που είναι για την συγκεκριμένη τεχνολογία Α και μάλιστα η εταιρία που εργάζεσαι σε χρηματοδοτεί πάει να πει ότι ΌΛΟΙ οι εμπλεκόμενοι σε αυτή την διαδικασία έχουν κάτι να κερδίσουν και το κάνουν για ένα συγκεκριμένο σκοπό. Εσύ γιατί θα αναλάβεις να λύσεις ένα ως πολλά τεχνικά και πολύπλοκα προβλήματα βάση κάποιων εργαλείων και επιθυμείς να τα ξέρεις καλά, ο εργοδότης σου γιατί θέλει να δει το έργο το οποίο θέλει να υλοποιήσει να γίνεται πραγματικότητα.. ή για να είμαστε ρεαλιστές (θέλει να βοηθήσει οσο μπορεί) για να πάει καλά μια προσπάθεια του. Αν αναρωτιέσαι λοιπόν γιατί την τάδε τεχνολογία , πχ JBoss θα σου απαντήσω ότι για τις ανάγκες του X, Y προβλήματος είχε τα πιο πολλά πλεονεκτήματα. Δεν θέλω να αναλύσω συγκεκριμένα γιατί ψηφίζω και εγώ JBoss αυτό είναι για άλλο άρθρο - άποψη!

Επίσης ας ξεκαθαρίσουμε και κάτι άλλο που μπορεί να ακουστεί σαν κακία! Δηλαδή μετά το training αυτό έλυσες ολα σου τα προβλήματα; ΟΧΙ κυριοι, δεν έλυσα τα προβλήματα που έχω να αντιμετωπίσω ως developer ως project manager , κτλ κτλ και αύριο στο γραφείο θα έχω τα ίδια λιστα με requirement να σκεφτώ πως θα μετουσιωθούν σε ένα μηχανισμό που να δουλεύει, και αύριο πάλι θα αναγκαστώ να ανατρέξω στο google και σε κάποιο Wiki, η διαφορά είναι ότι θα έχω ένα επίπεδο παραπάνω (απο πριν) συσσωρευμένη γνώση για ένα απο τα βασικά μου εργαλεία, το γνώρισα καλύτερα και έχω τις ιδέες αλλά και τις συμβουλές για να μπορέσω να υλοποιήσω τα requirements μου πάνω του ..πιο γρήγορα και πιο ψαγμένα...να αποφύγω κάποιες άσχημες - άτυχες καταστάσεις που έρχονται μπροστά σου όταν κάνεις κάτι για πρώτη φορά. Ελπίζω λοιπόν να κατανοείς τι θέλω να πω.

Λοιπόν ας μιλήσουμε για το ιδιο το course. 4 μέρες βρέθηκα σε έναν άριστο χώρο μαζί με άλλους 5 ανθρώπους και τον instructor απο την μεριά του JBoss. Bonus 1 (μέτραγε) το καλό στην όλη υπόθεση ήταν ότι ο instructor ήταν o Project leader του JBoss Application Server (Δημήτρης Ανδρεάδης) και ένας εκ των core developer. Φαντάσου λοιπόν ότι μπροστά σου έχεις έναν άνθρωπο οποίος φτιάχνει αυτό το πράγμα , που κινεί αρκετή ΙΤ business μάζα ανα τον κόσμο! Ουτε κανένα πωλητή ούτε κάν έναν trained instructor ..συνηθως μέτριο developer με κονσέρβες παρουσιάσεις και κονσέρβες απαντήσεις. Άρα έχεις τις μεγαλύτερες πιθανότητες απο ποτέ να ρωτήσεις κάτι αρκετά ειδικό και να πάρεις την πιο σχετική και συγκεκριμένη απάντηση.

Το μάθημα περιελάμβανε θεωρητικά μαθήματα - παρουσιάσεις και μεταξύ των διάφορων συζητήσεων είχε και εργαστήριο. Lecture και Labs που λέγαμε στο πανεπιστήμιο. Θα αναφερθώ γι'αυτα συγκεκριμένα, αργότερα. Σκοπός των μαθημάτων ήταν να σου δώσει μια αρκετά λεπτομερή εικόνα για τον ιδιο τον Application Server (μιας και αυτός ειναι το κέντρο του ενδιαφέροντος μας) απο το πως υλοποιείς μηχανισμούς για να μπορεί να λέγεται certified j2ee application server.

Ξεκίνησαμε λοιπόν ένα ταξίδι από τα εσωτερικά του JBoss και την χρήση διάφορων τεχνικών και τεχνολογιών που χρησιμοποιεί βλέπε Dynamic Proxies JMX, τον πυρήνα του και την σχεδίαση του . Υλοποιήσεις και λεπτομέριες στο λεγόμενο Businnes Layer όπως ο τρόπος διαχείρισης και η λειτουργία του EJB Container...μετά μια καλή εισαγωγή στο EJB3. Συνέχισαμε με Aspects , JBoss Cache , TreeCache, JBoss Clustering και τελειώσαμε με security και finetuning!

Βρήκα ιδιαίτερα χρήσιμα για μένα και την δουλειά μου τις αναφορές για JMX και MBeans, εντυπωσιάστηκα απο τα παραδείγματα του JGroups και του Clustering! Οσο αναφορά το EJB3 νομίζω οτι είναι πραγματικά στον σωστό δρόμο όσο αναφορά την απλότητα, παρόλα αυτα το κομμάτι του persistence ακόμα για μένα δεν είναι τόσο καθαρό! Θα μπορούσα να συνεχίσω και να συνεχίσω γιατι ..οι τεχνολογίες που αναφέρθηκαν αυτές τις 4 ηταν πολλές και πάντα υπάρχει κάτι που μπορεί να σου έκανε εντύπωση ή να έλυσες μια απορία σου για κάποιο μελλοντικό implementation.

Άλλο ένα xtra bonus στην όλη προσπάθεια ήταν ότι παρότι το μικρό αριθμό developers στο μάθημα είχαμε την ευκαιρία να συζητήσουμε μεταξύ μας διάφορα προβλήματα μερικές φορές κοινά προβλήματα σε επίπεδο υλοποιήσεων αλλά και να ακούσουμε πιθανές λύσεις ή προτάσεις. Πάντα διαφορετικές απόψεις και οπτικές σε βοηθάνε να αποκτήσεις μια καλύτερη εικόνα για το πως υλοποιούν άλλοι μια λύση και πόσο καλά τα έχεις πάει εσύ!

Δεν μπορώ να μην αναφέρω την καλή διάθεση του instructor να συζητήσει και να σου απαντήσει ερωτήσεις που μερικές φορές ήταν σχετικές με την θεματολογία εκείνη την στιγμή ή να γίνει ένας σύντομος σχολιασμός πάνω σε θέματα συγκεκριμένης υλοποίησης που μπορεί να σε απασχολούσε! Σίγουρα αυτό είναι xtra bonus και μερικές παρατηρήσεις και συμβουλές απο έναν άνθρωπο που γράφει κώδικα για τον Application Server που στήνεις όλη την λύση σου δεν μπορεί να αγνοηθεί!

Απο την αρχή μας δόθηκε ένα καλά οργανωμένο βιβλίο με όλες τα slide των παρουσιάσεων. Τα slide ήταν αρκετά λεπτομερή και είχαν αρκετά πιο μεγάλη λεπτομέρεια σε σχέση με άλλες παρουσιάσεις που μπορείς να βρεις στο Internet.Σίγουρα ένα αρκετά καλής ποιότητας reference book! Όπως και ιδιαίτερα χρήσιμος θα είναι ο κώδικας απο τα διάφορα lab ο οποίος σε μερικές περιπτώσεις μπορεί να αποτελέσει βάση για δικές σου τεχνολογικές αναζητήσεις!

Κάτι το οποίο ήταν ιδιαίτερα σημαντικό ήταν και η γρήγορη εικόνα που αποκτήσαμε για το πως 'φιαχνετε ο Jboss΄. Μας έγινε μια παρουσίαση των υπηρεσιών που χρησιμοποιουν οι JBoss developers, εντυπώσεις και ερωτήσεις για το πως τόσα άτομα σε διαφορετικές μεριές του κόσμου οργανώνοντε με έναν μαγικό τρόπο και παράγουν αρκετά καλής ποιότητας λογισμικό! Στην αρχή λες ότι μπορεί και να μην γίνεται αυτό και όμως με τα απαραίτητα εργαλεία και το σωστό attitude ταλαντούχοι άνθρωποι (πιστεψτε με αρκετά πιο ταλαντουχοι..απο τον μέσο J2EE developer ίσως και απο τον καλο J2EE developer) χτίζουν έναν απο τους καλύτερους J2EE Application servers.

Να μην ξεχάσουμε και το άψογο service οσο αναφορά τον χώρο, το φαγητό τα οποία έκανα την ολη διαδικασία πιο ευχάριστη για όλους κάθε μέρα! Στο τέλος του σεμιναρίου σε χρόνο ρεκόρ μας έστειλαν και επίσημο χαρτί παρακολούθησης απο τον Jboss (ένα μικρό ενθύμιο αλλά με μεγάλη σημασία).

Επαναλαμβάνω ένα τέτοιου είδους σεμινάριο δεν σου λύνει αυτόματα όλες τις ελλείψεις ή άγνοια που μπορεί να έχεις με τεχνολογίες. Αυτό είναι ένα θέμα που εξαρτάτε από σένα και την διάθεση σου να κάνει οσο πιο καλά μπορείς την δουλειά σου. Σου δίνει όμως μια καλή κατανόηση για πολλές και διαφορετικές τεχνολογίες οι οποίες κακά τα ψέματα δεν μαθαίνονται σε μια μέρα παρόλα αυτά τις έχεις δει συντομα in action και άκουσες μερικές συμβουλές από τους...'Pro'...και όχι από τους κονσερβοκούτι παρουσιαστές! Μετά από αυτό το σεμινάριο απέκτησα την καλύτερη γνώμη για παρόμοιες προσπάθειες και ειναι αρκετά πιθανό το επόμενο σεμινάριο να το χρηματοδοτήσω μόνος μου μιας και θεωρώ ότι η ποσότητα γνώσης και η ποιότητα που σου προσφέρει είναι πραγματικά υπέρ για κάθε επαγγελματία που θέλει να προσφέρει καλή κατανόηση των εργαλείων που θα χρησιμοποιήσει για να λύσει δύσκολα θέματα.


Ευχαριστώ για τον χρόνο σας..ελπίζω να μην έγινα κουραστικός και ελπίζω να μετέδωσα σε λογικό βαθμό τα θετικά συμπεράσματα μου.Όχι δεν τα παίρνω απο τον Jboss (μακάρι δηλαδή χαχαχα) . Για μένα σειρά έχει το JavaPolis και με αρκετό ενδιαφέρον (το σκέφτομαι σοβαρα) το Jboss for web developers το Πάσχα στο Λονδίνο!


Καλά να java -ρετε!

No comments:

Post a Comment