Εντυπώσεις απο το 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 -ρετε!