Τετάρτη 5 Σεπτεμβρίου 2012

Σύνδεση Android σε εξωτερική βάση δεδομένων



 

    Δεν είναι λίγες οι φορές που οι developers του android συναντούν την ανάγκη να συνδέσουν την εφαρμογή τους με κάποια απομακρυσμένη βάση δεδομένων, για να πάρουν ή να αποθηκεύσουν δεδομένα. Πως μπορεί όμως το android να  συνδεθεί με μια βάση στο web;


Υπάρχουν 2 τρόποι να γίνει αυτό.

    Θα ξεκινήσουμε από τον πιο λάθος προς τον πιο σωστό. Ο πρώτος τρόπος είναι η απευθείας σύνδεση. Αυτό γίνεται συνήθως μέσω JDBC (Java Database Connectivity) και αφού έχει εγκατασταθεί ο αντίστοιχος JDBC Driver στον database server. Η συγκεκριμένη λύση όχι μόνο δεν είναι δυνατή για όλες τις βάσεις αλλά είναι και λάθος. Οι βασικοί λόγοι που η συγκεκριμένη τεχνική θεωρείται λάθος είναι η ασφάλεια και η απόδοση. Επίσης είναι λάθος προγραμματιστική πρακτική καθώς όπως θα δούμε με τους άλλους τρόπους το πρόβλημα διαχωρίζεται καλύτερα σε client - server.

    Ο σωστός τρόπος είναι μέσω web services, ο οποίος ενδεικνειτε καθώς είναι προσβάσιμος αναξάρτητα εφαρμογής και συσκευής. Για χρόνια το SOAP (Simple Object Access Protocol) ήταν και εξακολουθεί να είναι το πιο δημοφιλές web service. Δυστυχώς όμως στο andrid υπάρχει υποτυπώδης υποστήριξη σε αυτό μιας και η Google ,όπως και άλλοι κολοσσοί της πληροφορικής, έχουν στραφεί προς το ταχύτατα αναδυόμενο REST (Represantational State Transfer) . Η δύναμη του REST είναι η απλότητα καθώς βασίζεται στα βασικά συστατικά του internet (HTTP, URL). Επίσης είναι ευέλικτο καθώς υποστηρίζει διάφορους τύπους δεδομένων (MIME) όπως XML, JSON αλλά και plain text. To REST μπορεί να υποστηρίξει και AJAX calls μιας και η λογική είναι παρόμοια, και αυτό είναι άλλο ένα πλεονέκτημα που λατρεύουν οι web developers. Το REST λοιπόν, χάρη στην προγραμματιστική απλότητα στη πλευρά του client, φαντάζει σαν η καλύτερη επιλογή για android applications. To REST να πούμε ότι δεν είναι ένα αυστηρό πρότυπο (όπως πχ HTTP) καθώς μπορεί ο developer να το προσαρμόσει στις ανάγκες του. Τα web services που ακολουθούν αυστηρά το πρότυπο συνήθως καλούνται RESTful.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου