Showing posts with label events. Show all posts
Showing posts with label events. Show all posts

Dec 23, 2011

Oracle Developer Day - Αθήνα Δεκέμβριος 2011 εντυπώσεις

Είχα κατά νου να γράψω αυτό το άρθρο εδώ και ημέρες, αλλά μόλις σήμερα βρήκα λίγο χρόνο. Αφορά το Oracle Developer Day που διεξήχθη το διήμερο 6-7 Δεκεμβρίου στο ξενοδοχείο Royal Olympic. Στο παρελθόν έχω καταγράψει (το 2007 και το 2009) τις εντυπώσεις μου από τα Oracle Develop Days ανά την Ευρώπη. Από ότι φαίνεται τα τελευταία χρόνια, αυτό το roadshow έχει ατονίσει οργανωτικά σε ευρωπαϊκό ή παγκόσμιο επίπεδο, με αποτέλεσμα να αποκτήσουν περισσότερη δύναμη οι τοπικές προσπάθειες των κατά τόπους παραρτημάτων της Oracle αλλά φυσικά και τα virtual developer days. Σε διαφορά με τα events που είχα παρακολουθήσει στο εξωτερικό, δεν υπήρχε χρέωση για τη συμμετοχή στο διήμερο (gratis) ενώ και τα τεχνικά sessions ήταν πιο περιορισμένα στη θεματολογία. Από την άλλη μεριά, τόσο η πρακτική προσέγγιση των πραγμάτων, το κέφι των διοργανωτών καθώς και το επίπεδο των εισηγητών παρέμειναν σε υψηλό επίπεδο. Για τα δε τεχνικά sessions ήταν απαραίτητο να έχει μαζί του ο κάθε ένας ενδιαφερόμενος ένα laptop ώστε να εκτελέσει το υλικό των ενδεικτικών ασκήσεων.

Λόγω ασφυκτικού προγράμματος, κατάφερα να παρευρεθώ στην πρώτη ημέρα που είχε να κάνει με παρουσιάσεις και hands-on sessions για το ADF και το JEE 6. Η δεύτερη ημέρα ήταν αφιερωμένη στο Oracle BPM και την παρουσίαση του ADF από την σκοπιά των .NET developers (το πλήρες πρόγραμμα βρίσκεται εδώ) Ο χώρος διοργάνωσης (Hotel Royal Olympic) ήταν εύκολα προσβάσιμος από το μετρό, πολύ φιλόξενος, πλούσιος και ενδεικνυόμενος για τέτοιου είδους εκδηλώσεις.

Το keynote δόθηκε από τον Dana Singleterry, Principal Product Manager για τα JDeveloper/ADF και επικεντρώθηκε στην στρατηγική, στην υποστήριξη, στα χαρακτηριστικά και στο μέλλον των τριών πια εργαλείων ανάπτυξης της Oracle για Java (JDeveloper, Eclipse, Netbeans) και των δυο Application Servers (Weblogic και GlassFish) Ενώ ο συνδιασμός JDeveloper/Eclipse + Weblogic προορίζεται για enterprise πελάτες, το δίδυμο NetBeans + GlassFish απευθύνεται στο community και σε όσους θέλουν να έχουν πρόσβαση στα καινούργια χαρακτηριστικά του JDK και του JEE (επωμιζόμενοι το βάρος του early adopter, θα πρόσθετα, προτού καταλήξουν σε enterprise χαρακτηριστικά) Αν και έχω πολύ καιρό να προγραμματίσω σε Eclipse, φαίνεται πως γίνεται σοβαρή επένδυση στο Oracle Enterprise Pack for Eclipse (OEPE) που ενσωματώνει ωραία καλούδια διαχείρισης του Weblogic, του JPA, του Maven και σταδιακά των ADF (ξεκινώντας από τον Controller και τα Faces) Η ενότητα αυτή έκλεισε με ένα μικρό αλλά ουσιαστικό demo για την εμπειρία χρήσης και παραγωγικότητας με το στρατηγικό πλαίσιο ανάπτυξης της Oracle, το ADF.

Έπειτα από ένα μικρό διάλλειμμα, ακολούθησαν δυο παράλληλα τεχνικά sessions, ένα για το ADF και ένα δεύτερο για το JEE 6, το οποίο και παρακολούθησα. Ξεκίνησε λοιπόν μια εκτενής (και ολίγον κουραστική...) παρουσίαση των καινοτομιών και χαρακτηριστικών του JEE 6 ενώ μας μοιράστηκε ένα VirtualBox image ενός Oracle Enterprise Linux που περιελέμβανε μια Oracle XE, τον Weblogic 11g (αφού δεν είχε κυκλοφορήσει ακόμα το 12c), το NetBeans 7.0 και το Eclipse OEPE 11.1.1.7.3. Μου άρεσε πολύ που χρησιμοποιώντας έναν αναλυτικό οδηγό ασκήσεων είχα ένα εκτενές hands-on σε αυτό το virtual machine image, της διάρκειας των τεσσάρων ωρών, με αντικείμενα όπως:
  • Maven + Weblogic
  • Maven + OEPE + Weblogic
  • Maven + Hudson
  • NetBeans + JPA (και deploy στον embedded GlassFish)
  • NetBeans + Servlets + Facelets
  • NetBeans + REST (JAX-RS)
Κατά τη γνώμη μου, η αξία αυτών των εκδηλώσεων είναι ανεκτίμητη όταν συνδυάζεται με πρακτικό προσανατολισμό, δίνοντας γρήγορη, συγκεντρωμένη, άμεση πρόσβαση και εμπειρία σε πλήθος τεχνολογίες στη διάρκεια της μιας ημέρας. Με μεγάλη ανυπομονησία, περιμένω ανάλογες εκδηλώσεις και στο 2012.

Apr 18, 2009

Σεμινάριο (training) για το JDeveloper και το ADF 11g

Με μεγάλη χαρά θα είμαι ο εισηγητής του επερχόμενου πενθήμερου σεμιναρίου "Oracle Fusion MIddleware 11g: Build applications with ADF I" που θα διεξαχθεί 4 με 8 Μαϊού στην Oracle Hellas. Το σχετικό μάθημα θα διδαχθεί πρώτη φορά στην Ελλάδα και περιλαμβάνει ένα πολύ πλούσιο και καλά οργανωμένο υλικό αναφορικά με την πιο πρόσφατη έκδοση του JDeveloper. Πιο συγκεκριμένα, οι θεματικές ενότητες απαρτίζονται από:
  • την εισαγωγή στο περιβάλλον του JDeveloper, που πράγματι έχει αλλάξει πολύ σχετικά με παλαιότερες εκδόσεις
  • τη δόμηση επιχειρηματικής λογικής με τη βοήθεια των ADF BC, περιγράφοντας σε βάθος μηχανισμούς επαχρησιμοποιήσιμης κώδικα, τη γλώσσα Groovy αλλά και τα προγραμματιστικά APIs που έχουν εμπλουτιστεί σημαντικά
  • την εισαγωγή στα ADF Rich client components και το πώς μπορεί να κατασκευαστεί ένα πλούσιο, δυναμικό, χρηστικό και ευέλικτο user interface
  • την κατάτμηση των εφαρμογών σε ροές εργασιών (task flows)
  • το deployment ADF εφαρμογών στον Weblogic 10.3
Το σενάριο εργασίας που θα χρησιμοποιηθεί στις ασκήσεις είναι το StoreFront demo (http://www.oracle.com/technology/products/jdev/samples/fod/index.html) ενώ οι περιοχές που θα προσπαθήσω να καλύψω επιπλέον του μαθήματος, προσφέροντας τις δικές μου εμπειρίες από τα έργα σχετικά με JDeveloper, είναι:
  • Ο έλεγχος (testing) και αποσφαλμάτωση (debugging) των ADF εφαρμογών
  • Ιδιότητες του JSF 1.2 που αποδεικνύονται χρήσιμες
  • Εκμετάλλευση της Javascript για ακόμα περισσότερη AJAX αλληλεπίδραση
  • Προηγμένες αρχιτεκτονικές στηριγμένες στο Weblogic
  • και πολλά άλλα...
Για περισσότερες πληροφορίες ανατρέξτε στο http://education.oracle.com/pls/web_prod-plq-dad/show_desc.redirect?dc=D53979GC10&p_org_id=1001&lang=US&source_call= ενώ τηλέφωνο επικοινωνίας με το Oracle University στην Ελλάδα είναι το 210-6789281 (http://www.oracle.com/global/gr/education/index.html)

Feb 14, 2009

Oracle Develop 2009 στην Πράγα - Εντυπώσεις

Την περασμένη εβδομάδα, στις 10 και 11 Φλεβάρη, διεξήχθη στην Πράγα το Oracle Develop, ένα διήμερο μεταφοράς γνώσης από το product management team της Oracle προς τους developers. Με μεγάλη μου χαρά το παρακολούθησα, όπως άλλωστε είχε συμβεί και με το προηγούμενο, το 2007, και για το οποίο είχα καταγράψει και τότε τις εντυπώσεις μου (
http://serafeimk.blogspot.com/2007/06/oracle-develop-2007-in-prague.html)

Όπως και την προηγούμενη φορά, οι τομείς του σεμιναρίου ήταν τρεις: database, Java development και SOA, όπου για κάθε ένα τομέα υπήρχαν τόσο παρουσιάσεις, όσο και οργανωμένα εργαστήρια για το hands-on. Νομίζω πως ο καλύτερος τρόπος για να δοθεί η φιλοσοφία του διημέρου όσο και η κατεύθυνση των προϊόντων της Oracle είναι να αναφερθούμε στις παρουσιάσεις των keynotes.

Το καλωσόρισμα στο διήμερο το ανέλαβε ο Dennis Leung, Vice President του software development του Fusion Middleware, o οποίος έδωσε έμφαση στην υψηλή ζήτηση που θέτουν οι χρήστες για διαδραστικές εφαρμογές τύπου Web 2.0, διαμέσου πολλαπλών καναλιών διάθεσης, σε σύντομο χρονικό διάστημα. H Oracle προσπαθώντας να ανταποκριθεί σε αυτές τις απαιτήσεις αφενός στηρίζεται σε πρότυπα (JSF-EJB) και αφετέρου παρέχει ισχυρά και πλούσια UI libraries για τις ανάγκες του Web 2.0 όπως τα ADF Faces Rich Client. Η στρατηγική στα εργαλεία ανάπτυξης επικεντρώνεται στον JDeveloper και στο Eclipse μέσω του Oracle Enterprise Pack (OEPE - http://www.oracle.com/technology/software/products/oepe/index.html) που παρέχει υποστήριξη τόσο για Enterprise Development (JSF, EclipseLink - EJB 3, SOA, deployment σε Weblogic) όσο και για open-source τεχνολογίες όπως Spring και Hibernate. Τα δυο εργαλεία θα παρέχουν εξίσου ευκολίες ανάπτυξης, ενώ στη επόμενη έκδοση του JDeveloper αναμένουμε περισσότερα εργαλεία επικοινωνίας μεταξύ ομάδων, όπως instant messaging καθώς και διασύνδεση με Bugzilla, JIRA και MS Project. Ένα από τα εργαλεία του OEPE που μου προκάλεσαν το ενδιαφέρον είναι και το AppXRay που αναλαμβάνει το έργο της κατανόησης των εξαρτήσεων (dependencies) μεταξύ τμημάτων μιας εφαρμογής, μια ιδέα που είχα εδώ και καιρό για ADF εφαρμογές και ανυπομονώ να δω πώς εφαρμόζεται. Τέλος, για το περιβάλλον του grid ή του cloud αν προτιμάτε, η Oracle πιστεύει πως διαθέτει μια δυνατή λύση που ανάμεσα στα άλλα περιλαμβάνει και το Coherence (http://www.oracle.com/technology/products/coherence/index.html), την distributed cache δηλαδή εφαρμογών, όπου πια έχει διασυνδεθεί διαφανώς και με το TopLink ώστε με JPQL να κάνουμε ερωτήσεις στα περιεχόμενά της.

Από την άλλη, ο Mark Townsend, Vice President, του Product Management του Oracle Server, επικεντρώθηκε στο μεγάλο κοινό των προγραμματιστών της Oracle database, διακρίνοντας τους στους DBAs που χρησιμοποιούν τον Enterprise Manager, τους DBA developers που μπορεί να χρησιμοποιούν εργαλεία όπως τον SQL Developer και τους προγραμματιστές άλλων γλωσσών (όπως Java και .NET) Για πρώτη φορά, η Oracle φαίνεται να διαθέτει μια πλήρη γκάμα εργαλείων που περιλαμβάνουν δυνατότητες μοντελοποίησης σε λογικό ή φυσικό επίπεδο ως κομμάτι του SQL Developer (http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html), το Application Express ως ένα RAD, browser-based προγραμματιστικό περιβάλλον, ιδιαίτερο εύκολο στην χρήση και οικονομικό για PL/SQL developers ή για Oracle Forms developers (αφού υποστηρίζει και την μετάπτωσή τους), και τον SQL Developer για profiling/debugging των προγραμμάτων. Δυο επιπλέον σχόλια: το modeling εργαλείο είναι ιδιαίτερα εντυπωσιακό, αντικαθιστά πλήρως τον Designer, και υποστηρίζει την αποθήκευση του, είτε σε file system, είτε σε μια βάση δεδομένων. Προς το παρόν, δεν έχει ληφθεί απόφαση σχετικά με την τιμολόγησή του. Ως προς το Appex (http://www.oracle.com/technology/products/database/application_express/index.html) προσφέρει ένα πολύ οικονομικό Web 2.0 περιβάλλον για τη δόμηση εφαρμογών και την εξαγωγή αναφορών, χωρίς την ανάγκη ενός middleware, παρά μόνο με τον Apache της βάσης δεδομένων. Ωστόσο, κάποια βασικά χαρακτηριστικά μιας συνεργατικής ανάπτυξης τα οποία θεωρούμε δεδομένα στη Java, όπως το versioning, προς το παρόν απουσιάζουν, ίσως γιατί δεν είναι απαραίτητο στο συνήθη τρόπο εκτέλεσης ενός Appex έργου.

Στα επιμέρους sessions, είχαμε την ευκαιρία να δούμε αρκετά από τα νέα γνωρίσματα του Oracle Server 11g. Πιο συγκεκριμένα, πραγματικά πιστεύω πως ένα από τα πιο εξελιγμένα χαρακτηριστικά της βάσης, που βελτιώθηκαν περαιτέρω στην τελευταία έκδοση είναι η XML DB (http://www.oracle.com/technology/tech/xml/xmldb) καθώς συνδυάζει και εναλλάσσεται μεταξύ του κόσμου της SQL, της XML και του document-centric. Στη διάρκεια των hands-on labs μπορέσαμε να χειριστούμε τον νέο τύπο αποθήκευσης του τύπου XMLType (πέρα από CLOB και object-relational) ως Binary XML, που διευκολύνει την αποθήκευση και αναζήτηση, να κατασκευάσουμε εύχρηστους indexes με τη βοήθεια του XMLIndex (που μπορεί να κατασκευαστεί σύγχρονα ή ασύγχρονα διευκολύνοντας την επεξεργασία μεγάλων κειμένων) και με όλα αυτά μαζί να κάνουμε ευέλικτες αναζητήσεις με την υποστήριξη του προτύπου XQuery, να αλλάξουμε δυναμικά ένα XSD στη βάση με τον μηχανισμό in-place XML schema evolution καθώς και να δημιουργήσουμε και να διαθέσουμε ένα νέο web service από έναν πίνακα XML, χωρίς την παραμικρή μεσολάβηση ενός middle-tier. Κάτι άλλο που παρακολούθησα από τη βάση και ήταν ενδιαφέρον, είχε να κάνει με τους νέους JDBC drivers 11g που επιτρέπουν ανάμεσα στα άλλα να ειδοποιείται μέσω callback ένα πρόγραμμα, όταν τα δεδομένα στα οποία έχει δηλώσει ενδιαφέρον αλλάξουν (Data Change Notification) Εξίσου αξιοσημείωτη είναι η δυνατότητα κατασκευής client trace από το JDBC (http://www.oracle.com/technology/obe/hol08/11gR1_JDBC_Java/JavaDiag_otn.htm) Τέλος, θα χρειαστεί να περιμένουμε την 11g του WebLogic προκειμένου να έχουμε όλα αυτά τα χαρακτηριστικά καθώς και την εγγενή και πλήρη υποστήριξη του RAC (και του TAF) και στα connection pools που διαχειρίζεται ο Weblogic.

Συνεχίζοντας με τις λύσεις της Java, να αναφέρω πως η τελευταία release του Oracle Application Server θα είναι η 10.1.3.5 και στις αρχές του δεύτερου εξαμήνου του 2009 θα αναμένουμε την 11g, που θα έχει φυσικά ως πυρήνα τον Weblogic server, θα χρησιμοποιεί το δικό του stack για τα web services και τα JMS (με την προσθήκη του Advanced Queuing), θα διασυνδέεται καλύτερα με το Oracle Identity Management και τον Oracle Enterprise Manager, θα περιλαμβάνει και το Service Component Architecture (SCA) ενώ θα χρησιμοποιεί για ποικίλες εσωτερικές εργασίες το Coherence (για παράδειγμα in-memory JMS persistence, replication, κλπ) Μιλώντας για μικρά μυστικά του Weblogic, ένα από τα χαρακτηριστικά που ελπίζω σύντομα να παρουσιάσω σε άρθρο μου είναι το FastSwap που επιτρέπει άμεση δοκιμή αλλαγών στον κώδικα χωρίς re-deployment, το πώς μπορούμε να εφαρμόσουμε σύνθετες πολιτικές ασφάλειας σε ένα JAX-WS, χρήσιμα ΑΝΤ tasks όπως το clientgen για να επικοινωνούμε με web services ή να καλούμε άλλα scripts του WLST.

Ως προς το SOA, αυτό που έχουμε στα χέρια μας είναι η έκδοση 10.1.3.4, με αυξημένα χαρακτηριστικά profiling και diagnostics, δίχως την παραμικρή ρύθμιση. Από την άλλη το technology preview του SOA Suite 11 μας δείχνει το δρόμο για τη δόμηση αρχιτεκτονικών με στοιχεία SCA, ροές που μπορούν να διασυνδέονται με Tuxedo, αλλά και εύκολη κατασκευή σελίδων για human tasks στο περιβάλλον του JDeveloper και του ADF.

Jan 11, 2009

Παρουσίαση στο 2ο Athens International Forum on Security (AIFS)

Το διήμερο 15-16 Ιανουαρίου θα διεξαχθεί στο συνεδριακό κέντρο της Ελληνοαμερικανικής Ένωσης το δεύτερο διεθνές φόρουμ για θέματα ασφαλείας στην Αθήνα (http://conferences.hau.gr/?i=aifs2009.en.agenda). Οι ομιλητές καλούνται να καλύψουν μια εξαιρετικά πλούσια και ενδιαφέρουσα θεματολογία και ανάμεσα σε αυτούς θα βρισκόμαστε και εμείς για μια παρουσίαση επικεντρωμένη σε θέματα ασφάλειας σε ADF εφαρμογές. Η παρουσίαση χωρίζεται σε δυο ενότητες: στην πρώτη θα αναφερθούν οι δυνατότητες προστασίας ADF πόρων με την χρήση του Oracle Java Platform Security (JPS) που εισήχθηκε στον JDeveloper 11g, και στην δεύτερη, θα εξετάσουμε πιθανές λύσεις σε περιπτώσεις που η δήλωση ρόλων μέσα στην εφαρμογή μας δεν είναι αρκετή όταν το πλαίσιο ασφαλείας είναι διαρκώς μεταβαλλόμενο. Και οι δυο ενότητες θα συνοδευτούν από hands-on demos που αφενός θα καταδείξουν τα χαρακτηριστικά του JPS και αφετέρου τις επεκτάσεις που μπορούμε να κάνουμε στο JSF ώστε να δημιουργήσουμε δικά μας, αυτόνομα, security aware UI components.

Η διάρκεια της παρουσίασης περιορίζεται σε 30 λεπτά, οπότε οι δυο σύμμαχοι σε αυτό είναι η καλή προετοιμασία και η καταγραφή του script πίσω από κάθε ένα slide, όπως επίσης και ένα stopwatch στην οθόνη του laptop που θα με ενημερώνει σχετικά με την χρονική της πορεία.

Nov 11, 2008

22 Νοεμβρίου JHUG 2008 - Θα είμαστε και εμείς εκεί !

Είναι μεγάλη μου χαρά και τιμή που θα συμμετέχω ως ομιλητής στο JHUG (http://www.jhug.gr) που θα διοργανωθεί στις 22 Νοεμβρίου στο ξενοδοχείο President υπό την χορηγία της Trasys. Θα είναι μια πολύ καλή ευκαιρία για μια hands-on παρουσίαση του άρτι αφιχθέντος JDeveloper 11g που εγκαινιάζει πολλά καινούργια γνωρίσματα όπως τα ADF Faces Rich Client components για τη δημιουργία "ζωντανών", δυναμικών user interfaces σε JSF, τα task flows για την οργάνωση των σελίδων μας και τη δόμηση ροών μεταξύ αυτών, την υποστήριξη templates, την ενοποίηση με το Weblogic Server, σημαντικές βελτιώσεις στα ADF BC και πάρα πολλά άλλα. Ακόμα δεν έχω αποφασίσει αν το hands-on σενάριο που θα παρουσιαστεί θα είναι βασισμένο σε EJB3, που θα είναι πιο γνώριμο στους περισσότερους ή σε ADF BC που είναι η πρόταση της Oracle για persistence layer. Έχουμε καιρό ως τις 22 Νοεμβρίου πάντως... Περισσότερες πληροφορίες για το event στο http://jugevents.org/jugevents/event/show.html?id=11070

Sep 28, 2008

Αναγγελία Oracle Develop 2009

Έπειτα από το τέλος του Oracle OpenWorld, ανακοινώθηκαν τα διήμερα Oracle Develop events ανά τον κόσμο που περιλαμβάνουν μια πρώτης τάξεως ευκαιρία για όλους τους developers ώστε να ενημερωθούν για τα εργαλεία ανάπτυξης από τους ειδικούς της Oracle και να συμμετάσχουν σε hands-on εργαστήρια ((http://serafeimk.blogspot.com/2007/06/oracle-develop-2007-in-prague.html). Περισσότερες πληροφορίες εδώ. Τα λέμε λοιπόν τον Φλεβάρη στην Πράγα!

Mar 25, 2008

Εντυπώσεις από το Oracle Technology Day: SOA & BPM - Μάρτιος 2008

Στις 18 Μαρτίου παραβρέθηκα στην εκδήλωση του Oracle Technology σχετικά με θέματα SOA (Service Oriented Architecture) και BPM (Business Process Management) στο Athens Intercontinental. Ενώ τα προϊόντα της Oracle σε αυτόν τον τομέα είναι λίγο-πολύ γνωστά, αυτό που προσέδωσε ιδιαίτερο ενδιαφέρον στην παρουσίαση ήταν η κάλυψη της οπτικής γωνίας και της μεθοδολογίας που χρησιμοποιεί η ίδια η Oracle για να αντιμετωπίσει τέτοιου είδους προκλήσεις.

Η πρώτη ενότητα της εκδήλωσης ασχολήθηκε με το πώς οι αρχιτεκτονικές SOA μπορούν να ωφελήσουν τις επιχειρήσεις. Σύμφωνα με έρευνα του περιοδικού CIO (http://www.cio.com/) το 64% των ΙΤ managers θεωρούν πως καθήκον τους είναι να λειτουργούν προληπτικά και να ανοίγουν νέους δρόμους για το business ενώ το 36% κρίνει πως έργο του είναι η υποστήριξη του business. Το SOA προσφέρει καλύτερη αξιοποίηση των πληροφοριακών συστημάτων μιας εταιρείας, μικρότερα κόστη διασύνδεσης εφαρμογών (καταλήγοντας να σχηματιστούν ροές εργασιών - business processes) και ολοκληρωμένης πληροφόρησης, μεγαλύτερη ευελιξία σε αλλαγές και καινοτομίες που προσδοκά η αγορά. Κατά συνέπεια, το SOA αποτελεί την τεχνολογία που καθιστά πιο αποτελεσματική την διαχείριση επιχειρηματικών διαδικασιών (BPM) καθότι επιτρέπει την ευκολότερη αλληλεπίδραση μεταξύ τους καθώς και την εξαγωγή επιχειρηματικής ευφυίας σχετικά με την αποδοτικότητα αυτών. Έτσι το SOA γίνεται το σημείο όπου το business και το IT συναντιούνται για να θέσουν και να κατακτήσουν τους στόχους μιας εταιρείας.

Η SOA σουίτα της Oracle ανταποκρίνεται στις ανάγκες υλοποίησης των σύγχρονων αρχιτεκτονικών ανά επίπεδο ως εξής:
  • Services. JEE (OC4J για τη διάθεση εφαρμογών), Business Rules (για την ευελιξία στη συντήρηση και τη διαμόρφωση κανόνων και πολιτικών από το business), Coherence (για τη δημιουργία επεκτάσιμων - scalable JEE εφαρμογών, που θα λειτουργούν σε περιβάλλον cluster και θα επενεργούν εξαιρετικά γρήγορα στις απαιτήσεις για δεδομένα, λειτουργώντας εν είδη κατανεμημένης μνήμης σε διάφορους κόμβους, ακόμα και σε διάταξη disaster recovery)
  • Routing-Transformation. ESB (Enterprise Service Bus) για τη δρομολόγηση στοιχείων μεταξύ business processes
  • Orchestration. Oracle BPEL για την υλοποίηση business processes και Web Service Manager για δημιουργία πολιτικών στα Web Services
  • Monitoring. Oracle BAM (Business Activity Monitoring) για την παρακολούθηση των business processes ή ειδικών συμβάντων (events) που συμβαίνουν σε αυτές.
  • Design. Έπειτα από τη συνεργασία της Oracle με την IDS Scheer (http://www.ids-scheer.com/) που κατασκευάζει το εργαλείο BPM Aris, είναι δυνατόν να υπάρχει αμφίδρομη επικοινωνία σχεδίων (designs) μεταξύ του business και του IT στην πλατφόρμα του SOA Suite. Τα σχέδια του Aris μετατρέπονται σε BPEL διαδικασίες και αντίστροφα.

Τα τέσσερα patterns στα οποία το SOA μπορεί άμεσα να αποβεί χρήσιμο είναι:
  1. SOA integration, για την διασύνδεση εφαρμογών ή συστημάτων
  2. Modern composite applications, για τη δημιουργία καινούργιων εφαρμογών που θα εκμεταλλεύονται τα χαρακτηριστικά της αρχιτεκτονικής
  3. Mainframe SOA-enabling, προκειμένου παλαιότερα συστήματα να μπορούν να αξιοποιηθούν από νέες εφαρμογές
  4. Human workflows, για την υλοποίηση επιχειρηματικών διεργασιών που θα περιλαμβάνουν και στάδια ανθρώπινης παρέμβασης (κάτι στο οποίο ανταποκρίνονται πολύ καλά τα human tasks του Oracle BPEL)

Σε μια πιο συστηματική καταγραφή, τα διάφορα στάδια που μπορεί να διέλθει μια επιχείρηση υιοθετώντας το SOA είναι:
  • Level 1 - Opportunistic. Χρησιμοποιείται για σποραδικά σε projects
  • Level 2 - Tactical. Χρησιμοποιείται συστηματικά για διασύνδεση συστημάτων
  • Level 3 - Strategic. Αποτελεί την καρδία του business automation ενός οργανισμού
  • Level 4 - Enterprise. Σε συνδυασμό με το BAM χρησιμοποιείται για την παρακολούθηση της αποδοτικότητας και την συμμόρφωση με SLAs
  • Level 5 - Industrialized. Στρατηγική χρήση του SOA και όλων των συνοδευόμενων προτύπων και μεθοδολογιών
Στο τελευταίο μέρος της εκδήλωσης έγινε η παρουσίαση του άρτι αφιχθέντος SOA Suite 11g (http://www.oracle.com/technology/products/ias/bpel/techpreview/index.html) που βρίσκεται ακόμα σε δοκιμαστική έκδοση. Ανάμεσα στα νέα χαρακτηριστικά του 11g είναι η ίδεα του SOA composite, δηλαδή μιας επαναχρησιμοποιήσιμης μονάδας (unit) που μπορεί να περιλαμβάνει BPEL διαδικασίες, human workflows, ESBs. Κατά αυτόν τον τρόπο προσφέρεται μια υλοποίηση του Service Component Architecture (SCA) που μας διευκολύνει ώστε να ομαδοποιούμε, παραμετροποιούμε και να αξιοποιούμε καλύτερα διαδικασίες.

Κλείνοντας αυτό το άρθρο, αξίζει να αναφερθούμε στη δήλωση του Larry Ellison ότι το SOA θα χρειαστεί 10 με 20 χρόνια προκειμένου να αγκαλιαστεί από τις επιχειρήσεις (http://www.cio.co.uk/concern/change/news/index.cfm?articleid=2449&pagtype=allchandate) Είναι σίγουρο πως ο δρόμος είναι μακρύς, αλλά εξίσου ενδιαφέρον και αποδοτικός.

Oct 28, 2007

Παρουσίαση προϊόντων της οικογένειας TOAD στο Mall

Στις 23 Οκτωβρίου πραγματοποιήθηκε εκ μέρους της iTeam η παρουσίαση προϊόντων της οικογένειας TOAD στο Mall. Ομιλητής ήταν ο Martin Rapetti, Technical Distribution Manager της Quest που ανέλαβε να μας εκθέσει με κατατοπιστικό τρόπο τα τεχνικά χαρακτηριστικά των προϊόντων της πλατφόρμας. Αναμφίβολα, το πιο γνωστό μέλος της οικογένειας είναι το ίδιο το TOAD, αλλά αποτέλεσε ευχάριστη έκπληξη η γνωριμία με νέα προϊόντα που είναι εξαιρετικά χρήσιμα σε όσους ασχολούνται με την ανάπτυξη ή τη διαχείριση εφαρμογών στην Oracle. Το βάρος της παρουσίασης συγκεντρώθηκε γύρω από τις διευκολύνσεις που παρέχονται στον προγραμματιστή βάσεων δεδομένων όπως επίσης και στην ποιότητα του κώδικα και στη βελτιστοποίηση του, αφού σύμφωνα με έρευνα του Gartner που παρουσιάστηκε, στην διαδικασία ανάπτυξης, το 65% ξοδεύεται στο debugging, το 25% στην εξερεύνηση της λύσης και μόλις το 10% στην κωδικοποίηση. Τούτο είναι εξαιρετικά σημαντικό και πολυαναμενόμενο, ειδικά από αυτούς που συνηθίσει σε αντίστοιχες μεθοδολογίες και εργαλεία, όπως στο περιβάλλον του JEE. Πιο αναλυτικά οι σημειώσεις μου αφορούν:

  1. To αυτόνομο εργαλείο Data Μodeler που αναλαμβάνει να κάνει λογικό ή φυσικό σχεδιασμό βάσεων δεδομένων, reverse engineering, μετατροπή σχήματος από μια βάση (πχ SQL Server) σε άλλη (πχ Oracle) Διαθέτει ένα πολύ αναλυτικό reporting σε μορφή HTML ή RTF, κάτι που είναι συχνά πολύ απαραίτητο, ενώ διαθέτει και ευφυΐα ώστε να συγκρίνει μοντέλα και σχήματα και να παράγει το script του συγχρονισμού.
  2. Η έκδοση του TOAD που παρουσιάστηκε ήταν η 9.1 που ομολογουμένως έχει ένα πιο προηγμένο και διαισθητικό interface (όπως για παράδειγμα context-menu σε ένα αντικείμενο όταν το γράφουμε σε ένα SQL command), πτυσσόμενες παλέτες και λιγότερα παράθυρα. Για τις ανάγκες τυποποίησης, υπάρχει προφανώς ο Formatter ενώ συμπεριλαμβάνεται και ο μετατροπέας για την μετατροπή μιας εντολής SQL στην κατάλληλη μορφή στην γλώσσα προγραμματισμού που μας ενδιαφέρει . Η αλήθεια είναι πως αυτό το χαρακτηριστικό είναι εξαιρετικά χρήσιμο αφού κατά καιρούς έχω σπαταλήσει αρκετό χρόνο για να κάνω tune ένα SQL στον TOAD και μετά να το κάνω copy-paste με εισαγωγικά και + στο Java πρόγραμμα μου. Εξαιρετικά ενδιαφέρουσα ήταν και η παρουσίαση του CodeXpert που λειτουργεί ως εργαλείο στατικής ανάλυσης, αναγνωρίζοντας προβλήματα στον κώδικά μας, όπως full table scans, χρησιμοποιώντας προσαρμοζόμενους κανόνες. Επειδή αυτού του είδους η ανάλυση μπορεί να διαρκέσει μεγάλο χρονικό διάστημα, η δουλειά του CodeXpert μπορεί να προγραμματιστεί να εκτελεστεί όποτε εμείς το επιθυμούμε. Επίσης, έγινε επίδειξη του debugger με την χρήση watches για μεταβλητές και breakpoints που είναι δυνατόν να ενεργοποιηθούν όταν συμβαίνουν ειδικές συνθήκες (conditions) Τέλος, χρήζει προσοχής και ο profiler που βασίζεται στο DBMS_PROFILER πακέτο της Oracle που κάνει ανάλυση, γραμμή-προς-γραμμή του κόστους ενός PL/SQL προγράμματος. Κάτι επίσης που δεν γνώριζα, είναι πως στο TOAD μπορεί να λειτουργήσουν μηχανισμοί εξουσιοδότησης χρηστών, ώστε διαφορετικοί χρήστες να έχουν προσαρμοσμένη πρόσβαση σε βάσεις δεδομένων μέσω του εργαλείου (π.χ. απόκρυψη μενού ή read-only πρόσβαση)
  3. Εξίσου εντυπωσιακός ήταν ο Code Tester, ένα πλήρες GUI εργαλείο για να γράψει κανείς τα test cases του. Επιλέγοντας λοιπόν μια PL/SQL procedure, μπορούμε να ορίσουμε γραφικά μια σειρά από σενάρια, με εισερχόμενες παραμέτρους και αναμενόμενα αποτελέσματα. Ο Code Tester θα μας παράγει ένα PL/SQL package που θα τρέξει τα σενάρια μας και θα μας εμφανίσει την έκβασή τους. Γραφικό unit testing λοιπόν.
  4. Και φυσικά το πιο ενδιαφέρον για τους προγραμματιστές είναι πάντα η βελτίωση της απόδοσης των SQL τους, οπότε διατίθεται το εργαλείο SQL Optimizer που αναλαμβάνει, με αναζήτηση στη δική του βάση γνώσης αλλά και ενδεικνυόμενα best practices, να μας παρουσιάσει εναλλακτικά σενάρια εκτέλεσης ενός query, ακόμα και με την προσθήκη ή αφαίρεση indexes.
  5. Και επειδή το επιλεγόμενο σενάριο, θα πρέπει να δοκιμαστεί κάτω και συνθήκες φόρτου, το Benchmark Factory, αναλαμβάνει να κατασκευάσει και να εκτελέσει stress-test σενάρια, που ανάμεσα στα άλλα θα μπορούν να περιλαμβάνουν και τους δείκτες TPC-C και TPC-H.
  6. Τέλος, ενδιαφέρον για τους DBA έχει το Spotlight που αναλαμβάνει να απεικονίσει το τι συμβαίνει εκείνη τη στιγμή στην βάση δεδομένων, με τρόπο άμεσο, οργανωμένο και ιδιαίτερα παραστατικό, παρέχοντας επίσης δυνατότητες drill-down στα διάφορα στοιχεία της Oracle (π.χ. processes, SGA, κλπ) Το Spotlight, μπορεί να κρατήσει τα στατιστικά μιας ημέρας, ώστε να μπορέσουμε να τα κάνουμε replay, οποιαδήποτε στιγμή θέλουμε, στο γραφείο μας.

Η άκρως ενδιαφέρουσα παρουσίαση έκλεισε μια διανομή ενός CD που περιελάμβανε όλα τα προϊόντα που παρουσιάστηκαν σε δοκιμαστική έκδοση 30 ημερών. Η πραγματικά πολύ ενεργή κοινότητα των χρηστών του TOAD βρίσκεται στην διεύθυνση http://toadworld.com

Jun 24, 2007

Oracle Develop 2007 in Prague - Εντυπώσεις

Το διήμερο 21-22 Ιουνίου πραγματοποιήθηκε στην Πράγα η συνέχεια της εκδήλωσης Oracle Develop, που έχει διανύσει ήδη την αμερικάνικη και την ασιατική ήπειρο και τώρα βρίσκεται στην Ευρώπη (http://www.oracle.com/technology/events/develop2007/index.html) Η εκδήλωση απευθύνεται σε developers και αποσκοπεί στην ενημέρωσή τους σχετικά με προϊόντα και εξελίξεις, την πρακτική εφαρμογή όσων παρουσιάζονται με τη βοήθεια hands-on sessions, και τέλος, και ίσως σημαντικότερο, την επαφή και γνωριμία με τους "ειδικούς" της Oracle, σε κάθε προϊόν. Με πολύ μεγάλη μου χαρά θα σας παρουσιάσω σε αυτό το άρθρο τις εντυπώσεις μου από αυτό το διήμερο καθώς και τις σκέψεις που μου δημιουργήθηκαν.

Το event έλαβε μέρος στο Συνεδριακό Κέντρο της Πράγας (Congress Center) και το παρακολούθησαν περίπου 700 άνθρωποι από 36 χώρες. Οι συνεδρίες ήταν διάρκειας μιας ώρας η κάθε μια και συντελούσαν σε ένα εντατικό και πολύ ενδιαφέρον πρόγραμμα από 10.30 το πρωϊ μέχρι τις 6.30 το απόγευμα. Οι άξονες του ενδιαφέροντος ήταν Java, SOA, .NET και Database. Αξίζει να σημειωθεί πως ειδικά για τις τεχνικές συνεδρίες (hands-on sessions) οι αίθουσες ήταν εφοδιασμένες με σειρές από laptops Dell Latitude με επεξεργαστή Core Duo 2 και μνήμη 2GB ώστε ο κάθε ένας χρήστης να έχει το δικό του. Το επίπεδο των εισηγητών αλλά και των παρουσιάσεων κυμάνθηκε σε υψηλό επίπεδο και για κάθε hands-on session αποκομίσαμε ένα βιβλίο που εξέθετε αναλυτικά κάθε άσκηση.

Κάνοντας μια σύνθεση αυτών που ακούστηκαν και εντάσσοντας τα σε κατηγορίες, τα πιο ενδιαφέροντα σημεία ήταν τα ακόλουθα:
  1. Oracle Database Server. To launching της 11g θα πραγματοποιηθεί μέσω webcast στις 11 Ιουλίου (http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=66665) Ανάμεσα στα αναμενόμενα χαρακτηριστικά είναι:
    1. Η δυνατότητα καταγραφής του φόρτου και των συνθηκών ενός συστήματος (όπως sessions, παράμετροι) και η δυνατότητα αναπαραγωγής του σε άλλο σύστημα. Ένα αφάνταστα χρήσιμο χαρακτηριστικό που θα ωφελήσει όλους θέλουν να δοκιμάσουν σε πραγματικό φόρτο ένα testing περιβάλλον
    2. Ο μηχανισμός caching θα παρουσιάσει αρκετές βελτιώσεις ώστε με διαφανή τρόπο, παρόμοια queries να μοιράζονται τα ίδια αποτελέσματα και να εκτελούνται πιο γρήγορα
    3. Θα προσφέρεται πια η δυνατότητα connection pooling και για την PHP
    4. Βελτιώσεις στην PL/SQL ώστε να επιταχύνεται το compilation με το έλεγχο των εξαρτήσεων μιας function ή procedure όχι σε επίπεδο package, αλλά σε επίπεδο function ή procedure που σχετίζονται με αυτήν, όπως επίσης και real native compilation, απευθείας σε κώδικα μηχανής. Επίσης, δυνατότητα inlining συναρτήσεων (με την επιλογή pls_optimize_level = 3), caching αποτελεσμάτων σε ένα query, ιδιαίτερά χρήσιμο όταν αυτό είναι σύνθετο και περιλαμβάνει sub-queries που διαβάζουν τα ίδια δεδομένα με το hint /*+ result_cache */ Ως προς τους triggers, θα είναι πλέον δυνατόν να γίνονται disabled, να ορίζεται η σειρά εκτέλεσής τους καθώς και να ομαδοποιούνται ώστε ένας μόνο trigger να περιλαμβάνει statements όπως before statement..., before each row... Επιπλέον, δεν θα χρειάζεται SELECT statement για την επιλογή της επόμενης τιμής ενός sequence. Τέλος, από τα πιο αναμενόμενα χαρακτηριστικά είναι η υποστήριξη του Go to Declaration, στο περιβάλλον του SQL Developer, που θα παραδοθεί μαζί με την Oracle 11g, έπειτα από την επιλογή του ονόματος ενός πακέτου ή procedure, καθώς και η γραφική υποστήριξη του PL/SQL profiler του πακέτου dbms_profiler.
  2. Oracle Application Server.
    1. Αλλαγή στη φιλοσοφία και τη σύνθεση των Application Servers. Σε όλες τις παρουσιάσεις που είχαν να κάνουν με τον OAS αλλά και την ανάπτυξη των εφαρμογών, ακούσαμε πολλές φορές τις λέξεις JPA, EJB3, TopLink, Spring και JSF. Αυτό δεν είναι καθόλου τυχαίο, δεδομένου ότι η Oracle έχει πάρει την στρατηγική απόφαση να υποστηρίξει ανοικτά πρότυπα στην ανάπτυξη λογισμικού, γεγονός που αποδεικνύεται με την συμμετοχή της σε διάφορους οργανισμούς όπως το OSGi Alliance, Eclipse Foundation, προσφορές κώδικα στο Apache, όπως του ADF Faces κτλ. Διαφαίνεται πως το open source, έχει εισβάλλει για τα καλά με τη δυναμική του στους εμπορικούς Application Servers, οι οποίοι με τη σειρά τους, στηρίζονται σε ολοένα και αυξανόμενο βαθμό σε open source projects. Γι' αυτό το λόγο, φαίνεται πως στο επόμενο χρονικό διάστημα θα παίξει μεγάλο ρόλο η πακετοποίηση λύσεων και βιβλιοθηκών βασισμένες στο OSGi (http://www.osgi.org/) ώστε να μπορούν να εντάσσονται εύκολα (σκεφτείτε πόσο γρήγορα προκύπτουν νέες εκδόσεις στα open source projects) στο περιβάλλον ενός Application Server.
    2. Κάτι επίσης που θα μας απασχολήσει στο επόμενο διάστημα είναι το Service Component Architecture (SCA) που αναλαμβάνει την ομαδοποίηση σε ροές εργασιών BPEL, message hubs που χρησιμοποιούνται, business rules και την παραμετροποίηση που χρειάζονται ώστε να συνθέσει ένα επαναχρησιμοποιήσιμο στοιχείο σε μια αρχιτεκτονική SOA. Με άλλα λόγια, διαμέσου αυτού των στοιχείων, θα είναι δυνατή η σύνθεση ροών, που αποτελούνται από επιμέρους στοιχεία, που θα επικοινωνούν μεταξύ τους με σαφώς καθορισμένο τρόπο. Ας αρχίσουμε δηλαδή να βλέπουμε τις ροές BPEL ως κομμάτια ενός γενικότερου παζλ μιας αρχιτεκτονικής, που συνθέτει και ταιριάζει, ανάλογα με τις ανάγκες άλλα κομμάτια (components)
    3. Ένα πολύ ελπιδοφόρο προϊόν είναι το Oracle Coherence (http://www.oracle.com/technology/products/coherence/index.html), που αφορά την κατανεμημένη διαχείριση μνήμης σε ένα cluster από Application Servers. Προέρχεται από την εξαγορά του Tangosol, είναι JCache-compliant και έρχεται να αντικαταστήσει ανάμεσα στα άλλα και το Java Object Cache. Καθώς ο φόρτος στους Application Servers αυξάνεται, το Oracle Coherence λειτουργεί ως μηχανισμός μνήμης για ένα cluster από Application Servers, προσφέροντας δυνατότητες για διάφορες τοπολογίες, ενεργοποίησης γεγονότων (για παράδειγμα η αλλαγή της τιμής ενός πεδίου ενός object) και πολλά άλλα. Με άλλα λόγια απευθύνεται σε μια grid αρχιτεκτονική από Application Servers που έχοντας στη διάθεσή τους αρκετή μνήμη, μπορούν να εξυπηρετήσουν γρήγορα και με αντοχή σε σφάλματα, τις αιτήσεις των χρηστών. Το ενδιαφέρον είναι πως το Oracle Coherence θα χρησιμοποιηθεί εσωτερικά από την OAS στην έκδοση 11g για το state replication σε cluster και ότι επίσης θα αντικαταστήσει το OPMN. Επίσης, δύναται να χρησιμοποιηθεί και από .ΝΕΤ εφαρμογές.
    4. Ενδιαφέρουσα ήταν η επίδειξη της χρήσης proxy authentication στον Application Server. Αυτό μπορεί να συμβαίνει σε εφαρμογές που στηρίζονται σε auditing ή εφαρμογή πολιτικών (για παράδειγμα Virtual Private Database) με βάση database χρήστες. Η έκδοση 10.1.3.3 επιτρέπει τη δημιουργία connection pool με την χρήση proxy users που αυθεντικοποιούνται τόσο από το επίπεδο του Application Server, όσο και από αυτό της βάσης.
    5. Ένα ακόμα γνώρισμα του 10.1.3 είναι η δυνατότητα για το Java Single Sign-On (JSSO) που διαφοροποιείται από το Oracle Single Sign-On που χρησιμοποιεί το Oracle Internet Directory ως repository. Αντίθετα, το JSSO συνεργάζεται με JAAS providers και μπορεί απευθείας να επικοινωνήσει με αρχείο χρηστών (jazn-data.xml), πίνακες στην βάση δεδομένων που κρατούν χρήστες και ρόλους της εφαρμογής, SUN iPlanet, κ.α.
  3. Development Tools.
    1. Εντυπωσιάστηκα από ίσες δυνατότητες προγραμματισμού που παρέχει η Oracle και στο περιβάλλον .ΝΕΤ. Δυνατότητες που περιλαμβάνουν λειτουργίες όπως local/remote debugging σε PL/SQL, end-to-end debugging, connection pooling, proxy authentication, array arguments στο ODP.NET, διασύνδεση στο Help του Visual Studio με το PL/SQL Reference Guide. Επίσης, providers για το ASP.NET για την αποθήκευση της κατάστασης ενός site, ακόμα και δυνατότητα αποθήκευσης και εκτέλεσης stored procedures σε .ΝΕΤ (μόνο σε Windows και μόνο για Oracle 10g Release 2) Κατά αυτόν τον τρόπο, η Oracle επιδιώκει να δώσει ίσες δυνατότητες προγραμματισμού τόσο σε Java όσο και σε .ΝΕΤ περιβάλλοντα.
    2. Ισχυρότερη υποστήριξη του Eclipse, τώρα και στο μέλλον, με τη διάθεση plug-ins όπως το EclipseLink για TopLink EJB 3 λύσεις, του Dali για το JPA, προσφάτως του Oracle Database Plugin κοκ, αναγνωρίζοντας πως όλοι οι προγραμματιστές σε Oracle συστήματα δεν χρησιμοποιούν αποκλειστικά JDeveloper.
    3. Ήταν ιδιαίτερη εντυπωσιακή η επίδειξη των δυνατοτήτων της βιβλιοθήκης Oracle ADF Faces Rich Client. (http://www.oracle.com/technology/products/adf/adffaces/index.html) Πρόκειται για JSF components εμπλουτισμένα με AJAX δυνατότητες. Ενδεικτικά παραδείγματα αποτελούν οι δυνατότητες resize σε panels και σε κελιά πινάκων (κάτι ανάλογο με το excel), αυτόματης ταξινόμησης και ενεργοποίησης φίλτρων σε πίνακες (grids), παραγωγής γραφημάτων, drag and drop, κ.α.
Γενικά, θα έλεγα πως πέρασα ένα χρήσιμο και εντατικό σε μάθηση διήμερο στο Oracle Develop 2007. Αξίζει πέρα για πέρα να παρακολουθεί κανείς τέτοιες εκδηλώσεις.