Συλλογές : |
---|
Τίτλος : | Αρχιτεκτονική Προσανατολισμένη στις Υπηρεσίες: ανακάλυψη υπηρεσιών στο δίκτυο με βάση κριτήρια ποιότητας υπηρεσίας |
---|
Εναλλακτικός τίτλος : | Service Oriented Architecture (S.O.A.): discovery of service on the network with quality of service criteria |
---|
Δημιουργός : | Δημητρόπουλος, Νικόλαος |
---|
Συντελεστής : | Γιακουμάκης, Εμμανουήλ (Επιβλέπων καθηγητής) Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής (Degree granting institution) |
---|
Τύπος : | Text |
---|
Φυσική περιγραφή : | 253σ. |
---|
Γλώσσα : | el |
---|
Περίληψη : | Ένας από τους κυριότερους σκοπούς για τους οποίους αναπτύσσεται ένα λογισμικό σε μία επιχείρηση είναι η υποστήριξη των επιχειρηματικών διεργασιών της. Πλέον, με την ανάπτυξη της τεχνολογίας της Πληροφορικής και των Επικοινωνιών οι επιχειρήσεις έχουν προσανατολιστεί στην υιοθέτηση ολοένα και περισσότερο λύσεων που παρέχει αυτή με σκοπό να αποκτήσουν το ανταγωνιστικό πλεονέκτημα που θα τις διαφοροποιήσει από τις υπόλοιπες ανταγωνιστικές εταιρείες του κλάδου. Επίσης, οι παραδοσιακές μεθοδολογίες της ανάπτυξης λογισμικού έχουν ένα περιορισμένο βαθμό ευθυγράμμισης των επιχειρησιακών στόχων με το λογισμικό που βρίσκεται υπό ανάπτυξη. Αυτό το πρόβλημα προσπαθεί κυρίως να λύσει η Service Oriented Architecture (Αρχιτεκτονική προσανατολισμένη στις υπηρεσίες). Η συγκεκριμένη αρχιτεκτονική παρότι έχει έρθει στο προσκήνιο από το 1996, ακόμα βρίσκεται υπό ανάπτυξη. Ένα ευρύ γνωστικό πεδίο του αντικειμένου έχει καταγραφεί ,ωστόσο ακόμα πραγματοποιούνται πολλές έρευνες προκειμένου να επιλυθούν προβλήματα που υπάρχουν στην αρχιτεκτονική ή να καταγραφούν καλύτερες προτάσεις. Η διπλωματική εργασία αποτελείται από 4 βασικές ενότητες. Συγκεκριμένα, η πρώτη ενότητα καταγράφει το γνωστικό πεδίο της Service oriented Architecture, και περιλαμβάνει τα κεφάλαια 1-9.Αναλυτικότερα στο κεφάλαιο 1 προσδιορίζεται το επιχειρηματικό υπόβαθρο που θα πρέπει να έχουμε υπόψιν μας κατά την ανάπτυξη του λογισμικού από αυτή την αρχιτεκτονική. Η σημασία αυτού του κεφαλαίου είναι πολύ σημαντική διότι αυτή η αρχιτεκτονική επιδιώκει να μετατρέψει την σκέψη των σχεδιαστών λογισμικού από την ανάπτυξη λογισμικού στην υποστήριξη επιχειρηματικών διεργασιών. To κεφάλαιο 2 αναφέρει τις βασικές συνιστώσες της αρχιτεκτονικής. Είναι προφανές ότι η βασική μονάδα της αρχιτεκτονικής είναι η υπηρεσία, αλλά δεν είναι η μοναδική. Υπάρχουν ένα σύνολο από άλλες έννοιες και σχέσεις μεταξύ αυτών που θα πρέπει να προσδιοριστούν προκειμένου να καθίσταται κατανοητή η αρχιτεκτονική. Στο ίδιο κεφάλαιο προσδιορίζεται επίσης και ένα μοντέλο αναφοράς για την αρχιτεκτονική. Αυτό το μοντέλο αναφοράς, προσθέτει στις υπάρχουσες βασικές συνιστώσες άλλες έννοιες που είναι χρήσιμες για την αρχιτεκτονική. Με το μοντέλο αναφοράς δεν καθορίζουμε τη συγκεκριμένη τεχνολογία που θα χρησιμοποιηθεί απλά παρέχουμε μία αφηρημένη λύση στο γενικευμένο πρόβλημα της αρχιτεκτονικής. Στο τρίτο κεφάλαιο παρουσιάζονται αναλυτικά τεχνολογίες υποστήριξης της προσανατολιζόμενης στις υπηρεσίες αρχιτεκτονικής. H πιο διαδεδομένη εξ αυτών είναι οι υπηρεσίες διαδικτύου, οι οποίες αποτελούνται από τις βασικές οντότητες του πελάτη υπηρεσίας, του παρόχου υπηρεσίας, και του μητρώου υπηρεσιών που χρησιμοποιείται για την κεντρική αποθήκευση των υπηρεσιών. Στην τεχνολογία αυτή υπάρχει και μία στοίβα προδιαγραφών που θα πρέπει να καθοριστεί και αφορά θέματα μηνυματοδοσίας, μεταφοράς δεδομένων, περιγραφής, ανακάλυψης και σύνθεσης υπηρεσιών. Άλλες τεχνολογίες που θα αναφερθούν είναι το Jini,η Corba και το REST. To τέταρτο κεφάλαιο προσδιορίζει κάποιες από τις στρατηγικές που χρησιμοποιούνται για την ανάπτυξη λογισμικού όπως η από άνω προς τα κάτω ή η από κάτω προς τα άνω. Προσδιορίζεται επίσης και το πώς επηρεάζει η κάθε στρατηγική χαρακτηριστικά του λογισμικού όπως η συνεκτικότητα. To κεφάλαιο αυτό επίσης, παρουσιάζει και μερικά υποδείγματα κύκλου ζωής λογισμικού που αναπτύσσεται με βάση την προσανατολισμένη στις υπηρεσίες αρχιτεκτονική, ξεκινώντας από τη σύλληψη των υπηρεσιών και τελειώνοντας με την συντήρηση και τον έλεγχο του λογισμικού. Το πέμπτο κεφάλαιο παρουσιάζει μερικά θέματα διαχείρισης που θα πρέπει να αντιμετωπιστούν στην αρχιτεκτονική. H διαχείριση αναφέρεται τόσο στην διαχείριση των συστημάτων όσο και στη διαχείριση του κύκλου ζωής των υπηρεσιών. Στο έκτο κεφάλαιο παρουσιάζεται ένα μοντέλο ωριμότητας της αρχιτεκτονικής. Ουσιαστικά δεν υπάρχει διαφορά από τα παραδοσιακά μοντέλα ωριμότητας. Σκοπός του είναι να δούμε τι πρέπει να κάνουμε κάθε φορά για την υποστήριξη της αρχιτεκτονικής από τον οργανισμό. Ωστόσο δεν μας λέει το πώς πρέπει να το κάνουμε. Όπως και άλλα μοντέλα ωριμότητας, αποτελείται από επίπεδα και ενδεχομένως να χρειάζεται να περάσουμε από το χαμηλότερο επίπεδο για να προχωρήσουμε στο υψηλότερο. Κάθε επίπεδο εμπεριέχει και ένα σύνολο βέλτιστων πρακτικών. Στο κεφάλαιο 7 παρουσιάζουμε κάποια παραδείγματα από τη χρήση της προσανατολισμένης στης υπηρεσίες αρχιτεκτονικής σε πραγματικά περιβάλλοντα εργασίας. Μία χαρακτηριστική περίπτωση στην οποία χρησιμοποιήθηκε η αρχιτεκτονική είναι στα πειράματα του CERN που ξεκίνησαν να πραγματοποιούνται τον προηγούμενο χρόνο. Ωστόσο, δεν αναφέρονται μόνο οι πραγματικές εφαρμογές αλλά και τα αποτελέσματα που επέφεραν στους οργανισμούς που εμπιστεύτηκαν αυτή την αρχιτεκτονική. Πολλές εφαρμογές, επέφεραν βελτιστοποίηση των διαδικασιών του οργανισμού, καλύτερη εξυπηρέτηση των πελατών, καλύτερη διαχείριση της εφοδιαστικής αλυσίδας, μείωση τόσο των άμεσων όσο και των έμμεσων κοστών, καθώς και ταχύτατη επιστροφή επενδεδυμένου κεφαλαίου. Το κεφάλαιο 8 κάνει μία καταγραφή των δυνατών σημείων και των αδυναμιών της αρχιτεκτονικής. Ως δυνατά σημεία προσδιορίζονται η ευελιξία, η μείωση του κόστους, η βελτίωση των επιδόσεων και η επιτάχυνση της ανάπτυξης του λογισμικού. Αντίθετα αδυναμίες του θεωρούνται η ασφάλεια των υπηρεσιών, ο έλεγχος και η διαχείριση του λογισμικού, η αναδιαμόρφωση των λειτουργιών, η διαχείριση του κύκλου ζωής των υπηρεσιών, καθώς και η διαχείριση της αλλαγής. Στο ίδιο κεφάλαιο προσδιορίζονται και οι βασικές αρχές που θα πρέπει να έχει το λογισμικό κατά την ανάπτυξη με την προσανατολισμένη στις υπηρεσίες αρχιτεκτονική. Αυτές είναι η χαλαρή ζεύξη των υπηρεσιών, το υψηλό επίπεδο αφαίρεσης των υπηρεσιών, η επαναχρησιμοποίηση των υπηρεσιών, το υψηλό επίπεδο αυτονομίας των υπηρεσιών καθώς και η ανακαλυψιμότητα και η συνθεσιμότητα των υπηρεσιών. Στο τελευταίο κεφάλαιο του πρώτου μέρους γίνεται η παρουσίαση μίας μεθοδολογίας ανάπτυξης λογισμικού με βάση την αρχιτεκτονική, κάνοντας εκμετάλευση βασικών αρχών της αρχιτεκτονικής που βασίζεται στις συνιστώσες. Η δεύτερη ενότητα αναλύει και αξιολογεί μία σειρά από ερευνητικά ζητήματα, που καταγράφονται στο κεφάλαιο 10.Ένα εκ των ερευνητικών ζητημάτων που αναφέρονται είναι η υποστήριξη των πολλαπλών εκδόσεων μίας υπηρεσίας, προκειμένου να γίνεται ευκολότερα η διαχείριση των αλλαγών. Επίσης έμφαση δίνεται στην ανακάλυψη υπηρεσιών καθώς και στην εξασφάλιση της ποιότητας των υπηρεσιών. Ακόμα ένα ερευνητικό ζήτημα αφορά τονέλεγχο του λογισμικού που αναπτύσσεται με αυτή την αρχιτεκτονική καθότι κάθε υπηρεσία αντιμετωπίζεται σαν ένα μαύρο κουτί, έχοντας γνώση μόνο της περιγραφής της υπηρεσίας. Ερευνητικό ζήτημα αποτελεί όμως και η μεθοδολογία ανάπτυξης που έχει στο επίκεντρο της τα γεγονότα καθώς και η ανάπτυξη του συστήματος με βάση τα επιθυμητά λειτουργικά και μη χαρακτηριστικά του τελικού χρήστη του συστήματος. H τρίτη ενότητα εστιάζει σε ένα εξ αυτών των ζητημάτων, την αποκεντρωμένη ανακάλυψη υπηρεσιών στο δίκτυο με βάση κριτήρια ποιότητας υπηρεσίας(Κεφάλαιο 11).H τέταρτη ενότητα (κεφάλαιο 12) παρουσιάζει μία εφαρμογή ενός συστήματος που αναπτύσσεται με βάση την προσανατολισμένη στις υπηρεσίες αρχιτεκτονική. One of the basic reasons of the system’s development in an organization is the support of the business processes. Nowadays, because of the development of the Computer Science and Telecommunications technologies the businesses have oriented in the adoption of those technologies in order to gain the competitive advantage, which will differentiate them from the other competitors of the market. In addition to, the traditional methodologies and approaches of software development have a limited grade of the alignment of business goals with the software, which is under development. Service Oriented architecture is the one that tries to give a solution to the above problem. While, this architecture has been in the scene since 1996, it is still under development. A wide range cognitive area of this topic has been written down, but research run until now in order problems that exist in the architecture to be solved or to write down better suggestions and solutions. This master thesis consists of four basic parts. Specifically, the first one refers to the cognitive area of Service oriented architecture and contains chapters 1-9.Το be more specific, chapter 1 defines the business background, which we have to know under the development of software with Service Oriented Architecture. This chapter is very important because this architecture tries to convert the thought of software designers from the software development into the support of business processes. Chapter two specifies the basic components of the architecture. It is obvious, that service is the core component, but is not the only one. There is a set of other components and relationships between them, which have to be defined in order to holistically understand the architecture. In the same chapter, a reference model is specified. This model adds on the previous basic components, other components which are useful for the architecture. The reference model is not used as a specific technology for the development of software with service oriented architecture. It offers an abstract solution in the general problem of the architecture. In the third chapter, supportive technologies of service oriented architecture are presented. The most widely spread technology is web services, which consists of a service consumer, a service provider and a service registry. Service registry is used for the central store of services. There is also a standards queue that has to be defined and covers issues of messaging, data transportation, description, discovery and composing of services. Jini, Corba and Rest are other technologies that we are going to analyze on the same chapter. Chapter 4, refers to some of the strategies that are used for the development of software such as the bottom-up or the top down strategy. It also, refers to how each strategy impacts software characteristics such as consistency. This chapter presents two lifecycle models of software, which is developed with service oriented architecture, beginning from the service design and ending with the maintenance and control of software. Chapter 5, presents issues of management that have to be confronted in the architecture. Management refers such in the management of systems, as much in the management of service lifecycle. In chapter 6, a maturity model of the architecture is presented. There is no difference between this model and other traditional maturity models. Maturity models show us what we have to do, in order the organization to support the architecture. They do not refer on how to do, what we have to do. Like other maturity models, soa maturity model consists of levels and it is crucial to pass from a lower level to a higher one. Each level contains a set of best practices, which we have to follow in order the business to adopt service oriented architecture successfully. Chapter 7 presents some examples of the use of service oriented architecture in real life work environments. An important case in which this architecture was used is the experiments that CERN started to run last year. Except for the real life application there is a reference in the results that come from the use of this architecture in the organizations that trusted it. Most of applications resulted to business processes optimization, better support of clients, better management of supply chain, reduction of direct and indirect costs, and quick return of initial investment. Chapter 8 writes down the strengths and the weaknesses of the architecture. Agility, cost reduction, performance improvement, acceleration of software development are defined as strengths. On the other side, the weaknesses of the architecture are service security, control and management of software, business processes reengineering, service lifecycle management and change management. In the same chapter, basic rules that software has to support under the development of software with service oriented architecture are defined. In short terms, the rules of service oriented architecture are the loose coupling of services, the high level abstraction of services, the service reusability, the high level autonomy of service discoverability and composability of services. The last chapter of first part refers to a methodology of software development, based on service oriented architecture, which exploits basic rules of component based architecture. The second part analyzes and evaluates some research issues. This part contains chapter 10. One of the research issues is the support of multiple versions of a service, in order management of change to be easier. Emphasis is given in the discovery of service and in the quality of services assurance. Another research issues is the control of software, which is developed with this architecture, because each service is a black box, which provide us with knowledge of service description. Τhe last research issue in which we have to emphasize is the methodology of development, that has in its core the events and the development of software taking into account functional and non functional characteristics that end users of the systems want. The third part focus on one of the previous issues, the decentralized discovery of services on the network making use of quality of service criteria (chapter 11). Fourth part (chapter 12) presents an application of a system which is developed with service oriented architecture |
---|
Λέξη κλειδί : | Αρχιτεκτονική προσανατολισμένη στις υπηρεσίες Υπηρεσία Διεργασία Τεχνολογίες Πληροφορικής Επιχείρηση Αρχιτεκτονική Επιχειρηματικοί στόχοι Τεχνολογία λογισμικού Ανάπτυξη λογισμικού Διαλειτουργικότητα συστημάτων Επαναχρησιμοποίηση Επιχείρηση καθοδηγούμενη από διεργασίες Ανακάλυψη υπηρεσιών Κριτήρια ποιότητας υπηρεσίας Πολλαπλές εκδόσεις υπηρεσίας Έλεγχος λογισμικού Service Oriented Architecture (S.O.A.) Service Service orientation Process Information Technology (IT) Business Architecture Business goals Software engineering Software development Interoperability of systems Reusability Process Driven Enterprise Discovery of services Quality of service criteria Versioning of services Software control |
---|
Ημερομηνία : | 28-02-2010 |
---|
Άδεια χρήσης : |
---|