Δημιουργία πλαισίου πρόσβασης/αξιοποίησης NoSQL συστημάτων με διαφύλαξη της ιδιωτικότητας με χρήση HTTP πρωτοκόλλου

Designing a RESTful API for accessing NoSQL systems by prοtecting privacy and using the HTTP protocol (Αγγλική)

  1. MSc thesis
  2. Μπέσης, Ευάγγελος
  3. Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα (ΠΛΣ)
  4. 22 Σεπτεμβρίου 2019 [2019-09-22]
  5. Ελληνικά
  6. 129
  7. Καραπιπέρης, Δημήτριος
  8. NoSQL | REST | JSON
  9. 12
  10. 13
  11. περιέχει πίνακες, σχήματα
    • Στην παρούσα διπλωματική εργασία επιχειρείται η ανάπτυξη ενός κοινού πλαισίου πρόσβασης σε έναν αριθμό διαφορετικών NoSQL συστημάτων. Το API θα περιγράφει μία υπάρχουσα βάση δεδομένων και θα προσφέρει ένα σύνολο λειτουργιών (select, update, insert, delete) συμβατών με το REST μοντέλο. Τα επιστρεφόμενα δεδομένα θα αναπαρίστανται ως JSON δεδομένα. Η ανάπτυξη γίνεται στην γλώσσα Java ενώ αξιοποιείται το REST ως αρχιτεκτονικό στυλ παροχής web υπηρεσιών σύμφωνα με τον ορισμό και τους περιορισμούς που αυτό προτείνει. Γίνεται εγκατάσταση των MongoDB, CouchDB και Bigtable σε Java εξυπηρετητή προσβάσιμο από το internet και διερευνώνται τα κοινά σημεία τους και οι διαφορές τους κατά την ανάπτυξη του κώδικα. Το υπό ανάπτυξη API πετυχαίνει να εκτελέσει τις συνήθεις εντολές αναζήτησης, εισαγωγής, ενημέρωσης και διαγραφής με τρόπο αδιάφανο για τον χρήστη και την ακριβής υλοποίηση της ΒΔ στην οποία εκτελούνται αυτές οι εντολές, και χωρίς την χρήση ενός οδηγού, αλλά μόνο με κλήσεις HTTP. Το API θα έχει την δυνατότητα να παρέχει πρόσβαση σύμφωνα με προκαθορισμένες λίστες χρηστών με τα απαραίτητα δικαιώματα. Πέρα από την βασική CRUD λειτουργικότητα, θα έχει την δυνατότητα για επιπλέον λειτουργίες, όπως λειτουργίες σύνθετης αναζήτησης, σύμφωνα με λεξικό που θα αναπτυχθεί και οι οποίες θα υλοποιηθούν κατά περίπτωση στον βαθμό που η συγκεκριμένη ΒΔ το επιτρέπει. Πρέπει να ειπωθεί ωστόσο, ότι αποφεύχθηκε η αξιοποίηση μοναδικών χαρακτηριστικών και δυνατοτήτων των ΒΔ που θα αύξαναν την πολυπλοκότητα του API.
    • This diploma thesis is an attempt to develop an API for uniform access to a number of different NoSQL systems. The API will be able to describe an existing database and offer a way of CRUD functionality using the HTTP protocol. The retrieved data will be represented as JSON objects. The Java language is being used for the development while the API tries to adhere to the RESTful architectural style and all the constraints it proposes. MongoDB, CouchDB, and Bigtable are installed on a Java server accessible through the internet while their common points and differences are explored during development. The API under development succeeds in executing the usual CRUD functionality in a non-transparent way for the client including the exact implementation of the DB to which these commands are executed and without the use of a driver but issuing only HTTP calls. The API will be able to provide access based on pre-defined access-control lists on a per DB basis. In addition to basic CRUD functionality there will be additional capabilities, like advanced search capabilities, based on a dictionary to be defined. Those capabilities will be implemented in so far as the certain DB allows for such functions to be developed. However, it should be noted that the use of unique characteristics and capabilities of distinct NoSQL implementations was avoided so as to not increase the complexity of the API.
  12. Αναφορά Δημιουργού 4.0 Διεθνές