1 Τεχνολογία Διαδικτύου και Ηλεκτρονικό Εμπόριο Λειτουργικές Προδιαγραφές, Αρχιτεκτονικές & Τεχνολογίες για Ηλεκτρονικά Καταστήματα
6 Δεκεμβρίου Περιεχόμενα Μαθήματος Προδιαγραφές Ηλεκτρονικού Καταστήματος Αρχιτεκτονική Διαθέσιμες Τεχνολογίες
3 Προδιαγραφές Ηλεκτρονικού Καταστήματος
6 Δεκεμβρίου Συστατικά Καταστήματος E-Shop On-line κατάλογος Καλάθι αγορών Επικοινωνία με τον Πελάτη Ηλεκτρονικές Πληρωμές Πιστοποίηση Περιβάλλον διεπαφής Διαχείριση Συστήματος
6 Δεκεμβρίου On-line κατάλογος Στόχος: Να παρουσιάζονται στους πελάτες τα αγαθά και οι υπηρεσίες που είναι διαθέσιμες Κατασκευή: Επιλέγοντας ένα «έτοιμο» (off-the-shelf) κατάλογο Κατασκευάζοντας ένα κατάλογο από την αρχή Διασύνδεση με επιλεγμένες σελίδες του ΗΚ και το καλάθι αγορών
6 Δεκεμβρίου On-line κατάλογος (συνέχ...) Τεκμηρίωση προϊόντων Πληροφορίες για τα χαρακτηριστικά κάθε προϊόντος Εικόνες/Διαγράμματα του προϊόντος Αναλυτικές τιμές και σύντομες περιγραφές Συγκριτικά και στατιστικά στοιχεία Εύκολη πλοήγηση Μηχανισμός αναζήτησης On-line βοήθεια Παραμετρική αναζήτηση
6 Δεκεμβρίου Καλάθι αγορών
6 Δεκεμβρίου Καλάθι αγορών Στόχος: Συλλογή προϊόντων που προκάλεσαν το ενδιαφέρον του πελάτη και σχετίζεται άμεσα με την παραγγελία και την πληρωμή Λειτουργίες: Εισαγωγή προϊόντων Διαγραφή προϊόντων Ενημέρωση περιεχομένων Αποθήκευση καλαθιού με τα περιεχόμενά του για μελλοντική χρήση-αγορά Προφίλ πελάτη: Το ηλεκτρονικό καλάθι βοηθά το ΗΚ να δημιουργεί προφίλ ανάλογα με τις προτιμήσεις κάθε πελάτη Cross Sales: Με την επιλογή κάθε προϊόντος, προτείνεται και ένα ακόμα που το συμπληρώνει, ή είναι μέσα στα ενδιαφέροντα του πελάτη Up Sales: Με την επιλογή ενός προϊόντος, αντιπροτείνεται ένα παρόμοιο προϊόν σε τιμή προσφοράς ή/και καλύτερης ποιότητας
6 Δεκεμβρίου Επικοινωνία
6 Δεκεμβρίου Επικοινωνία Ηλεκτρονικό Ταχυδρομείο + Υποκαθιστά την αμεσότητα της επικοινωνίας μεταξύ πωλητή και πελάτη − Η δέσμευση προσωπικού για να απαντά σε μηνύματα Πίνακας ανακοινώσεων Οι χρήστες του πίνακα μπορούν να διαβάσουν μηνύματα άλλων χρηστών, να καταχωρήσουν/ διαγράψουν δικά τους μηνύματα και να αναζητήσουν μηνύματα βάση κάποιων κριτηρίων Frequently Asked Questions – FAQ Καλύπτουν την ανάγκη για πληροφόρηση πάνω σε σημαντικά: Νομικά ζητήματα, Ασφάλεια συναλλαγών, Τρόποι αποστολής παραγγελιών – πληρωμής, κτλ. Chat Rooms Χώροι στους οποίους μπορούν οι πελάτες να ανταλλάξουν απόψεις, και να κάνουν την κριτική τους
6 Δεκεμβρίου Πληρωμές
6 Δεκεμβρίου Πληρωμές Στόχος: Η ευκολότερη ροή του χρήματος σε σχέση με τις συμβατικές μεθόδους πληρωμών Απαίτηση: Η ελάχιστη δυνατόν εμπλοκή του πελάτη και του εμπόρου στην ολοκλήρωση της εμπορικής πράξης, διατηρώντας τα απαραίτητα επίπεδα ασφάλειας Παραδείγματα Secure Electronic Transactions – SET Κατάθεση σε τραπεζικό λογαριασμός
6 Δεκεμβρίου Πιστοποίηση
6 Δεκεμβρίου Πιστοποίηση Στον κόσμο του ηλεκτρονικού εμπορίου, το κύρος και η αξιοπιστία διασφαλίζονται από τριτους ευυπόληπτους οργανισμούς. Τα ΗΚ που φέρουν τη «Σφραγίδα Έγκρισης» από τέτοιους οργανισμούς υποδηλώνουν ότι εκτελούν συναλλαγές βάσει συγκεκριμένων κανόνων Καλύπτει την Ανάγκη για ταυτοποίηση του εμπόρου ώστε να μην εξαπατηθεί ο πελάτης Επίπεδα πιστοποίησης Κλάση 1: Όνομα και Κλάση 2: Άδεια οδήγησης, Αριθμός Κοινωνικής Ασφάλισης, Ημερομηνία γέννησης Κλάση 3: κλάση 2 + πιστωτικός έλεγχος Κλάση 4: Επαγγελματική υπόσταση ενδιαφερομένου
6 Δεκεμβρίου Πιστοποίηση Το Χ.509 καθορίζει τα περιεχόμενα ενός πιστοποιητικού σε: Όνομα κατόχου Το δημόσιο κλειδί του (public key) Ταυτότητα του χορηγού του παρόντος πιστοποιητικού και η ψηφιακή υπογραφή του Ένας κωδικός (serial number). Δίδεται από το χορηγό Μια χρονική περίοδος εγκυρότητας πιστοποιητικού Πληροφορίες για την εξακρίβωση της ψηφιακής υπογραφής του κατόχου
6 Δεκεμβρίου Περιβάλλον Διεπαφής
6 Δεκεμβρίου Περιβάλλον Διεπαφής Το περιβάλλον διεπαφής ενός ηλεκτρονικού καταστήματος είναι το επιφανέστερο μέρος μιας παρουσίας στο Διαδίκτυο. Για το λόγο αυτό αναδεικνύεται σε συστατικό που χαρακτηρίζει ένα έργο ηλεκτρονικού εμπορίου σαν επιτυχημένο ή όχι Θέματα Προδιαγραφές Πληροφοριών Προδιαγραφές Παρουσίασης Προδιαγραφές Πλοήγησης Προδιαγραφές Λειτουργικότητας
6 Δεκεμβρίου Περιβάλλον Διεπαφής (3) Προδιαγραφές Πληροφοριών Προβολή όλων των απαραίτητων στοιχείων για την επικοινωνία με το ΗΚ Υποστήριξη πελατών – συλλογή μόνο των απαραίτητων για τη συναλλαγή στοιχείων του πελάτη Ενθάρρυνση επίσκεψης του ΗΚ με: Προδιαγραφές Παρουσίασης: Βασικές σχεδιαστικές αρχές Εφαρμογή χαρακτηριστικής δομής για όλες τις σελίδες Δομημένη παρουσίαση περιεχομένου Ισορροπημένη επιλογή από χρώματα, κτλ Προδιαγραφές Πλοήγησης Ελαχιστοποίηση του συνολικού αριθμού σελίδων Δυναμική αλλαγή (μέρους) του περιεχομένου Μηχανή αναζήτησης Προδιαγραφές Λειτουργικότητας Οn-line κατάλογοι και το καλάθι αγορών Δυνατότητα δωρεάν εγγραφής μέλους στο ηλεκτρονικό κατάστημα Δυνατότητες υπενθύμισης password (με ) Επικύρωση παραγγελίας με Παρακολούθηση κατάστασης παραγγελίας Αντίγραφα ασφαλείας όλων των δεδομένων
6 Δεκεμβρίου Διαχείριση Συστήματος Περιλαμβάνει παρακολούθηση απόδοσης βελτιωτικές ρυθμίσεις καταγραφή των διαδικασιών που ακολουθούνται για τη βελτίωση της απόδοσης και ενίσχυση της ασφάλειας εισαγωγή, διαγραφή και ομαδοποίηση χρηστών Μορφές Τοπική διαχείριση Διαχείρισης συστήματος μέσα από πρόγραμμα διαχείρισης Διαχείριση από απόσταση Διαχείριση μέσα από μια ιστοσελίδα
20 Αρχιτεκτονική
6 Δεκεμβρίου Αρχιτεκτονική λογισμικού Ορισμοί : “The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them” (Bass, Clements, Kazman “Software architecture in Practice”) “An architecture is the set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization--- these elements and their interfaces, their collaborations, and their composition” (Booch, Rumbaugh, Jacobson “ The UML Modeling Language User Guide ”)
6 Δεκεμβρίου Αναπαράσταση Αρχιτεκτονικής Τρόποι αναπαράστασης: Απλά Διαγράμματα (Informal diagrams) ADLs (Architecture Design Languages) UML (Unified Modeling Language) Παραδείγματα αρχιτεκτονικών: Μονολιθικές (monolithic, single-computer) Client - Server Peer - to - Peer
6 Δεκεμβρίου Client-Server αρχιτεκτονική
6 Δεκεμβρίου Client – Server αρχιτεκτονική Βασικά χαρακτηριστικά: Διαχωρισμός μεταξύ πηγής(ών) δεδομένων και καταναλωτών Πρόσβαση στα ίδια δεδομένα από όλους τους χρήστες Σύνδεση του πελάτη (client) με τον εξυπηρετητή (server) μέσω δικτύου Υποστήριξη πολλών συνδέσεων με πελάτες (clients) Πλεονεκτήματα Ευχρηστία (Usability) Ευελιξία (Flexibility) Διαλειτουργικότητα (Interoperability) Κλιμάκωση (Scalability)
6 Δεκεμβρίου Client-Server Αρχιτεκτονικές Παραλλαγές της Client-Server αρχιτεκτονικής: 2-tier 3-tier n-tier
6 Δεκεμβρίου Tier αρχιτεκτονικές1/3 Χαρακτηριστικά: 2 επίπεδα διαχωρισμού ( Data tier – Presentation tier ) Αντιστοιχήσεις: πελάτης (client) με Presentation tier και εξυπερετητής (server) με Data tier Η επιχειρηματική λογική (business logic) είναι διαμοιρασμένη στο Presentation tier και στο Data tier
6 Δεκεμβρίου Tier αρχιτεκτονικές2/3
6 Δεκεμβρίου Tier αρχιτεκτονικές 3/3 Περιορισμοί: Κλιμάκωση (Scalability): Ενδεδειγμένο άνω όριο του αριθμού χρηστών είναι το 100 [Schussel95]. Διαλειτουργικότητα (Interoperability): Περιορισμένη διαλειτουργικότητα λόγο του διαμοιρασμού της επιχειρηματικής λογικής μεταξύ των 2 επιπέδων. Διαχείριση (Administration): Περιορισμένες δυνατότητες λόγο του πλήθους των χρηστών και της έλλειψης ομοιογένειας στην διαμόρφωση (configuration) της εφαρμογής στην μεριά των πελατών (clients). Ομαδοποιημένες εργασίες (Batch Jobs): Η εκτέλεση ομαδοποιημένων εργασιών δεσμεύει την εφαρμογής του πελάτη (client) έως ότου ολοκληρωθεί η ομάδα εργασιών στον εξυπηρετητή (server)
6 Δεκεμβρίου Tier αρχιτεκτονικές1/4 Χαρακτηριστικά: Προσθήκη ενδιάμεσου tier (Μiddle tier) μεταξύ του Presentation tier και του Data tier. Ενσωμάτωση της επιχειρηματικής λογικής και των κανόνων στο ενδιάμεσο tier. Σχεδιασμός με στόχο την επαναχρησιμοποίηση (reusability), την κλιμάκωση (scalability), την ευελιξία (flexibility), την συντηρησιμότητα (maintainability) και την αποδοτικότητα (performance).
6 Δεκεμβρίου Tier αρχιτεκτονικές2/4
6 Δεκεμβρίου Tier αρχιτεκτονικές 3/4 Πλεονεκτήματα: Απομόνωση της επιχειρηματικής λογικής (Business Logic) και της πολυπλοκότητας (complexity) Κλιμάκωση (Scalability) Υποστήριξη της χρήσης πολλών γλωσσών και ετερογενών πλατφόρμων (Heterogeneity) Εξισορρόπηση φόρτου εργασίας (Load Balancing) Ευκολότερη πρόσβαση στα δεδομένα Βελτιωμένο μοντέλο ασφάλειας (Security model) Απλοποιημένη πρόσβαση σε εξωτερικές και παλαιότερες εφαρμογές (legacy applications). Ευκολότερη ανάπτυξη Ευκολότερη διαχείριση
6 Δεκεμβρίου Tier αρχιτεκτονικές 4/4 Περιορισμοί: Πολυπλοκότητα στον σχεδιασμό μίας εφαρμογής λόγο της ανάγκης για διαχωρισμό μεταξύ των τριών επιπέδων Επικάλυψη (Overlap) μεταξύ των επιπέδων της αρχιτεκτονικής.
6 Δεκεμβρίου Tier vs 2-Tier
6 Δεκεμβρίου n-Tier αρχιτεκτονικές Χαρακτηριστικά: Αποτελούν γενικεύσεις της 3-Tier αρχιτεκτονικής Κατασκευάζονται με τον διαχωρισμό κάποιου από τα 3 tiers της 3-Tier αρχιτεκτονικής σε περισσότερα επίπεδα.
6 Δεκεμβρίου Presentation Tier1/2 Χαρακτηριστικά: Το presentation tier αποτελεί την διεπαφή του χρήστη (User Interface ή front end) Μια εφαρμογή 3-tier μπορεί να διαθέτει περισσότερες από μία διεπαφές. Βαριά (thick) φτιαγμένη διεπαφή με αυξημένη λειτουργικότητα, πχ Windows application front-end Ελαφριά διεπαφή με περιορισμένη λειτουργικότητα, πχ HTML front-end Ενδιάμεσου τύπου διεπαφές, πχ διεπαφές μεταξύ εφαρμογών
6 Δεκεμβρίου Presentation Tier2/2 Λειτουργίες: Συλλογή πληροφορίας από τον χρήστη Αποστολή πληροφορίας προς το Middle tier για επεξεργασία Λήψη αποτελεσμάτων από το Middle tier Παρουσίαση των αποτελεσμάτων στον χρήστη
6 Δεκεμβρίου Middle Tier1/2 Χαρακτηριστικά: Αποτελεί τον χώρο στον οποίο εναποτίθεται η λογική της εφαρμογής. Ο κώδικας που βρίσκεται εκεί αποκαλείται “middleware” Εκεί εκτελούνται οι διεργασίες της εφαρμογής Αποτελείται συνήθως από πολλά components
6 Δεκεμβρίου Middle Tier2/2 Λειτουργίες: Λήψη πληροφορίας από το Presentation tier Επεξεργασία και εξακρίβωση πληροφορίας που λαμβάνεται από το Presentation tier Επικοινωνία με το Data tier για την εκτέλεση διεργασιών στα δεδομένα Επιστροφή αποτελεσμάτων στο Presentation tier
6 Δεκεμβρίου Data Tier1/2 Χαρακτηριστικά: Αποτελεί τον χώρο στον οποίο αποθηκεύονται τελικά τα δεδομένα Αποτελείται συνήθως από μια συλλογή πηγών αποθήκευσης, πχ RDBMs και File systems. Συνήθως είναι κατανεμημένο σε ένα σύμπλεγμα μηχανημάτων (cluster systems)
6 Δεκεμβρίου Data Tier2/2 Λειτουργίες: Παρέχει δυνατότητες για αποθήκευση (store), ανανέωση (update) και διαγραφή (delete) επί των δεδομένων του συστήματος. Αναζήτηση και επαναφορά δεδομένων (request & retrieve) Διατήρηση της πληροφορίας που περιέχει (maintenance of information) Ακεραιότητα στα δεδομένα (data integrity) Ανεμπόδιστη και γρήγορη πρόσβαση στα δεδομένα (fast and error-free data access)
41 Τεχνολογίες
6 Δεκεμβρίου Sun (Java) based JSP, Servlets -> Presentation tier JavaBeans, EJBs -> Middle tier JDBC-> επικοιν. με Data tier
6 Δεκεμβρίου JSP & Servlets Τι είναι τα Servlets? “Τα Servlets αποτελούν την Java based τεχνολογία η οποία παρέχει την δυνατότητα για το χτίσιμο web- εφαρμογών χρησιμοποιώντας ένα component-based, ανεξάρτητο-πλατφόρμας μηχανισμό” Τι είναι οι JSPs? “Οι JSPs (Java Server Pages) χρησιμοποιούν ένα συνδυασμό από XML tags και scriptlets σε java, για να συμπεριλάβουν την λογική που γεννά το περιεχόμενο κάθε σελίδας”
6 Δεκεμβρίου JavaBeans & EJBs Τι είναι τα JavaBeans ? “Τα JavaBeans είναι επαναχρησιμοποιήσιμα, ανεξάρτητα- πλατφόρμας software components τα οποία είναι γραμμένα σε java και τα οποία μπορούν και συνεργάζονται πάνω από το δίκτυο” Τι είναι τα EJBs? “Τα EJBs (Enterprise JavaBeans) αποτελούν μία component-based αρχιτεκτονική για την ανάπτυξη αντικειμενοστραφών, κατανεμημένων,εφαρμογών. Οι εφαρμογές που αναπτύσσονται σε αυτή την αρχιτεκτονική είναι κλιμακούμενες (scalable), συναλλακτικές (transactional) και ασφαλείς (secure).”
6 Δεκεμβρίου JDBC Τι είναι το JDBC? “Το JDBC αποτελεί ένα API το οποίο δίνει την δυνατότητα για διασύνδεση σε οποιαδήποτε πινακοειδή πηγή δεδομένων (tabular data source)”
6 Δεκεμβρίου JSP & Servlets – JavaBeans & EJBs
6 Δεκεμβρίου Microsoft based τεχνολογίες ASP -> DCOM, COM+ -> ADO, OLE DB -> Presentation tier Middle tier Επικοινωνία με Data tier
6 Δεκεμβρίου ASP Τι είναι οι ASPs ? “Οι ASPs (Active Server Pages) είναι web-σελίδες οι οποίες περιέχουν server-side scripts σε συνδυασμό με HTML tags.” Που βρίσκονται ? “Οι ASP σελίδες βρίσκονται στον web-server της εφαρμογής μας (Internet Information Server or Personal Web Server) και εκτελούνται όταν καλούνται από τον χρήστη. Οι σελίδες αυτές έχουν κατάληξη.asp”
6 Δεκεμβρίου DCOM & COM+ Τι είναι το DCOM ? “To DCOM (Distributed Component Object Model) αποτελεί ένα προγραμματιστικό μοντέλο το οποίο υποστηρίζει την επικοινωνία μεταξύ components τα οποία μπορούν να βρίσκονται σε διαφορετικά μηχανήματα στο δίκτυο” Τι είναι το COM+ ? “Το COM+ (Component Object Model) αποτελεί εξέλιξη του COM και του DCOM και ο στόχος του είναι όπως και στο DCOM η δημιουργία συνεργαζόμενων components”
6 Δεκεμβρίου ADO & OLE DB Τι είναι το OLE DB? “Το OLE DB αποτελεί ένα εξειδικευμένο σύνολο από COM interfaces τα οποία επιτρέπουν την διάθεση δεδομένων από πλήθος πηγών, όπως σχεσιακές και μή-σχεσιακές βάσεις” Τι είναι το ADO? “Tα ADO (ActiveX Data Objects) components επιτρέπουν την διαχείριση των δεδομένων που υπάρχουν σε μία βάση δεδομένων πάνω από το OLE DB”
6 Δεκεμβρίου ASP - DCOM & COM+ - ADO & OLE
6 Δεκεμβρίου Άλλες τεχνολογίες Διαθέσιμες τεχνολογίες XML CORBA Web Services
6 Δεκεμβρίου XML Τι είναι η XML? “ Η XML (Extensible Markup Language) είναι μία γλώσσα markup για κείμενα (documents) η οποία περιέχει και πληροφορία για την δομή της πληροφορίας” Γιατί είναι χρήσιμη ? “Η XML δημιουργήθηκε για την μεταφορά δομημένων κειμένων πάνω από το δίκτυο”
6 Δεκεμβρίου Web Services Τι είναι τα Web Services? “Αυτόνομες, αρθρωτές εφαρμογές που μπορούν να δημοσιευθούν, να εντοπισθούν και να κληθούν μέσω του Web και οι οποίες βασίζονται σε standards όπως XML, HTTP, WSDL, UDDI, SOAP”
6 Δεκεμβρίου CORBA Τι είναι η CORBA ? “Η CORBA (Common Object Request Broker) αποτελεί μία ανεξάρτητη πλατφόρμας περιγραφή αρχιτεκτονικής και υποδομή η οποία μπορεί να χρησιμοποιηθεί για την ανάπτυξη εφαρμογών οι οποίες μπορούν να συνεργάζονται πάνω από το δίκτυο. Η διαλειτουργικότητα που προσφέρει στηρίζεται στην χρήση standards όπως OMG IDL (Interface Definition Language) και πρωτοκόλλων όπως GIOP (General Inter-ORB Protocol) και IIOP (Internet Inter-ORB Protocol)”
6 Δεκεμβρίου Τέλος ευχαριστώ πολύ