May 22, 2006

ADF και SQL Server

To ADF είναι ένα πλαίσιο ανάπτυξης J2EE εφαρμογών, βασισμένων σε βάσεις δεδομένων, χρησιμοποιώντας state-of-the-art τεχνολογίες όπως EJB, Java Classes, TopLink, Web Services και ADF Business Components για την άντληση και αποθήκευση πληροφορίας. Αυτό που ίσως γνωρίζουν λίγοι είναι πως δεν υπάρχει περιορισμός για την βάση δεδομένων που πρόκειται να χρησιμοποιηθεί, αλλά κάλλιστα μπορεί να πρόκειται για μια όχι Oracle βάση. Το γεγονός αυτό δίνει ισχυρά πλεονεκτήματα σε περιπτώσεις η μεταφερσιμότητα σε βάσεις δεδομένων είναι σημαντική για τα έργα μας.

Τις προηγούμενες ημέρες διερεύνησα την περίπτωση του SQL Server 2000. Προκειμένου να συνδεθούμε σε μια τέτοια βάση, θα πρέπει νωρίτερα να έχουμε στη διάθεσή μας τους JDBC drivers του SQL Server 2000. Η Oracle παρέχει DataDirect JDBC driver για διάφορους κατασκευαστές που είναι διαθέσιμοι στο http://otn.oracle.com/software/products/ias/htdocs/utilsoft.html, ενώ εναλλακτικά μπορείτε να χρησιμοποιήσετε τους οδηγούς που παρέχει η ίδια η Microsoft (πράγμα που έκανα σε αυτό το παράδειγμα). Αφότου κάνουμε unzip το αρχείο που θα προμηθευτούμε, στον JDeveloper αρκεί να ορίσουμε διαμέσου του μενού Tools-->Manage Libraries μια βιβλιοθήκη που θα περιλαμβάνει τα βασικά αρχεία


Κατόπιν, διαμέσου του Connection Manager, ξεκινούμε μια νέα σύνδεση, επιλέγοντας ως Connection Type: Third Party JDBC Driver, τα διαπιστευτήρια της σύνδεσης και τις υπόλοιπες πληροφορίες σχετικά με το Driver class (com.microsoft.jdbc.sqlserver.SQLServerDriver) Τέλος δηλώνουμε το URL της σύνδεσης στη μορφή:

jdbc:microsoft:sqlserver://hostname;SelectMethod=cursor
;DatabaseName=dbname (συνεχόμενη γραμμή)



Μετά από αυτό μπορείτε να ξεκινήσετε τις ADF-εφαρμογές στον SQL Server, κατά ανάλογο τρόπο με αυτόν που ισχύει και για τις Oracle-based. Ωστόσο, με μια πρόχειρη ματιά, οι περιορισμοί που προκύπτουν με την υποστήριξη του SQL Server αναφέρονται:



  • Αν και υποστηρίζεται η μοντελοποίηση του σχήματος της ΒΔ (πλήρης, σύμφωνα με τα χαρακτηριστικά του SQL Server 2000) και η παραγωγή των table creation scripts, δεν είναι δυνατή η αυτόματη εκτέλεση του script
  • Εξετάζοντας τη σύνδεση με τον SQL Server, εμφανίζονται μόνο οι πίνακες και οι όψεις αλλά όχι και οι πιθανές stored procedures
  • To SQL worksheet δεν υποστηρίζει explain plans
  • Ειδικοί τύποι του SQL Server 2000, όπως για παράδειγμα ο Image, θέλει ειδικό χειρισμό (custom renderer) για να εμφανιστεί και να τροποποιηθεί σε UI, όπως του JSF
Τέλος, για να τρέξετε την εφαρμογή σας είτε στον Embedded OC4J Container, είτε σε κάποιο Standalone OC4J, είναι αναγκαίο να αντιγράψετε τις JDBC βιβλιοθήκες του SQL Server στον κατάλογο $OC4J_HOME/BC4J/lib. Για περισσότερες πληροφορίες για την διάθεση εφαρμογών που συνδέονται σε μη-Oracle βάσεις δεδομένων μπορείτε να ανατρέξετε και στο README και τα Release Notes του JDeveloper.

No comments: