Αρχιτεκτονική Λογισμικού Τα σχήματα και το κείμενο είναι από το βιβλιο © Web services: Concepts, Architectures and Applications by Gustavo Alonso, Fabio.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Advertisements

Jetspeed Open Source Εργαλείο για την Δημιουργία Information Portals Πανεπιστήμιο Αιγαίου Βιορρές Νίκος.
Τι είναι wiki; Μια ιστοσελίδα που επιτρέπει στους επισκέπτες της να προσθέσουν, να αφαιρέσουν και να διαμορφώσουν το περιεχόμενό της.
Ιστορία του Ιντερνετ.
Πανεπιστήμιο Αιγαίου Σχολή Επιστημών της Διοίκησης Τμήμα Μηχανικών Οικονομίας & Διοίκησης Computer applications in the modern enterprise Γ. Κούζας, PhD.
Slide 1 Δίκτυα Τηλεπικοινωνιών ENOTHTA 12 η A.T.M. (ASYNCHRONOUS TRANSFER MODE) (AΣΥΓΧΡΟΝΟΣ ΡΥΘΜΟΣ ΜΕΤΑΦΟΡΑΣ) (ΜΕΡΟΣ Α’) 1.Ασύγχρονος τρόπος μετάδοσης.
Information Systems Governance Αγγελής Δημήτριος (ΜΤΕ/0936) IS Governance Ορισμός: Πληροφοριακή Διακυβέρνηση ονομάζουμε εκείνες τις διαδικασίες βάση των.
Σχεδιαστικά εργαλεία Διαχείριση σελίδων Βιβλιοθήκες αντικειμένων Διαχείριση αντικειμένων Επιφάνεια ψηφιακής μελάνης Πληκτρολόγιο οθόνης ΟΦΕΛΗ Αναγνώριση.
Διευθυντής Πληροφοριακών Συστημάτων
Λειτουργικό Σύστημα 2ο μέρος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Εικόνα 4.1: Τμήμα του εθνικού οδικού δικτύου (Αττική οδός)
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Εισαγωγή στην Επιστήμη των Υπολογιστών και Επικοινωνιών Εισαγωγή στο ηλεκτρονικό και κινητό επιχειρείν Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ.
Βάσεις Δεδομένων (ΚΒΔ)
ΕΡΓΑΛΕΙΟ ΠΑΡΑΓΩΓΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΣΕ WEB SITE (CONTENT MANAGEMENT TOOL)
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Αρχιτεκτονική Συστημάτων
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Το Internet: Εύρεση πληροφοριών Επίπεδο.
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
Σύμφωνα με τον ΣΕΒ, αναμένεται να παρουσιάσουν ζήτηση μέχρι το 2020 Πηγή:
Υπηρεσίες δικτύων επικοινωνίας
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ECOGrid™: Προς ένα Καθολικό Περιβάλλον.
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Θέμα: Διοίκηση ανάπτυξης μη-κερδοσκοπικού ιστόπεδου (ιστόπεδου Δήμου Αγ.Παρασκευής)
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Μποχρίνη Σταυρούλα ΑΜ:3173 Σταθόπουλος Αναστάσιος ΑΜ:3220.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΗΝ ΑΝΑΠΤΥΞΗ ΔΟΜΩΝ ΑΠΑΣΧΟΛΗΣΗΣ ΚΑΙ ΣΤΑΔΙΟΔΡΟΜΙΑΣ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΚΑΙ ΔΙΑΔΥΚΤΙΑΚΗ ΠΥΛΗ ΔΑΣΤΑ Κ. Κοντογιάννης Αν. Καθηγητής ΣΗΜΜΥ, Ε.Μ.Π.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Απομακρυσμένη Εκπαίδευση
ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΚΤΥΑ ΗΥ - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ.
Εισαγωγικά Θέματα WWW Δίκτυα Ομοτίμων p2p.
Εισαγωγή στην Επιστήμη των Υπολογιστών και Επικοινωνιών Εισαγωγή στο ηλεκτρονικό και κινητό επιχειρείν Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ.
Μετατροπή Μουσικών Συλλογών σε Ψηφιακές Βιβλιοθήκες Το Πρόγραμμα MUSESCAPE Ιόνιο Πανεπιστήμιο Ιανουάριος 2005 Χριστιανούδης Ιωάννης.
ΗΛΕΚΤΡΟΝΙΚΟΣ ΦΑΚΕΛΟΣ ΑΣΘΕΝΟΥΣ
3 Αρχιτεκτονική Συστημάτων  Κατηγορίες χρηστών ΣΔΒΔ  Αρχιτεκτονική ANSI/SPARC  Γλώσσες ερωτημάτων  Μοντέλα δεδομένων  Λειτουργίες ΣΔΒΔ.
Ο Διαδραστικός Πίνακας ως διδακτικό εργαλείο Από τη βιβλιογραφία προκύπτουν μια σειρά από οφέλη από τη χρήση του ΔΠ τα οποία αφορούν τον εκπαιδευτικό,
ΣΧΕΔΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΤ. ΔΗΜΗΤΡΙΑΔΗΣ – ΘΡ. ΤΣΙΑΤΣΟΣ Θέματα Σχεδίασης Μέρος 2ο Χρηστοκεντρική & Συμμετοχική Σχεδίαση.
Διαχείριση Εκπαιδευτικού Περιεχομένου
ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ COLLATE PROJECT COLLATE:Collaboratory for Annotaton,Indexing and Retrieval of Digitized Historical Archive Material(συνεργασία για σχολιασμό,
Network Inference Μπαλάφα Κασιανή - Αδριανή Πλασταρά Κατερίνα.
Λειτουργικά Συστήματα Πολλών Χρηστών
Σύνοψη 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή
Χ. Καραγιαννίδης, ΠΘ-ΠΤΕΑΕφαρμογές ΤΠΕ στην ΕΕΑ Διάλεξη 2: eLearning Systems, eClass1/1318/2/2015 Χαράλαμπος Καραγιαννίδης Διάλεξη 2 Περιβάλλοντα.
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Μπόλαρη Αγγελικη(1451) Επιβλέπων Βολογιαννίδης Σταύρος ΑΤΕΙ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Σέρρες 2013.
Αρχιτεκτονική Λογισμικού. Αρχιτεκτονική Συστήματος Λογισμικού Η Αρχιτεκτονική περιγράφει τη γενική στατική δομή του συστήματος, τα βασικά δομικά του στοιχεία,
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Μέρος 1 Εισαγωγή στα Πληροφοριακά Συστήματα. 22/9/20162 Περιεχόμενα  Βασικές έννοιες Πληροφοριακών Συστημάτων  Απαιτήσεις των σύγχρονων επιχειρήσεων.
Ελευθερία στα σχολεία Οδηγός εγκατάστασης Ubuntu Ltsp + Εκπαιδευτικό υλικό.
Προγραμματισμός και Διαχείριση Επιχειρηματικών Πόρων - ERP Μάθημα 4: Τεχνολογική Υποδομή ERP.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
Προχωρημένα Θέματα Δικτύων
Cloud Computing Το cloud computing παρέχει υπηρεσίες υπολογισμού, λογισμικού, πρόσβασης σε δεδομένα και αποθήκευσης που δεν απαιτούν ο τελικός χρήστης.
Εισαγωγή στις βάσεις δεδομένων ISBN
Κατανεμημένα Συστήματα
ΤΟΠΟΛΟΓΙΕΣ KAI ΜΟΝΑΔΕΣ ΔΙΑΣΥΝΔΕΣΗΣ ΤΟΠΙΚΩΝ ΔΙΚΤΥΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Η Μετάβαση από το Ηλεκτρονικό Επιχειρείν στην ανάπτυξη Υπηρεσιών
9.2 Δομή και υπηρεσίες του Διαδικτύου
9.3 υπηρεσίες του Διαδικτύου
Εφαρμογές Νέφους ΚΕΦΑΛΑΙΟ 13.
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
Εφαρμογές Νέφους ΚΕΦΑΛΑΙΟ 13.
Ο ορισμός του επιχειρηματικού μοντέλου
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΥΠΟΔΕΙΓΜΑΤΑ  Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία.
Μεταγράφημα παρουσίασης:

Αρχιτεκτονική Λογισμικού Τα σχήματα και το κείμενο είναι από το βιβλιο © Web services: Concepts, Architectures and Applications by Gustavo Alonso, Fabio Casati 1 Νοεμβρίου 2007

Αρχιτεκτονική Λογισμικού Σχεδίαση Πληροφοριακών Συστημάτων (ΠΣ)  Σε εννοιολογικό επίπεδο, τα ΠΣ σχεδιάζονται γύρω από τρία στρώματα (layers): Στρώμα Παρουσίασης (presentation layer), Στρώμα Λογικής της Εφαρμογής (Application Logic Layer) και Στρώμα Διαχείρισης Πόρων (Resource Management Layer)  Τα στρώματα αυτά μπορεί να είναι μόνο αφαιρετικοί σχεδιασμοί στο μυαλό των σχεδιαστών οι οποίοι παρόλα αυτά μπορεί να σχεδιάσουν πολύπλοκες υλοποιήσεις για λόγους απόδοσης διακριτά και απομεμονωμένα υποσυστήματα, που συχνά έχουν υλοποιηθεί με διαφορετικά εργαλεία

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Στρώματα ενός ΠΣ  Client (πελάτης) είναι κάθε χρήστης ή πρόγραμμα το οποίο θέλει να πραγματοποιήσει μία λειτουργία σε ένα σύστημα.  Presentation Layer (Στρώμα Παρουσίασης) Διευκολύνει την αλληλεπίδραση των πελατών με το σύστημα  Application Logic Layer (Στρώμα λογικής της εφαρμογής) Καθορίζει τι ακριβώς κάνει το σύστημα. Φροντίζει για την εφαρμογή των business rules και εγκαθιδρύει τις business processes. Μπορεί να έχει διάφορες μορφές: προγράμματα, περιορισμοί, business processes, κλπ.  Resource Management Layer (Στρώμα Διαχείρισης Πόρων) ασχολείται με την οργάνωση (storage, indexing, και retrieval) των απαραίτητων δεδομένων για την υποστήριξη του application logic. Συνήθως είναι μία βάση δεδομένων αλλά μπορεί να είναι και ένα σύστημα ανάκτησης δεδομένων ή ένα οποιοδήποτε άλλο σύστημα διαχείρισης δεδομένων που παρέχει δυνατότητα επερωτήσεων και persistence. presentation layer resource management layer application logic layer client Πληροφοριακό σύστημα

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Ένα παιχνίδι με κουτιά και βέλη  Κουτί: ένα τμήμα του συστήματος  Βέλος: σύνδεση μεταξύ δύο τμημάτων  Όσο πιό πολλά κουτιά Τόσο πιό πολύ αρθρωτό (modular) σύστημα Τόσο πιό πολλές δυνατότητες γιά να είναι κατανεμημένο και παράλληλο Υποστηρίζεται η επαναχρησιμοποίηση  Όσο πιό πολλά κουτιά και βέλη: Τόσο πιό πολλές συνδέσεις χρειάζεται να συντηρούνται και να συντονίζονται Τόσο πιό πολύπλοκη διαχείριση και παρακολούθηση  Τα πολλά κουτιά: Οδηγούν σε μεγάλο αριθμό από context switches και απαιτούμενα ενδιάμεσα βήματα πριν φτάσεις στα δεδομένα Επιδρούν αρνητικά στην απόδοση  Χρειάζεται εξισορρόποηση μεταξύ Του αρθρωτού σχεδιασμού Και των απαιτήσεων για απόδοση Οι σχεδιαστές συστημάτων προσπαθούν να συνδυάσουν την ευελιξία του αρθρωτού σχεδιασμού με τις απαιτήσεις απόδοσης των εφαρμογών. Δεν υπάρχει πρόβλημα στο σχεδιασμό συστήματος που να μη μπορεί να λυθεί με την προσθήκη ενός ακόμη επιπέδου indirection. Δεν υπάρχει πρόβλημα με την απόδοση που να μη μπορεί να λυθεί με την αφαίρεση ενός επιπέδου indirection

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού 1-tier αρχιτεκτονική : πλήρως συγκεντρωτική  Οι presentation layer, application logic and resource manager έχουν δημιουργηθεί σαν μία μονολιθική οντότητα.  Χρήστες/προγράμματα προσπελαύνουν το σύστημα μέσω οθονών-τερματικά αλλά το τι εμφανίζεται και το πως ελέγχεται από τον εξυπηρετητή. (Αυτά είναι “χαζά” τερματικά).  Αυτή είναι η τυπική αρχιτεκτονική των mainframes, που προσφέρουν πολλά πλεονεκτήματα: Δεν χρειάζονται context switches στον έλεγχο ροής (όλα συμβαίνουν μέσα στο ίδιο σύστημα), Όλα είναι συγκεντρωμένα, η διαχείριση και ο έλεγχος πόρων είναι πιο εύκολος, η σχεδίαση είναι πλήρως βελτιστοποιημένη κάνοντας αόρατο το διαχωρισμό μεταξύ των επιπέδων. Server

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Μειονεκτήματα 1tier αρχιτεκτονικής  Μονολιθικά κομμάτια κώδικα  Δύσκολη και ακριβή συντήρηση Συνήθως υπάρχει έλειψη τεκμηρίωσης -> αδύνατον να αλλάξει το σύστημα  Δύσκολο να κατανοηθεί αρχιτεκτονική του  Έλειψη προγραμματιστών με εμπειρία σε αυτά τα συστήματα (legacy systems)

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού 2 tier: client/server  Καθώς οι υπολογιστές γίονταν πιο ισχυροί, ήταν εύκολο να μετακινηθεί the presentation layer στον εξυπηρετούμενο. Αυτό έχει αρκετά πλεονεκτήματα: Clients είναι ανεξάρτητοι μεταξύ τους: μπορεί να υπάρχουν πολλά presentation layers ανάλογα με το τι θέλει να κάνει ο κάθε client. Η υπολογιστική ισχύς της μηχανής μπορεί να εκμεταλλευθεί από τον client για να έχει πιο πολύπλοκα presentation layers (πχ. Χρήστες και διαχειριστές) Έτσι κερδίζει πόρους και ο υπολογιστής του εξυπηρετητή. Eισάγεται η έννοια του API (Application Program Interface). Είναι ένας τρόπος αλληλεπίδρασης με το σύστημα από έξω. Portability of client across different platforms. The resource manager only sees one client: the application logic. Αυτό βοηθάει πάρα πολύ την απόδοση αφού δεν υπάρχουν συνδέσεις μεταξύ των clients να διατηρηθούν. 2-tier architecture Server

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού 2tier Αρχιτεκτονική presentation layer client Πληροφοριακό σύστημα resource management layer application logic layer Server

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού API in client/server  Tα συστήματα Client/server εισήγαγαν τις έννοιες: service: ο client καλεί ένα service που υλοποιεί ο server service interface: με ποιό τρόπο ο client μπορεί να καλέσει ένα service)  Το Application Program Interface (API) είναι όλα μαζί τα service interfaces που παρέχονται από τον server (είτε είναι application-specific είτε system specific). Δηλαδή το ΑPI περιγράφει πως μπορεί κάποιος απ έξω να επικοινωνήσει με τον server.  Many standardization efforts were triggered by the need to agree to common APIs for each type of server resource management layer server service interface service interface service interface service interface server’s API service

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Πλεονεκτήματα 2-tier αρχιτεκτονικής  Εκμεταλλεύονται τις δυνατότητες των clients μοιράζοντας φόρτο δουλειάς σε αυτούς.  Η εργασία στον εξυπηρετητή λαμβάνει χώρα εντός ενός περιβάλλοντος (σχεδόν όπως στο 1- tier),  Η σχεδίαση του εξυπηρετητή παραμένει tightly coupled και μπορεί να βελτιστοποιηθεί αγνοώντας τα θέματα παρουσίασης (μιάς και αυτά πάνε στο presentation layer)  Εύκολο σχετικά να διαχειριστεί και να ελεγχθεί από άποψη λογισμικού

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού  Ο εξυπηρετητής έχει να αντιμετωπίσει όλες τις πιθανές συνδέσεις μεταξύ των εξυπηρετούμενων. Ο μέγιστος αριθμός εξυπηρετούμενων δίνεται από τον αριθμό των συνδέσεων που υποστηρίζει ο εξυπηρετητής με αποτέλεσμα να μειώνεται η επεκτασιμότητα της αρχιτεκτονικής.  Οι εξυπηρετούμενοι είναι συνδεδεμένοι με το σύστημα αφού δεν υπάρχει συγκεκριμένο presentation layer. Εάν κάποιος θέλει να συνδεθεί με δύο συστήματα χρειάζεται δύο presentation layers. Αυτό συνεπάγεται αύξηση της πολυπλοκότητας του εξυπηρετούμενου.  Δεν αντιμετωπίζονται θέματα αποτυχίας του εξυπηρετητή και εξισορρόπησης φορτίου. Εάν ο εξυπηρετητής «πέσει» κανείς δε μπορεί να δουλέψει. Παρόμοια ο φόρτος που δημιουργήθηκε από τον εξυπηρετούμενο θα επηρεάσει τη δουλειά όλων των υπολοίπων αφού όλοι μοιράζονται τους ίδιους πόρους Mειονεκτήματα 2-tier αρχιτεκτονικής

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Βασικός περιορισμός του client/server Η ευθύνη αντιμετώπισης ετερογενών συστημάτων έχει μεταφερθεί στον εξυπηρετούμενο. Ο εξυπηρετούμενος είναι υπεύθυνος να γνωρίζει που βρίσκονται τα πράγματα, πως να φτάσει σε αυτά και πως να εξασφαλίσει συνέπεια.  Αυτό είναι δύσκολο από όλες τις πλευρές (σχεδίαση λογισμικού, μεταφερσιμότητα, επαναχρησιμοποίηση κώδικα, απόδοση αφού οι δυνατότητες του client είναι περιορισμένες κλπ.).  Παραμένοντας στο 2 tier μοντέλο δεν υπάρχουν πολλά που μπορούν να γίνουν για να λυθούν τέτοια προβλήματα.  Εάν οι εξυπηρετούμενοι θέλουν να προσπελάσουν δύο ή περισσότερους εξυπηρετητές η 2-tier αρχιτεκτονική προκαλεί διάφορα προβλήματα: Τα από κάτω συστήματα δεν γνωρίζονται μεταξύ τους Δεν υπάρχει κοινή business logic Ο client είναι το σημείο της ενοποίησης (increasingly fat clients) client presentation layer 1 resource management layer application logic layer server 1 resource management layer application logic layer server 2 presentation layer 2 application logic

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού 3-tier Αρχιτεκτονική  Οι 3-tier αρχιτεκτονικές εισάγουν ένα επιπλέον επίπεδο ανάμεσα στον εξυπηρέτη και τον εξυπηρετούμενο.  Στο επιπλέον αυτό επίπεδο πραγματοποιείται η ολοκλήρωση των υπηρεσιών από διαφορετικούς εξυπηρετητές  Στο επίπεδο αυτό μεταφέρεται επίσης το application logic layer του πληροφοριακού συστήματος client presentation layer resource management layer application logic layer information system 3-tier architecture middleware

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού 3 tier αρχιτεκτονική: middleware  Σε ένα 3 tier σύστημα, τα τρία επίπεδα είναι πλήρως διαχωρισμένα  Τα επίπεδα είναι κατανεμημένα και εκμεταλλεύονται την πλήρως διαδικαστική σχεδίαση (in two tier συστήματα, the server is typically centralized)  A middleware based system is a 3 tier architecture. Αν και είναι λίγο απλουστευμένη είναι σωστή ιδέα αφού μπορούμε να συμπεριφερθούμε στα υποκείμενα συστήματα σαν μαύρα κουτιά. Στην πραγματικότητα το 3 tier αντιλαμβάνεται μόνο τα στοιχεία περιγραφής των middleware συστημάτων (αλλιώς ο εξυπηρετούμενος έχει τα ίδια προβλήματα με το 2 tier σύστημα).

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Middleware  Middleware είναι ένα ενδιάμεσο επίπεδο μεταξύ εξυπηρετούμενων και άλλων επιπέδων του συστήματος.  Παρουσιάζει ένα επιπλέον επίπεδο τη business logic που περικλείει όλα τα υποκείμενα συστήματα.  Με αυτό τον τρόπο ένα middleware σύστημα: Απλοποιεί το σχεδιασμό των εξυπηρετούμενων μειώνοντας τον αριθμό των interfaces, Λειτουργεί ως πλατφόρμα για διασυστημική λειτουργία και υψηλού επιπέδου application logic Φροντίζει για τον εντοπισμό των πόρων, την προσπέλασή τους, και τη συλλογή αποτελεσμάτων (Load balancing, logging, replication, persistence).  Αλλά ένα middleware σύστημα είναι σαν ένα οποιοδήποτε άλλο σύστημα! Μπορεί να είναι 1 tier, 2 tier, 3 tier... Middleware or global application logic clients Local resource managers Local application logic Server AServer B middleware

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού Τεχνικά Χαρακτηριστικά Μiddleware  Η εισαγωγή του middleware επιπέδου βοηθάει στα παρακάτω: Ο αριθμός των απαραίτητων interfaces μειώνεται σημαντικά:  Οι εξυπηρετούμενοι βλέπουν ένα μόνο σύστημα (the middleware),  Οι τοπικές εφαρμογές βλέπουν ένα μόνο σύστημα (the middleware), Επικεντρώνει τον έλεγχο (τα middleware συστήματα είναι συνήθως 2 tier), Διαθέτει τις απαραίτητες λειτουργίες σε όλους τους εξυπηρετούμενους, Επιτρέπει λειτουργίες που αλλιώς θα ήταν πολύ δύσκολο να παρέχονται it is a first step towards dealing with application heterogeneity (some forms of it).  Το middleware επίπεδο δε βοηθάει στα παρακάτω: Είναι ένα ακόμα ενδιάμεσο επίπεδο Είναι σύνθετο λογισμικό Είναι μία πλατφόρμα ανάπτυξης και όχι ολοκληρωμένο σύστημα

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού A three tier middleware based system... External clients connecting logic control user logic internal clients 2 tier systems Resource managers wrappers middleware Resource manager 2 tier system middleware system External client

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού N-tier αρχιτεκτονική: σύνδεση στοWeb  N-tier αρχιτεκτονικές είναι αποτέλεσμα σύνδεσης πολλών 3- tier συστημάτων και προσθέτοντας επιπλέον επίπεδα που να επιτρέπουν στους εξυπηρετούμενους να προσπελαύνουν το σύστημα μέσω ενός Web server  Το Web επίπεδο ήταν αρχικά εξωτερικά του συστήματος (πραγματικά επιπλέον επίπεδο). Σήμερα, σταδιακά ενσωματώνεται στο presentation layer που ανήκει στη μεριά του εξυπηρετητή (τμήμα του middleware σε ένα 3-tier σύστημα, ή τμήμα του εξυπηρετητή κατευθείαν σε ένα 2-tier σύστημα) client resource management layer application logic layer information system middleware presentation layer Web server Web browser HTML filter

1 Νοεμβρίου 2007Αρχιτεκτονική Λογισμικού INTERNET FIREWALL LAN Web server cluster LAN, gateways LAN internal clients LAN middleware application logic Επίπεδο διαχείρισης πόρων database server LAN middleware application logic Επιπλέον επίπεδα Διαχείρισης πόρων LAN Wrappers and gateways file server application N-tier συστήματα σήμερα