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 (!)

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

No comments: