ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΣΥΓΧΡΟΝΙΣΜΟΣ ΑΠΟΘΗΚΗΣ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ ΜΕ WEB SERVICES. H ΠΕΡΙΠΤΩΣΗ ΤΟΥ weberp KAI TOY oscommerce ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Του ΜΙΣΙΡΚΑ ΑΘΑΝΑΣΙΟΥ ΑΜ:33/05 Επιβλέπων :ΝΙΚΟΛΑΟΣ ΠΡΩΤΟΓΕΡΟΣ Επίκουρος Καθηγητής Θεσσαλονίκη, Φεβρουάριος 2009

2 Περίληψη Αντικείμενο της παρούσας διπλωματικής εργασίας είναι η θεωρητική και πρακτική μελέτη και ανάλυση μιας σχετικά καινούριας τεχνολογίας : των Web Services. Στην ουσία, βέβαια, δεν πρόκειται για μια τεχνολογία αλλά για ένα σύνολο επιμέρους τεχνολογιών που αρμονικά συνδυασμένες δίνουν το επιθυμητό αποτέλεσμα. Πίσω από όλες αυτές βρίσκεται η XML μια μετα-γλώσσα η οποία μπορεί να χρησιμοποιηθεί για να περιγράψει έννοιες και δεδομένα. Το σημαντικότερο πλεονέκτημα των Web Services είναι η διαλειτουργικότητά τους: το γεγονός ότι μπορούν να γεφυρώσουν συστήματα δομημένα σε διαφορετικές γλώσσες προγραμματισμού που τρέχουν σε διαφορετικές πλατφόρμες. Στην συγκεκριμένη εργασία, ωστόσο, απλά θα εξετάσουμε τη λειτουργία τους ελέγχοντας την επικοινωνία ανάμεσα σε δύο συστήματα, ένα ηλεκτρονικό κατάστημα (oscommerce) και ένα ERP (weberp), αμφότερα δομημένα σε γλώσσα PHP. Λέξεις Κλειδιά: XML, Web Services, Simple Object Access Protocol (SOAP), Web Service Description Language (WSDL),Universal Discovery Description and Integration (UDDI), oscommerce, weberp.

3 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ Γενικά Περιγραφή προβλήματος. 3 2 ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Ορισμοί ERP Ιστορική εξέλιξη των ERP Αρχιτεκτονική των ERP Πλεονεκτήματα-μειονεκτήματα weberp Τι είναι το weberp Η αξιοπιστία σαν παράγοντας ποιότητας και σχεδιασμού Πλεονεκτήματα weberp Χαρακτηριστικά weberp ΤΟ oscommerce Τι είναι το oscommerce 18 4 ΤΑ WEB SERVICES Ορισμός για τα web services Το παρελθόν των web services Το σήμερα Πίσω από τα web services XML (Extensible Markup Language) SOAP (Simple Object Access Protocol) WSDL (Web Service Description Language) UDDI (Universal Discovery Description and Integration) Συνδυάζοντας όλα τα παραπάνω Πλεονεκτήματα των web services Μειονεκτήματα των web services ΥΛΟΠΟΙΗΣΗ Μια πρώτη προσέγγιση Μελέτη εφικτότητας NuSoap REST Σενάριο χρήσης ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΑΡΑΡΤΗΜΑ Α Επικοινωνία από weberp προς oscommerce Ο κώδικας του server Το WSDL αρχείο Τα μηνύματα SOAP Ο κώδικας του client Επικοινωνία από oscommerce προς weberp Ο κώδικας του server Το WSDL αρχείο Τα μηνύματα SOAP Ο κώδικας του client ΕΙΣΑΓΩΓΗ.. 1

4 ΠΕΡΙΕΧΟΜΕΝΑ 8 ΠΑΡΑΡΤΗΜΑ Β Εγκατάσταση του oscommerce Εγκατάσταση του weberp.. 9 ΒΙΒΛΙΟΓΡΑΦΙΑ

5 ΚΕΦΑΛΑΙΟ 1ο ΕΙΣΑΓΩΓΗ 1. ΕΙΣΑΓΩΓΗ 1.1. Γενικά Είναι αλήθεια ότι ζούμε στην κοινωνία της πληροφορίας που στην πράξη μεταφράζεται σε εύκολη και ταχύτατη πρόσβαση σε δεδομένα χωρίς η απόσταση να αποτελεί περιορισμό. Αυτό είναι δυνατό κατά κύριο λόγο μέσα από την εξέλιξη των τεχνολογιών των υπολογιστών και των δικτύων. Το πρόβλημα της εργασίας αυτής εντάσσεται σε αυτό το γενικότερο πλαίσιο. Αποτελεί μια προσπάθεια πρόσβασης σε πληροφορία από ένα σύστημα απομακρυσμένο σε ένα άλλο. 1.2 Περιγραφή προβλήματος Σαν γενική περιγραφή του προβλήματος μπορούμε να θεωρήσουμε την προσπάθεια συγχρονισμού δύο βάσεων δεδομένων. Ειδικότερα, η εργασία αφορά τον συγχρονισμό της βάσης δεδομένων ενός ERP συστήματος με αυτήν ενός ηλεκτρονικού καταστήματος μιας επιχείρησης. Θεωρούμε ότι η επιχείρηση διατηρεί δύο βάσεις δεδομένων, μια για το ηλεκτρονικό κατάστημα και μια για το ERP σύστημα. Κάτω από αυτές τις συνθήκες όταν εκτελείται μια αγορά μέσω Internet γίνεται χρήση της βάσης δεδομένων του ηλεκτρονικού καταστήματος ενώ αντίστοιχα όταν ο πελάτης επισκέπτεται το «φυσικό» κατάστημα η αγορά γίνεται μέσω της βάσης δεδομένων του ERP. Γίνεται, επομένως, αντιληπτό ότι αν δεν ενημερώνονται και οι δύο βάσεις σε κάθε δοσοληψία, είτε γίνεται μέσω ERP είτε γίνεται μέσω Internet, το αποτέλεσμα θα είναι η κάθε μια να έχει τα δικά της δεδομένα που σε καμία περίπτωση δεν θα αντιστοιχούν στα πραγματικά. Στην παρούσα εργασία επικεντρωνόμαστε στο να συγχρονιστούν οι ποσότητες των προϊόντων. Επομένως για κάθε ενημέρωση της ποσότητας ενός χ προϊόντος στην βάση δεδομένων του ERP (που σημαίνει ότι ο πελάτης αγόρασε το προϊόν από το φυσικό κατάστημα) πρέπει να γίνεται και μία ενημέρωση της ποσότητας του ίδιου προϊόντος στην βάση δεδομένων του ηλεκτρονικού καταστήματος και αντίστροφα. Κατ αυτόν τον τρόπο και οι δύο βάσεις παραμένουν ενημερωμένες και σύμφωνες με τις πραγματικές ποσότητες στην αποθήκη. Για την υλοποίηση της εργασίας χρησιμοποιήθηκαν προγράμματα ανοιχτού κώδικα. Συγκεκριμένα, σαν ERP σύστημα χρησιμοποιήθηκε το WebERP το οποίο είναι ένα 3

6 ΚΕΦΑΛΑΙΟ 1ο ΕΙΣΑΓΩΓΗ ολοκληρωμένο σύστημα λογιστικών ERP. Έχει web interface και απαιτεί, επομένως, μόνο έναν web browser για να τρέξει ενώ ο προγραμματισμός του έγινε σε γλώσσα php. Για το ηλεκτρονικό κατάστημα έγινε χρήση του os-commerce ενός online καταστήματος το οποίο διανέμεται δωρεάν με την άδεια GNU (general public license). Το oscommerce είναι δομημένο με την γλώσσα php. Στην πράξη, λοιπόν, στην εργασία αυτή γίνεται μια προσπάθεια συντονισμού των δύο αυτών συστημάτων. Ερχόμενος ο πελάτης στο φυσικό κατάστημα και αγοράζοντας ένα προϊόν, με το που κόβεται το σχετικό παραστατικό ενημερώνεται και η βάση του WebERP. Ταυτόχρονα πρέπει να γίνει και η ενημέρωση της βάσης του oscommerce ώστε να ανταποκρίνεται και αυτή στις πραγματικές ποσότητες. Για τη λύση του προβλήματος αυτού χρησιμοποιήθηκε η τεχνολογία των web services. Χρησιμοποιώντας τα web services θα ενημερώνεται αυτόματα η βάση δεδομένων του ηλεκτρονικού καταστήματος κάθε φορά που ενημερώνεται η βάση του ERP. 4

7 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ 2.ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ 2.1 Ορισμοί ERP Τα γράμματα E R P αποτελούν την αρχή των λέξεων Enterprise Resource Planning ελληνιστί διαχείριση επιχειρηματικών πόρων. Είναι ένας όρος που χρησιμοποιείται για να περιγράψει ένα σύστημα λογισμικού το οποίο αποτελείται από ένα σύνολο επιμέρους τμημάτων (modules) που καλύπτουν μια ευρεία γκάμα επιχειρησιακών λειτουργιών όπως είναι οι χρηματοοικονομικές λειτουργίες λογιστικά, η παραγωγή, η διαχείριση ανθρωπίνων πόρων και τα logistics Ας δούμε πώς ορίζουν το ERP σύστημα διάφοροι συγγραφείς : Ένα ERP σύστημα μπορεί να θεωρηθεί ως ένα εταιρικό και ευρέων πληροφοριών σύστημα που ολοκληρώνει όλες τις πλευρές της επιχειρηματικής δραστηριότητας. Προϋποθέτει μια βάση δεδομένων, μια εφαρμογή, και μια ενιαία διεπαφή για όλη την επιχείρηση. (Bingi et al.,1999, σελ.8) Τα ERP συστήματα είναι εξαιρετικά ολοκληρωμένα και μεγάλου εύρους εταιρικά πληροφοριακά συστήματα (πακέτα λογισμικού) που αυτοματοποιούν εταιρικές λειτουργίες πυρήνα όπως χρηματοοικονομικές, ανθρωπίνων πόρων, παραγωγής και εφοδιασμού και διανομής. Holland et al., 1999a, σελ,289 και Holland et al., 1999b, σελ273. ERP είναι ένα ολοκληρωμένο πακέτο εφαρμογών λογισμικού σχεδιασμένο για να αυτοματοποιήσει και να ολοκληρώσει όλες τις επιχειρηματικές δραστηριότητες μιας εταιρείας σε όλη την αλυσίδα εφοδιασμού και να παρέχει άμεση πρόσβαση στην πληροφορία που έχει η επιχείρηση στη διάθεσή της. Τα ERP συστήματα μπορούν να θεωρηθούν σαν ευρείας χρήσης και γενικού σκοπού πληροφοριακά συστήματα διοίκησης (MISmanagement Information Systems) για τις επιχειρήσεις. Maher, 1999, σελ.36. 5

8 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Τα ERP συστήματα, ένα είδος ευρέων εταιρικών πληροφοριακών συστημάτων (EWIS- Enterprise-Wide Information System) αντιπροσωπεύουν σύνολα επιχειρηματικών εφαρμογών που επιτρέπουν σε έναν οργανισμό μια μεγάλη γκάμα λειτουργιών διαχείρισης. Τα ERP συστήματα μπορούν να θεωρηθούν σαν εργαλεία βελτιστοποίησης και ολοκλήρωσης των επιχειρηματικών διαδικασιών κατά μήκος της αλυσίδας εφοδιασμού (μέσα και έξω από τον οργανισμό) υλοποιημένα με βάση τα σύγχρονα πληροφοριακά συστήματα διοίκησης. Al-Mashari, 2000, σελ.3. Τα ERP συστήματα είναι μεγάλης κλίμακας διαλειτουργικά και ολοκληρωμένα συστήματα. Brown et al., 2000, σελ.1029 Τα ERP συστήματα είναι πακέτα λογισμικού που ενσωματώνουν πληροφορία που υπάρχει σε ολόκληρη την επιχείρηση. Αυτή η ενσωμάτωση αποτρέπει την ύπαρξη αντιφάσεων στην επιχειρηματική πληροφορία και επιτρέπει στον οργανισμό να έχει συνεκτικές και ολοκληρωμένες αναφορές και εκθέσεις. Shakir, 2000, σελ Ιστορική εξέλιξη των ERP Η εξέλιξη των ERP συστημάτων ακολούθησε στενά την εξέλιξη του υλικού και του λογισμικού στους υπολογιστές. Στην δεκαετία του 60 οι περισσότεροι οργανισμοί σχεδίαζαν, ανέπτυσσαν και εφάρμοζαν υπολογιστικά συστήματα, αυτοματοποιώντας κατά κύριο λόγο τη λειτουργία ελέγχου των αποθεμάτων, με τη χρήση πακέτων ελέγχου αποθεμάτων (IC Inventory Control). Αυτά τα συστήματα ήταν βασισμένα σε γλώσσες προγραμματισμού όπως η COBOL, η ALGOL και η FORTRAN. Τα συστήματα σχεδιασμού απαιτήσεων υλικών (MRP Material Requirements Planning ) αναπτύχθηκαν την δεκαετία του 70 και περιελάμβαναν κυρίως τον προγραμματισμό της παραγωγής ή απαραίτητων εξαρτημάτων της, σύμφωνα πάντα με το βασικό πρόγραμμα παραγωγής. Ακολουθώντας αυτή την πορεία νέα συστήματα λογισμικού που ονομάζονταν συστήματα σχεδιασμού πόρων παραγωγής (MRP II Manufacturing Resources Planning) εισήχθηκαν την δεκαετία του 80. Αυτά έδιναν ιδιαίτερη έμφαση στην βελτιστοποίηση των διαδικασιών παραγωγής συγχρονίζοντας τις ποσότητες στις πρώτες ύλες με τις ανάγκες τις παραγωγής. Τα MRP II συστήματα περιελάμβαναν στο πακέτο και λειτουργίες όπως η διαχείριση των διανομών (distribution management), του έργου (project management), των ανθρωπίνων πόρων 6

9 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ (human resources) καθώς και οικονομική διαχείριση. Τα ERP συστήματα πρωτοεισήχθησαν στα τέλη την δεκαετίας του 80 και στην αρχή του 90 με το πλεονέκτημα της ολοκλήρωσης και του κεντρικού ελέγχου μιας ευρείας γκάμας λειτουργιών της επιχείρησης. Βασισμένα στα τεχνολογικά θεμέλια των συστημάτων MRP και MRP II τα ERP ολοκλήρωναν σε ένα σύστημα επιχειρησιακές λειτουργίες όπως αυτή της παραγωγής, της διανομής, των οικονομικών, της διαχείρισης ανθρωπίνων πόρων, έργου και αποθεμάτων παρέχοντας πρόσβαση και συνέπεια στην πληροφορία σε ολόκληρη την επιχείρηση. Κατά την διάρκεια της δεκαετίας του 90 οι κατασκευαστές των ERP πρόσθεσαν επιπλέον λειτουργίες με τη μορφή add-on στον πυρήνα των λειτουργιών δημιουργώντας τα extended ERP. Αυτά τα συστήματα περιελάμβαναν δυνατότητες προχωρημένου σχεδιασμού και προγραμματισμού, λύσεις e-bussiness όπως η διαχείριση σχέσεων πελατών (CRM Customer Relationship Management) και η διαχείριση αλυσίδας εφοδιασμού (SCM Supply Chain Management). Σχήμα 1 7

10 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ 2.3 Αρχιτεκτονική των ERP Τα ERP συστήματα έχουν τα εξής χαρακτηριστικά : Αρθρωτό σχεδιασμό που να περιλαμβάνει πολλά διαφορετικά τμήματα βάση των επιχειρησιακών λειτουργιών όπως οικονομικά, παραγωγή, διανομή, λογιστικά κτλ. Χρήση ενός κεντρικού και κοινού συστήματος βάσεων δεδομένων Τα διάφορα κομμάτια τους παρέχουν τη δυνατότητα ανεμπόδιστης ροής της πληροφορίας μεταξύ τους, αυξάνοντας την λειτουργική διαπερατότητα μέσα από τη χρήση συγκεκριμένων διεπαφών. Είναι συνήθως πολύπλοκα συστήματα μεγάλου κόστους Είναι ευέλικτα και βελτιώνουν τις λειτουργίες της επιχείρησης Απαιτούν πολύ χρόνο για την παραμετροποίηση και προσαρμογή τους στις επιχειρηματικές λειτουργίες της εταιρίας Οι Εκμεταλλεύονται τις δυνατότητες του διαδικτύου κατασκευαστές ERP προσφέρουν συστήματα με κάποιο βαθμό διαφορετικότητας αλλά ο βασικός πυρήνας λειτουργιών είναι σχεδόν ίδιος για όλα. Μερικές από τις βασικές λειτουργίες που εμπεριέχουν σχεδόν όλα τα ERP είναι : Λογιστική διαχείριση Χρηματοοικονομική διαχείριση Διαχείριση παραγωγής Διαχείριση μεταφορών Διαχείριση δικτύου πωλήσεων και διανομών Διαχείριση ανθρωπίνων πόρων Διαχείριση αλυσίδας εφοδιασμού Διαχείριση σχέσεων πελατών (CRM customer relationship system) E-bussiness 8

11 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Τα εταιρικά συστήματα εφαρμόζουν τεχνολογίες είτε Thin Client/Server (C/S) είτε Client/Fat Server (C/Fs) δημιουργώντας ένα αποκεντρωτικό υπολογιστικό περιβάλλον. Σε ένα C/S σύστημα ένας αριθμός τερματικών συσκευών (desktop pc) αιτούνται υπηρεσίες στους Application Servers οι οποίοι με τη σειρά τους παίρνουν τα απαιτούμενα για την υπηρεσία δεδομένα από τους Database Servers. Η γενική πρακτική είναι να ακολουθείται αρχιτεκτονική 3-tier όπως φαίνεται και στο σχήμα 2. Σχήμα 2 Στα συστήματα Client/Server οι λειτουργίες επιτελούνται ακολουθώντας 3 επίπεδα λογικής όπως φαίνεται και από το σχήμα 2: Το επίπεδο παρουσίασης:το γραφικό περιβάλλον διεπαφής για εισαγωγή δεδομένων και πρόσβαση στις λειτουργίες του συστήματος. 9

12 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Το επίπεδο εφαρμογής: Οι επιχειρηματικοί κανόνες, οι λειτουργίες, η λογική και τα προγράμματα για την ανταλλαγή δεδομένων από και προς τους Database Servers. Το επίπεδο βάσης δεδομένων: Η διαχείριση των λειτουργικών δεδομένων της επιχείρησης, συμπεριλαμβανομένου και των μετά-δεδομένων. Κατά κύριο λόγο γίνεται χρήση RDBMS και SQL. 2.4 Πλεονεκτήματα μειονεκτήματα Γενικά είναι λάθος η αντίληψη ότι με την εφαρμογή ενός ERP συστήματος θα βελτιωθούν οι λειτουργίες της επιχείρησης από την μια στιγμή στην άλλη. Οι υψηλές αυτές απαιτήσεις που θέλουν την μείωση την εξόδων και την βελτιστοποίηση των υπηρεσιών εξαρτώνται από το πόσο καλά το επιλεγμένο ERP θα «ταιριάξει» με τις επιχειρησιακές δραστηριότητες και από το πόσο καλά η παραμετροποίηση και το πατρονάρισμα του συστήματος θα συμπνεύσουν με την κουλτούρα, τη στρατηγική, και την δομή του οργανισμού. Συνολικά ένα ERP σύστημα αναμένεται να βελτιώσει τόσο τις εσωτερικές λειτουργίες (μέσα στην επιχείρηση) όσο και τις εξωτερικές, που σχετίζονται με τους πελάτες-προμηθευτές και γενικά την εικόνα της επιχείρησης προς τα έξω. Οι επιχειρήσεις επιλέγουν να εφαρμόσουν ERP συστήματα για πολλά απτά και μη οφέλη και στρατηγικούς λόγους. Σε πολλές περιπτώσεις ο υπολογισμός της απόδοσης της επένδυσης (ROI return on investment) σε ένα ERP έχει μεγαλύτερη βαρύτητα και έρχεται κόντρα στα πολλά μη απτά και στρατηγικά οφέλη. Τα τελευταία φαίνονται παρακάτω. Πλεονεκτήματα μπορούν να θεωρηθούν τα παρακάτω : Αξιόπιστη πρόσβαση στην πληροφορία. Η ύπαρξη μιας κεντρικής βάσης δεδομένων συνεπάγεται πληροφορία ακριβής και συνεπής και άρα βελτιωμένες αναφορές. Αποφυγή επανάληψης πληροφορίας αλλά και λειτουργιών. Τα διάφορα τμήματα του ERP έχουν πρόσβαση σε μια κοινή κεντρική βάση δεδομένων κάτι που σημαίνει αποφυγή πολλαπλών εισόδων δεδομένων. 10

13 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Μείωση του χρόνου παράδοσης αναφορών καθώς ελαχιστοποιείται ο χρόνος ανάκτησης των απαραίτητων δεδομένων για τη δημιουργία αυτών. Μείωση κόστους μέσα από τη δυνατότητα ευρείας ανάλυσης των επιχειρησιακών αποφάσεων. Ευκολία προσαρμογής. Αλλαγές στις επιχειρησιακές διαδικασίες είναι εύκολο να υιοθετηθούν στη δομή του συστήματος. Βελτιωμένη ικανότητα προσθήκης νέων λειτουργιών μέσα από τον αρθρωτό τρόπο δόμησης τους και την χρήση add-ons Βελτιωμένη δυνατότητα συντήρησης καθώς οι κατασκευαστές των συστημάτων προσφέρουν μακροχρόνια συμβόλαια υποστήριξης. E-commerce, E-bussiness Για να γευτούν τα οφέλη ενός ERP συστήματος, όμως, οι επιχειρήσεις χρειάζεται να ξεπεράσουν συγκεκριμένα προβλήματα και μειονεκτήματα όπως αυτά φαίνονται παρακάτω. Η αγορές ERP συστημάτων υπολογίστηκαν το 1998 γύρω στα 17 δις. δολάρια ακολουθώντας ετήσιο ρυθμό αύξησης από 30% ως 50%. Ακόμα, οι εταιρίες ξοδεύουν πολλαπλάσια του κόστους των αδειών χρήσης σε υπηρεσίες σχετικές με την εφαρμογή και συντήρηση του λογισμικού. Τα έσοδα παγκοσμίως από τέτοιου είδους υπηρεσίες σε ERP συστήματα ήταν 21,5δις. δολάρια το 2000, κάτι που αποτελεί αύξηση της τάξης του 13,1% σε σχέση με την αγορά αξίας 19δις. δολαρίων του 1999 (Broach, 2001). Η συνεχόμενη αύξηση της αγοράς των ERP οφείλετε στο γεγονός ότι οι κατασκευαστές προσθέτουν συνεχώς εφαρμογές στα πακέτα που προσφέρουν. Μειονεκτήματα μπορούν να θεωρηθούν τα παρακάτω: Το κόστος, το οποίο ποικίλει από χιλιάδες ευρώ μέχρι και εκατομμύρια. Η συμμόρφωση των διαφόρων τμημάτων του συστήματος με τις επιχειρηματικές διαδικασίες την κουλτούρα και τους στρατηγικούς στόχους της επιχείρησης. Η εξάρτηση από τον κατασκευαστή του ERP Οι λειτουργίες του ERP και η πολυπλοκότητα. Ένα ERP μπορεί να έχει πάρα πολλές λειτουργίες και τμήματα οπότε ο χρήστης θα πρέπει να επιλέξει προσεκτικά και να υλοποιήσει μόνο τις απαραίτητες σε αυτόν. 11

14 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Χρονοβόρα εφαρμογή καθώς χρειάζεται γενική ομοφωνία από τα διάφορα τμήματα της επιχείρησης. 2.5 WebERP Τι είναι το WebERP To WebERP είναι ένα ανοιχτού κώδικα Web-Based ERP σύστημα. Η τρέχουσα έκδοσή του είναι η και εκδόθηκε στις 27 Ιουνίου Πρόκειται για ένα λογιστικό/erp σύστημα που απαιτεί αποκλειστικά έναν φυλλομετρητή διαδικτύου (Web Browser) και έναν PDF Reader για να λειτουργήσει. Οι διαθέσιμες λειτουργίες του συνεχώς αυξάνονται καθώς νέες επιχειρήσεις και προγραμματιστές το υιοθετούν. Η εξέλιξη της χρήσης του WebERP στηρίζεται αποκλειστικά στον «δια στόματος» καλό λόγο μεταξύ των χρηστών καθώς δεν έχει γίνει ποτέ ως τώρα προσπάθεια διαφήμισης ή marketing για την αύξηση της διάθεσης του συστήματος στον κόσμο. Φυσικά δεν υπάρχουν οικονομικοί πόροι ούτε εμπορικά κίνητρα για να γίνει κάτι τέτοιο σε ένα λογισμικό που διανέμεται δωρεάν. Αντ αυτού η ανάπτυξη της διάθεσής του στηρίζεται αποκλειστικά στη φήμη του και στη στιβαρή λειτουργικότητα του όπως αυτή έχει δοκιμαστεί στην πράξη από έναν αυξανόμενο αριθμό επιχειρήσεων Η αξιοπιστία σαν παράγοντας ποιότητας και σχεδιασμού Ένα λογιστικό σύστημα, περισσότερο από κάθε άλλο σύστημα χρειάζεται να είναι αξιόπιστο. Ο κώδικας του WebERP έχει σε μεγάλο βαθμό αναθεωρηθεί αλλά κυρίως έχει δοκιμαστεί μέσα από την χρήση του προγράμματος σε πραγματικές συνθήκες. Το αποτέλεσμα είναι ένας κώδικας σταθερός και ένα πρόγραμμα που κάνει ακριβώς αυτό που αναμένεται να κάνει σε κάθε περίπτωση. Έμφαση δόθηκε σε χαρακτηριστικά του προγράμματος που οι επιχειρήσεις πραγματικά χρειάζονται. Για να παραχθεί μια στιβαρή εφαρμογή είναι απαραίτητο να βασιστεί σε στιβαρά θεμέλια. Το WebERP έχει αναπτυχθεί σε γλώσσα PHP. Και η PHP είναι ένα ανοιχτού κώδικα περιβάλλον ανάπτυξης εφαρμογών ιδιαίτερα δημοφιλές στην κατασκευή web-based εφαρμογών. Η επιδόσεις και η αξιοπιστία Web-Based εφαρμογών γραμμένων σε PHP είναι αδιαμφισβήτητές. Πέρα από αυτό η PHP μπορεί να παραμετροποιηθεί εύκολα σε οποιοδήποτε λειτουργικό σύστημα και οι απαιτήσεις της σε υπολογιστική ισχύ είναι εξαιρετικά χαμηλές. 12

15 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Πλεονεκτήματα weberp Δεν έχει και πολύ καιρό από τότε που οι λογιστικές εφαρμογές εξελίχτηκαν από DOS-based εφαρμογές σε παραθυρικές που εκμεταλλεύονταν τις σύγχρονες γραφικές δυνατότητες των υπολογιστών. Παρόμοια, χρειάστηκε αρκετός χρόνος για τις λογιστικές εφαρμογές για να περάσουν από την Χ-tier Client/Server τεχνολογία που αντικατέστησε τα παλιά DOS συστήματα και να εκμεταλλευτούν τα πλεονεκτήματα των αληθινά Web-Based εφαρμογών. Αν και τα περισσότερα συστήματα σήμερα δίνουν την επιλογή για Web μορφή του Front-End τμήματος του συστήματος, παραμένουν ουσιαστικά Client/Server εφαρμογές. Λόγω της αυξημένης υπολογιστικής ισχύς που απαιτείται για τέτοιου είδους εφαρμογές οι υποδομές που απαιτούνται από τις επιχειρήσεις μπορεί να περιλαμβάνουν : Μια σύνθετη φάρμα από Server για την εξισορρόπηση του φορτίου με εξειδικευμένο λογισμικό διαχείρισης Server. Ακριβές άδειες χρήσης λειτουργικών συστημάτων Μεγάλης χωρητικότητας συνδέσεις οπτικών ινών Προσωπικό εξειδικευμένο και αφοσιωμένο στη διαχείριση τέτοιων πληροφοριακών εφαρμογών αλλά και υποδομών. Όλη αυτή η απαιτούμενη υποδομή αποτελεί σοβαρό περιοριστικό παράγοντα για πολλές επιχειρήσεις. Το weberp τα αντιπαρέρχεται όλα αυτά με τη χρήση απλής Html για τα γραφικά του συστήματος με μηδαμινό κόστος αλλά και με την ακεραιότητα μια κεντρικής βάσης δεδομένων για την επεξεργασία και αποθήκευση των δεδομένων. Προσφέρει ασφαλή και σε πραγματικό χρόνο πρόσβαση στις εγγραφές της εταιρείας οπουδήποτε και οποτεδήποτε δίνοντας πραγματικά συγκριτικό πλεονέκτημα σε μια εταιρεία. Το μόνο που απαιτείται είναι μια συσκευή με πρόσβαση στο διαδίκτυο. Επιπλέον, το weberp είναι ευέλικτο ως προς την πλατφόρμα λειτουργίας του και την παραμετροποίηση του. Μπορεί θεωρητικά να παραμετροποιηθεί σε οποιοδήποτε web-server, λειτουργικό σύστημα ή υπολογιστή. Είναι ακόμα εξαιρετικά ευέλικτο γιατί είναι πολύ εύκολο να τροποποιηθεί η λειτουργικότητά του ώστε να 13

16 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ ανταποκρίνεται ακριβώς στις ανάγκες της εκάστοτε επιχείρησης. Οι δυνατότητες πρόσβασης στις λειτουργίες του weberp είναι απεριόριστες χωρίς να επηρεάζουν σε καμία περίπτωση την απόδοσή του : Laptop-pc, Desctop-pc, Pda ή ακόμα και από PC σε Intenet Café. To weberp είναι ένα project ανοιχτού κώδικα. Ως τέτοιο δεν απαιτούνται αμοιβές σχετιζόμενες με τη χρήση του ενώ ένας προγραμματιστής με γνώση σε PHP είναι σε θέση να αναγνωρίσει τι είδους επεξεργασία συμβαίνει σε κάθε περίπτωση και να την προσαρμόσει στις επιχειρηματικές ανάγκες. Αυτό είναι κάτι που δεν συμβαίνει σε συστήματα κλειστού κώδικα όπου ο πάροχος υποστήριξης πρέπει να επικοινωνήσει με τους πωλητές του συστήματος Χαρακτηριστικά weberp Γενικά χαρακτηριστικά : Web-Based Τρέχει σε οποιονδήποτε Web-Server που μπορεί να «στεγάσει» και να εξυπηρετήσει PHP αρχεία. Μπορεί δε, να χρησιμοποιηθεί και ένας ISP (Intenet Service Provider) αντί της διατήρησης ιδιόκτητου Server. Ελαχιστοποιημένη χρήση Java-Script για μέγιστη συμβατότητα με όλους τους web browsers και συσκευές. Παράγει αναφορές σε μορφή PDF για ακριβή στοιχειοθέτηση του κειμένου Όλες οι αναφορές και τα script εύκολα μεταβάλλονται για να ικανοποιήσουν τις ανάγκες της επιχείρησης. Όλη η επεξεργασία γίνεται στον server και δεν απαιτείται καμιά εγκατάσταση στην πλευρά του Client. Υποστήριξη πολλών γλωσσών. Κάθε χρήστης μπορεί να επιλέξει την γλώσσα προτίμησής του. Υποστήριξη πολλών θεμάτων αναφορικά με τα γραφικά της διεπαφής. Κάθε χρήστης μπορεί να επιλέξει το θέμα της προτίμησής του. 14

17 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Ειδικότερα σε ότι αφορά την ασφάλεια : Οι χρήστες μπορεί να οριστούν με συγκεκριμένη πρόσβαση σε συγκεκριμένες επιλογές. Λανθασμένη εισαγωγή κωδικού (πάνω από 3 φορές) έχει σαν αποτέλεσμα το κλείδωμα του λογαριασμού. Το ξεκλείδωμα μπορεί να γίνει μόνο από τον διαχειριστή του συστήματος. Αυτό εμποδίζει τους Crackers να παρακάμψουν την ασφάλεια του συστήματος. Οι σελίδες μπορούν να κωδικοποιηθούν με τη χρήση του SSL και το webwrp μπορεί να παραμετροποιηθεί κατά τέτοιο τρόπο που να εμφανίζει τις σελίδες με τη χρήση του SSL εξασφαλίζοντας ότι όλη η πληροφορία που μεταδίδεται μέσω διαδικτύου είναι κωδικοποιημένη. Οι χρήστες μπορούν να οριστούν με τέτοιο τρόπο ώστε να έχουν πρόσβαση σε συγκεκριμένες λειτουργίες του κυρίως μενού, ενώ οι επιλογές για τις οποίες δεν έχουν πρόσβαση δεν εμφανίζονται καν στην οθόνη. Η ασφάλεια του HTTP μπορεί να παραμετροποιηθεί πάνω από την εσωτερική ασφάλεια του συστήματος παρέχοντας δύο επίπεδα ασφάλειας : το πρώτο είναι η πρόσβαση στον Web-Server και το δεύτερο είναι η πρόσβαση στο ίδιο το weberp. Ακολουθούν μερικά screen shot του προγράμματος 15

18 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Κεντρική οθόνη Οθόνη αναζήτησης είδους 16

19 ΚΕΦΑΛΑΙΟ 2ο ΤΙ ΕΙΝΑΙ ΕΝΑ ERP ΣΥΣΤΗΜΑ Οθόνη παρουσίασης παραγγελιών Οθόνη εισαγωγής παραγγελίας 17

20 ΚΕΦΑΛΑΙΟ 3ο ΤΟ oscommerce 3. TO oscommerce 3.1 Τι είναι το oscommerce To oscommerce είναι μια λύση για Online ηλεκτρονικό κατάστημα που προσφέρει μια ευρεία γκάμα χαρακτηριστικών, που το επιτρέπουν να στηθεί σχετικά γρήγορα και εύκολα. Το πιο σημαντικό από όλα, όμως, είναι ότι είναι δωρεάν ως λύση ανοιχτού κώδικα και διανέμεται υπό την άδεια GNU (General Public License). Η εκκίνηση της εξέλιξης του έγινε τον Μάρτιο του 2000 και από τότε αποτελεί μια δοκιμασμένη λύση που χρησιμοποιείται σε καταγεγραμμένα ηλεκτρονικά καταστήματα σε όλο τον κόσμο. Σήμερα, το oscommerce έχει πάει στο επόμενο επίπεδο, δίνοντας μια επιλογή που όχι μόνο εξακολουθεί να είναι εύκολη στην εγκατάσταση και στην συντήρηση, αλλά και διευκολύνει τους διαχειριστές των καταστημάτων να παρουσιάζουν τα καταστήματά τους στους πελάτες θέτοντας τις δικές τους μοναδικές απαιτήσεις. Η επιτυχία του oscommerce είναι εξασφαλισμένη από την μεγάλη και ενεργή κοινότητα που το στηρίζει στην οποία τα μέλη βοηθούν το ένα το άλλο και συμμετέχουν σε θέματα ανάπτυξης. Το oscommerce δεν ευαγγελίζεται ότι είναι η απόλυτη λύση στο ηλεκτρονικό εμπόριο. Αντί να προσπαθεί να προσφέρει όλα τα πράγματα σε όλους τους ανθρώπους, παρέχει ένα βασικό σύνολο λειτουργιών ώστε να ικανοποιεί τις πιο κοινές ανάγκες των περισσοτέρων σχεδόν επιχειρήσεων. Ακολουθώντας αυτή την προσέγγιση το oscommerce απέφυγε το συνηθισμένο λάθος από το οποίο οι περισσότερες εφαρμογές υποφέρουν: υπερβολική πολυπλοκότητα η οποία απαιτεί υπερβολικά σύνθετη υλοποίηση. Αυτό, βέβαια, δεν σημαίνει σε καμία περίπτωση ότι το oscommerce προσφέρει μόνο τα βασικά. Η ικανότητα του να εμπλουτίζεται μέσα από add-ons ή κοινό κώδικα, σημαίνει ότι μπορεί να παραμετροποιηθεί για να ικανοποιήσει τις ανάγκες της κάθε επιχείρησης. Ακολουθεί μια λίστα χαρακτηριστικών του oscommerce όπως αυτά αναφέρονται στη σελίδα του προγράμματος: 1. Συμβατό με PHP4 και mysql ενώ μεταφέρεται εύκολα σε έκδοση 5 2. Συμβατό με όλους τους μεγάλους Browser 18

21 ΚΕΦΑΛΑΙΟ 3ο ΤΟ oscommerce 3. Πολύγλωσση υποστήριξη, αγγλικά, γερμανικά, ισπανικά 4. Αυτόματη Web-based εγκατάσταση 5. Απεριόριστος αριθμός προϊόντων και κατηγοριών 6. Αυτόματη εγκατάσταση συστημάτων πληρωμής ηλεκτρονικού εμπορίου: Authorize.net, 2Checkout.com, ipayment.de, PayPal.com, PsiGate.com, SECPay.com και TrustCommerce.com καθώς και πολλά άλλα add-ons συστημάτων πληρωμής. 7. Υποστήριξη συναλλάγματος μέσα από χειροκίνητη ενημέρωση μέσω server ισοτιμιών 8. Υποστήριξη δυναμικών εικόνων 9. Υποστήριξη φυσικών προϊόντων όσο και λογικών προϊόντων που κατεβαίνουν στον υπολογιστή (downloads). 10. Web-based τμήμα του προγράμματος για τον διαχειριστή 11. Αντίγραφα ασφαλείας και επαναφορά της βάσης δεδομένων 12. Προσωρινά και μόνιμα καροτσάκια 13. Ασφαλείς συναλλαγές με το SSL (Secure Sockets Layer) 14. Επιλογές αποστολής βάση κιλών, τιμής, προορισμού 15. Επιλογές αποστολής προϊόντων βασισμένη σε ζώνες καθώς και επιλογή για δωρεάν αποστολή με βάση το σύνολο της παραγγελίας 16. Πλήρης λειτουργικότητα σε ότι αφορά τους φόρους, καθώς υποστηρίζει διαφορετικές ζώνες για διαφορετικά προϊόντα. Στην υλοποίηση ενός Site βασισμένου στο oscommerce πολύ σημαντική απόφαση είναι ο σχεδιασμός του περιβάλλοντος. Το oscommerce δεν διατίθεται με σύστημα διαθέσιμων Templates αν και γενικά υπάρχουν διαθέσιμα Templates από τρίτους. Αυτό μπορεί να ειδωθεί σαν αρνητικό. Σημαίνει, ωστόσο, ότι ο σχεδιασμός του περιβάλλοντος μπορεί να γίνει είτε με κώδικα είτε με την εγκατάσταση κάποιου Template. Η μεγαλύτερη κριτική που δέχεται το oscommerce, όμως, αφορά τις διάφορες αδυναμίες που παρουσιάζει σε θέματα ασφαλείας όπως είναι το SQL Injection με κώδικα PHP που δεν έχει ελεγχθεί και οι χαλαρές ρυθμίσεις σε θέματα δικαιωμάτων χρήσης αρχείων και καταλόγων που είναι απαραίτητη για τη λειτουργικότητα του προγράμματος. 19

22 ΚΕΦΑΛΑΙΟ 3ο ΤΟ oscommerce Ακολουθούν μερικά screen shots του προγράμματος Κεντρική σελίδα Σελίδα για την επικύρωση παραγγελίας 20

23 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES 4. TA WEB SERVICES 4.1 Ορισμός για τα web services Υπάρχουν πολλοί ορισμοί για το τι είναι Web Services, περίπου όσοι και οι εταιρίες πληροφορικής που αναπτύσσουν εργαλεία για τα Web Services. To W3C (World Wide Web Consortium) ορίζει την υπηρεσία ιστού (Web Service) σαν ένα σύστημα λογισμικού σχεδιασμένο για αλληλεπίδραση από υπολογιστή σε υπολογιστή πάνω από ένα δίκτυο. Τα Web Services είναι συνήθως απλά Web APIs που μπορούν να προσπελαστούν μέσω ενός δικτύου όπως το Internet ενώ εκτελούνται σε ένα απομακρυσμένο σύστημα που φιλοξενεί την υπηρεσία. Ο ορισμός του W3C για τα web services περιλαμβάνει πολλά διαφορετικά συστήματα αλλά σε κοινή χρήση ο όρος αναφέρεται σε Clients και Servers που επικοινωνούν μέσω του πρωτοκόλλου HTTP το οποίο και χρησιμοποιείται ευρέως στο Internet. Ο ορισμός που δίνει το WebServices.org είναι : Τα web services είναι συναρτήσεις οι οποίες παρέχονται μέσα από τυποποιημένα πρωτόκολλα και είναι : 0. Encapsulated (Ενθυλακωμένες) : με την έννοια ότι η υλοποίηση της συνάρτησης δεν φαίνεται από έξω. 1. Loosely coupled (χαλαρής συνδεσιμότητας): με την έννοια ότι αλλάζοντας την υλοποίηση μιας συνάρτησης δεν σημαίνει ότι απαιτείται και αλλαγή της καλούσας συνάρτησης. 2. Contracted : με την έννοια ότι υπάρχουν δημόσια διαθέσιμες περιγραφές με τον τρόπο λειτουργίας της συνάρτησης, πώς να γίνει η κλήση της, τι δεδομένα εισόδου απαιτεί καθώς και τι δεδομένα εξόδου παράγει. Ένας πολύ καλός ορισμός έρχεται από την IBM : Τα Web Services είναι μια τεχνολογία που επιτρέπει στις εφαρμογές να επικοινωνούν μεταξύ τους ανεξαρτήτως πλατφόρμας και γλώσσας προγραμματισμού. Ένα Web Service είναι μια διεπαφή λογισμικού (Software Interface) που περιγράφει μια συλλογή από λειτουργίες οι οποίες μπορούν να προσεγγιστούν από το δίκτυο μέσω πρότυπων 21

24 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES μηνυμάτων XML. Χρησιμοποιεί πρότυπα βασισμένα στη γλώσσα XML για να περιγράψει μία λειτουργία (Operation) προς εκτέλεση και τα δεδομένα προς ανταλλαγή με κάποια άλλη εφαρμογή. Μια ομάδα από Web Services οι οποίες αλληλεπιδρούν μεταξύ τους καθορίζει μια εφαρμογή Web Services. H Microsoft μέσα από το MSDN της καταλήγει ότι όλα τα web services έχουν τρία (3) κοινά χαρακτηριστικά : Τα Web Services εκθέτουν χρήσιμη λειτουργικότητα σε χρήστες του διαδικτύου μέσα από ένα πρότυπο δικτυακό πρωτόκολλο. Στις περισσότερες περιπτώσεις αυτό το πρωτόκολλο είναι το SOAP (Simple Object Access Protocol). Τα Web Services παρέχουν ένα τρόπο να περιγράψουν τις διεπαφές τους με αρκετή λεπτομέρεια ώστε να επιτρέψουν στο χρήστη τους να χτίσει μια εφαρμογή πελάτη η οποία να επικοινωνήσει μαζί τους. Η περιγραφή συνήθως παρέχεται σε ένα έγγραφο XML το οποίο ονομάζεται έγγραφο WSDL (Web Services Description Language). Τα Web Services καταχωρούνται ώστε οι δυνητικοί χρήστες να μπορούν να τα βρουν εύκολα. Αυτό γίνεται με το UDDI (Universal Discovery Description and Integration). Τα Web Services λοιπόν αποτελούν μία αρχιτεκτονική κατανεμημένων συστημάτων κατασκευασμένη από πολλά διαφορετικά υπολογιστικά συστήματα τα οποία επικοινωνούν μέσω του δικτύου ώστε να δημιουργήσουν ένα σύστημα. Αποτελούνται από ένα σύνολο από πρότυπα τα οποία επιτρέπουν στους προγραμματιστές - Developers να υλοποιήσουν κατανεμημένες εφαρμογές χρησιμοποιώντας διαφορετικά εργαλεία από διαφορετικούς προμηθευτές. Αυτά τα προγράμματα χρησιμοποιούν ένα συνδυασμό από ενότητες λογισμικού (Software Modules) οι οποίες καλούνται από συστήματα που ανήκουν σε διαφορετικά τμήματα ενός οργανισμού ή σε διαφορετικούς οργανισμούς. 4.2 Το παρελθόν των web services Με την ανάπτυξη των δικτύων υπολογιστών γεννήθηκε και η θεωρία γύρω από τα κατανεμημένα συστήματα. Οι εφαρμογές χωρίστηκαν αρχικά σε δύο κατηγορίες: τους Clients, οι οποίοι και ξεκινούσαν την κατανεμημένη δραστηριότητα, και τους 22

25 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Server οι οποίοι εκτελούσαν και την δραστηριότητα. Αυτού του είδους η αποκεντροποίηση ελαχιστοποιούσε τις συμφορήσεις κατανέμοντας το φόρτο εργασίας. Προσέφερε ευελιξία στον σχεδιασμό των εφαρμογών η οποία ήταν άγνωστη μέχρι τότε. Αλλά αυτή η αρχιτεκτονική 2-tier είχε και περιορισμούς. Για λόγους ευελιξίας και αντιμετώπισης λαθών, προστέθηκε και ένα τρίτο Τier χωρίζοντας τις εφαρμογές στο κομμάτι της παρουσίασης-διεπαφής, στο Τier που περιείχε το Bussiness Logic, και σε αυτό που είχε να κάνει με τα δεδομένα. Αυτό το μοντέλο τριών επιπέδων έγινε ο πιο δημοφιλής τρόπος κατανεμημένων εφαρμογών. Το θεμέλιο για την επικοινωνία μεταξύ κατανεμημένων τμημάτων μιας εφαρμογής είναι το RPC Remote Procedure Call. Προκειμένου να μην ασχολούνται οι προγραμματιστές με καθήκοντα χαμηλού επιπέδου, όπως ο μετασχηματισμός των δεδομένων και η σειρά των bytes των διαφόρων μηχανών ένα νέο στρώμα λογισμικού εισήχθηκε στην αγορά. Αυτό το ενδιάμεσο είχε σκοπό να απαλείφει τις διαφορές μεταξύ των Host. «Καθότανε» πάνω από το λειτουργικό σύστημα του Host και τις υπηρεσίες δικτύου και προσέφερε τις υπηρεσίες του στις εφαρμογές από κάτω του. Τα πρώτα τέτοια ενδιάμεσα, όπως, το DCE βασίζονταν στον διαδικασιακό προγραμματισμό και υπερκεράστηκαν με την εισαγωγή του αντικειμενοστραφούς προγραμματιστικού μοντέλου με ενδιάμεσα όπως τα CORBA, DCOM, RMI τα οποία είναι και τα πιο δημοφιλή ως και σήμερα. 4.3 Το σήμερα Όπως προαναφέρθηκε υπάρχουν τρία ενδιάμεσα διαθέσιμα: DCOM, CORBA, RMI. Το καθένα έχει τα πλεονεκτήματα και τα μειονεκτήματά του. CORBA : Είναι ένα ανοιχτό πρότυπο για κατανεμημένα συστήματα. Το πλεονέκτημα του CORBA είναι ότι τόσο οι Clients όσο και οι Servers μπορούν να συνταχθούν σε οποιαδήποτε προγραμματιστική γλώσσα. Αυτό είναι δυνατό γιατί τα αντικείμενα ορίζονται σε υψηλό εννοιολογικό επίπεδο το οποίο εξασφαλίζεται με το IDL (Interface Definition Language). Αφού οριστεί ένα αρχείο IDL ο compiler φροντίζει την αντιστοίχισή του με μια συγκεκριμένη γλώσσα προγραμματισμού. Για κατανεμημένες εφαρμογές υψηλής απόδοσης το CORBA 23 είναι το

26 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES καλύτερο ενδιάμεσο. Η ανάπτυξη, όμως, μιας κατανεμημένης εφαρμογής με CORBA είναι μια αρκετά περίπλοκη διαδικασία. Προκειμένου το IDL να μπορεί να μεταφράζεται σε διάφορες προγραμματιστικές γλώσσες, χρειάζεται να περιοριστεί σε γενικές ιδέες που μπορούν να υλοποιηθούν σε όλες τις υποστηριζόμενες γλώσσες προγραμματισμού. RMI : Remote Method Iinvocation, επιτρέπει τη δημιουργία κατανεμημένων από java σε java εφαρμογές, στις οποίες οι μέθοδοι των απομακρυσμένων Java αντικειμένων γίνεται από άλλες Java Virtual Machines, που ενδεχομένως βρίσκονται σε άλλους hosts. Ένα πρόγραμμα Java μπορεί να κάνει μια κλήση σε ένα απομακρυσμένο αντικείμενο, μόλις αποκτήσει μια αναφορά στο απομακρυσμένο αντικείμενο. Ένας Client μπορεί να καλέσει ένα απομακρυσμένο αντικείμενο σε έναν Server. Ο Server μπορεί με τη σειρά του να είναι Client για άλλα απομακρυσμένα αντικείμενα. Το πρωτόκολλο που χρησιμοποιείται για την επικοινωνία είναι το Java Remote Method Protocol (JRMP). Ο προγραμματισμός με το RMI είναι άμεσος αν ο προγραμματιστής αποκτήσει μια εμπειρία με τη γλώσσα Java και τις κατανεμημένες εφαρμογές. Δεν απαιτείται κάποια αφαιρετική γλώσσα όπως η IDL για την περιγραφή των απομακρυσμένων αντικειμένων. Από την άλλη, μπορεί να χρησιμοποιηθεί μόνο για επικοινωνία από Java σε Java. Και η ευκολία στη χρήση επιτυγχάνεται κρατώντας το ενδιάμεσο αρκετά απλό. DCOM : Το Distributed Component Object Model της Microsoft επιτρέπει κλήσεις σε απομακρυσμένα αντικείμενα. Ένας DCOM server δημοσιεύει τις μεθόδους του σε Clients μέσα από πολλές διεπαφές. Αυτές είναι γραμμένες σε IDL που είναι παρόμοια με τη C++. O IDL compiler του DCOM λειτουργεί παρόμοια με τον compiler του CORBA. Επιπλέον, δημιουργούνται βιβλιοθήκες τύπων. Αυτές είναι αρχεία που περιγράφουν το απομακρυσμένο αντικείμενο και τα οποία μπορούν να ερωτηθούν από διεπαφές που παρέχει ο μηχανισμός COM. Το πρωτόκολλο επικοινωνίας που χρησιμοποιείται εδώ είναι το Object Remote Procedure Call (ORPC). To DCOM επιτρέπει τη χρήση διαφόρων προγραμματισμό των αντικειμένων του server. 24 γλωσσών για τον

27 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Και οι τρεις μεθοδολογίες που περιγράφηκαν λειτουργούν με παρόμοιο τρόπο. Οι διαφορές βρίσκονται στις επιμέρους λεπτομέρειες που κάθε ενδιάμεσο παρέχει καθώς και στο βαθμό πολυπλοκότητας που έχει το καθένα για να υλοποιηθεί. Αυτό, όμως, που ισχύει και για τα τρία είναι το λεγόμενο Tight Coupling ή στα ελληνικά ισχυρή συνδεσιμότητα μεταξύ Client και Server. Εξαιτίας των διαφορετικών πρωτοκόλλων που χρησιμοποιούνται σε κάθε περίπτωση δεν είναι δυνατή η κλήση ενός έστω DCOM Server από έναν RMI Client. Επιπλέον, αυτά τα ενδιάμεσα που συνήθως χρησιμοποιούνται για εφαρμογές Intranet εγείρουν ένα σημαντικό θέμα, αυτό της προσπέλασης του Firewall καθώς χρησιμοποιούν μη πρότυπες πόρτες για την επικοινωνία τους. Για το λόγο αυτό και τα τρία παρέχουν δυνατότητα HTTP Tunneling προκειμένου να είναι ο Server ασφαλής πίσω από το Firewall. 4.4 Πίσω από τα web services Στην παραδοσιακή περίπτωση Client/Server, υπήρχε ο Server ο οποίος παρείχε κάποια λειτουργία που μπορούσε να κληθεί ή να χρησιμοποιηθεί από τον Client. Κάποιο είδος υπηρεσίας αναζήτησης λειτουργούσε σαν «μεσίτης»(broker) ανάμεσα στον Client και στον Server. Μιας και τα Web Services εντάσσονται εννοιολογικά στις κατανεμημένες εφαρμογές αποτελούνται από τα ίδια τρία συστατικά (Σχήμα 4): Μια υπηρεσία «μεσίτη» (Broker) που θα έχει τη λειτουργία αναζήτησης υπηρεσιών ανάμεσα στον πάροχο (Provider) της υπηρεσίας και στον αιτούντα(requester) της υπηρεσίας. Τον πάροχο της υπηρεσίας που δημοσιεύει τις υπηρεσίες του στον μεσίτη Τον αιτούντα της υπηρεσίας (Service Requestor) που ζητά από τον μεσίτη που μπορεί να βρει τον κατάλληλο πάροχο (Service Provider) και δεσμεύει τον εαυτό του με τον πάροχο. 25

28 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Σχήμα 4 Για να επιτευχθεί το παραπάνω πρότυπο επικοινωνίας επιστρατεύονται μια σειρά από τεχνολογίες. Στη βάση όλων βρίσκεται η XML (Extensible Markup Language) η οποίο είναι μια ευρέως αποδεκτή μορφή ανταλλαγής πληροφοριών και της αντίστοιχης σημασιολογίας τους. Αποτελεί το ακρογωνιαίο λίθο για κάθε άλλη τεχνολογία που χρησιμοποιείται από τα Web Services. Στη συνέχεια έχουμε το πρωτόκολλο SOAP (Simple Object Access Protocol) το οποίο επιτρέπει τη μεταφορά δεδομένων μεταξύ ετερογενών συστημάτων. Ο ορισμός-περιγραφή του Web Service γίνεται με τη γλώσσα WSDL (Web Services Definition Language). Η γλώσσα αυτή ουσιαστικά περιγράφει την υπηρεσία χρησιμοποιώντας γραμματική της XML. Στην κορυφή έχουμε το UDDI (Universal Description, Discovery and Intergration) το οποίο αποτελεί ένα πρότυπο, σχεδιασμένο για να παρέχει έναν κατάλογο με τις επιχειρήσεις και τα Web Services που διαθέτουν. Κατ αυτόν τον τρόπο καταλήγουμε στην «πυραμίδα» των Web Services η οποία παρουσιάζεται στο σχήμα 5. 26

29 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Σχήμα 5 Στην συνέχεια εξετάζεται επιμέρους η κάθε μία από τις παραπάνω τεχνολογίες XML (Extensible Markup Language) Η XML δεν είναι μία σημειακή γλώσσα όπως η HTML, είναι μία γλώσσα που χρησιμοποιείται για την περιγραφή μίας σημειακής γλώσσας. Ο τεχνικός όρος μιας τέτοιας γλώσσας είναι μετα-γλώσσα. Χρησιμοποιώντας την XML ένας προγραμματιστής μπορεί να προσδιορίσει: σημειακές γλώσσες που περιγράφουν ηλεκτρονικά κυκλώματα, πληροφορίες για ανταλλαγή ηλεκτρονικών δεδομένων, αρχεία που παράγονται από τους διακομιστές Web, μηχανικά μέρη αεροσκαφών και ούτω καθεξής. Ένας προγραμματιστής καθορίζει μία συγκεκριμένη γλώσσα χρησιμοποιώντας την XML κι ένα εργαλείο, στην συνέχεια παίρνει τ' αρχεία XML που περιέχουν κείμενα σ αυτήν την γλώσσα και εκτελεί μία επεξεργασία όπως η μετατροπή τους σε αρχεία MS Word ή σε κάποια άλλη μορφή που μπορεί να παρουσιαστεί από προγράμματα γραφικών. Οι ρίζες της XML μπορούν ν' αναζητηθούν στην εκρηκτική ανάπτυξη του Παγκόσμιου Ιστού στα μέσα της δεκαετίας του 1990 και στους πολέμους των Browser που έλαβαν χώρα μεταξύ της Microsoft Corporation και της Netscape Corporation, όπου καθεμιά από αυτές πάλευε για την απόλυτη κυριαρχία. Καθώς το Web γινόταν όλο και πιο μεγάλο και όλο και περισσότεροι χρήστες το χρησιμοποιούσαν, άρχισαν ν' ανακαλύπτονται από τους προγραμματιστές, που χρησιμοποιούσαν HTML διάφορα προβλήματα: Το γεγονός ότι ο ίδιος πόρος HTML εμφανιζόταν με διάφορες μορφές, ανάλογα με τον Browser που χρησιμοποιούνταν σήμαινε ότι, οι σχεδιαστές των ιστοσελίδων 27

30 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES έπρεπε το λιγότερο να διπλασιάσουν τις προσπάθειές τους. Ορισμένοι κατασκευαστές Browser ανέπτυξαν εργαλεία HTML που δεν ήταν αναγνωρίσιμα από άλλους Browser. Ήταν σχεδόν αδύνατον να διακριθεί οποιαδήποτε σημαντική έννοια μέσα σε μια ιστοσελίδα: πουθενά αλλού αυτό δεν ήταν πιο προφανές από ότι στην χρήση των μηχανών αναζήτησης. Ακόμη και στα μέσα της δεκαετίας του 1990 πολλοί χρήστες εξέφραζαν την απογοήτευσή τους σε ότι αφορούσε αυτά τα προγράμματα εξαιτίας του όγκου των ανακτημένων αρχείων που επέστρεφαν οι μηχανές, τα οποία, στην καλύτερη περίπτωση, σχετίζονταν οριακά με την αναζήτηση. Η αιτία αυτής της "φτωχής" απόδοσης δεν ήταν η τεχνολογία των μηχανών αναζήτησης - στην πραγματικότητα επρόκειτο για εξεζητημένα προγράμματα που αποτελούν αποδεικτικό της εξυπνάδας των προγραμματιστών - αλλά το ότι τα δεδομένα που επεξεργάζονταν, η σελίδες HTML, δεν έδιναν πολλά στοιχεία για το περιεχόμενό τους. Εξαιτίας αυτών των προβλημάτων η Κοινοπραξία Παγκόσμιου Ιστού, η ομάδα που ελέγχει την διαδικασία τυποποίησης του Ιστού, αποφάσισε το 1996 ν' αναπτύξει μία σημειακή γλώσσα που μελλοντικά θα υποσκέλιζε την HTML. Οι στόχοι αυτής της γλώσσας ήταν: Να χρησιμοποιείται εύκολα στο Internet. Να μπορεί να υποστηρίζει πολλές εφαρμογές οι οποίες θα κυμαίνονται από Browser μέχρι βάσεις δεδομένων μηχανών αναζήτησης. Να είναι συμβατή με την SGML, την γλώσσα επεξεργασίας κειμένου που αποτέλεσε την έμπνευση για την HTML. Να μην αποτελεί πολύπλοκη διαδικασία η ανάπτυξη επεξεργαστών κειμένων γραμμένων σε γλώσσες που θα βασίζονταν σε XML. Για παράδειγμα θα έπρεπε να είναι εύκολη η εγγραφή ενός προγράμματος για τον έλεγχο της σαφήνειας ενός κειμένου. Ο αριθμός των προαιρετικών εργαλείων της γλώσσας να είναι χαμηλός. Να είναι εύκολη η ανάγνωση και κατανόηση των αρχείων XML. Να είναι εύκολο ν' αναπτυχθούν, με την χρήση απλών συντακτών, αρχεία γραμμένων σε γλώσσα βασιζόμενη σε XML. Το 1998, η γλώσσα XML παρουσιάστηκε παγκόσμια ως μία τελευταία υπόδειξη της Κοινοπραξίας Παγκόσμιου Ιστού. Σαν αποτέλεσμα, έγινε μία σταθερά για το 28

31 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Internet. Βασιζόταν στην γλώσσα επεξεργασίας κειμένων SGML, η οποία αποτέλεσε την έμπνευση για την HTML. Στην πράξη η XML όπως και η HTML είναι μια μορφή κειμένου που βασίζεται σε ζευγάρια ετικετών. Παραδείγματος χάρη : <Authors> <Author>Luke Welling</Author> <Author>Laura Thomson</Author> </Authors> Η κύρια διαφορά ανάμεσα στην XML και στην HTML είναι ότι στην XML μπορεί ο καθένας να δημιουργήσει τις δικές του ετικέτες. Κατ αυτόν τον τρόπο μπορεί να δομήσει τα έγγραφά του ώστε να ταιριάζουν απόλυτα στο περιεχόμενο της πληροφορίας που θέλει να αποθηκεύσει SOAP (Simple Object Access Protocol) Το Soap είναι ένα ελαφρύ πρωτόκολλο για ανταλλαγή πληροφορίας σε αποκεντρωμένα και κατανεμημένα συστήματα. Στηρίζεται στη γλώσσα XML και αποτελείται κυρίως από τρία μέρη. Τον φάκελο (Envelope) που καθορίζει ένα πλαίσιο το οποίο περιγράφει τι περιέχει το μήνυμα και πώς να επεξεργαστεί. Ένα σύνολο από κανόνες κωδικοποίησης για την έκφραση στιγμιότυπων των τύπων δεδομένων που ορίζονται από την εφαρμογή. Μια σύμβαση για την αναπαράσταση κλήσεων και απαντήσεων απομακρυσμένων διαδικασιών. Ο φάκελος (Envelope) : Ένα Soap μήνυμα είναι ουσιαστικά ένα έγγραφο XML που αποτελείται υποχρεωτικά από το Soap Envelope, προαιρετικά από μια επικεφαλίδα (Soap Header) και υποχρεωτικά από το κυρίως σώμα (Soap Body). Ο φάκελος είναι κύριο στοιχείο του XML εγγράφου και αναπαριστά το μήνυμα. Η επικεφαλίδα (Header) είναι ένα γενικός μηχανισμός που προσθέτει στοιχεία σε ένα 29

32 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES μήνυμα SOAP με τρόπο αποκεντρωμένο και χωρίς προηγούμενη συμφωνία μεταξύ των μερών που επικοινωνούν. Το σώμα είναι το στοιχείο που περιέχει την πληροφορία που αποσκοπεί στον τελικό παραλήπτη του μηνύματος. Κανόνες κωδικοποίησης : Ο τρόπος κωδικοποίησης στο SOAP βασίζεται σε ένα απλό σύστημα τύπων που αποτελεί γενίκευση των πιο κοινών στοιχείων που βρίσκονται στα συστήματα τύπων των προγραμματιστικών γλωσσών, βάσεων δεδομένων και ημιδομημένων πληροφοριών. Σε αυτό το κομμάτι ορίζονται οι κανόνες για τον τρόπο που θα κωδικοποιηθεί-αποκωδικοποιηθεί η πληροφορία σύμφωνα με την γραμματική της XML. Κλήσεις απομακρυσμένων διαδικασιών : Ένας από τους σκοπούς της δημιουργίας του SOAP ήταν η ενθυλάκωση και η ανταλλαγή RPC κλήσεων χρησιμοποιώντας την ευελιξία και τη δυνατότητα επέκτασης που παρέχει η XML. Έδω καθορίζεται ο τρόπος λειτουργίας των κλήσεων και απαντήσεων των απομακρυσμένων διαδικασιών. Για να γίνει μια κλήση σε μια μέθοδο οι ακόλουθες πληροφορίες απαιτούνται. Το URI του επιθυμητού αντικειμένου. Το όνομα της μεθόδου. Μια προαιρετική μέθοδο υπογραφής Τις παραμέτρους της μεθόδου. Μια προαιρετική κεφαλίδα για τα δεδομένα WSDL (Web Service Description Language) Σύμφωνα με το w3.org ο ορισμός για την WSDL είναι ο εξής: "Η WSDL είναι ένα σχήμα XML για την περιγραφή δικτυακών υπηρεσιών σαν ένα σύνολο από τελικά σημεία που λειτουργούν σε μηνύματα τα οποία περιέχουν πληροφορία είτε προσανατολισμένη στα έγγραφα είτε πρσανατολισμένη στις διαδικασίες. 30

33 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Οι λειτουργίες και τα μηνύματα περιγράφονται περιληπτικά, και τότε δένονται σε ένα συγκεκριμένο πρωτόκολλο δικτύων και μορφή μηνυμάτων για να καθορίσουν ένα τελικό σημείο. Πολλά σχετικά τελικά σημεία συνδυάζονται σε υπηρεσίες (services). Η WSDL είναι επεκτάσιμη στο να επιτρέπει την περιγραφή τελικών σημείων και των μηνυμάτων τους άσχετα από τη μορφή των μηνυμάτων και των πρωτοκόλλων δικτύων που χρησιμοποιούνται για την επικοινωνία. Παρόλα αυτά, αυτή τη στιγμή στην προδιαγραφή της WSDL οι μόνες συνδέσεις που περιλαμβάνονται περιγράφουν πώς μπορούμε να χρησιμοποιήσουμε την WSDL σε συνδυασμό με το SOAP 1.1, το HTTP GET/POST και το MIME." Με πιο απλά λόγια η WSDL μας βοηθάει να περιγράψουμε ένα σύνολο από μηνύματα και το πώς αυτά τα μηνύματα ανταλλάσσονται. Η σήμανση που χρησιμοποιείται σε ένα αρχείο WSDL για να περιγράψει μορφές μηνυμάτων βασίζεται στο πρότυπο του XML Schema το οποίο σημαίνει ότι είναι ταυτόχρονα ανεξάρτητη από γλώσσα προγραμματισμού και βασισμένη σε πρότυπα. Αυτό το γεγονός την κάνει κατάλληλη για να περιγράψει διεπαφές Web Services οι οποίες είναι προσβάσιμες από μία μεγάλη ποικιλία πλατφόρμων και γλωσσών προγραμματισμού. Επιπλέον, εκτός του ότι περιγράφει τα περιεχόμενα των μηνυμάτων, η WSDL ορίζει πού είναι διαθέσιμη μία υπηρεσία και ποια πρωτόκολλα επικοινωνίας χρησιμοποιούνται για να επικοινωνήσουμε με αυτή την υπηρεσία. Αυτό σημαίνει ότι ένα αρχείο WSDL ορίζει όλα όσα χρειάζονται για να γράψουμε ένα πρόγραμμα το οποίο να λειτουργεί με ένα Web Service Ένα έγγραφο WSDL χρησιμοποιεί τα παρακάτω στοιχεία για τον ορισμό δικτυακών υπηρεσιών : Types - ένα περίβλημα για ορισμούς τύπων δεδομένων χρησιμοποιώντας ένα σύστημα τύπων (όπως για παράδειγμα το XML Schema). Message - ένας περιγραφικός ορισμός των δεδομένων που ανταλλάσσονται. Operation - μία περιγραφή μίας λειτουργίας που υποστηρίζεται από μία υπηρεσία Port Type - ένα περιγραφικό σύνολο από λειτουργίες που υποστηρίζονται από ένα ή περισσότερα τελικά σημεία. 31

34 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Binding - ένα συγκεκριμένο πρωτόκολλο και μορφή δεδομένων για ένα συγκεκριμένο τύπο τελικών σημείων (Port Type). Port - ένα μοναδικό τελικό σημείο που ορίζεται σαν συνδυασμός μίας σύνδεσης (Binding) και μιας διεύθυνσης δικτύου. Service - μία συλλογή από σχετικά τελικά σημεία UDDI (Universal Discovery Description and Integration) Ο σκοπός που δίνει το OASIS για τo Universal Description, Discovery and Integration είναι ο παρακάτω : "Τα Web Services έχουν νόημα μόνο όταν δυνητικοί χρήστες μπορούν να βρουν πληροφορίες ικανές ώστε να επιτρέψουν την εκτέλεσή τους. Το Universal Description Discovery & Integration (UDDI) εστιάζει στον καθορισμό ενός συνόλου από υπηρεσίες που θα υποστηρίζουν την περιγραφή και την ανακάλυψη: 1. Των εταιριών, των οργανισμών και άλλων παρόχων Web Services 2. Των Web Services, που είναι διαθέσιμες 3. Και των τεχνικών διεπαφών οι οποίες μπορούν να χρησιμοποιηθούν ώστε να έχει κάποιος χρήστης πρόσβαση σε αυτές τις υπηρεσίες. Βασισμένο σε ένα κοινό σύνολο από βιομηχανικά πρότυπα, συμπεριλαμβανομένων των HTTP, XML, XML Schema και SOAP το UDDI παρέχει μία διαλειτουργική, θεμελιώδη υποδομή για ένα περιβάλλον λογισμικού προσανατολισμένο στις υπηρεσίες τόσο για δημόσια διαθέσιμες υπηρεσίες όσο και για υπηρεσίες που εκτίθενται μόνο εσωτερικά ενός οργανισμού." Με πιο απλά λόγια το UDDI είναι ο «χρυσός οδηγός» των Web Services. Όπως σε ένα χρυσό οδηγό, μπορούμε να αναζητήσουμε μια εταιρία που προσφέρει τις υπηρεσίες που χρειαζόμαστε, να διαβάσουμε για μια προσφερόμενη υπηρεσία και να επικοινωνήσουμε με κάποιον για περισσότερες λεπτομέρειες. Φυσικά μπορούμε να προσφέρουμε ένα Web Service χωρίς να το καταχωρίσουμε στο UDDI, όπως αν ανοίγαμε μία επιχείρηση στο υπόγειο του σπιτιού μας και βασιζόμασταν στη 32

35 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES διαφήμιση από «στόμα σε στόμα». Αλλά αν θέλουμε να αγγίξουμε το ευρύ κοινό, θα χρειαστούμε το UDDI ώστε οι δυνητικοί μας πελάτες να μπορέσουν να μας βρουν. Η οργάνωση του UDDI Λευκές σελίδες o Όπως και σε κάθε τηλεφωνικό κατάλογο οι λευκές σελίδες παρέχουν ένα ονομαστικό ευρετήριο έτσι και εδώ οι λευκές σελίδες παρέχουν ένα ονομαστικό ευρετήριο των επιχειρήσεων. Περιέχουν πληροφορίες όπως το όνομα της επιχείρησης, κάποια πληροφορία συνδέσμου, διεύθυνση και τηλέφωνο. Επίσης μπορεί να περιέχουν και αναγνωριστικά των επιχειρήσεων. Κίτρινες σελίδες o Αυτές οι σελίδες χωρίζουν τις επιχειρήσεις ή τις υπηρεσίες ανάλογα με την κατηγορία στην οποία ανήκουν. Για παράδειγμα μπορεί να περιέχονται δεδομένα όπως βιομηχανίες, προϊόντα ή γεωγραφικούς κώδικες, όλα ομαδοποιημένα σύμφωνα με καθορισμένες κατηγορίες. Πράσινες σελίδες o Αυτές οι σελίδες περιλαμβάνουν την τεχνική περιγραφή μιας Web Service. Αυτό συνιστά έναν δείκτη σε μια περιγραφή της Web Service και μια διεύθυνση για να την καλέσεις Συνδυάζοντας όλα τα παραπάνω Συνοψίζοντας τα παραπάνω για τα web services καταλήγουμε στα εξής: Το SOAP (Simple Object Access Protocol) είναι η μέθοδος με την οποία μπορούμε να στέλνουμε μηνύματα σε διαφορετικές ενότητες λογισμικού (software modules).. Το UDDI (Universal Description, Discovery and Integration) είναι η καθολική βάση αναζήτησης για τον εντοπισμό των υπηρεσιών. Είναι ανάλογη της υπηρεσίας ευρετηρίου της μηχανής αναζήτησης, στην οποία όλες οι ιστοσελίδες καταχωρούνται και σχετίζονται με λέξεις κλειδιά. 33

36 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Η WSDL (Web Services Definition Language) είναι ο τρόπος με τον οποίο διαφορετικές υπηρεσίες περιγράφονται στο UDDI Όλα τα παραπάνω χρησιμοποιούν την XML σαν γλώσσα σύνταξης. Στο σχήμα 6 φαίνεται σχηματικά ο τρόπος λειτουργίας των web services Σχήμα Πλεονεκτήματα των Web Services Οι υπηρεσίες δικτύου παρουσιάζουν πολλά πλεονεκτήματα Είναι ανεξάρτητα πλατφόρμας όπως αυτό προκύπτει από την χρήση προτύπων XML. Αυτό επιτρέπει σε έναν οργανισμό να σχεδιάσει και να εφαρμόσει το Web Service σε πλατφόρμα Server της δικής του επιλογής. Από εκεί και πέρα η κωδικοποίηση του Client μπορεί να γίνει σε οποιαδήποτε γλώσσα προγραμματισμού : Java, PHP, VB. Η μόνη απαίτηση είναι να μπορεί η γλώσσα αυτή να χειριστεί δεδομένα XML Ανεξάρτητα γλώσσας προγραμματισμού όπως αυτό προκύπτει από την χρήση προτύπων XML 34

37 ΚΕΦΑΛΑΙΟ 4ο ΤΑ WEB SERVICES Δεν βασίζεται σε προγραμματιστικά μοντέλα τύπων δεδομένων Τα Web Services στηρίζονται σε πρότυπα (HTTP, XML, SOAP) τα οποία είναι ήδη καθιερωμένα, έχουν επικρατήσει ευρέως και έχουν αποδείξει την αξία τους μέσα από την χρήση τους. Η χρήση του πρωτοκόλλου HTTP αποτελεί από μόνη της ένα πλεονέκτημα για τα Web Services καθώς τα Firewall δεν μπλοκάρουν τις τυποποιημένες θύρες που χρησιμοποιεί Το μεγαλύτερο πλεονέκτημα των web services αποτελεί το λεγόμενο Loose Coupling (χαλαρή συνδεσιμότητα) ανάμεσα στον Client και στον Server. Ο Client δεν χρειάζεται να γνωρίζει τίποτα για τον Server και για τον τρόπο που αυτός θα εκτελέσει την υπηρεσία παρά μόνο τα ορίσματα που αυτός χρειάζεται Μειονεκτήματα των Web Services Ένα βασικό μειονέκτημα των web services αποτελεί ο χρόνος απόκρισης. Η μετάδοση των δεδομένων σε μορφή XML δεν μπορεί να είναι το ίδιο αποδοτική όπως με τη χρήση δυαδικού κώδικα. Αυτό που κερδίζεται σε διαλειτουργικότητα χάνεται σε απόδοση. Βέβαια, παρόλα αυτά ο επιπλέον αυτός χρόνος απόκρισης είναι αποδεκτός για τις περισσότερες εφαρμογές αν και πολύ σπάνια αν όχι ποτέ επιλέγεται η χρήση των web service σε εφαρμογές πραγματικού χρόνου (Real-Time) Η έλλειψη πολλαπλότητας στην εφαρμογή τους. Μέχρι σήμερα τα Web Services έχουν περιορισμένη εφαρμογή και επιτρέπουν πολύ βασικές μορφές κλήσης υπηρεσιών. Ευτυχώς, βέβαια, εμφανίζονται στο προσκήνιο πολλές τυποποιήσεις που θα βοηθήσουν τα Web Services να γίνουν όλο και πιο πολύπλευρα. 35

38 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ 5.ΥΛΟΠΟΙΗΣΗ 5.1 Μια πρώτη προσέγγιση Όπως αναφέρθηκε και σε προηγούμενα κεφάλαια το υπόβαθρο του εγχειρήματος είναι το εξής : μια εταιρία διατηρεί κατάστημα και εμπορεύεται διάφορα αντικείμενα. Ο πελάτης μπορεί να περάσει από τα κατάστημα, να αγοράσει το προϊόν της αρεσκείας του, να κοπεί το σχετικό παραστατικό και να φύγει. Ταυτόχρονα η εταιρεία διατηρεί και ένα ηλεκτρονικό κατάστημα. Ο εκάστοτε πελάτης μπορεί να αγοράσει ένα προϊόν και από εκεί. Τα δύο συστήματα διατηρούν δύο βάσεις δεδομένων. Οι αποθήκες, όμως, της εταιρίας είναι κοινές και για το ηλεκτρονικό και για το φυσικό κατάστημα Αυτή η κατάσταση παρουσιάζεται σχηματικά αμέσως παρακάτω. (Σχήμα 7). Σχήμα 7 Επομένως, μια συναλλαγή με το ένα σύστημα χωρίς την αντίστοιχη ενημέρωση του άλλου θα του δημιουργούσε πρόβλημα στην ακεραιότητα των δεδομένων του. Αυτό που χρειάζεται είναι όταν ένας πελάτης αγοράζει ένα προϊόν στο φυσικό κατάστημα να ενημερώνεται αυτόματα και χωρίς καμιά επιπλέον ενέργεια με την ίδια ποσότητα η βάση δεδομένων και του ηλεκτρονικού καταστήματος (Σχήμα 8). Τα αντίστοιχα είναι απαραίτητο να συμβαίνουν στην αντίστροφη περίπτωση που η συναλλαγή του πελάτη γίνεται από το ηλεκτρονικό κατάστημα. Είναι φανερό ότι ένα τέτοιο σύστημα με δύο βάσεις δεδομένων των οποίων τα δεδομένα περιγράφουν ένα κοινό αντικείμενο του φυσικού κόσμου, την αποθήκη, μπορεί να χαρακτηριστεί σαν κατανεμημένο. 36

39 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Σχήμα 8 Πρώτα από όλα χρειάζεται να εξεταστεί αν υπάρχει η διαθέσιμη τεχνολογία για την απαίτηση που τέθηκε, δηλαδή την αυτόματη ενημέρωση της βάσης του ηλεκτρονικού καταστήματος κάθε φορά που γίνεται μια συναλλαγή από το φυσικό κατάστημα και αντίστροφα. Αναφέρθηκε και προηγουμένως ότι πρόκειται για μια μορφή κατανεμημένου συστήματος. Φυσικά στον τομέα αυτό η επιστήμη των υπολογιστών έχει αρκετές τεχνολογίες διαθέσιμες και οι οποίες παρουσιάστηκαν σε προηγούμενο κεφάλαιο. Πλεονεκτήματα των Web Services, όπως η χαλαρή συνδεσιμότητα μεταξύ Server και Client προσφέρουν σημαντική ευελιξία σε περίπτωση που αλλάξει η υλοποίηση στον Server. Το σημαντικότερο πλεονέκτημα, βέβαια, των Web Services που είναι η διαλειτουργικότητα ανεξαρτήτου πλατφόρμας και γλώσσας προγραμματισμού, δεν ξεχωρίζει στην προκειμένη περίπτωση καθώς και τα δύο συστήματα είναι δομημένα σε PHP. Για να επιτευχθεί η ενημέρωση μπορεί κανείς να σκεφτεί πολλές περιπτώσεις. Θα μπορούσε θεωρητικά να γίνει μέχρι και χειροκίνητα παρεμβαίνοντας ο άνθρωπος : κάθε φορά που γίνεται μια συναλλαγή στο φυσικό κατάστημα κάποιος να αναλαμβάνει τις απαραίτητες ενέργειες για να ενημερωθεί η βάση του ηλεκτρονικού καταστήματος. Φυσικά κάτι τέτοιο μόνο σαν απαράδεκτη λύση μπορεί να χαρακτηριστεί γιατί καταρχήν δεν γίνεται αυτόματα οπότε συνεπάγεται καθυστερήσεις, αλλά και γιατί ο άνθρωπος έχει μεγάλη πιθανότητα να κάνει κάποιο λάθος στην εισαγωγή των δεδομένων στη βάση είτε ενημερώνοντας με λάθος ποσότητα τον σωστό κωδικό προϊόντος, είτε ενημερώνοντας με σωστή ποσότητα τον λάθος κωδικό προϊόντος είτε συνδυάζοντας και τα δύο παραπάνω σφάλματα. 37

40 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Προκείμενου να αυτοματοποιηθεί, λοιπόν, η διαδικασία αλλά και να εξαλειφθούν τα σφάλματα χρειάζεται να χρησιμοποιηθούν τεχνολογίες όπως αυτές των Web Services που να επιτρέπουν σε δύο συστήματα τα οποία είναι απομακρυσμένα μεταξύ τους να επικοινωνούν και να ανταλλάσσουν δεδομένα. 5.2 Μελέτη εφικτότητας Αρχικά, χρειάζεται να ξεχωρίσουμε τα δύο είδη επικοινωνίας που λαμβάνουν χώρα κατά την εκτέλεση μιας συναλλαγής. Αν αυτή εκτελείται από την πλευρά του ERP συστήματος τότε η ενημέρωση ξεκινάει από αυτό με κατεύθυνση το ηλεκτρονικό κατάστημα. Αυτό σημαίνει ότι σε αυτή την περίπτωση τον ρόλο του Client τον παίζει το ERP σύστημα γιατί αυτό είναι που αιτείται μια ενημέρωση της βάσης του ηλεκτρονικού καταστήματος το οποίο αποτελεί τον Server επειδή αυτό εκτελεί την υπηρεσία ενημέρωσης της βάσης δεδομένων του (Σχήμα 9). Σχήμα 9 Τα δεδομένα αλλάζουν, όμως, όταν η συναλλαγή εκτελεστεί από το ηλεκτρονικό κατάστημα. Η διαδικασία της ενημέρωσης ακολουθεί την αντίστροφη πορεία. Και οι ρόλοι αντιστρέφονται. Client αποτελεί το ηλεκτρονικό κατάστημα γιατί αιτείται την ενημέρωση της βάσης δεδομένων του ERP και Server γίνεται το ERP το οποίο πρέπει να εκτελέσει την υπηρεσία (Σχήμα 10). Για την αμφίδρομη επομένως λειτουργία της διαδικασίας ενημέρωσης χρειάζεται και τα δύο συστήματα να είναι σε θέση να διαδραματίσουν και τους δύο ρόλους, τόσο του Server όσο και του Client. 38

41 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Σχήμα 10 Όπως αναφέρθηκε σε προηγούμενα κεφάλαια τόσο το WebERP όσο και το Oscommerce είναι γραμμένα στη γλώσσα προγραμματισμού PHP. Τα Web Services επιτρέπουν την επικοινωνία μεταξύ συστημάτων διαφορετικών πλατφόρμων αλλά και διαφορετικών γλωσσών. Επομένως θα μπορούσε το ένα σύστημα να ήταν δομημένο σε διαφορετική γλώσσα από το άλλο. Επειδή αυτό δεν ισχύει στην εξεταζόμενη περίπτωση το Web Service τόσο από την πλευρά του Server όσο και του Client θα υλοποιηθεί με την γλώσσα PHP. Στην συγκεκριμένη εργασία θα δούμε και τις δύο περιπτώσεις είτε ο πελάτης επισκέπτεται το «φυσικό» κατάστημα οπότε το weberp αποτελεί τον Client ενώ το oscommerce αποτελεί τον Server, είτε η συναλλαγή γίνεται από το ηλεκτρονικό κατάστημα οπότε το oscommerce αποτελεί τον Client και το weberp τον Server. Γενικός σχεδιασμός Για την επικοινωνία μεταξύ weberp και oscommerce θα ενσωματωθεί στον υπάρχοντα κώδικα των δύο προγραμμάτων ένας Server και ένας Client. 39

42 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Σχήμα 11 Ο σκοπός του Server θα είναι να ενημερώνει την βάση του ενός συστήματος με τη σωστή ποσότητα ενός συγκεκριμένου είδους για το οποίο έγινε συναλλαγή στο άλλο σύστημα. Επομένως, ξεχωρίζουμε δύο δεδομένα εισόδου τα οποία χρειάζεται ο Server για να εκτελέσει την λειτουργία του: Ποσότητα προϊόντος όπως προέκυψε μετά την ενημέρωση του εκάστοτε συστήματος Κωδικό προϊόντος στη βάση του συστήματος Μεταφράζοντάς τα σε ονόματα μεταβλητών θα έχουμε : Για τον Server στο oscommerce : stock_left (int) product_id (int) Για τον Server στο weberp : stock_left(int) 40

43 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ product_id(string) Ή λειτουργία που θα επιτελείται από τον εκάστοτε Server είναι μία και είναι η ενημέρωση της βάσης δεδομένων του. Ορίζεται, συνεπώς, μια συνάρτηση η οποία θα ονομάζεται update_quanti η οποία θα δέχεται σαν ορίσματα τα προηγούμενα δεδομένα. Σαν έξοδο θα παράγεται μια μεταβλητή που θα περιέχει την ποσότητα στην βάση μετά την ενημέρωση από το web service. Η ποσότητα αυτή στέλνεται πίσω στον client ο οποίος την συγκρίνει με την ποσότητα στη δική του βάση. Αν είναι ίδιες η ενημέρωση έγινε επιτυχώς και στα δύο συστήματα. Άρα, ξεχωρίζουμε ένα δεδομένο εξόδου το οποίο παράγει ο Server Η ποσότητα στη βάση δεδομένων του απομακρυσμένου συστήματος όπως αυτή προέκυψε μετά την ενημέρωση από το web service Μεταφράζοντάς το σε όνομα μεταβλητής θα έχουμε : return (int) Όλα τα παραπάνω παρουσιάζονται σχηματικά στο Σχήμα 12 Σχήμα 12α 41

44 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Σχήμα 12β Η ποσότητα που επιστρέφεται από το web service συγκρίνεται με την ποσότητα στο σύστημα που ξεκίνησε την επικοινωνία. Στην περίπτωση που η έναρξη έγινε από το weberp ο χρήστης λαμβάνει ένα μήνυμα που τον ενημερώνει αν η ενημέρωση είναι επιτυχής (οι δύο ποσότητες είναι ίσες) ή ανεπιτυχής (οι δύο ποσότητες είναι άνισες). Αν η έναρξη έγινε από το oscommerce τότε δεν έχει νόημα να επιστρέψουμε κάποιο μήνυμα στον χρήστη-πελάτη ότι ενημερώθηκε επιτυχώς ή ανεπιτυχώς η βάση του weberp. Μία τέτοια πληροφορία του είναι αδιάφορη. Στην περίπτωση αυτή, λοιπόν, ενσωματώνουμε μια δομή επανάληψης η οποία επαναλαμβάνει την κλήση στο web service μέχρι η ποσότητα που θα επιστραφεί από αυτό να είναι ίδια με αυτή του oscommerce. 5.3 NuSoap - REST Όπως αναφέρθηκε και παραπάνω χρειάζεται να υλοποιηθεί ένας Server και ένας Client τα οποία θα τρέχουν τόσο στο weberp όσο και στο oscommerce. Και τα δύο θα υλοποιηθούν σε PHP καθώς αμφότερα είναι δομημένα σε αυτή την γλώσσα προγραμματισμού. Όταν ο πελάτης θα μπαίνει στο κατάστημα για να αγοράσει ένα προϊόν με την έκδοση του σχετικού τιμολογίου ο Client που τρέχει στο weberp θα κάνει μια αίτηση στον Server του oscommerce για να ενημερώσει αυτός την βάση δεδομένων του. Αντίστοιχα, όταν, ο ηλεκτρονικός επισκέπτης του καταστήματος 42

45 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ πραγματοποιεί μια αγορά μέσω του oscommerce τότε ο Client που τρέχει σε αυτό ειδοποιεί τον Server του weberp να ενημερώσει την βάση του με τη σωστή ποσότητα. Χρειάζεται, επομένως, να εξεταστούν οι διαθέσιμες τεχνολογίες που προσφέρει η PHP στο θέμα της υλοποίησης των web services. Τα μηνύματα που ανταλλάσσουν Server-Client δύναται να γίνεται μέσω HTTP. Η μέθοδος αυτή που χρησιμοποιεί το πρωτόκολλο HTTP για τη μεταφορά των XML μηνυμάτων ονομάζεται REST. Η λέξη REST αποτελεί το ακρωνύμιο για το Representational State Transfer. Το REST δεν αποτελεί κάποιο πρότυπο. Για αυτό και οργανισμοί όπως ο W3C δεν έχουν εκδώσει κάποια τυποποίηση για αυτό. Το REST αποτελεί μια αρχιτεκτονική για τον σχεδιασμό των web services η οποία χρησιμοποιεί υπάρχοντα πρότυπα, όπως HTTP, XML, URL κτλ. Στην PHP η μέθοδος REST υλοποιείται με την ενσωματωμένη βιβλιοθήκη SimpleXML η οποία παρέχει μεθόδους και συναρτήσεις για τον χειρισμό της XML και την μετατροπή των εγγράφων XML σε δεδομένα που μπορούν να χρησιμοποιηθούν από μια γλώσσα προγραμματισμού. Ο άλλος τρόπος για την επικοινωνία μεταξύ Server και Client είναι η χρήση του πρωτοκόλλου SOAP. Για αυτή την περίπτωση έχει δημιουργηθεί η εξωτερική βιβλιοθήκη NuSOAP. Η NuSOAP είναι ένα σύνολο από κλάσεις που επιτρέπει στους προγραμματιστές να δημιουργούν και να καταναλώνουν SOAP Web Services. Δεν απαιτεί κάποιες ιδιαίτερες PHP επεκτάσεις. Η πιο πρόσφατη έκδοση της βιβλιοθήκης είναι η ( ) και υποστηρίζει τα περισσότερα χαρακτηριστικά του SOAP 1.1. Μπορεί να αναπαράγει αλλά και να «καταναλώσει» WSDL 1.1. Διανέμεται με την άδεια GNU ή LGPL (Lesser General Public Liscense) Στην συγκεκριμένη εργασία χρησιμοποιήθηκε η εξωτερική βιβλιοθήκη NuSOAP για την υλοποίηση των Web Services. 5.4Σενάριο χρήσης Ας εξετάσουμε τώρα ένα σενάριο χρήσης του συστήματος. Στο ακόλουθο σενάριο υποθέτουμε ότι κάποιος πελάτης επισκέπτεται το φυσικό μαγαζί και εκτελεί μια αγορά έστω δέκα ποντίκια για τον υπολογιστή. Μετά την εκτέλεση της αγοράς και της ενημέρωσης της βάσης του ERP συστήματος χρειάζεται, να ενημερωθεί και η βάση του ηλεκτρονικού καταστήματος. Ας δούμε βήμα βήμα τη διαδικασία που ακολουθείται. 43

46 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Ο πίνακας lockstock της βάσης δεδομένων του weberp. Διακρίνεται ότι το είδος με stockid 28 (το ποντίκι δηλαδή) έχει ποσότητα 14 τεμάχια. Αντίστοιχα ο πίνακας products του oscommerce που διακρίνεται ότι το είδος με product_id 28 (το ποντίκι) έχει ποσότητα διαθέσιμη 14 τεμάχια. 44

47 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Ας περάσουμε στην εισαγωγή της παραγγελίας στο weberp. Στη βασική οθόνη του weberp πατάμε στο Enter An Order or Quotation για να εισάγουμε μια παραγγελία πελάτη. Στην επόμενη οθόνη δίνουμε το όνομα του πελάτη έστω john Doe και πατάμε το Search Now. 45

48 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Η αναζήτηση μας αποδίδει τα στοιχεία του ζητούμενου πελάτη. 46

49 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Πατώντας τώρα στο Use quick Entry εισάγουμε τον κωδικό του είδους που επιθυμεί να αγοράσει ο πελάτης και την αντίστοιχη ποσότητα. Στην περίπτωσή μας ο κωδικός είδους για το ποντίκι είναι 28 και η ποσότητα είναι 10. Πατάμε το Quick Entry και εμφανίζεται η παραγγελία μας 47

50 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Στη συνέχεια πατάμε στο Enter Delivery Details and Confirm Order για να δώσουμε τα στοιχεία παράδοσης και να επικυρώσουμε την παραγγελία. 48

51 ΚΕΦΑΛΑΙΟ 5ο ΥΛΟΠΟΙΗΣΗ Αφού κάνουμε τις απαραίτητες αλλαγές πατάμε στο Place Order. Η παραγγελία δρομολογήθηκε. Πατάμε στο Confirm Order Delivery Quantities and Produce Invoice για να γίνει η τιμολόγηση. Αν δεν κάνουμε καμιά αλλαγή πατάμε στο Process Invoice και ολοκληρώνεται η παραγγελία. Με μια αναζήτηση στους αντίστοιχους πίνακες της κάθε βάσης δεδομένων θα διαπιστώσουμε ότι η ποσότητα και στα δύο συστήματα μειώθηκε κατά

52 ΚΕΦΑΛΑΙΟ 6ο ΣΥΜΠΕΡΑΣΜΑΤΑ 6. ΣΥΜΠΕΡΑΣΜΑΤΑ Στα πλαίσια της εργασίας έγινε μια προσπάθεια συγχρονισμού δύο βάσεων δεδομένων. Η μια βάση ήταν μέρος ενός ERP συστήματος και η άλλη ενός ηλεκτρονικού καταστήματος. Για να επιτευχθεί ο σκοπός χρησιμοποιήθηκε τεχνολογία των Web Servces. Κατ αυτόν τον τρόπο κάθε φορά που ενημερώνεται η βάση δεδομένων του ERP συστήματος μέσω του Web Service που τρέχει στο ηλεκτρονικό κατάστημα ενημερώνεται και η βάση του τελευταίου. Η χρήση των Web Service σαν τεχνολογία κατανεμημένων συστημάτων κρίνεται επιτυχής. Ο στόχος που ήταν η αυτόματη ενημέρωση της βάσης του ηλεκτρονικού καταστήματος, χωρίς την ανθρώπινη παρέμβαση επετεύχθη εξασφαλίζοντάς την από τυχόν λάθη που θα προέκυπταν σε περίπτωση καταχώρισης από κάποιο άνθρωπο. Τόσο ο Client όσο και ο Server κωδικοποιήθηκε σε γλώσσα PHP. Αυτό έγινε γιατί τόσο το ERP όσο και το ηλεκτρονικό κατάστημα είναι δομημένα σε PHP. Τα Web Services, βέβαια, θα επέτρεπαν την επικοινωνία ανάμεσα στα δύο συστήματα ακόμα και αν ήταν δομημένα σε διαφορετικές γλώσσες. Η PHP παρέχει δύο τρόπους για την υλοποίηση των Web Service. Η μία είναι η REST, η οποία είναι γνωστή και ως Web Service μέσω HTTP μιας και τα αιτήματα αλλά και οι XML αποκρίσεις στέλνονται μέσω HTTP. Η άλλη μέθοδος είναι χρήση του τυπικού για τα Web Services πρωτοκόλλου SOAP. Για την υλοποίηση αυτής της μεθόδου υπάρχει διαθέσιμη η εξωτερική βιβλιοθήκη NuSOAP. Στην παρούσα εργασία χρησιμοποιήθηκε η δεύτερη μέθοδος και η βιβλιοθήκη NuSOAP. Για την λειτουργία του Web Service υλοποιήθηκε μια συνάρτηση η οποία δέχεται σαν ορίσματα την νέα διαθέσιμη ποσότητα και τον κωδικό του είδους και ενημερώνει τη βάση του ηλεκτρονικού καταστήματος. Η συνάρτηση αυτή ενθυλακώθηκε στο Web Service με τη βοήθεια του NuSOAP. Το NuSOAP παρέχει πολλές ευκολίες στον χρήστη που υλοποιεί ένα Web Service με τη βοήθεια του. Μια από τις πιο σημαντικές είναι ότι αναλαμβάνει να δημιουργήσει το WSDL του Web Service χωρίς την παραμικρή ανάμιξη του χρήστη. Όσο πιο πολύπλοκο γίνεται το web service τόσο πιο χρήσιμη αναδεικνύεται αυτή η δυνατότητα. Τα προγράμματα που χρησιμοποιήθηκαν για την πραγματοποίηση του στόχου, το weberp και το oscommerce, χαρακτηρίζονται σίγουρα καλά δομημένα και συνεπώς ο χρήστης/ προγραμματιστής εύκολα μπορεί να μπει στην λογική τους και να καταλάβει τι είδους διαδικασίες συμβαίνουν κάθε στιγμή. Σε αυτό συμβάλλει και 50

53 ΚΕΦΑΛΑΙΟ 6ο ΣΥΜΠΕΡΑΣΜΑΤΑ η ύπαρξη της απαραίτητης γραπτής τεκμηρίωσης (Documantation). Αυτό αποτελεί ιδιαίτερο πλεονέκτημα μιας και είναι προγράμματα ανοιχτού κώδικα. Συνεπώς,ο τελευταίος παρέχεται στους χρήστες οι οποίοι μπορούν να τον προσαρμόσουν σύμφωνα με τις ανάγκες της εκάστοτε επιχείρησης. Οι ενεργές κοινότητες που στηρίζουν τα δύο αυτά συστήματα, άλλωστε, δίνουν επιπλέον βοήθεια σε πιθανά προβλήματα που μπορεί να ανακύψουν κατά την προσαρμογή των προγραμμάτων, μέσα από Forum αλλά και βάσεις με τη συσσωρευμένη γνώση που προέκυψε από τις διαχρονικές προσπάθειες των χρηστών/ προγραμματιστών. 51

54 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α 7. ΠΑΡΑΡΤΗΜΑ Α 7.1 Επικοινωνία από weberp προς oscommerce Ο κώδικας του oscommerce server Ο κώδικας του Server τοποθετήθηκε σε ένα αρχείο με το όνομα soap_serv.php. Είναι το αρχείο που θα αναλάβει να εξυπηρετήσει τυχών αιτήσεις ενημέρωσης της βάσης δεδομένων του ηλεκτρονικού καταστήματος και βρίσκεται φυσικά στον κατάλογο του oscommerce με διαδρομή oscommerce- 2.2rc2a/catalog/includes/functions/soap_serv.php και είναι ο ακόλουθος : O PHP κώδικας του server : <?php // Εισάγεται η βιβλιοθήκη NuSOAP στο αρχείο για μπορούν να χρησιμοποιηθούν οι //συναρτήσεις της require_once('lib/nusoap.php'); //Εισάγεται το αρχείο με τις συναρτήσεις χειρισμού της βάσης δεδομένων require('database.php'); //Εισάγεται το αρχείο με τα ονόματα των πινάκων της βάσης include('../database_tables.php'); // Include application configuration parameters require('../configure.php'); // Δημιουργούμε ένα στιγμιότυπο του αντικειμένου soap_server $server = new soap_server(); //Αρχικοποιούμε την υποστήριξη WSDL $server->configurewsdl('soap_serv', 'urn:soap_serv'); 52

55 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α // Εγγράφουμε την μέθοδο που θα δημοσιεύσουμε για χρήση //Δηλώνουμε επίσης τα δεδομένα εισόδου αλλά και την έξοδο //της μεθόδου. Βλέπουμε στην συγκεκριμένη περίπτωση η μέθοδος //έχει όνομα update_quanti, δέχεται 2 ορίσματα σαν είσοδο που //είναι ακέραιοι αριθμοί (int) και επιστρέφει την έξοδο σε μορφή //ακεραίου (int) $server->register('update_quanti', array('product_id' => 'xsd:int','stock_left'=>'xsd:int'), array('return'=>'xsd:int'), 'urn:soap_serv', 'urn:soap_serv#update_quanti', 'rpc', 'encoded', 'update quantity to db'); // Ορίζουμε την μέθοδο σαν μια απλή συνάρτηση PHP function update_quanti($product_id,$stock_left) { //Χρησιμοποιούμε τις διαθέσιμες συναρτήσεις από το πρόγραμμα που εισαχθήκανε // με το αρχείο database.php tep_db_connect() or die('unable to connect to database server!'); //Χρησιμοποιούμε τις ενσωματωμένες συναρτήσεις (tep_db_query) για την πράξη //του update στον πίνακα της βάσης. Την ποσότητα και τον κωδικό προϊόντος την //παίρνουμε απο τα ορίσματα της συνάρτησης tep_db_query("update ". TABLE_PRODUCTS. " set products_quantity = '". $stock_left. "' where products_id = '". $product_id. "'"); //Κάνουμε το ερώτημα στη βάση για να βρούμε την ποσότητα μετά την ενημέρωση $return_query= tep_db_query("select products_quantity from TABLE_PRODUCTS. " where products_id = '". $product_id. "'"); $return=tep_db_fetch_array($return_query); tep_db_close(); //Το αποτέλεσμα του ερωτήματος είναι αυτό που επιστρέφει το web service 53 ".

56 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α return $return['products_quantity']; } $HTTP_RAW_POST_DATA = isset($http_raw_post_data)? $HTTP_RAW_POST_DATA : ''; $server->service($http_raw_post_data);?> Το WSDL αρχείο Δημιουργώντας το αρχείο soap_serv.php αυτομάτως η βιβλιοθήκη NuSOAP αναγνωρίζει ότι πρόκειται για Web Service και παράγει χωρίς καμιά περαιτέρω ενέργεια το WSDL αρχείο του Web Service το οποίο και παρατίθεται παρακάτω. Απλά με τη βοήθεια ενός Browser χρειάζεται να δείξουμε στο αρχείο που έχει τον Server και θα εμφανιστεί η ακόλουθη εικόνα (Σχήμα 13). Σχήμα 13 WSDL : <?xml version="1.0" encoding="iso "?> 54

57 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α - <definitions xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:soap_serv" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetnamespace="urn:soap_serv"> - <types> - <xsd:schema targetnamespace="urn:soap_serv"> <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> </xsd:schema> </types> //Τα δεδομένα που στέλνονται με το request - <message name="update_quantirequest"> <part name="product_id" type="xsd:int" /> <part name="stock_left" type="xsd:int" /> </message> //Τα δεδομένα που στέλνονται με το response - <message name="update_quantiresponse"> <part name="return" type="xsd:int" /> </message> //Περιγράφει το web service τις λειτουργίες που επιτελεί και τα μηνύματα που //ανταλλάσσονται - <porttype name="soap_servporttype"> - <operation name="update_quanti"> <documentation>update quantity to db</documentation> <input message="tns:update_quantirequest" /> <output message="tns:update_quantiresponse" /> </operation> </porttype> //Τα πρωτόκολλα για επικοινωνία που χρησιμοποιούνται από το 55

58 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α //web service - <binding name="soap_servbinding" type="tns:soap_servporttype"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <operation name="update_quanti"> <soap:operation soapaction="urn:soap_serv#update_quanti" style="rpc" /> - <input> <soap:body use="encoded" namespace="urn:soap_serv" encodingstyle="http://schemas.xmlsoap.org/soap/encodi ng/" /> </input> - <output> <soap:body use="encoded" namespace="urn:soap_serv" encodingstyle="http://schemas.xmlsoap.org/soap/encodi ng/" /> </output> </operation> </binding> - <service name="soap_serv"> - <port name="soap_servport" binding="tns:soap_servbinding"> <soap:address location="http:// /oscommerce2.2rc2a/catalog/includes/functions/soap_serv.php" /> </port> </service> </definitions> Ταυτόχρονα το NuSOAP μας δίνει και ένα πίνακα με πληροφορίες σχετικά με τις μεθόδους του Web Service τις παραμέτρους που δέχεται, το τι επιστρέφει (Σχήμα 14). 56

59 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α Σχήμα Τα μηνύματα SOAP Ακολουθούν τα μηνύματα SOAP που ανταλλάσσονται μεταξύ Client και Server σε μια υποθετική συναλλαγή όπου ένας πελάτης αγοράζει το προϊόν με κωδικό 28 και ποσότητα 1 κάτι που θέτει την διαθέσιμη ποσότητα του προϊόντος από 15 τεμ. που ήταν σε 14τεμ.: Request POST /oscommerce2.2rc2a/catalog/includes/functions/soap_serv.php HTTP/1.0 Host: User-Agent: NuSOAP/0.7.3 (1.114) Content-Type: text/xml; charset=iso

60 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α SOAPAction: "urn:soap_serv#update_quanti" Content-Length: 580 <?xml version="1.0" encoding="iso "?><soapenv:envelope SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encodi ng/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:soap_serv"><soapenv:body><tns:update_quanti xmlns:tns="urn:soap_serv"><product_id xsi:type="xsd:int">28</product_id><stock_left xsi:type="xsd:int">14</stock_left></tns:update_quanti></s OAP-ENV:Body></SOAP-ENV:Envelope> Response HTTP/ OK Date: Tue, 17 Feb :30:39 GMT Server: Apache/2.2.3 (Win32) PHP/5.2.0 X-Powered-By: PHP/5.2.0 X-SOAP-Server: NuSOAP/0.7.3 (1.114) Content-Length: 449 Connection: close Content-Type: text/xml; charset=iso <?xml version="1.0" encoding="iso "?><soapenv:envelope xmlns:soap- 58

61 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><soapenv:body><ns1:update_quantiresponse xmlns:ns1="urn:soap_serv"><return xsi:type="xsd:int">14</return></ns1:update_quantiresponse ></SOAP-ENV:Body></SOAP-ENV:Envelope> Ο κώδικας του Client Ο Client είναι αυτός που αιτείται την ενημέρωση της βάσης του oscommerce. Βρίσκεται μέσα στα αρχεία του weberp και συγκεκριμένα στο αρχείο ConfirmDispatch_Invoice.php. Το αρχείο αυτό έχει διαδρομή καταλόγου την : weberp\confirmdispatch_invoice.php βρίσκεται, συνεπώς, μέσα στον κεντρικό κατάλογο του weberp. Ο client «ενεργοποιείται» μόλις γίνει η ενημέρωση της βάσης δεδομένων του weberp. Ο κώδικας του client : //Πρώτα από όλα γίνεται ένα sql ερώτημα στη βάση δεδομένων του weberp για να //βρούμε την ποσότητα του είδους όπως αυτή διαμορφώθηκε μετά την ενημέρωση. //Ο λόγος είναι ότι οι συναρτήσεις ενημέρωσης της βάσης του oscommerce απαιτούν //την ποσότητα αποθέματος που προκύπτει μετά την συναλλαγή //Αντίθετα το weberp χρησιμοποιεί την ποσότητα μεταβολής (πόσο μεταβλήθηκε το //απόθεμα) $SQL="SELECT quantity FROM locstock WHERE locstock.stockid = '". $OrderLine->StockID. "' AND loccode = '". $_SESSION['Items']->Location. "'"; 59

62 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α //Παίρνουμε τα αποτελέσματα του ερωτήματος χρησιμοποιώντας τις συναρτήσεις //χειρισμού της βάσης δεδομένων που είναι διαθέσιμες από το σύστημα $Result = DB_query($SQL,$db); //Βάζω στην μεταβλητή $stock_left την ποσότητα του είδους όπως αυτή //διαμορφώθηκε μετά το update if (DB_num_rows($Result)==1){ $LocQtyRow = DB_fetch_row($Result); $stock_left = $LocQtyRow[0]; } //Σηκώνω τον client ο οποίος κοιτά στην διεύθυνση του server $client = new soapclient('http:// /oscommerce2.2rc2a/catalog/includes/functions/soap_serv.php?wsdl', true); // Ελέγχω για τυχόν λάθη $err = $client->geterror(); if ($err) { // Εμφανίζω το σφάλμα echo '<h2>constructor error</h2><pre>'. $err. '</pre>'; // Η κλήση έχει αποτύχει } // Καλώ την Soap μέθοδο και περνάω τα απαραίτητα ορίσματα (ποσότητα και κωδικό //προϊόντος) $result = $client->call('update_quanti',array('product_id'=>$orderline>stockid,'stock_left'=>$stock_left)); //Ελέγχω για τυχόν σφάλματα if ($client->fault) { echo '<h2>fault</h2><pre>'; print_r($result); echo '</pre>'; } 60

63 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α //Κοιτάω για λάθη else { $err = $client->geterror(); if ($err) { // Αν υπάρχουν λάθη τα δείχνω echo '<h2>error</h2><pre>'. $err. '</pre>'; } else { //Αλλιώς δείχνω το αποτέλεσμα της ενημέρωσης echo '<h2>oscommerce update information</h2><pre>'; //Αν η ποσότητα που επέστρεψε το oscommerce είναι ίδια με αυτή που έχω στη //βάση η ενημέρωση ήταν επιτυχής if ($result==$stock_left) { print_r('oscommerce was updated correctly'); } else { print_r('oscommerce was not updated correctly');} } 61 }

64 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α 7.2 Επικοινωνία από oscommerce προς weberp Ο κώδικας του server Ο κώδικας του server τοποθετήθηκε σε ένα αρχείο με το όνομα CommerceToWeberpServer.php. Είναι το αρχείο που θα αναλάβει να εξυπηρετήσει τυχών αιτήσεις ενημέρωσης της βάσης δεδομένων του ERP συστήματος και βρίσκεται φυσικά στον κατάλογο του weberp με διαδρομή weberp/ CommerceToWeberpServer.php και είναι ο ακόλουθος : O PHP κώδικας του server : <?php // Εισάγεται η βιβλιοθήκη NuSOAP στο αρχείο για μπορούν να χρησιμοποιηθούν οι //συναρτήσεις της require_once('lib/nusoap.php'); //Εισάγεται το αρχείο gettext.inc καθώς υπάρχουν αναφορές σε συναρτήσεις αυτού του αρχείου include('includes/php-gettext/gettext.inc'); // Δημιουργούμε ένα στιγμιότυπο του αντικειμένου soap_server $server = new soap_server(); //Αρχικοποιούμε την υποστήριξη WSDL $server->configurewsdl('commercetoweberpserver', 'urn:commercetoweberpserver'); // Εγγράφουμε την μέθοδο που θα δημοσιεύσουμε για χρήση //Δηλώνουμε επίσης τα δεδομένα εισόδου αλλά και την έξοδο //της μεθόδου. Βλέπουμε στην συγκεκριμένη περίπτωση η μέθοδος //έχει όνομα update_quanti, δέχεται 2 ορίσματα σαν είσοδο που //είναι το ένα αλφαριθμητικού τύπου (string) //και το άλλο ακέραιος αριθμός (int).η έξοδος είναι τύπου ακέραιου (int) $server->register('update_quanti', array('product_id' => 'xsd:string','stock_left'=>'xsd:int'), 62

65 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α array('return'=>'xsd:int'), 'urn:commercetoweberpserver', 'urn:commercetoweberpserver#update_quanti', 'rpc', 'encoded', 'update quantity to db'); // Ορίζουμε την μέθοδο σαν μια απλή συνάρτηση PHP function update_quanti($product_id,$stock_left) { //Επειδή η ενημέρωση γίνεται χωρίς να προηγηθεί login χρειάζεται να δηλώσουμε //στον κώδικα το όνομα της βάσης με την οποία θα συνδεθούμε $DatabaseName='weberp'; //Συντάσσουμε το sql ερώτημα για την ενημέρωση της βάσης //με τις σωστές ποσότητες $SQL = "UPDATE locstock SET quantity = ". $stock_left. " WHERE locstock.stockid = '". $product_id. "' AND locstock.loccode ='MEL'"; //Εισάγουμε το αρχείο config.php το οποίο περιέχει τα όνομα χρήστη και τον //κωδικό για την σύνδεση στη βάση. include('config.php'); //Εισάγουμε το αρχείο ConnectDB.inc που περιέχει τις συναρτήσεις του συστήματος //για την σύνδεση με τη βάση και την εκτέλεση sql ερωτημάτων include('includes/connectdb.inc'); //Χρησιμοποιώ τη συνάρτηση DB_query του συστήματος για την εκτέλεση του // ερωτήματος $Result = DB_query($SQL,$db); //Συντάσσω ένα νέο ερώτημα για να δω την ποσότητα στην βάση μετά την 63

66 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α //ενημέρωση $SQL="SELECT quantity FROM locstock WHERE locstock.stockid= '". $product_id. "' AND locstock.loccode='mel'"; $Result_query = DB_query($SQL,$db); $Result= DB_fetch_array($Result_query); //Η επιστροφή του web service είναι το αποτέλεσμα του ερωτήματος return $Result['quantity']; } // Use the request to (try to) invoke the service $HTTP_RAW_POST_DATA = isset($http_raw_post_data)? $HTTP_RAW_POST_DATA : ''; $server->service($http_raw_post_data);?> Το WSDL αρχείο Δημιουργώντας το αρχείο CommerceToWeberp.php αυτομάτως η βιβλιοθήκη NuSOAP αναγνωρίζει ότι πρόκειται για Web Service και παράγει χωρίς καμιά περαιτέρω ενέργεια το WSDL αρχείο του Web Service το οποίο και παρατίθεται παρακάτω. Απλά με τη βοήθεια ενός Browser χρειάζεται να δείξουμε στο αρχείο που έχει τον server και θα εμφανιστεί η ακόλουθη εικόνα (Σχήμα 15) Σχήμα 15 WSDL : <?xml version="1.0" encoding="iso "?> 64

67 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α - <definitions xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:commercetoweberpserver" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetnamespace="urn:commercetoweberpserver"> - <types> - <xsd:schema targetnamespace="urn:commercetoweberpserver"> <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> </xsd:schema> </types> //Τα δεδομένα που στέλνονται με το request - <message name="update_quantirequest"> <part name="product_id" type="xsd:string" /> <part name="stock_left" type="xsd:int" /> </message> //Τα δεδομένα που στέλνονται με το response <message name="update_quantiresponse"> <part name="return" type="xsd:int" /> </message> //Περιγράφει το web service τις λειτουργίες που επιτελεί και τα μηνύματα που //ανταλλάσσονται - <porttype name="commercetoweberpserverporttype"> - <operation name="update_quanti"> <documentation>update quantity to db</documentation> <input message="tns:update_quantirequest" /> <output message="tns:update_quantiresponse" /> </operation> </porttype> //Τα πρωτόκολλα για επικοινωνία που χρησιμοποιούνται από το //web service 65

68 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α - <binding name="commercetoweberpserverbinding" type="tns:commercetoweberpserverporttype"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <operation name="update_quanti"> <soap:operation soapaction="urn:commercetoweberpserver#update_quanti" style="rpc" /> - <input> <soap:body use="encoded" namespace="urn:commercetoweberpserver" encodingstyle="http://schemas.xmlsoap.org/soap/encodin g/" /> </input> - <output> <soap:body use="encoded" namespace="urn:commercetoweberpserver" encodingstyle="http://schemas.xmlsoap.org/soap/encodin g/" /> </output> </operation> </binding> - <service name="commercetoweberpserver"> - <port name="commercetoweberpserverport" binding="tns:commercetoweberpserverbinding"> <soap:address location="http:// /weberp/commercetoweberpserver.php" /> </port> </service> </definitions> Ταυτόχρονα το NuSOAP μας δίνει και ένα πίνακα με πληροφορίες σχετικά με τις μεθόδους του Web Service τις παραμέτρους που δέχεται, την έξοδο που παράγει. (Σχήμα 16). 66

69 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α Σχήμα Τα μηνύματα SOAP Ακολουθούν τα μηνύματα SOAP που ανταλλάσσονται μεταξύ Client και Server σε μια υποθετική συναλλαγή όπου ένας πελάτης αγοράζει το προϊόν με κωδικό 28 και ποσότητα 1 κάτι που θέτει την διαθέσιμη ποσότητα του προϊόντος από 13 τεμ. που ήταν σε 12τεμ.: Request POST /weberp/commercetoweberpserver.php HTTP/1.0 Host: User-Agent: NuSOAP/0.7.3 (1.114) Content-Type: text/xml; charset=iso SOAPAction: "urn:commercetoweberpserver#update_quanti" Content-Length: 609 <?xml version="1.0" encoding="iso "?><soapenv:envelope SOAP- 67

70 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encodi ng/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:commercetoweberpserver"><soapenv:body><tns:update_quanti xmlns:tns="urn:commercetoweberpserver"><product_id xsi:type="xsd:string">28</product_id><stock_left xsi:type="xsd:int">12</stock_left></tns:update_quanti></s OAP-ENV:Body></SOAP-ENV:Envelope> Response HTTP/ OK Date: Tue, 17 Feb :55:23 GMT Server: Apache/2.2.3 (Win32) PHP/5.2.0 X-Powered-By: PHP/5.2.0 X-SOAP-Server: NuSOAP/0.7.3 (1.114) Content-Length: 462 Connection: close Content-Type: text/xml; charset=iso <?xml version="1.0" encoding="iso "?><soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><soapenv:body><ns1:update_quantiresponse xmlns:ns1="urn:commercetoweberpserver"><return 68

71 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α xsi:type="xsd:int">12</return></ns1:update_quantiresponse ></SOAP-ENV:Body></SOAP-ENV:Envelope> Ο κώδικας του Client Ο Client είναι αυτός που αιτείται την ενημέρωση της βάσης του weberp. Βρίσκεται μέσα στα αρχεία του oscommerce και συγκεκριμένα στο αρχείο checkout_process.php. Το αρχείο αυτό έχει διαδρομή καταλόγου την : oscommerce2.2rc2a\catalog\ checkout_process.php. Ο Client «ενεργοποιείται» μόλις γίνει η ενημέρωση της βάσης δεδομένων του oscommerce. Ο κώδικας του client : //Ορίζω ένα flag που σηματοδοτεί την έξοδο από το loop. Γίνεται αληθές μόνο όταν //η ποσότητα που επιστρέφει το weberp είναι ίδια με την ποσότητα στη βάση του //oscommerce $exodos = false; while ($exodos == false) { //Σηκώνω τον client ο οποίος κοιτά στην διεύθυνση του server $client = new soapclient('http:// /weberp/commercetoweberpserver.php?wsdl', true); // Check for an error $err = $client->geterror(); // Ελέγχω για τυχόν λάθη if ($err) { // Εμφανίζω το σφάλμα echo '<h2>constructor error</h2><pre>'. $err. '</pre>'; // Η κλήση έχει αποτύχει } //κάνω casting στη μεταβλητή $product_id και την μετατρέπω από integer που είναι //σε string.ο λόγος είναι ότι στη βάση δεδομένων του weberp ο κωδικός είδους //αποθηκεύεται σε τύπο δεδομένων string ενώ στο oscommerce σε integer $product_id = (string)(tep_get_prid($order->products[$i]['id'])); 69

72 ΚΕΦΑΛΑΙΟ 7ο ΠΑΡΑΡΤΗΜΑ Α // Καλώ την Soap μέθοδο και περνάω τα απαραίτητα ορίσματα (ποσότητα και //κωδικό προϊόντος) $result = $client>call('update_quanti',array('product_id'=>$product_id,'stock_left'=>$stock_left)); //Ελέγχω για τυχόν σφάλματα if ($client->fault) { echo '<h2>fault</h2><pre>'; print_r($result); echo '</pre>'; } else { //Κοιτάω για λάθη $err = $client->geterror(); if ($err) { // Αν υπάρχουν λάθη τα δείχνω echo '<h2>error</h2><pre>'. $err. '</pre>'; } else { if ($result==$stock_left) { //Η ενημέρωση ήταν επιτυχής μπορείς να βγείς από το loop $exodos=true; } } }//τέλος while 70

73 ΚΕΦΑΛΑΙΟ 8o ΠΑΡΑΡΤΗΜΑ Β 8.ΠΑΡΑΡΤΗΜΑ Β 8.1 Εγκατάσταση του oscommerce Ένα από τα πιο σημαντικά χαρακτηριστικά του oscommerce είναι η δυνατότητα που παρέχει στον ιδιοκτήτη του καταστήματος να στήσει, να τρέξει και να διαχειριστεί τα Online καταστήματά του με ελάχιστη προσπάθεια και χωρίς κάποιο επιπλέον κόστος. Το oscommerce συνδυάζει λύσεις ανοιχτού κώδικα για να παρέχει μια δωρεάν και ανοιχτή πλατφόρμα ανάπτυξης που περιλαμβάνει σαν γλώσσα ανάπτυξης την PHP τον σταθερό Apache web server και τον ταχύτατο MySQL Database Server. Χωρίς κάποιον επιπλέον περιορισμό, το oscommerce μπορεί να εγκατασταθεί σε οποιονδήποτε web server που υποστηρίζει την PHP3 ή PHP4 και σε οποιοδήποτε περιβάλλον που υποστηρίζει η PHP MySQL που περιλαμβάνει λειτουργικά όπως Linux, Solaris, BSD και Microsoft Windows. Πρώτα από όλα ανεβάζουμε τον κατάλογο catalog στον server χρησιμοποιώντας ένα πρόγραμμα FTP. Η δομή του oscommerce είναι : Catalog Catalog/admin Extras Ανεβάζουμε τον φάκελο Catalog, ο οποίος περιλαμβάνει και τον φάκελο Admin στον κατάλογο δημοσίευσης του Server (public_html,www,htdocs). Χρησιμοποιώντας το phpmyadmin ή κάποιο άλλο αντίστοιχο εργαλείο δημιουργούμε την βάση και τον χρήστη και αναθέτουμε τον χρήστη αυτό στην βάση. Καταγράφουμε το όνομα της βάσης, το username και τον κωδικό. Ανοίγουμε έναν Browser και πληκτρολογούμε την διεύθυνση και πατάμε το κουμπί Continue. 71

74 ΚΕΦΑΛΑΙΟ 8o ΠΑΡΑΡΤΗΜΑ Β 1. Ορίζουμε τον Database Server είτε με την μορφή Hostname είτε με την μορφή IP διεύθυνσης. 2. Βάζουμε το Username που ορίσαμε για τη σύνδεση στη βάση 3. Βάζουμε το Password που ορίσαμε για τη σύνδεση στη βάση 4. Βάζουμε το όνομα της βάσης που δημιουργήσαμε. Πατάμε το κουμπί Continue οπότε και γίνεται η εισαγωγή της βάσης με τα ορίσματα που δώσαμε. 72

75 ΚΕΦΑΛΑΙΟ 8o ΠΑΡΑΡΤΗΜΑ Β Στη συνέχεια παρέχονται πληροφορίες για την Web Address του καταστήματος και το Directory που θα εγκατασταθεί το κατάστημα στον server. Πατάμε Continue. Στην επόμενη οθόνη ορίζουμε τις εξής πληροφορίες : 1. Το όνομα του καταστήματος 2. Το όνομα του κατόχου του καταστήματος που θα φαίνεται στο κοινό 3. Το επικοινωνίας που θα φαίνεται στο κοινό 4. Το Username του Administrator για τη χρήση του Administrator Account 5. Το Password του Administrator για τη χρήση του Administrator Account Πατάμε το Continue 73

76 ΚΕΦΑΛΑΙΟ 8o ΠΑΡΑΡΤΗΜΑ Β Η εγκατάσταση ολοκληρώθηκε 74

77 ΚΕΦΑΛΑΙΟ 8o ΠΑΡΑΡΤΗΜΑ Β 8.2 Εγκατάσταση του weberp Το weberp είναι ένα ERP σύστημα οποίο βασίζεται στην γλώσσα PHP (έκδοση 4.2 και μετά) και στον MySQL Database Server. Σαν Web Server προτείνεται ο Apache αλλά ουσιαστικά λειτουργεί με οποιονδήποτε Web Server υποστηρίζεται από την PHP. Πρώτα από όλα χρειάζεται να μεταφέρουμε όλα τα Scripts σε έναν κατάλογο στο Root Directory του Web Server. Το επόμενο βήμα είναι να δημιουργήσουμε τη βάση δεδομένων. Παρέχονται δύο Scripts(βρίσκονται στον κατάλογο weberp/sql/mysql) : 1. weberp-demo.sql το οποίο περιέχει κάποια ελάχιστα δεδομένα και μια «στημένη» εταιρεία για τον έλεγχο λειτουργίας του συστήματος. 2. weberp-new.sql το οποίο περιέχει τις βασικές πληροφορίες για το «στήσιμο» μιας νέας εταιρείας. Αυτό το Script δημιουργεί μια weberp βάση δεδομένων με μόνο τα αρχικά δεδομένα. Μέσα από το εργαλείο PhpMyAdmin εγκαθιστούμε το Script που επιθυμούμε και δημιουργούμε την βάση. Η εγκατάσταση ολοκληρώθηκε. Πληκτρολογώντας την διεύθυνση εμφανίζεται η σελίδα εισαγωγής στο σύστημα. 75

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

Διαβάστε περισσότερα

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: www.aggelopoulos.tk e-mail: ioannis.aggelopoulos@gmail.com. Στόχος Σκοπός μαθήματος

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: www.aggelopoulos.tk e-mail: ioannis.aggelopoulos@gmail.com. Στόχος Σκοπός μαθήματος Επιχειρησιακά Πληροφοριακά Συστήματα Διδάσκων: Αγγελόπουλος Γιάννης Δευτέρα 3-5 Τρίτη 4-6 Εργαστήριο Α Site: www.aggelopoulos.tk e-mail: ioannis.aggelopoulos@gmail.com 1 Στόχος Σκοπός μαθήματος Σκοπός:

Διαβάστε περισσότερα

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

Διαβάστε περισσότερα

Microsoft Dynamics NAV & Verticals

Microsoft Dynamics NAV & Verticals Microsoft Dynamics NAV & Verticals 1 Cosmos Business Systems SA Cosmos Consulting SA Software Solutions Microsoft Dynamics NAV ERP Τι είναι; Το Enterprise Resource Planning (ERP) είναι μια λύση λογισμικού

Διαβάστε περισσότερα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

Διαβάστε περισσότερα

SGA Διαχείριση Πρωτόκολλου

SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου 1. SGA Διαχείριση Πρωτοκόλλου... 2 1.1. Καινοτομία του προσφερόμενου προϊόντος... 2 1.2. Γενικές αρχές του προσφερόμενου συστήματος... 2 1.3. Ευκολία

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο

Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο Τι είναι ένα σύστημα διαχείρισης περιεχομένου; Παρά την μεγάλη εξάπλωση του διαδικτύου και τον ολοένα αυξανόμενο αριθμό ιστοσελίδων, πολλές εταιρείες ή χρήστες δεν είναι εξοικειωμένοι με την τεχνολογία

Διαβάστε περισσότερα

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ 4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ Η εφαρμογή "Υδροληψίες Αττικής" είναι ένα πληροφοριακό σύστημα (αρχιτεκτονικής

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΠΟΡΩΝ

ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΠΟΡΩΝ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΠΟΡΩΝ ΚΕΦΑΛΑΙΟ 4 Τεχνολογική Υποδομή ERP Βασίλειος Ταμπακάς, Καθηγητής Αθανάσιος Καλογεράς, Επ. Συνεργάτης Τεχνικά Χαρακτηριστικά ERP Αποτελεί σύνθεση ολοκληρωμένων

Διαβάστε περισσότερα

ΛΥΣΕΙΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΙΜΟΛΟΓΗΣΗΣ

ΛΥΣΕΙΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΙΜΟΛΟΓΗΣΗΣ ΛΥΣΕΙΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΙΜΟΛΟΓΗΣΗΣ E-INVOICING 1 η Υπηρεσία Ηλεκτρονικής Τιμολόγησης στην Ελλάδα 1 η Ολοκληρωμένη εφαρμογή Ηλεκτρονικής Τιμολόγησης βασισμένη στην Ελληνική Νομοθεσία και το Φορολογικό Πλαίσιο

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

Τίτλος Ειδικού Θεματικού Προγράμματος: «Διοίκηση, Οργάνωση και Πληροφορική για Μικρομεσαίες Επιχειρήσεις»

Τίτλος Ειδικού Θεματικού Προγράμματος: «Διοίκηση, Οργάνωση και Πληροφορική για Μικρομεσαίες Επιχειρήσεις» ΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΒΑΣΙΚΟΣ ΠΑΡΑΓΟΝΤΑΣ ΓΙΑ ΤΗΝ ΟΙΚΟΝΟΜΙΚΗ ΚΑΙ ΚΟΙΝΩΝΙΚΗ ΑΝΑΠΤΥΞΗ ΤΟΥ ΑΙΓΑΙΟΠΕΛΑΓΙΤΙΚΟΥ ΧΩΡΟΥ Τίτλος Ειδικού Θεματικού Προγράμματος: «Διοίκηση, Οργάνωση και Πληροφορική για Μικρομεσαίες

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

ιοίκηση Πληροφοριακών Συστηµάτων

ιοίκηση Πληροφοριακών Συστηµάτων ιοίκηση Πληροφοριακών Συστηµάτων ιάλεξη 4 η 4.1 Αρχιτεκτονική Επιχειρησιακών Εφαρµογών 4.2 1 Επιχειρησιακά Συστήµατα ή Επιχειρησιακά Συστήµατα ιαχείρισης Πόρων(ERPs) Συστήµατα ιαχείρισης Εφοδιαστικής Αλυσίδας

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) ΕΠΛ 012 ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) Διδάσκων Καθηγητής: Δημήτριος Τσουμάκος Εαρινό Εξάμηνο 2010 Βασικές Πληροφορίες Πότε: Δευτέρα & Πέμπτη 10:30-12μμ Πού: ΧΩΔ01

Διαβάστε περισσότερα

Μεταπτυχιακή Διατριβή

Μεταπτυχιακή Διατριβή Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Υπηρεσία Αυτόματης Ανάκτησης Συνδεδεμένης Δομής Θεματικών Επικεφαλίδων μέσω

Διαβάστε περισσότερα

Πρόλογος... xi Ευχαριστίες... xiii. Κεφάλαιο 1ο Γενικές έννοιες Ηλεκτρονικών Υπολογιστών

Πρόλογος... xi Ευχαριστίες... xiii. Κεφάλαιο 1ο Γενικές έννοιες Ηλεκτρονικών Υπολογιστών Περιεχόμενα Πρόλογος.................................................... xi Ευχαριστίες.................................................. xiii Κεφάλαιο 1ο Γενικές έννοιες Ηλεκτρονικών Υπολογιστών 1 Γενικά

Διαβάστε περισσότερα

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

Το πρόγραμμα που ταιριάζει στο δικό σας περιβάλλον ΟΡΓΑΝΩΣΗ ΛΟΓΙΣΤΗΡΙΟΥ REFLEXIS ERP: ΤΟ ΠΡΟΓΡΑΜΜΑ ΠΟΥ ΣΑΣ ΛΥΝΕΙ ΤΑ ΧΕΡΙΑ

Το πρόγραμμα που ταιριάζει στο δικό σας περιβάλλον ΟΡΓΑΝΩΣΗ ΛΟΓΙΣΤΗΡΙΟΥ REFLEXIS ERP: ΤΟ ΠΡΟΓΡΑΜΜΑ ΠΟΥ ΣΑΣ ΛΥΝΕΙ ΤΑ ΧΕΡΙΑ Το πρόγραμμα που ταιριάζει στο δικό σας περιβάλλον ΟΡΓΑΝΩΣΗ ΛΟΓΙΣΤΗΡΙΟΥ REFLEXIS ERP: ΤΟ ΠΡΟΓΡΑΜΜΑ ΠΟΥ ΣΑΣ ΛΥΝΕΙ ΤΑ ΧΕΡΙΑ Περιεχόμενα Η εταιρεία Γενικά... 3 Η πορεία της εταιρείας... 4 Προϊόντα... 4 Υπηρεσίες...

Διαβάστε περισσότερα

Κεφάλαιο 6 Λογισμικό Εφαρμογών. Εφαρμογές Πληροφορικής Κεφ.6 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 6 Λογισμικό Εφαρμογών. Εφαρμογές Πληροφορικής Κεφ.6 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 6 Λογισμικό Εφαρμογών Καραμαούνας Πολύκαρπος 1 Λογισμικό Εφαρμογών (application software) Είναι όλα τα προγράμματα που μετατρέπουν τον ΗΥ σε εξειδικευμένο μηχάνημα για συκεκριμένες εργασίες. Περιέχει

Διαβάστε περισσότερα

CASE STUDY. Το Έργο της Εγκατάστασης του ΟΠΣ. «Διαχείριση Παραγωγής & Διαχείριση. Διανομής Εκπαιδευτικών Βιβλίων, στον ΟΕΔΒ :

CASE STUDY. Το Έργο της Εγκατάστασης του ΟΠΣ. «Διαχείριση Παραγωγής & Διαχείριση. Διανομής Εκπαιδευτικών Βιβλίων, στον ΟΕΔΒ : ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΟΡΓΑΝΙΣΜΟΣ ΕΚΔΟΣΕΩΝ ΔΙΔΑΚΤΙΚΩΝ ΒΙΒΛΙΩΝ Το Έργο της Εγκατάστασης του ΟΠΣ Διαχείρισης Παραγωγής & Διαχείρισης Διανομής Εκπαιδευτικών Βιβλίων, στον ΟΕΔΒ : ΕΡΓΟ: «Διαχείριση Παραγωγής &

Διαβάστε περισσότερα

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Περιεχόµενα World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Εισαγωγή Ιστορική Αναδροµή Το ιαδίκτυο και το WWW Υπερκείµενο Εντοπισµός πληροφοριών στο WWW Search Engines Portals Unicode Java Plug-Ins 1 2

Διαβάστε περισσότερα

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

Διαβάστε περισσότερα

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

Διαβάστε περισσότερα

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

Διαβάστε περισσότερα

Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση 21.26.1228 06/05/2015. Ημ/νία έκδοσης dd/mm/2015 1

Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση 21.26.1228 06/05/2015. Ημ/νία έκδοσης dd/mm/2015 1 Έκδοση 21.26.1228 06/05/2015 Ημ/νία έκδοσης dd/mm/2015 1 Περιεχόμενα Νέα λειτουργικότητα... 3 Εμπορική διαχείριση 3 Σύνδεση γραμμών παραστατικών αγορών/πωλήσεων/ειδών... 3 Παραστατικά Σύνθεσης... 3 Συναλλασσόμενοι

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Ολοκληρωμένο Πληροφοριακό Σύστημα για Μικρές Επιχειρήσεις

Ολοκληρωμένο Πληροφοριακό Σύστημα για Μικρές Επιχειρήσεις Ολοκληρωμένο Πληροφοριακό Σύστημα για Μικρές Επιχειρήσεις Το alpha7 professional είναι ένα πρωτοποριακό, αξιόπιστο και ολοκληρωμένο πληροφοριακό σύστημα, το οποίο απευθύνεται σε επαγγελματίες και μικρές

Διαβάστε περισσότερα

Σύστημα Διαχείρισης Προϋπολογισμού. Bank Budget MIS

Σύστημα Διαχείρισης Προϋπολογισμού. Bank Budget MIS Σύστημα Διαχείρισης Προϋπολογισμού Bank Budget MIS To Bank Budget MIS είναι μια ολοκληρωμένη web-based εφαρμογή για την αυτοματοποίηση των στοιχείων και μεγεθών προϋπολογισμού ενός χρηματοπιστωτικού ιδρύματος.

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΠΟΡΩΝ

ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΠΟΡΩΝ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΠΟΡΩΝ ΚΕΦΑΛΑΙΟ 1 ΗΒασική Πληροφοριακή Υποδομή των Επιχειρήσεων Βασίλης Ταμπακάς, Καθηγητής 1 Βασικά - Ορισμοί Συστήματα Διαχείρισης Επιχειρηματικών Πόρων ή Συστήματα

Διαβάστε περισσότερα

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά Νίκος Πασσαράς

Διαβάστε περισσότερα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ- ΤΜΗΜΑ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΠΤΥΞΗΣ, ΜΑΘΗΜΑ: ΔΙΑΧΕΙΡΙΣΗ ΑΝΘΡΩΠΙΝΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΠΟΡΩΝ- ΧΡΙΣΤΟΣ ΑΠ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ- ΤΜΗΜΑ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΠΤΥΞΗΣ, ΜΑΘΗΜΑ: ΔΙΑΧΕΙΡΙΣΗ ΑΝΘΡΩΠΙΝΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΠΟΡΩΝ- ΧΡΙΣΤΟΣ ΑΠ. Χ. ΑΠ. ΛΑΔΙΑΣ Το ERP είναι ένα ολοκληρωμένο πληροφοριακό σύστημα διαχείρισης επιχειρησιακών πόρων. Διαχειρίζεται και συντονίζει όλες τις λειτουργίες και διαδικασίες που λαμβάνουν χώρα σε μια επιχείρηση.

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

ιαχείριση Τηλεφωνικών Κλήσεων

ιαχείριση Τηλεφωνικών Κλήσεων ιαχείριση Τηλεφωνικών Κλήσεων 1 Διαχει ριση Τηλεφωνικω ν Κλη σεων ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ... 3 ΔΟΜΗ ΧΡΗΣΤΩΝ ΚΑΙ ΔΙΚΑΙΩΜΑΤΑ ΕΠΙ ΤΩΝ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ... 3 ΣΧΗΜΑΤΙΚΗ ΑΠΕΙΚΟΝΙΣΗ... 4 ΕΙΣΕΡΧΟΜΕΝΕΣ ΚΛΗΣΕΙΣ... 5

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 3113/19-6-2015

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 3113/19-6-2015 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 3113/19-6-2015 Σύμφωνα με: α) τις διατάξεις των άρθρων 123, 124, 135 και 136 του Ν. 4072/2012

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

Διαβάστε περισσότερα

B2B ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΜΕΡΟΣ Β

B2B ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΜΕΡΟΣ Β B2B ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΜΕΡΟΣ Β Ηλεκτρονική Αγορά Προσανατολισμένη σς Ενδιάμεσους : Η περίπτωση PART της BOEING Η Boeing στην προκειμένη περίπτωση, παίζει το ρόλο ενδιάμεσου στην παροχή ανταλλακτικών συντήρησης

Διαβάστε περισσότερα

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

Διαβάστε περισσότερα

Υπολογιστική Νέφους Cloud computing

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

Διαβάστε περισσότερα

Οδηγός Ηλεκτρονικού Επιχειρείν

Οδηγός Ηλεκτρονικού Επιχειρείν ΕΠΙΜΕΛΗΤΗΡΙΟ ΧΑΝΙΩΝ Σειρά Σεμιναρίων 2013 «Ηλεκτρονικό εμπόριο η επιχείρηση στη νέα ψηφιακή εποχή» Οδηγός Ηλεκτρονικού Επιχειρείν Δρ. Μάρκος Κουργιαντάκης Διδάκτορας Τμ. Οικονομικών Επιστημών Πανεπιστημίου

Διαβάστε περισσότερα

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 7ο X Window System Μιχαηλίδης Παναγιώτης Tι είναι παραθυρικό σύστημα; Ένα παραθυρικό σύστημα (window system) είναι μια γραφική διεπαφή χρήστη (Graphical

Διαβάστε περισσότερα

Information Technology for Business

Information Technology for Business Information Technology for Business! Lecturer: N. Kyritsis, MBA, Ph.D. Candidate!! e-mail: kyritsis@ist.edu.gr Διαχείριση Επιχειρηματικών Δεδομένων - Databases Ορισμός Βάσης Δεδομένων Συλλογή συναφών αρχείων

Διαβάστε περισσότερα

Don t hire us if you want average. We only do exceptional.

Don t hire us if you want average. We only do exceptional. Εισαγωγή Το i-flexible είναι ένα εργαλείο σύγχρονης εταιρικής παρουσίασης, αμφίδρομης επικοινωνίας, δειγματισμού και λήψης παραγγελιών, με δυνατότητες διαχείρισης ομάδων χρηστών και ορισμού δικαιωμάτων

Διαβάστε περισσότερα

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ ΔΕΔΟΜΕΝΑ ΔΕΔΟΜΕΝΑ ΠΛΗΡΟΦΟΡΙΑ ΑΡΙΘΜΟΙ ΣΥΜΒΟΛΑ - ΛΕΞΕΙΣ ΟΠΟΙΑΔΗΠΟΤΕ ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΣΥΜΒΑΙΝΕΙ ΣΕ ΜΙΑ ΟΙΚΟΝΟΜΙΚΗ ΜΟΝΑΔΑ ΠΡΕΠΕΙ ΝΑ ΜΕΤΡΕΙΤΑΙ ΚΑΙ ΝΑ ΚΑΤΑΓΡΑΦΕΤΑΙ ΟΡΓΑΝΩΣΗ ΚΑΤΑΓΡΑΦΗΣ

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης Δίκτυα Υπολογιστών Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή Κ. Βασιλάκης Περίγραμμα Τι είναι το διαδίκτυο Στοιχεία που το συνθέτουν Τρόποι παροχής υπηρεσιών Τι είναι τα πρωτόκολλα Τα άκρα του δικτύου

Διαβάστε περισσότερα

Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα

Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα

Διαβάστε περισσότερα

Η λ ε κ τ ρ ο ν ι κ ό κ α τ ά σ τ η μ α. Γενικά χαρακτηριστικά της εφαρμογής για κατασκευή eshop

Η λ ε κ τ ρ ο ν ι κ ό κ α τ ά σ τ η μ α. Γενικά χαρακτηριστικά της εφαρμογής για κατασκευή eshop WEB AGENCY ALBATROS Διαφημιστικές Υπηρεσίες & Σχεδιασμός ιστοσελίδων www.webagencyalbatros.com Τηλ 6939052115 Η λ ε κ τ ρ ο ν ι κ ό κ α τ ά σ τ η μ α Γενικά χαρακτηριστικά της εφαρμογής για κατασκευή eshop

Διαβάστε περισσότερα

ΑΡΧΕΣ ΟΡΓΑΝΩΣΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΥΠΗΡΕΣΙΩΝ. Κεφάλαιο 2 ο

ΑΡΧΕΣ ΟΡΓΑΝΩΣΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΥΠΗΡΕΣΙΩΝ. Κεφάλαιο 2 ο ΑΡΧΕΣ ΟΡΓΑΝΩΣΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΥΠΗΡΕΣΙΩΝ ΕΠΙΜΕΛΕΙΑ: ΝΙΚΟΛΑΟΣ Χ. ΤΖΟΥΜΑΚΑΣ ΟΙΚΟΝΟΜΟΛΟΓΟΣ Κεφάλαιο 2 ο Η Επιστήμη της Διοίκησης των Επιχειρήσεων 2.1. Εισαγωγικές έννοιες Ο επιστημονικός κλάδος

Διαβάστε περισσότερα

DO Y O Y U S PEAK K F U F TURE R?

DO Y O Y U S PEAK K F U F TURE R? GALAXY είναι Τεχνολογία αιχμής που αξιοποιεί τις πλέον σύγχρονες διεθνείς τάσεις, συνδυάζοντας τo Microsoft.NET Framework 3.5 και τα εξελιγμένα εργαλεία ανάπτυξης εφαρμογών της SingularLogic. Εξασφαλίζει

Διαβάστε περισσότερα

Στρατηγική Επιλογή. Η Λογιστική Σουίτα ΙΙ αποτελείται από:

Στρατηγική Επιλογή. Η Λογιστική Σουίτα ΙΙ αποτελείται από: Στρατηγική Επιλογή Οι απαιτήσεις του συνεχώς μεταβαλλόμενου οικονομικού - φοροτεχνικού περιβάλλοντος σε συνδυασμό με τις αυξανόμενες ανάγκες πληροφόρησης των επιχειρήσεων, έχουν αυξήσει ραγδαία τον όγκο

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

Sunsoft Ltd Alexandros F&B Management

Sunsoft Ltd Alexandros F&B Management ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ FOOD & BEVERAGE ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΣΤΙΑΣΗΣ & ΞΕΝΟΔΟΧΕΙΩΝ SUNSOFT Ltd - Μάχης Αναλάτου 103, 11745 Ν. Κόσμος. Tηλ: 210 9317811, Fax: 210 9321603 www.sunsoft.gr info@sunsoftgr.com

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως

Διαβάστε περισσότερα

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

Linux Terminal Server Project

Linux Terminal Server Project Linux Terminal Server Project Ένα κεντρικό σύστημα διαχείρισης των τερματικών κοινού της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Μακεδονίας Κολοβός Φίλιππος filippos@uom.gr Ευάγγελος Μπάνος

Διαβάστε περισσότερα

τομείς δραστηριότητας η Διάδρασις δραστηριοποιείται σε δύο βασικούς άξονες:

τομείς δραστηριότητας η Διάδρασις δραστηριοποιείται σε δύο βασικούς άξονες: Διάδρασις Ο.Ε. Υπηρεσίες Συμβουλευτικής & Πληροφορικής Ζήνωνος 18 104 37 Αθήνα 210 5233244 - info@diadrasis.gr - www.diadrasis.gr Εταιρική Παρουσίαση ποιοι είμαστε η Διάδρασις είναι εταιρία που δραστηριοποιείται

Διαβάστε περισσότερα

Σύστημα Διαχείρισης Παραστατικών Executive Summary

Σύστημα Διαχείρισης Παραστατικών Executive Summary Σύστημα Διαχείρισης Παραστατικών Executive Summary Ολοκληρωμένο Σύστημα Διαχείρισης Παραστατικών To λογισμικό Διαχείρισης & Επεξεργασίας Εγγράφων DocuClass παρέχει σε οργανισμούς και επιχειρήσεις την δυνατότητα

Διαβάστε περισσότερα

Σχεδιασμός του Ολοκληρωμένου Συστήματος Ψηφιακής Βιβλιοθήκης του Πανεπιστημίου Αθηνών

Σχεδιασμός του Ολοκληρωμένου Συστήματος Ψηφιακής Βιβλιοθήκης του Πανεπιστημίου Αθηνών Σχεδιασμός του Ολοκληρωμένου Συστήματος Ψηφιακής Βιβλιοθήκης του Πανεπιστημίου Αθηνών Κώστας Βίγλας, Ειρήνη Λουρδή, Μάρα Νικολαΐδη, Γιώργος Πυρουνάκης, Κώστας Σαΐδης Περιεχόμενα Πώς οδηγούμαστε στο σχεδιασμό

Διαβάστε περισσότερα

Θέμα: «Διαδικτιακές Εφαρμογές Μελέτης Ευχρηστίας»

Θέμα: «Διαδικτιακές Εφαρμογές Μελέτης Ευχρηστίας» Θέμα: «Διαδικτιακές Εφαρμογές Μελέτης Ευχρηστίας» Επιβλέπων: Συρμακέσης Σπύρος e-mail: syrma@teimes.gr τηλ: 26310-XXXXX Στόχος είναι η εκμάθηση εργαλείων ελέγχου ευχρηστίας στο διαδίκτυο. Βιβλιογραφική

Διαβάστε περισσότερα

Διαχείριση Εφοδιαστικής Αλυσίδας

Διαχείριση Εφοδιαστικής Αλυσίδας Διαχείριση Εφοδιαστικής Αλυσίδας 1 η Διάλεξη: Βασικές Έννοιες στην Εφοδιαστική Αλυσίδα - Εξυπηρέτηση Πελατών 2015 Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών Ατζέντα Εισαγωγή στη Διοίκηση

Διαβάστε περισσότερα

Ολοκληρωμένο, Σταθερό, Γρήγορο, Επεκτάσιμο

Ολοκληρωμένο, Σταθερό, Γρήγορο, Επεκτάσιμο Ολοκληρωμένο, Σταθερό, Γρήγορο, Επεκτάσιμο Περιβάλλον ανάπτυξης Τεχνολογία ROADS Ενσωματωμένες τεχνολογίες αιχμής Ανάπτυξη λύσεων από εταιρίες ISV Προηγμένο σύστημα αυτοέλεγχου και υποστήριξης Νέο user

Διαβάστε περισσότερα

Περιπτώσεις αλλαγής Λογιστικού Σχεδίου.

Περιπτώσεις αλλαγής Λογιστικού Σχεδίου. Μετατροπή Κωδικοποίησης Λογιστικού Σχεδίου Παράµετρος & Προτιµήσεις Εργασίες Έναρξης Οικονοµικές Χρήσεις Μετατροπή Κωδικοποίησης Λογιστικού Σχεδίου Μέσω της εργασίας αυτής, αναλύεται ο τρόπος µε τον οποίο

Διαβάστε περισσότερα

01 SOLUTIONS HELLAS Ε.Π.Ε. Χελμού 20, 151 25 Μαρούσι Αττικής Τηλ 215 55 00 880 FAX 215 55 00 883. Ηλεκτρονικό Πρωτόκολλο & Διακίνηση Εγγράφων

01 SOLUTIONS HELLAS Ε.Π.Ε. Χελμού 20, 151 25 Μαρούσι Αττικής Τηλ 215 55 00 880 FAX 215 55 00 883. Ηλεκτρονικό Πρωτόκολλο & Διακίνηση Εγγράφων 01 SOLUTIONS HELLAS Ε.Π.Ε. Χελμού 20, 151 25 Μαρούσι Αττικής Τηλ 215 55 00 880 FAX 215 55 00 883 e Prtcl-01 Ηλεκτρονικό Πρωτόκολλο & Διακίνηση Εγγράφων Συνοπτική Παρουσίαση Το σύστημα e Prtcl-01 Το σύστημα

Διαβάστε περισσότερα

http://www.gunet.gr/09_02.php

http://www.gunet.gr/09_02.php ΑΚΑΔΗΜΑΪΚΟ ΔΙΑΔΙΚΤΥΟ ΚΕΝΤΡΟ ΛΕΙΤΟΥΡΓΙΑΣ & ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥΠΟΛΗ 157 84 ΑΘΗΝΑ ΤΗΛ.: (210) 7275611 FAX: (210) 7275601 www.gunet.gr ΑΠΟΤΕΛΕΣΜΑΤΑ ΔΙΑΒΟΥΛΕΥΣΗΣ Κωδ ΟΠΣ (MIS)

Διαβάστε περισσότερα

GoDigital.Store E-Commerce Platform

GoDigital.Store E-Commerce Platform GoDigital.Store E-Commerce Platform Πλήρης διαχείριση καταλόγου και καταστήματος banet Α.Ε. Βαλαωρίτου 20 54625 Θεσσαλονίκη Τ.2310253999 F.2310253998 www.banet.gr info@banet.gr GoDigital.Store Γενική περιγραφή

Διαβάστε περισσότερα

Επιχειρησιακό Πρόγραμμα «Κοινωνία της Πληροφορίας» (ΕΠ ΚτΠ) Δράση e-services

Επιχειρησιακό Πρόγραμμα «Κοινωνία της Πληροφορίας» (ΕΠ ΚτΠ) Δράση e-services Η ΑΞΙΑ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Επιχειρησιακό Πρόγραμμα «Κοινωνία της Πληροφορίας» (ΕΠ ΚτΠ) Δράση e-services BYTE COMPUTER ΑΒΕΕ ΚΑΛΛΙΡΡΟΗΣ 98 & ΤΡΙΒΟΛΗ, 117 41 ΑΘΗΝΑ ΤΗΛ.: 210 900 2000, FAX.: 210 924 4084 E-MAIL:

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Cloud ERP. Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας

Cloud ERP. Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας Cloud ERP Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας για µια ανοικτή επιχείρηση... Με τις προκλήσεις της αγοράς να αυξάνονται διαρκώς, κάθε επιχείρηση, ανεξαρτήτως μεγέθους και κλάδου δραστηριοποίησης,

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Τεχνική υποστήριξη λογισμικού HP

Τεχνική υποστήριξη λογισμικού HP Τεχνική υποστήριξη λογισμικού HP Τεχνολογικές υπηρεσίες HP βάσει συμβολαίου Τεχνικά δεδομένα Η τεχνική υποστήριξη λογισμικού HP παρέχει ολοκληρωμένες υπηρεσίες απομακρυσμένης υποστήριξης για προϊόντα λογισμικού

Διαβάστε περισσότερα

Information Technology for Business

Information Technology for Business Information Technology for Business Lecturer: N. Kyritsis, MBA, Ph.D. Candidate e-mail: kyritsis@ist.edu.gr Computer System Hardware Υποδομή του Information Technology Υλικό Υπολογιστών (Hardware) Λογισμικό

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ

ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ σελ. 1 Κατανοώντας το Ηλεκτρονικό Εμπόριο Τι είναι; Ο όρος ηλεκτρονικό εμπόριο (e-commerce) αφορά στις επιχειρήσεις

Διαβάστε περισσότερα

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. PROXY SERVER Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. Αποτελεσματικό εργαλείο για την απόκρυψη των εσωτερικών λεπτομερειών και διευθύνσεων IP του δικτύου. Αυξάνει τη συνολική

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΕΥΝΑ ΥΠΗΡΕΣΙΕΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΑΣΥΡΜΑΤΩΝ ΔΙΚΤΥΩΝ ΙΩΑΝΝΟΥ ΓΕΩΡΓΙΟΣ ΛΕΥΚΩΣΙΑ-ΚΥΠΡΟΣ

ΠΤΥΧΙΑΚΗ ΕΡΕΥΝΑ ΥΠΗΡΕΣΙΕΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΑΣΥΡΜΑΤΩΝ ΔΙΚΤΥΩΝ ΙΩΑΝΝΟΥ ΓΕΩΡΓΙΟΣ ΛΕΥΚΩΣΙΑ-ΚΥΠΡΟΣ ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΠΤΥΧΙΑΚΗ ΕΡΕΥΝΑ ΙΩΑΝΝΟΥ ΓΕΩΡΓΙΟΣ ΛΕΥΚΩΣΙΑ-ΚΥΠΡΟΣ 1 ΠΡΟΛΟΓΟΣ Δυο από τα σημαντικότερα επιτεύγματα της τεχνολογίας είναι:

Διαβάστε περισσότερα

ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΠΟΡΩΝ

ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΠΟΡΩΝ ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΠΟΡΩΝ ΠΕΡΙΕΧΟΜΕΝΑ 1. ERP Τι Είναι - Χαρακτηριστικά Οφέλη από την Εφαρµογή τους 2. Μεθοδολογική Προσέγγιση Επιλογής & Υλοποίησης Συστηµάτων ERP

Διαβάστε περισσότερα

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

Διαβάστε περισσότερα

1 Cosmos Business Systems SA Cosmos Consulting SA Software Solutions

1 Cosmos Business Systems SA Cosmos Consulting SA Software Solutions 1 Cosmos Business Systems SA Cosmos Consulting SA Software Solutions Microsoft Dynamics CRM Τι είναι; Το CRM αποτελεί το τεχνολογικό εργαλείο για την υλοποίηση ενιαίας, πελατοκεντρικής επιχειρηματικής

Διαβάστε περισσότερα

ΟΙ ΨΗΦΙΑΚΕΣ ΕΙΚΟΝΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ ΩΣ ΔΟΜΕΣ ΣΤΗΡΙΞΗΣ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΈΡΓΟΥ

ΟΙ ΨΗΦΙΑΚΕΣ ΕΙΚΟΝΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ ΩΣ ΔΟΜΕΣ ΣΤΗΡΙΞΗΣ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΈΡΓΟΥ 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 351 ΟΙ ΨΗΦΙΑΚΕΣ ΕΙΚΟΝΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ ΩΣ ΔΟΜΕΣ ΣΤΗΡΙΞΗΣ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΈΡΓΟΥ Τζουμάκας Βασίλης Καθηγητής Πληροφορικής στο Παπαστράτειο Γυμνάσιο Αγρινίου vtzoum@sch.gr

Διαβάστε περισσότερα

οικονομικές τάσεις Εκτεταμένη συνεργασία της εφοδιαστικής αλυσίδας. έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Παγκόσμιες

οικονομικές τάσεις Εκτεταμένη συνεργασία της εφοδιαστικής αλυσίδας. έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Παγκόσμιες Συνοπτική παρουσίαση του ευνητικού έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Ενοποίηση τρίτων παρόχων υπηρεσιών με ολόκληρη την εφοδιαστική αλυσίδα σε πολυλειτουργικές πλατφόρμες

Διαβάστε περισσότερα

Πρόγραµµα για την ενίσχυση των επιχειρήσεων λιανεµπορίου

Πρόγραµµα για την ενίσχυση των επιχειρήσεων λιανεµπορίου Πρόγραµµα για την ενίσχυση των επιχειρήσεων λιανεµπορίου Το πρόγραµµα Digi-Retail απευθύνεται σε όλες τις επιχειρήσεις, που ανεξάρτητα από τη νοµική τους µορφή, ασκούν οικονοµική δραστηριότητα στους τοµείς

Διαβάστε περισσότερα

Οι διαδικασίες ενος CMS είναι σχεδιασμένες για να:

Οι διαδικασίες ενος CMS είναι σχεδιασμένες για να: CMS Content Management System Σύστημα Διαχείρισης Περιεχομένου Ένα σύστημα διαχείρισης περιεχομένου (CMS) είναι μια συλλογή απο διαδικασίες που χρησιμοποιούνται για τη διαχείριση της ροής εργασίας σε ένα

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

Διαβάστε περισσότερα

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα