dc.contributor.author |
Χαραλάμπους, Τηλέμαχος
|
el |
dc.contributor.author |
Charalampous, Tilemachos
|
en |
dc.date.accessioned |
2017-12-12T10:06:21Z |
|
dc.date.available |
2017-12-12T10:06:21Z |
|
dc.date.issued |
2017-12-12 |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/46088 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.14593 |
|
dc.rights |
Default License |
|
dc.subject |
Αρχιτεκτονική λογισμικού |
el |
dc.subject |
Δέντρα στόχων |
el |
dc.subject |
Affordances |
el |
dc.subject |
Κατανεμημένα affordances |
el |
dc.subject |
REST |
el |
dc.subject |
Software architecture |
en |
dc.subject |
Goal models |
en |
dc.subject |
Affordances |
en |
dc.subject |
Distributed affordances |
en |
dc.subject |
REST |
en |
dc.title |
Περιβάλλον πλαίσιο για τον υπομνηματισμό πόρων REST. |
el |
dc.title |
Software framework for annotating REST resources. |
en |
heal.type |
bachelorThesis |
|
heal.classification |
Λογισμικό |
el |
heal.classification |
Software |
en |
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2017-07-06 |
|
heal.abstract |
Ο σκοπός αυτής της διπλωματικής εργασίας είναι ο σχεδιασμός και η υλοποίηση ενός συστήματος REST που θα επιτρέπει την προσαρμογή του ίδιου του συστήματος σε άλλα, εξωτερικά, συστήματα REST, καθώς και την προσθήκη affordances στους εκάστοτε REST πόρους. Η εκθετική αύξηση της βάσης των χρηστών και κατά συνέπεια των διαφορετικών προτιμήσεων έχει καταστήσει αναγκαία την εξατομίκευση των προσφερόμενων υπηρεσιών και την ευκολία πρόσβασης σε αυτές. Για αυτό το λόγο είναι σημαντική η ανάπτυξη συστημάτων τα οποία θα πρέπει να μπορούν να προσφέρουν εξατομικευμένες και εύκολες ως προς την πρόσβαση υπηρεσίες. Η συγκεκριμένη διπλωματική αποτελεί μία λύση στο πρόβλημα της εξατομίκευσης, παρουσιάζοντας ένα τέτοιο σύστημα το οποίο μπορεί να προσαρμόζεται πάνω σε άλλα συστήματα που προσφέρουν RESTful υπηρεσίες και να παρέχει τις ίδιες υπηρεσίες με εξατομικευμένο τρόπο. Η προσέγγιση αυτή είναι μία από όλες τις δυνατές προσεγγίσεις με κύριο πλεονέκτημα το ότι μπορεί να προσαρμόζεται ταυτόχρονα σε πολλές υπηρεσίες, χωρίς να χρειάζεται ο επανασχεδιασμός και η υλοποίηση εκ νέου του συστήματος στο οποίο γίνεται η προσαρμογή. Αυτό καθιστά την υλοποίηση πιο εύκολη, αφού υπάρχει μικρή σύζευξη ανάμεσα στο σύστημα που κάνει την εξατομίκευση (προσθήκη affordances) και σε αυτό που προσφέρει
τις υπηρεσίες, καθώς επίσης επιτρέπει την επεκτασιμότητα σε επίπεδο λογισμικού. Για την πρακτική αντιμετώπιση του προβλήματος χρησιμοποιήσαμε δέντρα στόχων (goal models) για τη μοντελοποίηση των προϋποθέσεων που θα πρέπει να ισχύουν για κάθε διαφορετικό affordance. Πρέπει να αναφερθεί επίσης ότι για κάθε ερώτημα σε μια συγκεκριμένη υπηρεσία
δεν είναι αναγκαία η επίλυση όλων των δέντρων, αλλά μόνο αυτών που αφορούν το συγκεκριμένο ερώτημα, καθιστώντας τη συγκεκριμένη λύση όχι μόνο επεκτάσιμη ως προς το
λογισμικό, αλλά και ως προς το χρόνο. Η βάση της υλοποίησης έγινε χρησιμοποιώντας το περιβάλλον λογισμικού Spring σε Java, δίνοντας ιδιαίτερη έμφαση στην αρχιτεκτονική και
την ασφάλεια, δεδομένου του ότι το σύστημα πρέπει να προσαρμόζεται σε εξωτερικά συστήματα. Αρχικά ορίστηκε η αρχιτεκτονική του συστήματος, στη συνέχεια δημιουργήθηκε το
framework το οποίο είναι η “καρδιά” της υλοποίησης και στη συνέχεια υλοποιήθηκε το REST σύστημα, το οποίο χρησιμοποιεί το προαναφερθέν framework για να επιτύχει τον τελικό στόχο. Το θετικό με αυτήν την προσέγγιση είναι ότι όχι μόνο μπορεί το πρωτότυπο σύστημα να επεκταθεί από τρίτους, αλλά και το ίδιο το framework να χρησιμοποιηθεί/επεκταθεί για να δημιουργηθεί κάτι διαφορετικό το οποίο έχει ως πυρήνα τα affordances. |
el |
heal.abstract |
The main goal of this diploma thesis is to design and implement a RESTful Web Service that adapts to other, external, RESTful Web Services, as well as annotate the resources with affordances. The exponential growth of users on the Internet and in turn their different preferences has created the need of personalization of the various provided services as well as make easier for them to be accessed. For this particular reason it is important to develop systems that are able to offer personalized and easily accessible services. This diploma thesis poses a solution to the problem of personalization offering a sample implementation of a such
system that can be adapted to other RESTful Web Services and offer the same service with extra affordances. This implementation is only one of the various possible ones with the main advantage of the adaptation to various services simultaneously without the need to redesign and reimplement the system. This makes the very implementation of the system easier, since there is little coupling between the system that annotates the resources with affordances and the system that actually provides the services, yielding benefits such as scalability and expandability of the software. To deal with personalization problem, goal models were used to model the requirements for each affordance. However it is critical to mention that for each request to a specific RESTful Web Service not all goal models must be evaluated, but only a
subset of them that are relative to that specific request. The main tool that was used to implement this system is the Spring Framework using the Java programming language, with emphasis in software architecture and security, provided that the system must be adaptable to other external systems. Initially the architecture of this system was designed and then a framework, the heart, of this implementation was created. In the end the RESTful Web Service was implemented which used the aforementioned framework. The reason behind this approach is that not only the system can be adapted/extended, but also the framework itself to create software that may be totally different than a RESTful Web Service, with the need to make decisions using goal models and affordances. |
en |
heal.advisorName |
Κοντογιάννης, Κώστας |
el |
heal.committeeMemberName |
Σταφυλοπάτης, Ανδρέας |
el |
heal.committeeMemberName |
Στάμου, Γιώργος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
112 σ. |
el |
heal.fullTextAvailability |
true |
|