Building e-Commerce Applications and Infrastructure Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008
Στόχοι του μαθήματος 1. Κατηγοριοποίηση των εφαρμογών e-Commerce. 2. Μεθοδολογία 5 βημάτων για την ανάπτυξη ολοκληρωμένων εφαρμογών e-Commerce. 3. Επιλογή του μοντέλου ανάπτυξης εφαρμογών e- Commerce. 4. Κριτήρια επιλογής του τρόπου ανάπτυξης της εφαρμογής. 5. Επιλογή τεχνικής λύσης ( ανάδοχος έργου και λογισμικό ). Διαφάνεια 2
Κατηγοριοποίηση των εφαρμογών e-Commerce B2C storefronts Supplier Sell-Side B2B Sites Buy-Side B2B (e-Procurement) Aggregating Catalogs Reverse Auctions and Tendering Systems Forward Auctions Exchanges Portals Διαφάνεια 3
B2C storefronts Το κατάστημα πρέπει να παρέχει λειτουργίες ανάλογες με τις λειτουργίες ενός φυσικού καταστήματος. Λειτουργικότητα που απαιτείται : Παρουσίαση καταλόγου προϊόντων με δυνατότητες αναζήτησης. Παραγγελιολειψία και ολοκλήρωση παραγγελίας. Ηλεκτρονική πληρωμή συνδεδεμένη με τις παραγγελίες. Αποστολή προϊόντος στον τελικό καταναλωτή. Υποστήριξη καταναλωτών κατά την αγορά και μετά την αγορά, e-CRM. Διαφάνεια 4
B2C storefronts Αναζήτηση προϊόντων και εντοπισμός της πλέον συμφέρουσας αγοράς. Χρήση ηλεκτρονικού καλαθιού (shopping cart). Πληρωμή με χρήση πιστωτικών μεθόδων ( πιστωτικές κάρτες, paypal). Επιβεβαίωση της παραγγελίας από το κατάστημα. Ενημέρωση για την πορεία της παραγγελίας μετά την αποστολή της. Υποστήριξη μετά την αγορά του προϊόντος. Πιθανή ενημέρωση για αντίστοιχα προϊόντα της ίδιας κατηγορίας. Παροχή e-catalog με δυνατότητες αναζήτησης Παροχή e-shopping cart, παραγγελι - οληψία και ηλεκτρονική πληρωμή σε συνεργασία με πιστωτικό ίδρυμα. Επιβεβαίωση παραγγελιών, επεξε - ργασία και αποστολή. Παροχή τεχνικής υποστήριξης στους πελάτες κατά τις αγορές τους και μετά από αυτές. Ανάλυση του προφίλ των καταναλω - τών και παροχή προσωποποιημένης διαφήμισης ή εξυπηρέτησης. Ανάλυση του ιστορικού της κίνησης του ιστοτόπου και αναδιάρθρωση της δομής του με βάση ιστορικό. Διαφάνεια 5 Το ζητήμενο για τον πελάτη... και το ζητούμενο για τον πωλητή
Supplier Sell-Side B2B Sites Η συγκεκριμένη κατηγορία απαιτεί υπερσύνολο χαρακτηριστικών σε σχέση με τους ιστοτόπους B2C. Τα επιπλέον χαρακτηριστικά που απαιτούνται είναι : Κατάλογοι προσαρμοσμένοι στις ανάγκες των βασικών αγοραστών. B2B ηλεκτρονικές συναλλαγές. Δυνατότητες διαπραγμάτευσης συμβολαίων. Δυνατότητες παραμετροποίησης προϊόντων. Διαφάνεια 6
Στοιχεία που πρέπει να έχουμ υπ ’ όψη για την ανάπτυξη εφαρμογών e-Commerce. Ένα επιτυχημένο web site δεν προσδίδει μόνο αξία στο προϊόν το οποίο εμπορέυεται, αλλά προσδίδει συνολικά αξία στον οργανισμό που υπηρετεί. Το ηλεκτρονικό κατάστημα κατά κανόνα πρέπει να είναι ενοποιημένο με τις υπόλοιπες ηλεκτρονικές υποδομές της επιχείρισης, όπως το ERP. Διαφάνεια 7
Παραδοσιακή μεθοδολογία ανάπτυξης υπηρεσιών System Development Life Cycle (SDLC) Εντοπισμός προβλήματος προς λύση. Ανάλυση και λεπτομερής καταγραφή των αναγκών. Λειτουργικός σχεδιασμός ( προμελέτη ). Τεχνικός σχεδιασμός ( λεπτομερής μελέτη ). Υλοποίηση Διαχείριση του τελικού αποτελέσματος. Συντήρηση. Ανανέωση περιεχομένου. Αύξηση της λειτουργικότητας, όπου απαιτείται. Διαφάνεια 8
Μεθοδολογία 5 βημάτων για την ανάπτυξη ολοκληρωμένων εφαρμογών e-Commerce. Βήμα 1: Αναγνώριση και τεκμηρίωση της ανάγκης ενός ιστοτόπου e-Commerce. Βήμα 2: Μελέτη του συστήματος. Διαμόρφωση λεπτομερούς αρχιτεκτονικής. Βήμα 3: Επιλογή του μοντέλου ανάπτυξης. Βήμα 4: Εγκατάσταση και έλεγχος καλής λειτουργίας. Βήμα 5: Διαχείριση, λειτουργία και ανανέωση περιεχομένου. Διαφάνεια 9
Βήμα 1: Αναγνώριση και τεκμηρίωση της ανάγκης ενός ιστοτόπου e-Commerce. Η καταγραφή των αναγκών πρέπει να είναι συσχετισμένη με τον συνολικό business plan του οργανισμού και τις υπάρχουσες διαδικασίες που επηρεάζονται. Υπάρχουσες διαδικασίες πιθανά πρέπει να αναθεωρηθούν. Λεπτομερής τεκμηρίωση των επιμέρους λειτουργιών και της αλληλεπίδρασης μεταξύ τους. Αποτέλεσμα : Προδιαγραφή εφαρμογής. Προϋπολογισμός. Μη λεπτομερές χρονοδιάγραμμα υλοποίησης. Διαφάνεια 10
Βήμα 2: Μελέτη του συστήματος. Διαμόρφωση λεπτομερούς αρχιτεκτονικής. Η αρχιτεκτονική προδιαγράφει τα παρακάτω : Επιμέρους αρθρώματα (modules) που θα χρησιμοποιηθούν για την ολοκλήρωση της εφαρμογής. Λεπτομερής προδιαγραφή του υλικού και του λογισμικού ( λειτουργικού συστήματος ) στο οποίο θα λειτουργήσει η εφαρμογή. Προδιαγραφή των απαιτήσεων ασφαλείας, αξιοπιστίας (reliability) και επεκτασιμότητας (scalability) των εφαρμογών. Προδιαγραφή αναγκαίου προσωπικού και διαδικασιών για την ολοκλήρωση του έργου. Αποτέλεσμα : Λεπτομερής μελέτη εφαρμογής. Ακριβές χρονοδιάγραμμα. Διαφάνεια 11
Βήμα 3: Επιλογή του μοντέλου ανάπτυξης Ανάπτυξη μέσα στον οργανισμό (in-house). (?) Ανάθεση της ανάπτυξης σε εξωτερικούς συνεργάτες. (?) Υιοθέτηση ενός έτοιμου συστήματος ή και εγκατάσταση με μικρής έκτασης παραμετροποίηση. (?) Ενοικίαση μίας έτοιμης εφαρμογής από υπάρχον Application Service Provider (ASP). (?) Χρήση των υπηρεσιών ενός τρίτου οργανισμού ( π. χ. Site δημοπρασιών ). (?) Χρήση συνδυσμού των παραπάνω μεθόδων. (?) Διαφάνεια 12
Βήμα 4: Εγκατάσταση και έλεγχος καλής λειτουργίας. Unit Testing Ελέγχος της κάθε επιμέρους λειτουργίας ξεχωριστά. Integration Testing Έλεγχος της αλληλεπίδρασης των λειτουργιών μεταξύ τους. Έλεγχος σταθερότητας και αξιοπιστίας. Usability Testing Αξιολόγηση της συνολικής λειτουργικότητας της εφαρμογής ως προς την ευκολία πλοήγησης, τις δυνατότητες που δίνει στον τελικό χρήστη. Acceptance Testing ( αποδοχή του έργου ) Αξιολόγηση κατά πόσο το site είναι σύμφωνο με τον αρχικό του σχεδιασμό και τη γενικότερη φιλοσοφία του οργανισμού. Διαφάνεια 13
Βήμα 5: Διαχείριση, λειτουργία και ανανέωση περιεχομένου. Το site πρέπει να ανανεώνεται συνεχώς ώστε να περιέχει την τρέχουσα πληροφορία. Ανάγκη θέσπισης διαδικασιών, ώστε να αποφευγονται τα λάθη κατά την ανανέωση περιεχομένου. Κατά την λειτουργία αξιολογούνται με λεπτομέρεια πλευρές του ιστοτόπου και προτείνονται μεταβολές και διορθώσεις. Κατά την πλήρη μελέτη είναι αναγκαίο να προδιαγρα - φούν με λεπτομέρεια οι διαδικασίες για την ανανέωση του περιεχομένου. Διαφάνεια 14
Γενικές παρατηρήσεις κατά την ανάπτυξη ολοκληρωμένων εφαρμογών Σε όλες τις φάσεις των παραπάνω πέντε βημάτων είναι αναγκαία η συνεργασία μεταξύ των συνεργαζόμενων οργανισμών. Η ελλειπής συνεργασία μπορεί να οδηγήσει σε αποτελέσματα πολύ χαμηλότερα του αναμενόμενου παρά Την τεχνική αρτιότητα της μελέτης και το υψηλού επιπέδου προγραμματιστικό έργο. Τη σημαντική δαπάνη χρημάτων και ανθρωπίνων πόρων. Διαφάνεια 15
Σχηματικό διάγραμμα της μεθοδολογίας 5 βημάτων Διαφάνεια 16
Ανάλυση της επιλογής του μοντέλου ανάπτυ - ξης των εφαρμογών e-Commerce. ( Βήμα 3) Ανάπτυξη μέσα στον οργανισμό (in-house) Ανάθεση της ανάπτυξης σε εξωτερικούς συνεργάτες. Αγορά ενός έτοιμου συστήματος και εγκατάσταση με μικρής έκτασης παραμετροποίηση. Ενοικίαση μίας έτοιμης εφαρμογής από υπάρχον Application Service Provider (ASP). Χρήση των υπηρεσιών ενός τρίτου οργανισμού ( π. χ. Site δημοπρασιών ) Χρήση συνδυσμού των παραπάνω μεθόδων. Διαφάνεια 17
Ανάπτυξη μέσα στον οργανισμό (in-house) Ζητούμενα : Επαναχρησιμοποιήση του κώδικα (reusability) Διαλειτουργικότητα με άλλες εφαρμογές. Κατά κανόνα η ανάπτυξη συμβαίνει με τη χρήση υπάρχοντων τμημάτων κώδικα (components). Τα τμήματα αυτά μπορεί να είναι APIs από ο pen-source projects και εμπορικό (proprietary) λογισμικό. Διαφάνεια 18
Υιοθέτηση ενός έτοιμου συστήματος και εγκα - τάσταση με μικρής έκτασης παραμετροποίηση Επιλογή από μεγάλο εύρος λογισμικού. Σημαντική οικονομία χρημάτων. Δεν απαιτείται η πρόσληψη υψηλά εξειδικευμένου προσωπικού ( χαμηλότερο κόστος ). Ο οργανισμός γνωρίζει τι περίπου θα παραλάβει πριν καν αρχίσει να επενδύει. Σε περίπτωση υιοθέτησης λογισμικού ανοιχτού κώδικα υπάρχει σημαντική κοινότητα χρηστών για υποστήριξη. Σε περίπτωση υιοθέτησης proprietary εφαρμογής, διατίθεται τεχνική υποστήριξη από την εταιρία. Τέτοιες λύσεις μπορεί να μην ται - ριάζουν με ακρίβεια στο προφίλ του οργανισμού. Η λειτουργικότητα του s/w μπορεί να είναι πολύ δύσκολο ( εάν όχι αδύνατο ) να αλλάξει. Ο οργανισμός εξαρτάται από την τεχνική υποστήριξη που παρέχει η εταιρία η κοινότητα που υποστηρίζει το συγκεκριμένο λογισμικό. Η ένταξη στις υπάρχουσες διεργασίες του οργανισμού μπορεί να είναι δύσκολη ( π. χ. συνεργασία με ERP) Διαφάνεια 19 Πλεονεκτήματα... και μειονεκτήματα
Ενοικίαση μιας έτοιμης εφαρμογής από υπάρχον Application Service Provider (ASP). Τα πλεονεκτήματα και μειονεκτήματα της χρήσης ενός ASP είναι αντίστοιχα με αυτά της χρήσης έτοιμων συστημάτων ( δες προηγούμενη διαφένεια ). Διαφάνεια 20 Η αρχική επένδυση για την αγορά του συστήματος (h/w, s/w) είναι πολύ χαμηλή. Ο οργανισμός πληρώνει μία μηνιαία συνδρομή για τη χρήση της υπηρεσίας. Η φιλοξενία και διαχείριση των συστημάτων γίνεται από εξειδικευ - μένους οργανισμούς που προσφέ - ρουν υπηρεσίες σε οικονομίες κλίμακας. Εξάρτηση από τον τρίτο οργανισμό. Η καλή λειτουργία της υπηρεσίας εξαρτάται από την ποιότητα του οργανισμού. Η εταιρία πιθανά εμπιστεύεται σε τρίτο οργανισμό ευαίσθητα δεδομένα, για τα οποία πρέπει να υπάρχει η εγγύηση ότι δεν θα διαρρεύσουν. Πλεονεκτήματα... και μειονεκτήματα
Ανάθεση της ανάπτυξης σε εξωτερικούς συνεργάτες (outsource) Η μέθοδος συνιστάται όταν : Δεν υπάρχει σημαντική εμπειρία στην ανάπτυξη υπηρεσιών. Όταν υπάρχει η ανάγκη για λήψη συμβουλευτικών υπηρεσιών για τον οργανισμό από ομάδες υψηλής εξειδίκευσης. Όταν ο οργανισμός θέλει να πειραματιστεί με νέες τεχνολογίες χωρίς να επενδύσει σημαντικά σε αυτές. Σημαντική είναι η τάση για outsource σε χώρες με φθηνό εργατικό δυναμικό ( Κίνα, Ινδία, Ανατολική Ευρώπη ). Στόχος είναι η μείωση του κόστους ανάπτυξης, χωρίς όμως υποβιβασμό της ποιότητας του τελικού αποτελέσματος. Η δυσκολία εντοπίζεται στη διαχείριση και τον έλεγχο τέτοιων έργων. Διαφάνεια 21
T εχνολογίες που εμπλέκονται κατά την ανάπτυξη εφαρμογών e-Commerce HTTP Server (Apache2, MS IIS etc.) HyperText Markup Language (HTML) HTML DOM και JavaScript (JS) Asynchronous HTTP Request (JS & XML) XML ( μορφοποίηση της πληροφορίας ) XSLT, Xquery. Application Service Java based (TomCat, Jboss) PHP, Python, Perl. Service Oriented Architecture (SOA) Web Services Διαφάνεια 22
Service Oriented Architecture (SOA) Αναγκαιότητα επικοινωνίας μεταξύ των διάφορων business διαδικασιών (processes) του ιδίου ή διαφορετικών οργανισμών. Αναγκαιότητα ύπαρξης αρχιτεκτονικής ανεξάρτητης από την πλατφόρμα υλοποίησης των υπηρεσιών. Οι διαδικασίες λογίζονται ως αυτοτελείς υπηρεσίες. Οι υπηρεσίες αλληλεπιδρούν μεταξύ τους προκειμένου να επιτελέσουν το συνολο των διαδικασιών του οργανισμού. Η συγκεκριμένη αρχιτεκτονική υλοποιείται με τη χρήση web services (WS). Διαφάνεια 23
Web Services (WS) Στοίβα πρωτοκόλλων. XML over SOAP over HTTP over TCP/IP. Πλεονεκτήματα χρήσης SOA αρχιτεκτονική. Ανεξαρτησία από την πλατφόρμα υλοποίησης. Χρήση ευρέως διαδεδομένων πρωτοκόλλων HTTP, XML. Ανθεκτικότητα σε firewall, ΝΑΤ Traversals, HTTP Proxies. Ασφάλεια (SSLv3,TLS). Μειονεκτήματα (?) Η XML κατά κανόνα διαμορφώνει μεγάλου μήκους μηνύματα. Η επεξεργασία της XML τοποθετεί επιπλέον υπολογιστικό φορτίο. Διαφάνεια 24
Κριτήρια για την βέλτιστη επιλογή του τρόπου ανάπτυξης και του αναδόχου της εφαρμογής e-Commerce (1/2) Ευελιξία και επεκτασιμότητα. Κόστος ανάπτυξης και κόστος διαχείρισης. Οικονομικό κόστος. Ανθρώπινοι πόροι και διαχείριση αυτών. Ευκολία ανανέωσης περιεχομένου. Ευχρηστία, φιλικότητα και αποτελεσματικότητα για τον τελικό χρήστη. Η πολυπλοκότητα πρέπει να κρύβεται από το χρήστη παρουσιάζοντας κατά το δυνατόν απλούστερα μενού (the Google approach) Διαφάνεια 25
Κριτήρια για την βέλτιστη επιλογή του τρόπου ανάπτυξης και του αναδόχου της εφαρμογής e-Commerce (2/2) Ασφάλεια και προστασία προσωπικών δεδομένων. Αξιοπιστία και αντοχή σε σφάλματα υλικού. Επίδοση συστήματος και εύκολη προσαρμογή σε περιπτώσεις αύξησης του φορτίου κίνησης. Χρήση καλά τεκμηριωμένης αρχιτεκτονικής που συναντάται στη διεθνή πρακτική και βιβλιογραφία. Χρήση ευρέως δοκιμασμένων πακέτων λογισμικού Open Source Proprietary Συνδυασμό των παραπάνω ( υβριδικό μοντέλο ). Διαφάνεια 26
Διαδικασία επιλογής αναδόχου και λογισμικού ( Βήματα κατά τη διενέργεια διαγωνισμού ) Διαφάνεια 27 1.Προσδιορισμός πιθανών αναδόχων. 2.Προσδιορισμός των κριτηρίων αξιολόγησης. 3.Υποβολή προσφορών και αξιολόγηση τους. 4.Επιλογή αναδόχου. 5.Διαπραγμάτευση συμβολαίων. 6.Συμφωνία υποστήριξης (SLA)
Building e-Commerce Applications and Infrastructure Ερωτήσεις ; Διαφάνεια 28