ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Εκφώνηση Υποχρεωτικής εργασίας
Πίνακας Περιεχομένων 1 Περιγραφή... 3 2 Ζητούμενα... 5 3 Οδηγίες & Περιορισμοί... 6
1 Περιγραφή Στόχος της παρούσης εργασίας είναι η υπηρεσιοστρεφής ανάπτυξη επιχειρησιακών διαδικασιών οι οποίες θα υποστηρίζουν την απαιτούμενη λειτουργικότητα του ηλεκτρονικού καταστήματος μιας αλυσίδας πώλησης ηλεκτρικών ειδών. Η συγκεκριμένη αλυσίδα καταστημάτων έχει σαν στόχο να επαναχρησιμοποιήσει μια σειρά υπηρεσιών και λειτουργιών, οι οποίες υποστηρίζουν τη λειτουργία των τυπικών λιανικών καταστημάτων τους, και να υλοποιήσει επιπλέον υπηρεσίες πάνω απο αυτές για την υποστήριξη του ηλεκτρονικού καταστήματος. Σε αυτά τα πλαίσια η λειτουργικότητα που προσφέρεται ήδη με την μορφή υπηρεσιών περιλαμβάνει: (ΥΠ1) Το κατάλογο προϊόντων του καταστήματος: Για κάθε προϊόν η συγκεκριμένη υπηρεσία επιστρέφει πληροφορία, όπως: o τον κωδικό του, o το όνομα του, o την κατηγορία του, o την τιμή του, o την τεχνική περιγραφή του o την διαθέσιμοτητα του, o το κατάστημα ή την αποθήκη στην οποία είναι πιθανά διαθέσιμο (ΥΠ2) Το καλάθι αγορών: Για κάθε πελάτη του καστήματος διατηρεί και επιστρέφει πληροφορία σχετικά με: o τα αντικέιμενα που έχει επιλέξει ο πελάτης, o την ποσότητα του κάθε αντικειμένου, o τον τρόπο πληρωμής της παραγγελίας του πελάτη και o την επιλεγμένη διεύθυνση αποστολής (ΥΠ3) Τη διαχείριση πελατών: Για κάθε πελάτη του καταστήματος διατηρεί πληροφορία σχετικά με: o τις αποθηκευμένες πιστωτικές κάρτες o τις αποθηκευμένες διευθύνσεις αποστολής παραγγελιών o το ιστορικό παραγγελιών Δεδομένου ότι η υπηρεσία καταλόγου προϊόντων (ΥΠ1) προσφέρει λειτουργικότητα απαραίτητη για την υποστήριξη και της διεπαφής του ηλεκτρονικού καταστήματος με τους πελάτες του, προσφέρεται με τρόπο που επιτρέπει την εύκολη χρήση της, δλδ. ως REST υπηρεσία. Το κατάστημα, πέρα από τις παραπάνω υπηρεσίες έχει στη διάθεση του και μια σειρά επιπλέον υπηρεσιών που υποστηρίζουν απαραίτητες λειτουργίες. Οι υπηρεσίες αυτές περιλαμβάνουν:
(ΥΠ4) Υπηρεσία διαχείρισης αποθήκης: Το κατάστημα διαθέτει μια λίστα από έξι αποθήκες οι οποίες είναι τοποθετημένες σε διάφορες περιοχές (σε επίπεδο πόλης η/και χώρας). Οι λειτουργίες που προσφέρονται από την κάθε αποθήκη περιλαμβάνουν: o Τον έλεγχο διαθεσιμότητας κάθε αντικειμένου, o Τη κράτηση κάποιου αντικειμένου για λογαριασμό μιας παραγγελίας o Την ακύρωση μιας κράτησης για κάποιο αντικείμενο (ΥΠ5) Υπηρεσία πίστωσης: Η υπηρεσία αυτή προσφέρεται από το συνεργαζόμενο πιστωτικό ίδρυμα με ασύγχρονο τρόπο. Έχει επιλεγεί το συγκεκριμένο μοντέλο επικοινωνίας από το πιστωτικό ίδρυμα για να μπορέσουν να πραγματοποιηθούν όλοι οι απαιτούμενοι έλεγχοι χωρίς να μπλοκάρει η λειτουργία του πελάτη της υπηρεσίας. Η υπηρεσία προσφέρει λειτουργίες που επιτρέπουν: o τη χρέωση της πιστωτικής κάρτας του πελάτη με το ποσό της κάθε αγοράς και τη μεταφορά των σχετικών πόρων στο λογαριασμό του εμπόρου o την επιστροφή των χρημάτων του πελάτη σε περίπτωση ακύρωσης. (ΥΠ6) Υπηρεσίας μέτρησης απόστασης: Για την αναζήτηση της απόστασης μεταξύ δύο συγκεκριμένων διευθύνσεων υπάρχει διαθέσιμη η υπηρεσία μέτρησης απόστασης της Google. Η υπηρεσία αυτή προσφέρεται ως REST υπηρεσία. o https://developers.google.com/maps/documentation/distancematrix Παρ ότι οι παραπάνω υπηρεσίες προσφέρουν αρκετή από την απαιτούμενη λειτουργικότητα, για την επίτευξη των στόχων του ηλεκτρονικού καταστήματος είναι απαραίτητη η υλοποίηση επιπλέον λειτουργιών. Η λειτουργικότητα που είναι απαραίτητη και θα πρέπει να υλοποιηθεί περιλαμβάνει: (ΕΔ1) Επεξεργασία παραγγελίας: Η επεξεργασία της κάθε παραγγελίας ξεκινά με τη ληψη του κωδικού της παραγγελίας. Η διαδικασία περιλαμβάνει βήματα για: o την αναζήτηση των προϊόντων του καλαθιού αγορών, o τον έλεγχο των διαθέσιμων αποθεμάτων στις αποθήκες, o την κράτηση των αντικειμένων στις αποθήκες, o τον υπολογισμό του κόστους, και o τη χρέωση του πελάτη με την βοήθεια του πιστωτικού ιδρύματος. Κάθε φορά, για την εξυπηρέτηση κάποιας παραγγελίας αναζητείται η πλησιέστερη αποθήκη στη διεύθυνση αποστολής, που μπορεί να προσφέρει τα επιλεγμένα αντικέιμενα. Εάν η πλησιέστερη αποθήκη δεν μπορεί να εξυπηρετήσει την παράδοση όλων των αντικειμένων κάποιας παραγγελίας τότε επιπλέγονται και επιπλέον αποθήκες για την εξυπηρέτηση των αντικειμένων που δεν είναι διαθέσιμα. Σε κάθε περίπτωση οι επιπλέον αποθήκες θα πρέπει να είναι όσο γίνεται πιό κοντά στη διεύθυνση παράδοσης.
Για την επιτάγχυνση της διαδικασίας εξυπηρέτησης της παραγγελίας και την αύξηση του αριθμού των ταυτόχρονα εκτελούμενων διεργασιών έχει επιλεγεί: o η παράλληλη εκτέλεση των ελέγχων και των κρατήσεων των αντικειμένων στις αποθήκες, και o η ασύγχρονη κλήση της υπηρεσίας του πιστωτικού ιδρύματος, δεδομένου ότι υποστηρίζεται η δυνατότητα κλήσης της υπηρεσίας χρέωσης της πιστωτικής κάρτας με ασύγχρονο τρόπο. (ΕΔ2) Ακύρωση παραγγελίας: Η διαδικασία της ακύρωσης κάποιας παραγγελίας περιλαμβάνει τα απαραίτητα βήματα για την αναίρεση των ενεργειών της διαδικασίας επεξεργασίας (ΕΔ1). Συγκεκριμένα η διαδικασία αυτή ξεκινά με τη λήψη του κωδικού της παραγγελίας και περιλαμβάνει βήματα τα οποία επιτρέπουν: o την ακύρωση των κρατήσων που έχουν γίνει για λογαριασμό μιας παραγγελίας σε όλες τις εμπλεκόμενες αποθήκες o την ακύρωση των σχετικών πιστώσεων στην κάρτα του πελάτη. Σημειώνεται ότι και στη διαδικασία ακύρωσης οι σχετικές ακυρώσεις στις αποθηκές εκτελούνται παράλληλα ενώ η διαδικασία ακύρωσης της χρέωσης της πιστωτικής κάρτας εκτελείται ασύγχρονα. 2 Ζητούμενα 1. Να υλοποιηθούν όλες οι υπηρεσίες που περιγράφονται στην παρούσα εκφώνηση (ΥΠ1 ΥΠ5) o Όλες οι υπηρεσίες μπορούν να υλοποιηθούν είτε ως SOAP services είτε ως REST services, εκτός της υπηρεσίας καταλόγου (ΥΠ1) που θα πρέπει απαραίτητα να αναπτυχθεί ως REST o Για την υλοποίηση μπορούν να χρησιμοποιηθούν αποκλειστικά τεχνολογίες Java (JDBC, J2EE, etc). Για την αποθήκευση πληροφορίας μπορούν να χρησιμοποιηθούν είτε βάσεις δεδομένων (εάν και εφόσον κρίνετε ότι είναι απαραίτητο) ή αρχεία o Οι υπηρεσίες θα πρέπει να επιστρέφουν τιμές που επιτρέπουν την εκτέλεση εναλλακτικών σεναρίων για την εξακρίβωση της ορθής λειτουργίας των διαδικασιών και όχι σταθερές τιμές (mockup) o Οι υπηρεσίες μπορούν να γίνουν deploy σε ότι είδους server επιλέξετε o Η υπηρεσία υπολογισμού απόστασης (ΥΠ6) είναι ήδη διαθέσιμη από την Google και δεν χρειάζεται επιπλέον προσθήκες 2. Να σχεδιαστούν οι παραπάνω διαδικασίες με την χρήση της BPMN 3. Να υλοποιηθούν οι δύο επιχειρησιακές διαδικασίες που περιγράφονται σε γλώσσα WS- BPEL και μόνο o Για την υλοποίηση των περιγραφόμενων διαδικασιών θα πρέπει να χρησιμοποιηθούν απαραίτητα οι υπηρεσίες της εργασίας
o Μπορούν να χρησιμοποιηθούν και άλλες υπηρεσίες, εάν αυτό κρίνεται αναγκαίο, αλλά θα πρέπει να είναι διαθέσιμες ώς SOAP ή REST υπηρεσίες Στα παραδοτέα της εργασίας περιλαμβάνονται: Έγγραφο κειμένου (word ή pdf) με την ακόλουθη δομή: o Εξώφυλλο, στο οποίο θα αναγράφονται απαραιτήτως τα ονοµατεπώνυµα, οι ΑΜ και τα email των µελών της οµάδας εργασίας o Σύντοµη εισαγωγή o Παραδοχές σχεδίασης & υλοποίησης o Διαγράµµατα των επιχειρησιακών διαδικασιών, όπως αυτά προκύπτουν με την χρήση της γλώσας BPMN, συνοδευόµενα από µια επεξηγηµατική παράγραφο κειµένου o Παραδείγµατα εκτέλεσης, τα οποία θα καλύπτουν όλα τα ενδεχόµενα εναλλακτικά σενάρια. o Προβλήµατα που πιθανόν συναντήθηκαν κατά την εκπόνηση της εργασίας και συµπεράσµατα Ένα zip αρχείο µε τους φακέλους που αντιστοιχούν στο/στα projects που θα δηµιουργηθούν στο NetBeans κατά την υλοποίηση των υπηρεσιών ιστού και των επιχειρησιακών διαδικασιών σε WS- BPEL. 3 Οδηγίες & Περιορισμοί 1. Η εργασία είναι υποχρεωτική και ο βαθμός της αποτελεί το 50% της συνολικής βαθμολογίας του μαθήματος 2. Η εργασία μπορεί να πραγματοποιηθεί είτε ατομικά ή ομαδικά από ομάδες των 2 ατόμων, χωρίς διαφοροποίηση στα ζητούμενα ή στο βαθμό της εργασίας 3. Η παράδοση θα γίνει ηλεκτρονικά, αποκλειστικά από την σελίδα του μαθήματος στο e- class 4. Ως καταληκτική ημερομηνία παράδοσης της εργασίας ορίζεται η 1η Μαρτίου 2015 (για την εξεταστική του Φεβρουαρίου) ή η 1 η Σεπτεμβρίου (για την εξεταστική του Σεπτεμβρίου). Γραπτές εξετάσεις μπορείτε να δώσετε είτε στην εξεταστική του Φεβρουαρίου ή τον Σεπτέμβριο, ανεξάρτητα του πότε θα αποφασίσετε να παραδώσετε την εργασία. 5. Κάθε παρέκκλιση απο τα ζητούμενα της εργασίας και τους καθορισμένους περιορισμούς έχει ως αποτέλεσμα τον μηδενισμό του εκάστοτε ερωτήματος 6. Η υλοποίηση των υπηρεσιών ιστού που προκύπτουν βάσει της εκφώνησης, καθώς και ο ακριβής προσδιορισµός των τύπων των µηνυµάτων εισόδου/εξόδου, τόσο για τις λειτουργίες τους όσο και για τις επιχειρησιακές διαδικασίες, επαφίεται στη δηµιουργικότητα και φαντασία σας! 7. Οι εργασίες θα ελεχθούν ηλεκτρονικά για αντιγραφή. Σε περιπτώσεις αντιγραφής όλες οι εµπλεκόµενες εργασίες θα µηδενιστούν.