Showing posts with label books. Show all posts
Showing posts with label books. Show all posts

Aug 6, 2015

Αποτελέσματα του skill up survey της Packt και νέες προσφορές

Τον Ιούνιο η Packt διοργάνωσε ένα ερωτηματολόγιο (survey) για το ποιές είναι οι τάσεις της τεχνολογίας που διαβλέπει καθένας από εμάς καθώς και τα εργαλεία που αναμένουμε να παίξουν σημαντικότερο ρόλο στο μέλλον. Τα αποτελέσματα αυτής της έρευνας βρίσκονται εδώ. Σε ένα πολύ αναλυτικό report, με πολλά γραφήματα, βλέπουμε τις τάσεις όπως αποτυπώνται εκ μέρους των developers.

Στα πλαίσια της προσωπικής εκπαίδευσης και του skill up, μέχρι τις 7 Αυγούστου η Packt προσφέρει:
1.     Οποιοδήποτε eBook και video στα $10, με τα top-20 εδώ
2.     Διάθεση course bundles σε εξαιρετικές τιμές
3.     Και φυσικά η PacktLib διαθέτει πάνω από 3000 τίτλους σε πολύ καλές τιμές

May 7, 2015

Συμβαίνει σήμερα όλα τα e-books της Packt με 10$ !

Συμβαίνει σήμερα όλα τα e-books της Packt με 10$ !

Μόνο για σήμερα η Packt Publishing προσφέρει πάνω από 3000 τίτλους e-books στην τιμή των 10$ ! Υπάρχουν αρκετοί τίτλοι για σύγχρονα θέματα όπως Docker, AngularJS, Raspberry Pi που προκαλούν μεγάλο ενδιαφέρον.

Περισσότερες πληροφορίες για την προσφορά στο: http://bit.ly/1EPTWy1

Dec 22, 2014

Φοβερή προσφορά της Packt! 5$ κάθε e-book / video μέχρι τις 6 Ιανουαρίου

Τα Χριστούγεννα και η Πρωτοχρονιά είναι μια πολύ καλή περίοδος να διαβάσουμε ένα βιβλίο ή να θέσουμε τους στόχους για προϊόντα ή τεχνολογίες που θα επικεντρωθούμε την επόμενη χρονιά. Με αυτό το σκεπτικό, είναι πολύ ενδιαφέρουσα η προσφορά της Packt Publishing για την αγορά οποιουδήποτε και οσωνδήποτε e-book ή video, έως τις 6 Ιανουαρίου, στην τιμή των 5 δολαρίων το καθένα!
http://bit.ly/1w1Vkps
Για εκείνους που ασχολούνται με την Oracle, μερικές ιδέες:

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

Jul 1, 2014

10$ κάθε βιβλίο της Packt ως τις 5 Ιουλίου !

Ο εκδοτικός οίκος της Packt έχει ήδη συμπληρώσει 10 χρόνια ζωής, έχοντας αμέτρητα τεχνικά βιβλία. Στα πλαίσια του εορτασμού, έως την 5η Ιουλίου προσφέρονται όλα τα βιβλία στην τιμή των 10$ το καθένα!

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

Ανάμεσα στους πιο πρόσφατους τίτλους, ξεχωρίζουν hot topics όπως "Mastering Java Server Faces 2.2", "Extending Puppet", "Mastering AngularJS Directives", "Node.js Blueprints", "Mastering Clojure Data Analysis", "Application Development in iOS 7", "Scala for Java Developers" κ.α.

Mar 21, 2014

e-book προσφορά για τους 2000 τίτλους της Packt

Έχει περάσει κάτι παραπάνω από ενάμιση χρόνος από μια προσφορά της Packt για τους 1000 τίτλους της. Πολύ σύντομα όμως οι τεχνικοί τίτλοι της Packt κοντεύουν να ξεπεράσουν τους 2000 και έχουμε να κάνουμε με μια νέα προσφορά ως τις 26 Μαρτίου: με κάθε αγορά ενός e-book, παίρνουμε άλλο έναν δωρεάν ! Μερικοί πρόσφατοι τίτλοι που μου κινούν τον ενδιαφέρον είναι:

Για περισσότερες λεπτομέρειες ανατρέξτε στο http://bit.ly/1j26nPN

Oct 16, 2013

50% έκπτωση σε όλα τα e-books της Packt μέχρι τις 17 Οκτωβρίου !

Στα πλαίσια του εορτασμού της ημέρας του Κολόμβου, η Packt Publishing προσφέρει έκπτωση σε όλα τα e-books και videos της τάξης του 50%. Το μόνο που θα χρειαστεί κανείς είναι να κάνει κλικ σε αυτό το link και να χρησιμοποιήσει το discount code COL50.

Κοιτώντας τους νέους τίτλους της Packt σε σχέση με τα Oracle προϊόντα έχουμε:

May 31, 2013

Ένα βιβλίο για όσους ξεκινούν στο Oracle ADF (Oracle ADF 11gR2 Development Beginner's Guide)

Η τελευταία κριτική μου για βιβλίο σχετικό με το ADF ήταν πριν περίπου έξι μήνες. Κοιτάζοντας πίσω στο χρόνο φαίνεται πως περίπου κάθε εξάμηνο τα τελευταία 2-3 χρόνια έχουμε μια νέα κυκλοφορία σχετικά με το ADF είτε από την Packt είτε από την Oracle Press. Ενώ όμως αφθονούν οι τίτλοι για προχωρημένα θέματα ή μεθοδολογίες στο ADF, αυτό που επίσης χρειάζεται είναι ένας οδηγός για αυτούς που ξεκινούν τώρα με το framework, μιας και το επίσημο documentation της Oracle (developer's guide) μάλλον δεν είναι πολύ φιλικό για μια πρώτη επαφή. Χρειάζονται βιβλία λοιπόν που να εξηγούν με απλά λόγια και παραδείγματα το πώς λειτουργεί το ADF, ώστε διαβάζοντας το κάποιος "πρωτάρης" σε μικρό χρονικό διάστημα να προσανατολιστεί πάνω στο framework. Ένα αντίστοιχο βιβλίο, και μάλιστα πολύ καλό για την εισαγωγή στον προγραμματισμό στο ADF είναι το "Quick start Oracle Fusion Development" του Grant Ronald.

Πρόσφατα, κυκλοφόρησε και το "Oracle ADF 11gR2 Development Beginner's Guide", με συγγραφέα τον Vinod Krishnan, από την Packt Publishing που απευθύνεται σε τεχνικούς που κάνουν την πρώτη τους γνωριμία με το ADF, χωρίς να απαιτούνται ειδικές γνώσεις, πέρα από τις βασικές του προγραμματισμού σε Java. Ο ρυθμός που είναι καλός, είναι πλούσιο σε παραδείγματα και screenshots, αλλά υπάρχουν και φορές που καταπιάνεται με ειδική τεχνική λεπτομέρεια, που δεν είναι ίσως απαραίτητη ή χρήσιμη σε κάποιον που κάνει τα πρώτα βήματα του στο ADF. Η δομή του βιβλίου είναι ως εξής: περιλαμβάνει έντεκα κεφάλαια. Τα θέματα αναπτύσσονται με την μορφή: περιγραφή του ζητήματος, εκτέλεση της διαδικασίας (time for action), επεξήγηση του πώς δουλεύει η λύση (what just happened ?) και πρόκληση στον αναγνώστη για περαιτέρω εξερεύνηση στην ενότητα "Have a go hero". Τέλος, κάθε κεφάλαιο κλείνει με την μορφή ανακεφαλαιωτικό ερωτήσεων (quiz) Ας δούμε λοιπόν την ύλη του σε λεπτομέρεια.

Το πρώτο κεφάλαιο ("Installing and Configuring JDeveloper IDE") αφιερώνεται στην εγκατάσταση και λειτουργία του JDeveloper, στα μενού, τα παράθυρα, τους συντάκτες κειμένου που διαθέτει και την εν γένει "φιλοσοφία" του. Είναι πραγματικά πολύ κατατοπιστικό και χρήσιμο για κάποιον που προέρχεται από κάποιο άλλο IDE (πχ Eclipse ή Oracle Forms) ώστε να μπορέσει γρήγορα να εξοικειωθεί και να γίνει παραγωγικός, κάτι που φυσικά θέλει τον χρόνο του. Το δεύτερο κεφάλαιο ("Getting Started with ADF") εξηγεί σε βασικές γραμμές την αρχιτεκτονική του ADF και αναλύει, από την αρχή ως το τέλος, ένα παράδειγμα ανάπτυξης μιας μικρής εφαρμογής σε ADF, με πολύ αναλυτικά βήματα και screenshots. Το κεφάλαιο τρία ("Understanding the Model Layer") εστιάζει στα ADF Business Components (entities, view objects, application modules) και διαθέτει έναν πολύ αναλυτικό οδηγό για τις επιλογές στις οθόνες παραμετροποίησης του ADF (declarative programming) Το αμέσως επόμενο κεφάλαιο ("Validating and Using the Model Data") δίνει παραδείγματα validations με δηλωτικά χαρακτηριστικά και με Groovy expressions και στο δεύτερο μισό του αναφέρεται στον επηρεασμό της συμπεριφοράς του framework με την χρήση Java καθώς και στον χειρισμό των transactions. Είναι ένα πολύ σημαντικό κεφάλαιο, που ίσως να χρειάζεται περισσότερη απλοποίηση στην περιγραφή.

Το κεφάλαιο πέντε ("Binding the Data") είναι πραγματικά ένα θαυμάσιο κεφάλαιο γιατί επεξηγεί με ακρίβεια και λεπτομέρεια τον μηχανισμό των data bindings που είναι από τα πιο παράξενα πράγματα για έναν newcomer στον κόσμο του ADF. Το επόμενο κεφάλαιο μας εισάγει στο web programming με τα ADF Faces κάνοντας χρήση templates και δίνοντας μια σύντομη παράθεση των user interface components και των ιδιοτήτων τους. Αισίως, το κεφάλαιο επτά ("Working with navigation flows") μας παρουσιάζει τον ADF Controller και κατά επέκταση τα ADF task flows. Υπάρχει επίσης μια σύντομη αναφορά στα ADF regions και στο lifecycle. Προχωρώντας στο κεφάλαιο οκτώ ("Layout with Look and Feel") έχουμε μια ανάλυση του τρόπου παραμετροποίησης της εμφάνισης των σελίδων με την χρήση ADF skins. Επίσης, αμέσως μετά στο "Implementing Security" θα βρούμε απλά παραδείγματα ενσωμάτωσης security σε ADF εφαρμογές. Το προτελευταίο κεφάλαιο ("Deploying the ADF application") είναι πολύ χρήσιμο γιατί περιγράφει τη δομή των ADF distributables, την αξιοποίηση των ADF libraries, του MDS καθώς και της ρύθμισης του embedded Weblogic Server. To τελευταίο κεφάλαιο ("Advanced features of ADF") αναλύει μερικά από τα πιο προχωρημένα θέματα όπως optimizations για ADF BC, contextual events, MDS customization, JDeveloper extensions κ.α που σπάνια βρίσκονται συγκεντρωμένα σε ένα βιβλίο.

Η γενική γνώμη μου είναι πως το Oracle ADF 11gR2 Development Beginner's Guide είναι ένα χρήσιμο βιβλίο, προκειμένου κάποιος να μάθει γρήγορα και με απλό τρόπο τα βασικά του ADF. Τα αναλυτικά παραδείγματα του καθενός κεφαλαίου συνοδεύονται με το online code appendix που επίσης βοηθάει στο να δοκιμάσει κάποιος τις λύσεις στον JDeveloper. Από την άλλη μεριά, κάποιες προσθέσεις θα το έκαναν ακόμα καλύτερο. Για παράδειγμα τα βασικά που ζητάει οποιοσδήποτε που ξεκινά με το ADF όπως δημιουργία search forms και κριτηρίων, συνδυαστικά (join) view objects, βασικός προγραμματισμός σε JSF και πρόσβαση στα bindings κλπ ή οι αναλογίες με άλλα Java/.NET ή Oracle Forms frameworks..

May 1, 2013

Κριτική για το Oracle SOA Suite 11g Developer's Cookbook

Μια πρόσφατη κυκλοφορία στους σχετικούς τίτλους με τα προϊόντα τεχνολογίας της Oracle, είναι το Oracle SOA Suite 11g Developer's Cookbook, με συγγραφείς τους Antony Reynolds και Matt Wright, που εκδίδεται από τη Packt Publishing.

Οι συγγραφείς, διαθέτουν ένα πολύ αναλυτικό και περιεκτικό στυλ γραφής, και μεταξύ των άλλων, είχαν γράψει και το εξαιρετικό  "Oracle SOA Suite 11g Developer's Guide" για το οποίo είχα κάνει κριτική το 2010. Tο παλαιότερο τους βιβλίο σχετικά με την SOA σουϊτα της Oracle, εξερευνούσε σε βάθος τα διάφορα συστατικά στοιχεία της (πχ, BPEL, Business Rules, Mediator, κλπ) και ήταν ένα πολύ καλό διάβασμα για την κάλυψη όλης της πλατφόρμας και την εκκίνηση του προγραμματισμού σε αυτήν. Σχεδόν τρία χρόνια μετά, ο νέος τίτλος παρουσιάζει παραδείγματα - λύσεις ή αλλιώς "συνταγές" σε διάφορα συχνά συναντόμενα θέματα σχετικά με το SOA Suite. Η δομή κάθε συνταγής, ακολουθεί δομή: περιγραφή θέματος, λύση (how-to), επεξήγηση το πώς λειτουργεί η λύση και αναφορά σε περισσότερες πληροφορίες. Θα έλεγα πως απευθύνεται σε ανθρώπους, προγραμματιστές και αρχιτέκτονες, που ήδη έχουν αρκετή εμπειρία χρήσης του Oracle SOA Suite και θέλουν να βρουν συγκεντρωμένα παραδείγματα για βασικά θέματα ή σχεδιαστικά μοτίβα (patterns) Αυτό που επίσης θεωρώ πολύ μεγάλο πλεονέκτημα του βιβλίου, είναι πως στην πλειοψηφία τους οι 67 συνταγές συνοδεύονται από πηγαίο κώδικα: ένα αντίστοιχο JDeveloper ή Eclipse (για το Oracle Service Bus) project ώστε να μπορεί κάποιος άμεσα να τις δοκιμάσει και να τις επεκτείνει, χωρίς να χάσει καθόλου χρόνο. Ας δούμε σε σύντομη περιγραφή τα περιεχόμενα του βιβλίου:

Το κεφάλαιο 1 ("Building an SOA Suite Cluster") βουτάει κατευθείαν στα βαθιά και συμπληρώνει το Enterprise Deployment Guide με κάποιες βέλτιστες πρακτικές (best practices) τη διαδικασία εγκατάστασης ενός SOA Suite Cluster, σχετικά με το λειτουργικό σύστημα, τη βάση δεδομένων, το δίκτυο και τους servers αυτούς καθαυτούς. Στο δεύτερο κεφάλαιο ("Using the Metadata Service to Share XML Artifacts") δίνονται άφθονα παραδείγματα χρήσης του MDS (πχ. για abstract WSDL binding, για event subscription, κλπ) για loose coupling ενώ προσφέρεται και μια καλή αναφορά στα εργαλεία διαχείρισης του metadata repository. To κεφάλαιο 3 ("Working with Transactions") επικεντρώνεται στις δυνατότητες χειρισμού transactions από την πλευρά του BPEL, περιγράφοντας διάφορα σενάρια. Ενδιαφέρον είναι το κεφάλαιο 4 ("Mapping Data") που μιλάει για XSLT transformation και συχνά λάθη. Το δεύτερο μισό του κεφαλαίου ασχολείται με το προχωρημένο θέμα της παραμετροποίησης του Java το XML mapping, όταν πρόκειται να ενσωματώσουμε ένα EJB και σύνθετους τύπους δεδομένων στο composite μας.

Το κεφάλαιο 5 ("Composite Messaging Patterns") ασχολείται με διάφορα εξελιγμένα μοτίβα ανταλλαγής μηνυμάτων με ένα composite, όπως της συγκέντρωσης μηνυμάτων, της λειτουργίας singleton, ή του χρονοπρογραμματισμού (scheduling) εργασιών με βάση το προϊόν που έχουν αναπτύξει οι συγγραφείς.

Τα επόμενα τρία κεφάλαια επικεντρώνονται στο Oracle Service Bus. Το κεφάλαιο 6 ("OSB Messaging Patterns") εξετάζει αντίστοιχα μοτίβα ανταλλαγής μηνυμάτων (πχ dynamic binding, split out, split-join, κλπ) ενώ το επόμενο ("Integrating OSB with JSON") δίνει διάφορα πολύ πρακτικά παραδείγματα επικοινωνίας με JSON services. Το κεφάλαιο 8 ("Compressed File Adapter Patterns") αναφέρεται στην υλοποίηση της συμπίεσης αρχείων στο επίπεδο του service bus. Στο OSB είναι αφιερωμένο και το κεφάλαιο 12 ("Configuring OSB to use foreign JMS Queues") και περιγράφει τη διασύνδεση με queues στον Oracle Application Server, το Weblogic ή το JBoss.

Το κεφάλαιο 9 ("Integrating Java with SOA Suite") εξετάζει τη διασύνδεση με Java σε επίπεδο composite με Spring beans, EJBs αλλά και τη δυνατότητα κατασκευής ενός custom XPath function, κάτι που είναι συχνά πολύ χρήσιμο. Το επόμενο κεφάλαιο ("Securing Composites and Calling Secure Web Services") αναφέρεται σε παραδείγματα στα policies και στην αποθήκευση κλειδιών στο credential store. Το κεφάλαιο 11 ("Configuring the Identity Service") δίνει τα πολύ βασικά της διασύνδεσης με συστήματα αυθεντικοποίησης όπως Oracle Internet Directory, Active Directory, κλπ. Τέλος, στο κεφάλαιο "Monitoring and Management" δίνεται προσοχή στα στατιστικά του Enterprise Manager και στην χρήση του BAM adapter σε μια διεργασία BPEL.

Σε γενικές γραμμές, το SOA Suite 11g Developer's Cookbook είναι ένα ανεκτίμητο βιβλίο για όποιον προγραμματίζει στο Oracle SOA Suite. Περιέχει πολλά παραδείγματα για διάφορες πτυχές της σουϊτας και η παροχή του code appendix είναι ανεκτίμητη ώστε να στηθεί πολύ γρήγορα ένα test case. Επίσης, τα κεφάλαια είναι καλά καταμερισμένα σύμφωνα με την πραγματική χρήση τους: τέσσερα αφορούν το service bus, τρία το BPEL, και τα υπόλοιπα γενικά ως προς την αρχιτεκτονική μιας λύσης.

Dec 16, 2012

Αναλυτική κριτική για το βιβλίο "Oracle ADF real world developer's guide"

Μετά από ένα μήνα περίπου blog-σιωπής λόγω άφθονων υποχρεώσεων, ας επανέλθουμε με την επισκόπηση ενός βιβλίου που είχαμε προαναγγείλει εδώ και καιρό. Πρόκειται για το "Oracle ADF real world developer's guide" του Jobinesh Purushothaman. Πρόκειται για τον νεώτερο τίτλο στην ADF βιβλιογραφία που καλύπτει την έκδοση 11g R2, και είναι γραμμένο από έναν άνθρωπο που γνωρίζει όσο λίγοι το framework. Ο Jobinesh  διαθέτει ένα εξαιρετικά επιτυχημένο blog που είναι μάλλον αδύνατον κάποιος να ασχολείται με το ADF και να μην έχει ανατρέξει κάποια στιγμή στο blog του. Ένας επιπλέον λόγος αναφοράς αυτού του τίτλου είναι πως  ένας από τους reviewers είναι ένας εξαιρετικός συνάδελφος και συνεργάτης, ο Δημήτρης Στασινόπουλος που εξίσου διατηρεί ένα δημοφιλές blog.

Είναι ενδιαφέρον να αντιπαραβάλει κάποιος το συγκεκριμένο βιβλίο με το επίσημο developer's guide της Oracle που εξάλλου μετράει γύρω στις 1820 σελίδες. Σε πρώτη φάση, η δομή των κεφαλαίων του βιβλίου ακολουθεί αυτή της επίσημης τεκμηρίωσης. Υπερτερεί όμως σε παραδείγματα και άφθονο πηγαίο κώδικα. Καλύπτει με λεπτομέρειες πολλά από τα ενδότερα στοιχεία του framework που δεν έχουν αναφερθεί αλλού όπως για παράδειγμα το πώς δουλεύει το locking, η διαχείριση transactions, το ADF lifecycle, χρησιμοποιούμενα αρχεία metadata και άλλα πολλά. Ιδιαίτερη έμφαση έχει δοθεί επίσης στα ADF Java APIs. O Jobinesh όταν αναφέρεται σε ένα θέμα πολύ συχνά περιγράφει σε πολύ αναλυτικό βαθμό και με παραδείγματα τα διαθέσιμα APIs και την ακολουθία εκτέλεσης τους στο runtime δίχως να αφήσει τίποτα ασχολίαστο. Από την άλλη, για θέματα που που είναι ήδη αρκετά καταγεγραμμένα στην επίσημη τεκμηρίωση είτε σε online πηγές δίνεται μια σύντομη περιγραφή και άμεσες παραπομπές ώστε να αποφεύγονται επαναλήψεις. Τέλος, αξίζει να αναφερθεί πως στα  σχετικά code downloads περιλαμβάνονται όλα τα παραδείγματα του βιβλίου, κάτι που δεν συμβαίνει με όλους τους τίτλους της Packt, και είναι εξαιρετικά χρήσιμο.

Τα περιεχόμενα του βιβλίου περιλαμβάνουν δώδεκα κεφάλαια, τα μισά από τα οποία αναφέρονται στα ADF BC, τα υπόλοιπα τέσσερα στα ADF Faces και στον ADF Controller. Υπάρχουν και δυο μεικτά κεφάλαια σχετικά με validations και best practices. Η εμμονή στην τεχνική λεπτομέρεια κάνει το βιβλίο πολύ χρήσιμο για μεσαίου και ανώτερου επιπέδου προγραμματιστές του ADF, αλλά σε καμία περίπτωση δεν θα το συνιστούσα για πρώτο ανάγνωσμα σε 4GL (Forms) ή Java/JEE developers.

To πρώτο κεφάλαιο ("Getting started with Oracle ADF") περιγράφει στα γρήγορα έναν κύκλο ανάπτυξης σε ADF καθώς και συνοδευτικά εργαλεία δίνοντας αναλογίες με ένα σύγχρονο JEE τρόπο προγραμματισμού. Έπειτα ("Introduction to ADF Business Components") περιγράφονται με συντομία τα ADF BC καθώς και οι διαδικασίες ανάκτησης δεδομένων (queries) και οριστικοποίησης αλλαγών (commit) πάντα φυσικά με UML sequence διαγράμματα και πολλές λεπτομέρειες. Συνεχίζουμε με την περιγραφή των entity objects (κεφάλαιο 3) και των view objects (κεφάλαιο 4) καλύπτοντας εξαιρετικά όλες από τις δυνατότητές τους τόσο σε δηλωτικό (declarative) όσο και σε προγραμματιστικό επίπεδο. Η διαχείριση του κύκλου ζωής entities και view objects είναι αντικείμενο του "Advanced Concepts on Entities Objects and View Objects" όπου γίνεται μια θαυμάσια παρουσίαση και των σχετικών APIs τόσο για transactions όσο και για queries. Εξίσου ενδιαφέρον είναι και το κεφάλαιο για τα Application Modules, καλύπτοντας διάφορες πτυχές παραμετροποίησης (tuning parameters, shared modules, passivation, savepoints, κ.α.)

Στο κεφάλαιο "Binding Business Services with the User Interface" μαθαίνουμε πολλά για τους διάφορους τύπους ADF bindings, τα metadata αρχεία τους και τη διασύνδεση με Servlets. Μετά ("Building Data Bound Web User Interfaces") περιγράφονται ανάμεσα στα άλλα συνοπτικά τα components των ADF Faces και το δέσιμο τους με το ADF model, οι iterators και η σύνθετη διαμόρφωση των ADF query panels. Τα κεφάλαια 9 και 10 αναφέρονται στα ADF task flows, στο transaction management τους, στα regions, στα trains καθώς και μια ενδιαφέρουσα αναφορά στα savepoints. Στο "More on Validations and Error Handling" βλέπουμε λεπτομέρειες στον χειρισμό τους στο επίπεδο των ADF Faces και του ADF Model σε σχέση με τον κύκλο ζωής τους. Το κεφάλαιο 12 ("Oracle ADF Best Practices") συμπυκνώνει αρκετές πρακτικές οργάνωσης και επιλογές παραμετροποίησης για την καλύτερη απόδοση και επεκτασιμότητα των ADF εφαρμογών και έτσι κλείνει ιδανικά το βιβλίο.

Για όσους λοιπόν θέλουν να επεκτείνουν τις γνώσεις τους στο ADF, να καταλάβουν την εσωτερική λειτουργία των δυνατοτήτων του καθώς και να μάθουν πολλές δυνατότητες παραμετροποίησης (και αντίστοιχα APIs) τότε αυτό το βιβλίο είναι σταθμός. Ο Jobinesh περιγράφει αναλυτικά κάθε γνώρισμα σε μεγάλο βάθος δίνοντας πολλαπλές προοπτικές, προβλέποντας πιθανές ερωτήσεις του αναγνώστη. Πιστεύω μάλιστα πως το βιβλίο θα ήταν ακόμα πιο ισχυρό αν περιελάμβανε περισσότερες λεπτομέρειες σχετικά με τα ADF Faces αλλά και εξίσου προηγμένες δυνατότητες όπως τη χρήση javascript, θέματα ασφάλειας, personalization, κ.α. που μερικές φορές θα καταφύγει κάποιος σε ένα έργο με βάση αυτή την τεχνολογία.

Sep 24, 2012

Ένα δώρο έκπληξη για τους 1000 τίτλους της Packt Publishing

Έχω συχνά γράψει αρκετές κριτικές (εννιά τον αριθμό!) για βιβλία της Packt Publishing τόσο σε αυτό το blog όσο και στο Amazon. Τα τελευταία χρόνια η Packt προσφέρει αναρίθμητους τίτλους σε σχέση με τα τεχνολογικά προϊόντα της Oracle και πραγματικά βοηθάει πολύ στην εμπέδωση και στην καλύτερη αξιοποίηση σύνθετων τεχνολογιών. Γιορτάζοντας λοιπόν τους 1000 τίτλους της, η εταιρεία σκοπεύει να προσφέρει ένα δώρο έκπληξη, όπως περιγράφεται σε αυτό το press release, σε όλους τους νυν εγγεγραμμένους χρήστες ή σε καινούργιους που θα ενταχθούν ως τις 30 Σεπτέμβρη 2012. Το link για την εγγραφή στο site της Packt είναι το http://www.packtpub.com/login ενώ το δώρο θα ανακοινωθεί και θα είναι διαθέσιμο μεταξύ 28 και 30 Σεπτέμβρη. Ανυπομονώ να μάθω περί τίνος πρόκειται !

Aug 13, 2012

Ένα βιβλίο για τα νέα χαρακτηριστικά του Weblogic 12c

Ένα βιβλίο που πρόσφατα έπεσε στα χέρια μου είναι το "Oracle WebLogic Server 12c: First Look", από τον Michel Schildmeijer, που εκδίδεται από την Packt Publishing.
Στις περίπου 120 σελίδες του, αναλαμβάνει να προσφέρει μια γρήγορη ματιά στα καινούργια χαρακτηριστικά του Weblogic 12c, περιγράφοντας παράλληλα επιγραμματικά την διασύνδεση με άλλα προϊόντα της οικογένειας 12c, όπως είναι o Enterprise Manager ή το Exalogic. Και θεωρώ πως επιτυγχάνει το στόχο του πολύ καλά: προσφέρει ένα ταχύρυθμο reference για έμπειρους διαχειριστές αλλά και προγραμματιστές του Weblogic ώστε να εγκλιματιστούν πολύ σύντομα στο περιβάλλον του 12c, να εντοπίσουν διαφορές από προηγούμενες εκδόσεις, να προσδιορίσουν τις δυνατότητες που θέλουν να αξιοποιήσουν και στο τέλος να ανατρέξουν στο επίσημο documentation για περισσότερες λεπτομέρειες. Θα έλεγα πως καλύπτει πολύ καλά ένα μεγάλο κενό, καθώς η παρουσίαση των νέων χαρακτηριστικών του Weblogic 12c (http://docs.oracle.com/cd/E24329_01/web.1211/e24494/toc.htm και http://wcc.on24.com/event/37/57/27/rt/1/documents/player_docanchr_2/wls_12c_launch_webcast_final_11_15_11v2_.pdf) είναι μάλλον πολύ φτωχή σε λεπτομέρειες. Η παρουσίαση του υλικού του βιβλίου γίνεται είτε με ειδικές παραγράφους είτε με την μορφή bullet points, γεγονός που κάνει το βιβλίο πολύ ευκολοδιάβαστο. Ας δούμε εν συντομία το περιεχόμενο των κεφαλαίων:

Στο πρώτο κεφάλαιο ("Ready for the Cloud") γίνεται μια σύνοψη των νέων χαρακτηριστικών του Weblogic 12c, της υποστήριξης του από περιβάλλοντα προγραμματισμού (IDEs) καθώς και άλλων συγγενικών στοιχείων της πλατφόρμας (πχ Traffic Director, Coherence, κλπ) Το δεύτερο κεφάλαιο ("Supporing the Java EE 6") εστιάζει στον JEE 6 πυρήνα του Weblogic, δίνοντας μάλιστα και μερικά, μικρά παραδείγματα στα συστατικά στοιχεία του προτύπου (JSF, EJB, Servlets, REST-υποστήριξη κλπ) Θέματα εγκατάστασης και διαμόρφωσης βλέπουμε στο κεφάλαιο "Deployment, Installation and Configuration Features", που διαπραγματεύεται πολύ συνοπτικά την εγκατάσταση του Weblogic (πλήρης ή από zip file), την μετάπτωση από προηγούμενες εκδόσεις ή από Glassfish ή Oracle Application Server, την υποστήριξη του Oracle Enterprise Pack for Eclipse (OEPE 12c), του Maven, του CAT (Classloading Analysis Tool) Ένα εξαιρετικό κεφάλαιο ακολουθεί ("Integrated and External Services") που περιγράφει το Active Gridlink για RAC, διαφορές για το JDBC, JMS, security καθώς και τα Web Services.

Τα τελευταία δυο κεφάλαια δεν θα έλεγα πως ανήκουν στον σκληρό πυρήνα χαρακτηριστικών του Weblogic αλλά έχουν να κάνουν με τη διασύνδεση του με άλλα προϊόντα της πλατφόρμας. Το κεφάλαιο 5 ("Integration and Management with Enterprise Manager 12 Cloud Control") έχει καλά παραδείγματα για το Weblogic 12c provisioning and cloning, τα διαγνωστικά και την παρακολούθηση του Weblogic εκ μέρους του EM 12c. To δε τελευταίο κεφάλαιο ("Oracle Weblogic 12c to the Cloud: Exalogic") εστιάζει στην υποδομή του Exalogic, την ειδική υποστήριξη από τον Weblogic καθώς και συνοδευτικά προϊόντα (πχ Tuxedo, Coherence, Virtual Assembly Builder, Traffic Director, κλπ) που ενδεχομένως θα χρειαστεί κάποιος σε ένα μεγάλο deployment.

Συνοψίζοντας, το μικρό μέγεθος του βιβλίου εξυπηρετεί απόλυτα τον στόχο του ως ένα σύντομο και ευκολοδιάβαστο εγχειρίδιο αναφοράς για τα νέα γνωρίσματα του Weblogic 12c. Μια τελευταία μικρή παρατήρηση: θα ήταν ίσως καλό να υπάρχουν παραπομπές κατά περίπτωση στην επίσημη τεκμηρίωση της Oracle ή σε άλλες πηγές και παραδείγματα, ενώ έβρισκα επίσης χρήσιμη μια πιο λεπτομερή αναφορά μετάπτωσης (migration) αλλά και αρχικής εγκατάστασης για εφαρμογές του Weblogic 11g (όπως ADF) στο 12c.

Jul 23, 2012

Oracle BPM Suite 11g Developer's Cookbook της Packt Publishing

O πιο πρόσφατος τίτλος σχετικά με το Oracle BPM Suite έρχεται από την Packt και είναι το "Oracle BPM Suite 11g Developer's Cookbook, γραμμένο από τον Vivek Acharya. Ως τίτλος σου κινεί το ενδιαφέρον, ειδικά όταν ο υπότιτλος αναφέρει πως περιέχει πάνω από 80 "συνταγές" για την ανάπτυξη πλούσιων εφαρμογών εφαρμογών βασισμένων στο Oracle BPM Suite. Είναι όμως έτσι τα πράγματα; Πώς τοποθετείται αυτός ο τίτλος σε σχέση με μια παλαιότερη κυκλοφορία της Packt Publishing που είναι το "Getting Started with Oracle BPM Suite 11g - A hands on tutorial";








Ας ξεκινήσουμε καλύτερα κοιτώντας τα κεφάλαια του βιβλίου. Η δομή του περιστρέφεται γύρω από την κάλυψη ενός case study που δεν είναι τίποτα άλλο από το Sales Quote μιας φανταστικής εταιρείας. Παράδειγμα όχι και ιδιαίτερα πρωτότυπο μιας και το επίσημο (και πολύ αναλυτικό) παράδειγμα της Oracle για το Oracle BPM Suite αφορά μια αντίστοιχη διαδικασία. Ξεκινώντας από τη μοντελοποίηση της λύσης, επεκτείνοντας την με business rules, human tasks αλλά και με την κλήση external services, το βιβλίο καλύπτει παράλληλα κάποια σημαντικά θέματα στην ανάπτυξη στο BPM, όπως το Exception Management, το Business Monitoring ενός BPM process αλλά και το Process Simulation. Για κάθε ένα σημείο, προηγείται η περιγραφή του θέματος, το πώς (how-to) επιλύεται, το πώς δουλεύει (how it works) και τέλος παραπομπές για περισσότερες πληροφορίες. Πρόκειται για έναν επιτυχημένο σκελετό, που μου είχε αρέσει πολύ στο βιβλίο του Νίκου Χαραλαμπίδη ("Oracle JDeveloper 11g Cookbook") αλλά αυτή τη φορά θεωρώ πως οι συνταγές είναι αρκετά πιο απλοποιημένες και δεν έχουν να κάνουν με προχωρημένα ζητήματα ανάπτυξης, προηγμένα ή νεώτερα χαρακτηριστικά του BPM Suite ή best practices. Αναλυτικά το περιεχόμενο του βιβλίου κεφάλαιο προς κεφάλαιο:

Στο πρώτο κεφάλαιο (Process Modeling) γίνεται μια σύντομη περιγραφή του case study και το σκαρίφημα της τελικής διεργασίας με όλα σχεδόν τα στοιχεία. Αποτελεί λοιπόν μια σύντομη και άμεση εισαγωγή στο BPM Suite. Στο δεύτερο κεφάλαιο (Process Implementation) πραγματοποιείται μια μικρή κάλυψη των Human Tasks. Έτσι καταλήγουμε στο Process Deployment and Testing όπου η απλή διαδικασία μας γίνεται deploy και παρακολουθείται στο runtime της.

Ακολουθεί η περιγραφή του business rules συστατικού της Oracle SOA Suite πλατφόρμας (Business Rules in the BPM Process) με έναν πλήρη και ακριβή τρόπο (με την παρατήρηση πως για το testing των business rules δεν είναι αναγκαίο το deployment) Το βιβλίο θα μας αποζημιώσει στα επόμενα κεφάλαια με μια αρκετά καλή περιγραφή των Human tasks (Human Workflow in the BPM Process), την προσομοίωση της βασικής διαδικασίας (Process Simulation) αλλά και την παραμετροποίηση των Human tasks με την χρήση Oracle ADF (UI και task flows) Ειδικά το κεφάλαιο 7 (Developing UI using Oracle ADF) είναι εξαιρετικό.

Το επόμενο κεφάλαιο (Exception Management) διαπραγματεύεται τα exceptions είτε από την σκοπιά του BPM είτε από αυτή του SOA Suite, ενώ η αλληλεπίδραση μεταξύ των δυο (με κλήση εκατέρωθεν υπηρεσιών) είναι το θέμα του πολύ καλού κεφαλαίου 9 (BPM and SOA in Concert) Ακολουθεί ένα ειδικό κεφάλαιο για το BPM Workspace και τα Webcenter Process Spaces που δεν νομίζω πως έχουν μεγάλη σημασία για τους developers. Και λίγο πριν το τέλος, έρχεται άλλο ένα καλό κεφάλαιο για την εξαγωγή επιχειρηματικής ευφυίας και την παρακολούθηση από επιχειρησιακή σκοπιά του BPM Suite με την συνεργασία με το Oracle BAM. Επίσης στο κεφάλαιο 11 (Manage Monitor and Administer BPM Process) γίνεται αναφορά σε εργαλεία του διαχειριστή για την πλατφόρμα (πχ fault management, notifications, deployment κ.α) Σίγουρα θα ήταν προτιμότερο να είχε σπάσει αυτό το κεφάλαιο τουλάχιστον στα δυο, καλύπτοντας αφενός με την επιχειρησιακή και αφετέρου την τεχνική διάσταση της διαχείρισης του BPM Suite.

Το πρώτο παράρτημα (Oracle BPM - Application Development Life Cycle) εστιάζει στους ρόλους, τις αρμοδιότητες και τις φάσεις που πρέπει να έχει ένα έργο BPM. Το δεύτερο (Approval Management) έχει ένα καλό παράδειγμα δυναμικής ανάθεσης ενός human task notification είτε με χρήση business rule είτε με χρήση Java.

Έχοντας πια καλύψει όλα τα κεφάλαια του βιβλίου, είναι αναπόφευκτη η σύγκριση με τον άλλον τίτλο της Packt για το BPM Suite ("Getting Started with Oracle BPM Suite 11g R1 - A hands-on tutorial") Η αλήθεια είναι πως αν και ο hands-on τίτλος είναι πιο παλαιός, ωστόσο είναι πιο πλήρης και συνεκτικός. Φυσικά ανάμεσα στα δυο βιβλία υπάρχουν (δυστυχώς) και πολλές επικαλύψεις ενώ και το Developer's Cookbook διαθέτει όπως ήδη έχει αναφερθεί αρκετά δυνατά κεφάλαια. Το τελευταίο παράπονο με το βιβλίο έχει να κάνει με το online παράρτημα: θα περίμενε κανείς εκεί τον πηγαίο κώδικα των λύσεων ανά κεφάλαιο. Απεναντίας, το μόνο που θα βρει είναι το xsd του Quote του case study (!)

Ένα δοκιμαστικό κεφάλαιο μπορείτε να βρείτε εδώ.

Apr 12, 2012

Νέο βιβλίο για το ADF 11g - Oracle JDeveloper 11gR2 Cookbook

Το τελευταίο βιβλίο που προστέθηκε στη λίστα αυτών που ασχολούνται με το ADF είναι το Oracle JDeveloper 11g R2 Cookbook της Packt Publishing. Με μεγάλη μου χαρά θα προσπαθήσω να μεταφέρω τις εντυπώσεις μου, καθώς συγγραφέας του είναι ο Νίκος Χαραλαμπίδης (που συντηρεί τα δημοφιλή blogs JDeveloper FAQ και ADF Code Bits) με τον οποίο συνεργάστηκα στο επιτυχημένο και σύνθετο έργο της μετάπτωσης των Oracle Forms 6i σε ADF 11g της Mednet International.

Παρακολουθώντας το ADF εδώ και περίπου μια δεκαετία, είναι πράγματι εντυπωσιακό πως σήμερα υπάρχουν αναρίθμητες πηγές πληροφορίες, είτε πρόκειται για επίσημη τεκμηρίωση, τίτλους βιβλίων ή άρθρα bloggers. Είχαμε αναφερθεί στο παρελθόν σε κάποιους τίτλους όπως για παράδειγμα το Oracle ADF Enterprise Application Development made simple ενώ υπάρχουν και αρκετοί από το Oracle Press. Η θεμελιώδης διαφοροποίηση του JDeveloper Cookbook (που μάλλον ορθότερα θα έπρεπε να είχε ονομαστεί ADF Cookbook) είναι ότι προϋποθέτει μια εις βάθος γνώση του ADF και δεν καταπιάνεται με την ερμηνεία ή την περιγραφή των βασικών εννοιών: αντίθετα προτείνει λύσεις σε συντεταγμένα προβλήματα της ανάπτυξης λογισμικού, που προκύπτουν αναμφίβολα όταν μια καλά δομημένη ομάδα αναλαμβάνει να εκτελέσει ένα μεγάλο έργο και χρειάζεται έναν ενιαίο τρόπο αντιμετώπισης διαφόρων ζητημάτων.

Έχουμε να κάνουμε λοιπόν με πάνω από 120 "συνταγές" σε θέματα ανάπτυξης στο ADF 11g, διατρέχοντας το ADF BC, τον ADF Controller, το επίπεδο του JSF και διάφορα κάθετα θέματα όπως debugging, deployment, tuning, κλπ. Το στυλ της παρουσίασης των θεμάτων είναι εξαιρετικό και ακολουθεί αυτό των blogs του Νίκου: περιγράφεται αρχικά το πρόβλημα, δίνεται μια αναλυτική, βήμα-βήμα προσέγγιση επίλυσης με συνοδευτικά screenshots, ακολουθεί μια εις βάθος ερμηνεία για τον τρόπο λειτουργίας της λύσης και στο τέλος υπάρχουν σχόλια για επεκτάσεις ή αναφορές. Στα πλεονεκτήματα αυτού του βιβλίου θα πρέπει επομένως να συνυπολογίσουμε το στυλ της γραφής που είναι άμεσο, κατανοητό και πλήρες. Στη διάρκεια της περιγραφής των "συνταγών" παραδίδεται άφθονος κώδικας που επίσης περιλαμβάνεται ανά κεφάλαιο στο online παράρτημα του βιβλίου, κάτι που επίσης μου άρεσε πολύ. Οι περισσότερες συνταγές αφορούν συχνά προβλήματα στην ανάπτυξη ADF εφαρμογών, γεγονός που τις κάνει πολύ χρήσιμες. Από την άλλη, υπάρχει κατά περίπτωση μια ανισορροπία στην επιλογή των συνταγών: κάποιες προσφέρονται εδώ και καιρό από την επίσημη τεκμηρίωση της Oracle (δηλαδή το Fusion Middleware Developer's Guide), άλλες είναι εξαιρετικά απλές, άλλες κάπως πιο σύνθετες, ενώ απουσιάζουν κάποια σημαντικά θέματα κατά τη γνώμη μου, σχετικά με transaction management, javascript support, ADF regions, κ.α. Ας δούμε όμως με περισσότερες λεπτομέρειες τα κεφάλαια αυτού του βιβλίου:

Το πρώτο κεφάλαιο (Prerequisites to Success: ADF Project Setup and Foundations) έχει να κάνει με τη ρύθμιση του JDeveloper σε περιβάλλον Linux, τη δημιουργία των βασικών κλάσεων ενός έργου, τον τεμαχισμό σε βιβλιοθήκες, το logging, τη δημιουργία page templates ή τη δημιουργία ενός custom generic actions framework. Τόσο το κεφάλαιο των βιβλιοθηκών, όσο και των page templates ή των βασικών κλάσεων καλύπτονται αρκετά αναλυτικά από την τεκμηρίωση της Oracle και ίσως μια απλή αναφορά θα ήταν αρκετή. Στο δεύτερο κεφάλαιο (Dealing with Basics: Entity Objects) δίνονται συνταγές για την κατασκευή κλειδιών από Oracle Sequences, για τη διαχείριση του κύκλου ζωής ενός entity (doDML, removal, child removal, validation) και αν και υπάρχουν επικαλύψεις στην τεκμηρίωση είναι ένα πολύ καλό κεφάλαιο. To ίδιο ισχύει και με το "A Different Point of View: View Object Techniques" που περιγράφει το iteration στις εγγραφές ενός view object, την αλλαγή των ιδιοτήτων updateable και queriable προγραμματιστικά ενός πεδίου, τον ορισμό του currentRow πριν και μετά από ένα rollback, την ανίχνευση νέων εγγραφών, την αλλαγή του WHERE clause, κλπ. Ίσως θα ήταν προτιμότερο να συγχωνευτεί εννοιολογικά με το επόμενο κεφάλαιο ("Important
Contributors: List of Values, Bind Variables, View Criteria") που επίσης καλύπτει κάποια ήδη γνωστά θέματα (cascade lovs, lov switcher, view criteria) αλλά προστίθενται και άλλα όπως η αλλαγή ή ο καθαρισμός των bind variables ή η case-insensitive αναζήτηση.

Προχωρώντας στο κεφάλαιο 5 ("Putting them all together: Application Modules") θα βρούμε συνταγές για το πώς θα φτιάξουμε ένα Web Service από τα ADF BC μας και πώς αντίστοιχα θα το καταναλώσουμε ως Web Service client, ένα καλό παράδειγμα για την τροποποίηση της συμπεριφοράς activate/passivate του framework, τη δυνατότητα άντλησης στατιστικών για το Application Modules, shared LOV modules και επέκταση του Database Transaction Factory. Αμέσως μετά θα δούμε τεχνικές για τα task flows όπως την αρχικοποίηση τους (με custom μεθόδους από το Application Module ή με initializer), την κλήση ενός task flow URL, τη δημιουργία ενός train flow ή την ανάκτηση πληροφοριών μέσα από το MDS. To κεφάλαιο για τα ADF Faces εισάγει λίγα καινούργια στοιχεία αφού θέματα για την παραμετροποίηση του af:query, το χρήση του af:tree, του af:poll, του af:carousel, του af:selectManyShuttle ή του pop-up για την επεξεργασία εγγραφής περιγράφονται αναλυτικά στην επίσημη τεκμηρίωση. Ξεχωρίζει όμως εδώ η συνταγή για την χρήση page templates στα popups ενώ καλή είναι η ενδεικτική λύση για το export file αλλά ατυχής η υλοποίηση (όπου τα περιεχόμενα του αρχείου περιλαμβάνονται σε μια java.lang.String μεταβλητή)


Στο Backing not Baking:Bean Recipes έχουμε χρήσιμες συνταγές για ένα af:popup που θα ειδοποιεί για εκκρεμείς αλλαγές (pending changes), για custom selection listener, μια εξαιρετική αναφορά για custom query listeners και για popup που ενημερώνουν για μεγάλης διάρκειας συναλλαγές (transactions), την χρήση του af:iterator σε σχέση με ένα custom collection και μια αχρείαστη αναφορά στην εκμετάλλευση session μεταβλητών (που ούτως ή άλλως αποθαρρύνεται από το framework) To κεφάλαιο 9 (Handling Security, Session Timeouts, Exceptions, and Errors) δεν προσθέτει κάτι καινούργιο ως προς την διάσταση της ασφάλειας (για παράδειγμα αναφέρει τη λειτουργία του ADF Security Wizard, την προγραμματιστική πρόσβαση στο security context, μια custom login page) Αντίθετα, πιο ενδιαφέρουσες συνταγές είναι αυτές που περιγράφουν την διαχείριση του session timeout και την διαχείριση λαθών από έναν custom exception handler που μετασχηματίζει μηνύματα λαθών από τα ADF BC.


To κεφάλαιο του deployment (Deploying ADF Applications) περιγράφει ανάμεσα στα άλλα την χρήση του εργαλείου ojdeploy για την αυτοματοποίηση εργασιών (build και deploy) μέσω του Hudson. To επόμενο κεφάλαιο (Refactoring, Debugging, Profiling, and Testing) θα έλεγα πως περιγράφει περισσότερο θεωρητικά τις δυνατότητες της πλατφόρμας παρά δίνει πρακτικές συνταγές για την αξιοποίησή της. Θέματα που καλύπτονται εδώ είναι το database synchronization των ADF BC, το refactoring στα ADF BC, η δυνατότητα του remote debugging και του CPU profiling (που παρεμπιπτόντως δεν υποστηρίζεται στο Linux) η διαχείριση log μηνυμάτων και η χρήση του JUnit για unit testing. Σε έναν βαθμό, υπάρχει αποζημίωση στο τελευταίο κεφάλαιο (Optimizing,
Fine-tuning, and Monitoring) όπου δίνονται μερικές καλές συμβουλές για τη βελτιστοποίηση του ADF BC (απουσιάζουν όμως αντίστοιχες τεχνικές για τα ADF Faces), υπάρχει μια εξαιρετική συνταγή για τους Weblogic Work Managers και τέλος υπάρχει μια φτωχή αναφορά από την σκοπιά του ADF στο JRockit Mission Control για την παρακολούθηση ενός συστήματος.

Ως συμπέρασμα θα έλεγα πως το βιβλίο αυτό είναι ένα εξαιρετικό υπόδειγμα γραφής ώστε ομάδες ανάπτυξης να γράψουν τα δικά τους συνταγολόγια (cookbooks) προσαρμοσμένα στις ιδιαιτερότητες των έργων που έχουν να αντιμετωπίσουν, δανειζόμενες αρκετές από τις συνταγές του βιβλίου. Είναι επίσης ένα χρήσιμο βοήθημα γιατί συγκεντρώνει καλές πρακτικές σε έναν μόνο τίτλο. Από την άλλη, περιλαμβάνει και μερικά θέματα που έτσι και αλλιώς είναι καταγεγραμμένα σε μεγάλο βαθμό στην επίσημη τεκμηρίωση της Oracle, ενώ θα ήθελα να δω πολύ και συνταγές με άλλα εξελιγμένα ζητήματα όπως ADF regions, bindings, JSF 2.0, javascript integration, ui design και transaction management που απασχολούν ολοένα και περισσότερο πιο εξελιγμένα έργα βασισμένα στο ADF.

Ένα ενδεικτικό κεφάλαιο του βιβλίου βρίσκεται εδώ.

Mar 20, 2012

Προσφορά για βιβλία Oracle

Μια ενδιαφέρουσα προσφορά για βιβλία της Oracle που εκδίδονται από την Packt Publishing τρέχει αυτόν τον μήνα (Μάρτιο) δίνοντας εκπτώσεις ως 30%. Σε σχέση με περιοχές προσωπικού ενδιαφέροντος, περιλαμβάνονται πολύ αξιόλογοι τίτλοι για το Oracle SOA Suite Suite αλλά και για τον Oracle Server και το ADF. Περισσότερες πληροφορίες στο http://www.packtpub.com/news/hit-the-oracle-packtpot

Jan 30, 2012

Ένα νέο βιβλίο για την αρχιτεκτονική SOA: Do more with SOA Integration - Best of Packt

Ένα νέο βιβλίο που έτυχε της προσοχής μου είναι o πρόσφατος τίτλος της Packt Publishing που αφορά το SOA: Do more with SOA Integration - Best of Packt.

Εν συντομία, συνιστά ένα απάνθισμα από διάφορα βιβλία της Packt που αφορούν την περιοχή του SOA. Το βιβλίο καλύπτει:
  • βασικά patterns του integration καθώς και SOA best practices
  • μια καλή εισαγωγή στην XML και στα Web Services καθώς και στα σχετικά πρότυπα προσφέροντας πραγματικά παραδείγματα
  • βασικές τεχνολογίες και πρότυπα όπως το JBI (Java Business Integration), το SCA (Service Component Architecture), το ESB (Enterprise Service Bus και ειδικά το Oracle ESB), το BPEL (Business Process Execution Language και ειδικά το Oracle BPEL) και BPM (Business Process Monitoring και ειδικά το Oracle BPEL) αφιερώνοντας ένα ξεχωριστό κεφάλαιο σε κάθε ένα από αυτά, επιλύοντας ένα enterprise case-study

Πρόκειται για ένα βιβλίο που δεν καλύπτει αποκλειστικά τεχνολογίες της Oracle (δηλαδή του Oracle SOA Suite) αλλά επεκτείνεται και σε εναλλακτικές προτάσεις όπως το JBI σε σχέση με το NetBeans. Εν ολίγοις, πρόκειται για ένα πολύ καλό τίτλο, απευθυνόμενο σε architects και SOA developers ώστε να αποκτήσουν τη βασική γνώση και τις βάσεις για μια μεθοδολογία για ένα SOA project. Για περισσότερες όμως πληροφορίες σχετικά με τα προϊόντα που θα χρησιμοποιήσουν υπάρχουν βέβαια πιο εξειδικευμένα βιβλία (πχ εδώ)

Στις επόμενες ημέρες, θα προσπαθήσω να δώσω περισσότερες λεπτομέρειες για την ύλη του βιβλίου.

Ενημέρωση: Στο amazon.com έχω προσθέσει (στα αγγλικά) την κριτική μου για το βιβλίο.

Sep 20, 2011

Βιβλίο για το Oracle WebCenter

Η Packt Publishing (http://www.packtpub.com/) έχει βαλθεί να καλύψει με τους τίτλους της όλα τα τεχνολογικά προϊόντα της Oracle. Η τελευταία κυκλοφορία αφορά το Oracle WebCenter 11g (http://www.packtpub.com/oracle-webcenter-11g-ps3-administration-cookbook/book ) και είναι εξαιρετικά ενδιαφέρουσα καθώς καλύπτει την πιο πρόσφατη διαθέσιμη έκδοση (11g R1 PS3) και περιγράφει με αναλυτικό τρόπο τη δόμηση, λειτουργία και διαχείριση ενός σύγχρονου Portal. Περισσότερες πληροφορίες για το βιβλίο στις επόμενες ημέρες.

Jul 23, 2011

Βιβλία για την Oracle

Ένας πρόχειρος κατάλογος βιβλίων σχετικών με τα προϊόντα της Oracle βρίσκεται εδώ. Ενώ παλαιότερα υπήρχε μόνο ο εκδοτικός οίκος του Oracle Press τα τελευταία χρόνια έχουν αναπτύξει δυναμική και άλλες εκδόσεις. Αναμφίβολα ο πιο δραστήριος είναι αυτός της Packt Publishing που προσφέρει ήδη πάνω από 50 τίτλους σε θέματα της Oracle για τους οποίους έχω γράψει συχνά κριτικές. Μάλιστα αυτό τον καιρό τρέχει μια ενδιαφέρουσα εκπτωτική καμπάνια (http://www.packtpub.com/article/50th-oracle-book-offer) για όλους αυτούς τους τίτλους.

Jul 4, 2011

Νέο βιβλίο για τη μεθοδολογία ανάπτυξης σε ADF

Πολύ πρόσφατα κυκλοφόρησε ένας νέος τίτλος για το ADF, το "Oracle ADF Enterprise Application Development made simple", του Sten Vesterli από την Packt Publishing (http://link.packtpub.com/jApqTb) Παρόλο που είναι εύκολο να διαφωνήσει κανείς για το αν η ανάπτυξη στο ADF είναι απλή υπόθεση (απεναντίας θα έλεγα πως μια ομάδα που ξεκινά το πρώτο της έργο σε ADF, θα χρειαστεί τουλάχιστον 6 μήνες προκειμένου να φθάσει σε ένα επίπεδο ωριμότητας και παραγωγικότητας) ωστόσο αυτό που διακρίνει το βιβλίο σε σχέση με άλλα, είναι η οριοθέτηση όχι της τεχνολογίας αλλά των δεξιοτήτων, των συνοδευτικών εργαλείων και των φάσεων που θα χρειαστεί ένα έργο βασισμένο στο Oracle ADF. Γι' αυτό το λόγο απευθύνεται περισσότερο θα έλεγα σε architects και project managers και λιγότερο σε τεχνικούς που θέλουν απαντήσεις σε άμεσα, καθημερινά τους θέματα. Για την επίτευξη μιας πληρέστερης γνώμης για το βιβλίο, είναι διαθέσιμο ένα sample κεφάλαιο για download.

Πιο αναλυτικά, το βιβλίο διαθέτει τα ακόλουθα κεφάλαια ενώ ο πίνακας περιεχομένων είναι εδώ:
  1. The ADF Proof of Concept, όπου περιγράφεται το case study καθώς και η γενική περιγραφή της υλοποίησής του ως προς τα συστατικά στοιχεία (entities, lovs, task flows κ.α)
  2. Estimating the Effort, ένα άκρως ενδιαφέρον κεφάλαιο που αφορά την καταγραφή της πολυπλοκότητας ενός use case και την αντιστοίχηση και αποτύπωσή του σε χρονικές εκτιμήσεις για το ADF.
  3. Getting Organized, που αφορά την κατανομή ρόλων και δεξιοτήτων καθώς και τη στελέχωση που είναι απαραίτητη για ένα ADF έργο. Επίσης δίνεται ενδεικτική λίστα των περιφερειακών εργαλειών που θα χρειαστούν στον κύκλο της ανάπτυξης και δοκιμών, naming conventions, δομή οργάνωσης projects και workspaces. Πρόκειται για το πιο πλήρες και σημαντικό τμήμα του βιβλίου.
  4. Productive Teamwork, που περιγράφει συνοπτικά το Subversion και το Oracle Team Productivity Center για διασύνδεση με issue tracking συστήματα (πχ JIRA)
  5. Prepare to Build, που αφορά την κατασκευή templates για task flows και σελίδες καθώς και των framework extension classes, προτού αρχίσει η μαζική διαδικασία παραγωγής. Ίσως εδώ να χρειαζόταν μια πιο ισχυρή επιχειρηματολογία γιατί ένα project πρέπει να ξεκινήσει από αυτούς τους πυλώνες, και τι είδους λειτουργικότητα μπορούμε να αποδώσουμε με αυτά τα στοιχεία.
  6. Building the Enterprise Application, που επιχειρεί να δώσει μια αίσθηση end-to-end ανάπτυξης με το ADF για το case study, από τα ADF BC ως το επίπεδο της σελίδας, βασισμένο στις προηγούμενες αρχές και με την επιπρόσθετη μνεία στα dynamic regions. Κρίμα που δεν δίνεται ο πηγαίος κώδικας (source code) αυτής της εφαρμογής γιατί θα ήταν πραγματικά ανεκτίμητη πηγή αναφοράς !
  7. Testing your Application, που αφορά την χρήση JUnit, Selenium και JMeter για τις δοκιμές της ADF εφαρμογής από διάφορες οπτικές γωνίες.
  8. Look and Feel, που αφορά την χρήση skins και CSS.
  9. Customizing the Functionality, το οποίο έχει να κάνει με το MDS και την παραμετροποίηση της εφαρμογής, κάτι που πραγματικά απουσίαζε από άλλα βιβλία.
  10. Securing your ADF Application, που περιγράφει συνοπτικά το ADF Security.
  11. Package and Deliver, που αναφέρεται στο deployment είτε μέσω JDeveloper ή ANT script (ojdeploy based)
  12. Internationalization, δηλαδή διάθεση της εφαρμογής μας σε διάφορα πολυγλωσσικά περιβάλλοντα.

Σε γενικές γραμμές θα έλεγα πως αυτό το βιβλίο περιέχει το καταστάλαγμα από best practices και consulting expertise που είναι απολύτως απαραίτητο για τις ομάδες που σκέπτονται να προχωρήσουν στο ADF καθώς θα τους βοηθήσει να πάρουν κάποιες αποφάσεις που αφορούν την οργάνωση του έργου, τον χρονοπρογραμματισμό του και να ακολουθήσουν κάποια ασφαλή μονοπάτια στην ανάπτυξη ώστε να αποφύγουν σημαντικούς κινδύνους.

Aug 9, 2010

Βιβλίο για το Oracle SOA Suite 11g R1

Ένα από τα πιο πολυαναμενόμενα βιβλία μέχρι πρόσφατα ήταν το Oracle SOA Suite 11g R1 Developer's Guide (https://www.packtpub.com/oracle-soa-suite-11g-r1-developers-guide/book) της Packt Publishing. Πρόκειται για έναν τίτλο που είχε κυκλοφορήσει με τα εγκαίνια της έκδοσης 11g του Oracle Fusion Middleware και ανανεώθηκε πρόσφατα (πριν ένα μήνα δηλαδή) για να καλύψει και τα νέα γνωρίσματα και αλλαγές που επήλθαν στο 11g R1 PS2.

Όπως ανέφερα, αποτελεί έναν από τους τίτλους που περίμενα με πολύ ενδιαφέρον, μιας και βιβλία σε αυτή τη θεματική περιοχή και στα συγκεκριμένα προϊόντα σπανίζουν, με το επιπλέον πρόβλημα πως η τεχνολογία τρέχει με πιο υψηλές ταχύτητες από την τυπογραφία. Πιστεύω πως η αναμονή άξιζε πραγματικά τον κόπο, αφού σε 720 σελίδες παρουσιάζεται σε πολύ καλό βαθμό και βάθος η πλατφόρμα SOA Suite καθώς και τεχνικές σχεδίασης τέτοιου είδους λύσεων. Το ύφος του βιβλίου ακολουθεί την επιτυχημένη φιλοσοφία των πολλών πρακτικών παραδειγμάτων και των ανάλογων screenshots που καθοδηγούν τον αναγνώστη στην άμεση εφαρμογή των όσων διαβάζει.

Πιο αναλυτικά, o χαρακτήρας του βιβλίου είναι πολύ πρακτικός: στα πρώτα δυο κεφάλαια έχουμε σχεδιάσει SCA ροές με την χρήση adapters ακολουθώντας απλοποιημένα παραδείγματα. Έπειτα γίνεται παρουσίαση του Oracle Enterprise Service Bus (ESB) και ακόμα πιο λεπτομερής περιγραφή ενός BPEL process, ενός human task flow (με παράλληλες αναφορές στο ADF), της διασύνδεσής του με business rules και της δημοσίευσης business events. Στο δεύτερο μέρος του βιβλίου, εξετάζονται πιο εξελιγμένα θέματα, από σχεδιαστική και διαχειριστική άποψη, όπως η κατασκευή υπηρεσιών, patterns, διαχείριση λαθών, deployment, security, κ.α. Ο πίνακας περιεχομένων βρίσκεται εδώ.

Επιπλέον, ένα από τα μεγάλα ατού του βιβλίου είναι το συνοδευτικό ηλεκτρονικό υλικό, που πέρα από τις λύσεις των παραδειγμάτων που παρουσιάζονται, περιέχει έναν αναλυτικό οδηγό εγκατάστασης (installation guide) του Oracle SOA Suite 11g R1 PS2, ιδανικό για να ξεκινήσει κάποιος.

Jan 26, 2010

Βιβλίο για τον Oracle Warehouse Builder 11g

O Oracle Warehouse Builder (OWB) είναι πολλές φορές ένα αναγκαίο κακό αναφορικά με διαδικασίες ETL σχετικά με βάσεις δεδομένων της Oracle. To λέω αυτό γιατί αφενός το εργαλείο είναι πραγματικά πολύ ισχυρό, δένει εξαιρετικά με πολλές από τις δυνατότητες του RDBMS, από την άλλη δεν πιάνει υψηλά επίπεδα ευχρηστίας. Ίσως ως προς αυτήν την κατεύθυνση, ένα καλό σημείο για να ξεκινήσει κάποιος είναι το Oracle Warehouse Builder 11g Getting Started της Packt Publishing.

Το βιβλίο καλύπτει την έκδοση 11g R1 (έχει ήδη κυκλοφορήσει η 11g R2) του OWB και περιλαμβάνει κεφάλαια για:
  1. την εγκατάσταση του προϊόντος
  2. την εισαγωγή data structures από διάφορες πηγές πληροφορίας, ακόμα και διαμέσου του SQL Server που χρησιμοποιείται στο επιχειρησιακό παράδειγμα
  3. τον σχεδιασμό και υλοποίηση του μοντέλου προορισμού (target structure)
  4. τη δόμηση ETL διαδικασιών. Όπως ανέφερα και στην αρχή, ο χαρακτήρας του βιβλίου είναι εισαγωγικός, οπότε αναφέρονται κάποιες βασικές περιπτώσεις mapping relational και multidimensional μοντέλων ενώ λείπουν πιο εξελιγμένες επιλογές (π.χ. χρήση PL/SQL ή custom transformations)
  5. τον έλεγχο (validation), την παραγωγή (generation) και το deployment της εργασίας μας. Και σε αυτό το σημείο θα ήταν χρήσιμη περισσότερη ανάλυση για την χρονοπρογραμματισμό (scheduling) εργασιών, το auditing, το versioning, κλπ
O όγκος του βιβλίου δεν είναι μεγάλος (368 σελίδες στο σύνολο) και θα έλεγα πως μάλλον διαβάζεται εύκολα και με γρήγορο ρυθμό. Διατηρεί την φιλοσοφία του Packt Publishing για αρκετά screenshots και παραδείγματα, αν και θα ήταν ευπρόσδεκτο αν υπήρχαν και ακόμα περισσότερα. Σε γενικές γραμμές θα το περιέγραφα σαν ένα χρήσιμο βιβλίο για τα πρώτα βήματα στο OWB ώστε να μπορέσει κάποιος να το αξιοποιήσει μέσα σε ένα σύντομο χρονικό διάστημα.