Reverse engineering εφαρμογών παγκόσμιου ιστού με αξιοποίηση μεθοδολογιών μοντελοποίησης

Οι εφαρμογές παγκόσμιου ιστού προσφέρουν ολοένα και περισσότερες, με υψηλό βαθμό πολυπλοκότητας, υπηρεσίες σε σχέση με τους πρώτους ιστότοπους που χρησιμοποιούνταν απλά και μόνο για την προβολή πληροφοριών. Λόγω της ολοένα αυξανόμενης πολυπλοκότητας των εφαρμογών αυτών, ο σχεδιασμός, η ανάπτυξη κι η...

Full description

Bibliographic Details
Main Author: Σουρλά, Γεωργία
Other Authors: Τσακαλίδης, Αθανάσιος
Language:gr
Published: 2013
Subjects:
Online Access:http://hdl.handle.net/10889/5977
Description
Summary:Οι εφαρμογές παγκόσμιου ιστού προσφέρουν ολοένα και περισσότερες, με υψηλό βαθμό πολυπλοκότητας, υπηρεσίες σε σχέση με τους πρώτους ιστότοπους που χρησιμοποιούνταν απλά και μόνο για την προβολή πληροφοριών. Λόγω της ολοένα αυξανόμενης πολυπλοκότητας των εφαρμογών αυτών, ο σχεδιασμός, η ανάπτυξη κι η συντηρησιμότητα μιας εφαρμογής παγκόσμιου ιστού προβάλλει ως μία από τις μεγαλύτερες προκλήσεις που καλείται να αντιμετωπίσει ο σχεδιαστής της. Η ερευνητική κοινότητα προκειμένου να αντιμετωπίσει την αυξανόμενη πολυπλοκότητα του σχεδιασμού εφαρμογών παγκόσμιου ιστού έχει προτείνει ένα πλήθος προσεγγίσεων και μεθόδων βασισμένων σε μοντέλα. Η δουλειά του σχεδιαστή εφαρμογών παγκόσμιου ιστού μπορεί να απλοποιηθεί ακόμα περισσότερο με την επαναχρησιμοποίηση της εμπειρίας άλλων σχεδιαστών εφαρμογών παγκόσμιου ιστού. Η επαναχρησιμοποίηση της εμπειρίας αυτής γίνεται με τη χρήση σχεδιαστικών προτύπων που ορίζονται από πεπειραμένους σχεδιαστές. Αν κατά το σχεδιασμό μιας εφαρμογής χρησιμοποιηθεί κάποια μέθοδος μοντελοποίησης σε συνδυασμό με ένα σύνολο σχεδιαστικών προτύπων, η τελική εφαρμογή θα είναι πιο αποδοτική και ποιοτική. Πολλές φορές όμως, κατά το σχεδιασμό και την ανάπτυξη μιας εφαρμογής παγκόσμιου ιστού δε λαμβάνεται υπόψη κάποια συγκεκριμένη μεθοδολογία μοντελοποίησης και ανάπτυξης. Ένα πλήθος μεθόδων αντίστροφης μηχανίκευσης έχει αναπτυχθεί για την ανάλυση, κατανόηση και μοντελοποίηση των αρχιτεκτονικών τέτοιου είδους εφαρμογών. Κατά τη μοντελοποίηση της αρχιτεκτονικής παραδοσιακών συστημάτων λογισμικού δεν εμφανίζεται η εσωτερική δομή του λειτουργικού συστήματος και του συστήματος παραθύρων (windowing system). Αντίστοιχα και στο πεδίο εφαρμογών παγκόσμιου ιστού δεν εμφανίζεται η εσωτερική δομή του εξυπηρετητή παγκόσμιου ιστού και του φυλλομετρητή. Τα αρχιτεκτονικά διαγράμματα των εφαρμογών παγκόσμιου ιστού πρέπει να δείχνουν τα κύρια συστατικά μιας εφαρμογής τα οποία συνδέονται μεταξύ τους για να υλοποιήσουν μεγάλες και σύνθετες εφαρμογές. Κύρια συστατικά μιας εφαρμογής θεωρούνται τα αντικείμενα του παγκόσμιου ιστού, οι πίνακες της βάσης δεδομένων και τα πολυμεσικά αντικείμενα. Στα πλαίσια αυτής της διπλωματικής εργασίας, αναλύσαμε το πιο δημοφιλές σύστημα διαχείρισης περιεχομένου (Content Management Systems – CMS) ανοιχτού κώδικα, το Joomla!. Συγκεκριμένα, εφαρμόσαμε αντίστροφη μηχανίκευση σε αυτό, ώστε να μπορέσουμε να μοντελοποιήσουμε την αρχιτεκτονική του. Για αυτό το σκοπό, αναπτύξαμε μια εφαρμογή που ερευνά τον HTML κώδικα όλων των σελίδων ενός ιστότοπου φτιαγμένου σε Joomla!, προκειμένου να γίνει αυτόματη εξαγωγή του μοντέλου του και όχι με το χέρι. Βασικός στόχος είναι να μπορέσουμε να αξιολογήσουμε το σχεδιασμό του μοντέλου του, αλλά και να παρέχουμε έναν αυτοματοποιημένο τρόπο για αξιολόγηση. Έτσι, θα μπορούν να προταθούν τρόποι αναδιάταξης, με στόχο τόσο την ευχρηστία όσο και την αποδοτικότητα χρήσης του συγκεκριμένου συστήματος διαχείρισης περιεχομένου. === Web Applications provide many services and they are not used just to display content, as it was the case for the first web sites. Due to the growing complexity, the design, development and maintenance of these applications has become one of the major challenges that the developer has to face. In an attempt to face this growing complexity, the research community has proposed a number of model based approaches and methods. The task of the hypertext architect may be further facilitated by reusing the experience of other hypertext architects. This reuse is achieved by means of design patterns that have been defined by experts. If, we make use of a modeling method in combination with design patterns when designing a web application, the final result will be more efficient and qualitative. Usually, due to the pressing market demands, the modeling methods or techniques are not applied during the degin and development of the web applications. A number of reverse engineering methods and tools have been proposed in order to analyze, comprehend and model the architectures of such applications. When the architecture of traditional software systems is modeled, the internal structure of the operating and windowing system does not appear. Similarly, in the field of web applications, the internal structure of the web server and browser does not appear. The architectural diagrams of web applications need to show the main components of an application, which are linked together in order to create large and complex applications. The main components of an application are the objects of the Web, the database tables and the multimedia objects. In this thesis, we analyzed the most popular open source Content Management System (CMS), Joomla!. More specifically, we applied reverse engineering to it, so that we could model its architecture. For this purpose, we developed an application which explores the HTML code of all web pages of a web site created by Joomla!, so that the extraction of its model will be done automatically and not manually. The main goal is to manage to evaluate the design of its model and to provide an automatic way for evaluation, as well. Thus, we can recommend ways to redeploy the system, so that usability and efficiency will be achieved, in the use of this content management system.