Επιβλέπων καθηγητής : Μαρίνος Θεμιστοκλέους (Επίκουρος Καθηγητής)

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

Download "Επιβλέπων καθηγητής : Μαρίνος Θεμιστοκλέους (Επίκουρος Καθηγητής)"

Transcript

1 ΘΕΜΑ: ΑΝΑΛΥΣΗ, ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΔΗΜΙΟΥΡΓΙΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ ΝΑΘΑΝΑΗΛ ΗΛΙΑΣ Α.Μ. : ΕΜ/07068 Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρόγραμμα Μεταπτυχιακών Σπουδών Κατεύθυνση :Ψηφιακών Επικοινωνιών & Δικτύων Επιβλέπων καθηγητής : Μαρίνος Θεμιστοκλέους (Επίκουρος Καθηγητής) ΠΕΙΡΑΙΑΣ

2 ΕΥΧΑΡΙΣΤΙΕΣ Επιθυμώ να ευχαριστήσω θερμά όλους εκείνους που συνέβαλαν με οποιονδήποτε τρόπο στην αποπεράτωση της εργασίας μου και ιδιαίτερες ευχαριστίες εκφράζω: Στον Επίκουρο καθηγητή Μαρίνο Θεμιστοκλέους για τη επίβλεψη και την αμέριστη και αδιάκοπη βοήθεια που μου παρείχε ώστε να τελειώσει η παρούσα Διπλωματική. Επίσης θέλω να ευχαριστήσω την οικογένεια μου και την κοπέλα μου Κωνσταντίνα Παπαδοπούλου για την ψυχολογική υποστήριξη που μου παρείχαν κατά την διάρκεια της συγγραφής της. 1

3 Πίνακας περιεχομένων Ευχαριστίες..1 Πίνακας περιεχομένων Εισαγωγή Ηλεκτρονικό Εμπόριο Πρώιμη εξέλιξη Μορφές Ηλεκτρονικού Εμπορίου Απαιτήσεις Εφαρμογών Ηλεκτρονικού Εμπορίου Λειτουργικότητα και αμεσότητα εφαρμογών Ασφάλεια Ευκολία στην ανάπτυξη και Επαναχρησιμοποίηση κώδικα Τεχνολογίες για Service Oriented Architecture Ηλεκτρονική Ανταλλαγή Δεδομένων (EDI - Electronic Data Interchange) Corba Java RMI Υπηρεσίες Ιστού Υπηρεσίες Ιστού Εισαγωγή στις Υπηρεσίες Ιστού Κύριες τεχνολογίες των Υπηρεσιών Ιστού XML-RPC Βασικές τεχνολογίες Web Services Simple Object Access Protocol (SOAP) Η αίτηση SOAP Η απάντηση SOAP Στοιχεία του μηνύματος SOAP Τύποι δεδομένων του SOAP Web Service Description Language (WSDL) Τύποι δεδομένων του SOAP Universal Description, Discovery, Integration (UDDI)

4 Ασφάλεια στις Υπηρεσίες Ιστού Χαρακτηριστικά Ασφάλειας και Κρυπτογράφησης...43 Μελέτη Περίπτωσης: Κατασκευή Υποσυστήματος Ηλεκτρονικού Καταστήματος Παρουσίαση Προβλήματος Σχεδιασμός Υποσυστήματος Σχεδιασμός Βάσης Δεδομένων Σχεδιασμός Υπηρεσιών Ιστού Υλοποίηση των Υπηρεσιών Ιστού Εργαλεία και Τεχνολογίες για την ανάπτυξη των Υπηρεσιών Ιστού Eclipse MySQL Server Υλοποίηση των Web Services Δοκιμές συστήματος και στιγμιότυπα λειτουργίας Επίλογος...84 Βιβλιογραφικές πηγές...86 ΠΑΡΑΡΤΗΜΑ ΚΩΔΙΚΑΣ

5 1. Εισαγωγή Η ανάγκη για το ηλεκτρονικό εμπόριο προέκυψε από την απαίτηση των επιχειρήσεων (για λόγους απόκτησης ανταγωνιστικού πλεονεκτήματος) και των κυβερνήσεων (για λόγους επικράτησης ανταγωνιστικότερων όρων λειτουργίας της αγοράς) για καλύτερη χρήση της τεχνολογίας των υπολογιστών και των τηλεπικοινωνιών ώστε να βελτιωθούν οι σχέσεις αμφίδρομης επικοινωνίας με τους πολίτες/καταναλωτές/πελάτες, οι επιχειρηματικές διεργασίες και η ανταλλαγή πληροφοριών ενδοεπιχειρησιακά, αλλά και κυρίως μεταξύ των επιχειρήσεων. Η τεχνολογία και ειδικότερα το ηλεκτρονικό εμπόριο παρέχει ευέλικτες και ολοκληρωμένες λύσεις προώθησης των επιχειρήσεων στις επιθυμητές αγορές (target markets) παρεμβαίνοντας ευεργετικά σε κάθε στάδιο της αλυσίδας της αξίας τους (value chain). Το ηλεκτρονικό εμπόριο μπορεί να οριστεί ως ένα σύνολο επιχειρηματικών και διεπιχειρησιακών στρατηγικών καθώς και μοντέλων ολοκλήρωσης που μπορούν να υποστηρίξουν όλους τουs τομείς επιχειρηματικής δραστηριότητας, μέσω της χρήσης νέων τεχνολογιών και κατάλληλων τηλεπικοινωνιακών υποδομών Το ηλεκτρονικό εμπόριο έχει αναπτυχθεί ραγδαία τα τελευταία χρόνια. Στα πλαίσια της εργασίας αυτής εξετάζεται η ανάπτυξη και οι απαιτήσεις του Ηλεκτρονικού Εμπορίου. Γίνεται ιδιαίτερη αναφορά και επικέντρωση σε ένα ιδιαίτερο κομμάτι του Ηλεκτρονικού Εμπορίου, τις συναλλαγές μεταξύ διαφορετικών τμημάτων μιας επιχείρησης και τις συναλλαγές μεταξύ επιχειρήσεων (Business-to-Business Β2Β). Θα γίνει βιβλιογραφική αναφορά για το Ηλεκτρονικό εμπόριο, τις κατηγορίες του και τις τεχνολογικές του απαιτήσεις. Στη συνέχεια, επικεντρώνοντας στο Β2Β, θα παρουσιαστούν διάφορες τεχνολογικές λύσεις και ειδικότερα η λύση των Υπηρεσιών Ιστού (Web Services) που φαίνεται να είναι η ενδεδειγμένη. 4

6 Θα γίνει ιδιαίτερα εκτενής παρουσίαση στις τεχνολογίες των Υπηρεσιών Ιστού, επιδεικνύοντας όλα τα πλεονεκτήματα που εμφανίζουν και καθιστούν τη χρήση συστημάτων B2B εύκολα στην ανάπτυξη, συντήρηση και χρήση. Στα πλαίσια της εργασίας αυτής σχεδιάζεται και αναπτύσσεται το backend τμήμα ενός ηλεκτρονικού καταστήματος βασισμένο σε Web Services. Ο σχεδιασμός και ανάπτυξη του υποσυστήματος αυτού έχει στόχο να επιδείξει και να επαληθεύσει τα πλεονεκτήματα της χρήσης Υπηρεσιών Ιστού. Πιο συγκεκριμένα, αναπτύσεται ένα λογισμικό middleware το οποίο λειτουργεί με την αρχή του πελάτη-εξυπηρετητή, όπου τα διάφορα καταστήματα (frontend) μιλούν με τη χρήση του Web Service Client στο κεντρικό κατάστημα όπου βρίσκεται το Web Service και η βάση δεδομένων (back-end). Το Web Service αποθηκεύει και ανακτά πληροφορίες από τη βάση δεδομένων σύμφωνα με τις κλήσεις από τους Web Service Clients. Το πρόβλημα που καλείται να λύσει το λογισμικό που θα αναπτυχθεί είναι η ασφαλής, αξιόπιστη και ταχύτατη επικοινωνία απομακρυσμένων συστημάτων μιας επιχείρησης. Επίσης, η εταιρία θέλει να αναπτύξει διεπαφές για την ανάπτυξη B2B δραστηριότητας. Η δομή της εργασίας συνοψίζεται στο παρακάτω διάγραμμα: 5

7 6

8 2. Ηλεκτρονικό Εμπόριο Το ηλεκτρονικό εμπόριο έχει αναπτυχθεί ραγδαία τα τελευταία χρόνια. Ως ηλεκτρονικό εμπόριο ορίζεται κάθε είδος εμπορικής συναλλαγής μεταξύ προσώπων (φυσικών και μη) που πραγματοποιείται με ηλεκτρονικά μέσα. Πρόκειται για την αγοραπωλησία αγαθών, πληροφοριών και υπηρεσιών μέσα από δίκτυα ηλεκτρονικών υπολογιστών, χωρίς την ανάγκη για φυσική παρουσία και χωρίς τη χρήση χαρτιού. Το ηλεκτρονικό εμπόριο μπορεί επίσης να περιγραφεί κάτω από τέσσερις διαφορετικές οπτικές, δίνοντας βάση κάθε φορά στους εξής παράγοντες: επιχειρήσεις, υπηρεσίες, απόσταση, επικοινωνία. Πιο συγκεκριμένα, επηρεάζει δραματικά τον τρόπο λειτουργίας των επιχειρήσεων, καθώς η εφαρμογή του αυτοματοποιεί τις συναλλαγές ανάμεσα σε εταιρίες και πελάτες, αλλά και ανάμεσα σε ξεχωριστές εταιρίες που συμμετέχουν στην αλυσίδα παραγωγής ενός προϊόντος ή υπηρεσίας. Παράλληλα, αυτοματοποιεί σε μεγάλο βαθμό τη ροή εργασιών και μέσα στην ίδια την εταιρία. Το ηλεκτρονικό εμπόριο μπορεί να περιγραφεί και ως μηχανισμός παροχής καλύτερης ποιότητας υπηρεσιών καθώς προσφέρει μεγαλύτερη ταχύτητα εκτέλεσης συναλλαγών και (συνήθως) μικρότερο κόστος. Παράλληλα δίνει τη δυνατότητα αγοραπωλησίας προϊόντων και υπηρεσιών μέσω του Διαδικτύου που θα ήταν αδύνατο να γίνουν διαφορετικά λόγω της γεωγραφικής απόστασης. 7

9 2.1. Πρώιμη εξέλιξη Η έννοια του ηλεκτρονικού εμπορίου έχει αλλάξει τα τελευταία 30 χρόνια. Αρχικά, το ηλεκτρονικό εμπόριο σήμαινε τη διευκόλυνση των εμπορικών συναλλαγών ηλεκτρονικά, μέσω τεχνολογίας όπως το Electronic Data Interchange (EDI) και την ηλεκτρονική μεταφορά χρημάτων ( Electronic Funds Transfer - EFT). Αυτές οι τεχνολογίες εισήχθησαν στα τέλη της δεκαετίας του 1970, επιτρέποντας στις επιχειρήσεις να αποστέλλουν έγγραφα όπως εντολές αγοράς ή τιμολογίων με ηλεκτρονικά μέσα. Η ανάπτυξη και η αποδοχή των πιστωτικών καρτών, των ATM και των τραπεζικών συναλλαγών μέσω τηλεφώνου (telephone banking) κατά τη δεκαετία του 1980 ήταν επίσης μορφές ηλεκτρονικού εμπορίου. Μια άλλη μορφή του ηλεκτρονικού εμπορίου ήταν το σύστημα κράτησης θέσεων αεροπορικών εταιρειών. Το Online shopping, μια μορφή ηλεκτρονικού εμπορίου, είναι προγενέστερη του Παγκόσμιου Ιστού (WWW). Το 1979 ο Michael Aldrich, ένας Άγγλος εφευρέτης, σύνδεσε με τροποποιημένη έγχρωμη τηλεόραση 26 " με έναν υπολογιστή επεξεργασίας συναλλαγών σε πραγματικό χρόνο, μέσω μιας εσωτερικής τηλεφωνικής γραμμής και εφηύρε τις ηλεκτρονικές αγορές [1]. Ο Aldrich εφηύρε τόσο το online σύστημα αγορών όσο και την επιχειρηματική λογική για τη χρήση του. Το σύστημα του και οι ιδέες του αντιγράφηκαν από συστήματα του 1980 ήταν τόσο γρήγορα όσο σύγχρονα συστήματα αγορών στο internet. Χρησιμοποιούσαν dial-up και μισθωμένες τηλεφωνικές γραμμές καθώς τεχνολογία για ευρυζωνικές συνδέσεις δεν ήταν διαθέσιμη. Δεν πατεντάρισε ποτέ το σύστημά του και οι ιδέες του αποτελούν τη βάση των αγορών στο internet. Από τη δεκαετία του 1990 και μετά, το ηλεκτρονικό εμπόριο περιλαμβάνει επιπλέον Enterprise Resource Planning συστήματα (ERP), καθώς εξόρυξη δεδομένων (data mining και data warehousing). Το 1990, ο 8

10 Tim Berners-Lee εφεύρε τον περιηγητή ιστού (web browser) και οδήγησε στη δημιουργία του Παγκόσμιου Ιστού και της διάδοσης του Διαδικτύου [2]. Η δημιουργία εμπορικών επιχειρήσεων στο Διαδίκτυο ήταν αυστηρά απαγορευμένη μέχρι το 1991 [3]. Παρόλο που το Διαδίκτυο έγινε δημοφιλές σε όλο τον κόσμο γύρω στο 1994, χρειάστηκαν αρκετά χρόνια ώστε να δημιουργηθούν πρωτόκολλα ασφάλειας και τη χρήση του DSL που επιτρέπει τη συνεχή σύνδεση στο Internet για την ανάπτυξη του ηλεκτρονικού εμπορίου. Τη τελευταία δεκαετία, το ηλεκτρονικό εμπόριο έχει αναπτυχθεί ιδιαίτερα, καθώς άρχισε να σχετίζεται με την ικανότητα της αγοράς διαφόρων αγαθών μέσω του Διαδικτύου χρησιμοποιώντας ασφαλή πρωτόκολλα και υπηρεσίες ηλεκτρονικών πληρωμών Μορφές Ηλεκτρονικού Εμπορίου Επιγραμματικά οι μορφές Ηλεκτρονικού εμπορίου είναι οι Business to Consumer και Business to Business. Η μορφή Business to Consumer - B2C περιγράφει τις δραστηριότητες των επιχειρήσεων που εξυπηρετούν τους τελικούς καταναλωτές με προϊόντα ή / και υπηρεσίες. H Business to Business - B2B περιγράφει εμπορικές συναλλαγές μεταξύ επιχειρήσεων, όπως είναι μεταξύ ενός παραγωγού και ενός χονδρεμπόρου, ή μεταξύ ενός πωλητή χονδρικής και ενός λιανοπωλητή. Ένα παράδειγμα μιας συναλλαγής B2C θα ήταν ένα άτομο που αγοράζει ένα ζευγάρι παπούτσια από τον λιανοπωλητή. Οι συναλλαγές που οδήγησαν στην παπούτσια είναι διαθέσιμα για την αγορά, δηλαδή η αγορά των δερμάτινων ειδών, τα κορδόνια, καουτσούκ, κλπ. καθώς και την πώληση του παπουτσιού από το τσαγκάρη στον λιανοπωλητή θα μπορούσε να θεωρηθεί συναλλαγή Business to Business (B2B). 9

11 2.3. Απαιτήσεις Εφαρμογών Ηλεκτρονικού Εμπορίου Με την ανάπτυξη του ηλεκτρονικού εμπορίου δημιουργούνται αντίστοιχα διάφορες απαιτήσεις/προβλήματα που καλούνται να δώσουν οι διαθέσιμες τεχνολογικές λύσεις. Επιγραμματικά οι τεχνολογικές απαιτήσεις που έχει το Ηλεκτρονικό Εμπόριο είναι οι παρακάτω Λειτουργικότητα και αμεσότητα εφαρμογών Η πρώτη απαίτηση είναι η ευκολία στη χρήση. Ο χρήστης για να προτιμήσει τις ηλεκτρονικές συναλλαγές από τη φυσική παρουσία πρέπει να έχει συγκεκριμένα οφέλη από τη χρήση. Οι εφαρμογές πρέπει να είναι απλές στη χρήση, να χρησιμοποιούν όσο το δυνατόν λιγότερο εξειδικευμένο λογισμικό. Στην τεχνολογία λογισμικού, μια εφαρμογή Ιστού είναι μια εφαρμογή που προσεγγίζεται μέσω ενός φυλλομετρητή ιστοσελίδων (web browser) πάνω από το δίκτυο. Ένας φυλλομετρητής ιστοσελίδων είναι ένα λογισμικό που επιτρέπει στον χρήστη του να προβάλλει, και να αλληλεπιδρά με, κείμενα, εικόνες, βίντεο, μουσική, παιχνίδια και άλλες πληροφορίες συνήθως αναρτημένες σε μια ιστοσελίδα ενός ιστότοπου στον Παγκόσμιο Ιστό ή σε ένα τοπικό δίκτυο. Το κείμενο και οι εικόνες σε μια ιστοσελίδα μπορεί να περιέχουν συνδέσμους προς άλλες ιστοσελίδες του ίδιου ή διαφορετικού ιστότοπου. Ο φυλλομετρητής επιτρέπει στον χρήστη την γρήγορη και εύκολη πρόσβαση σε πληροφορίες που βρίσκονται σε διάφορες ιστοσελίδες και ιστότοπους εναλλάσσοντας τις ιστοσελίδες μέσω συνδέσμων (links). Η κύρια γλώσσα που χρησιμοποιείται από τις εφαρμογές ιστού και τους φυλλομετρητές είναι η γλώσσα μορφοποίησης HTML για την προβολή των ιστοσελίδων. Για την ανάπτυξη εφαρμογών που χρειάζονται περισσότερες διαδραστικά χαρακτηριστικά και δυνατότητες χρησιμοποιούνται και άλλες 10

12 γλώσσες προγραμματισμού παράλληλα με την HTML όπως η JavaScript η Java και η PHP. Οι εφαρμογές Ιστού είναι δημοφιλείς επειδή δεν υπάρχει σύγχρονο λειτουργικό σύστημα που προορίζεται για υπολογιστές γραφείου που να μην έχει προ-εγκατεστημένο έναν ή περισσότερους φυλλομετρητές. Οι φυλλλομετρητές ουσιαστικά αποτελούν λογισμικό πελάτη του δικτυακού πρωτοκόλλου επιπέδου εφαρμογών HTTP. Για κάθε web browser διατίθενται, επίσης, και αρκετά πρόσθετα στοιχεία (add-ons), με στόχο την επαύξηση των δυνατοτήτων τους, τη βελτίωση της χρηστικότητας τους και την προστασία του χρήστη σε θέματα ασφάλειας. και η ευκολία της χρησιμοποίησης μιας μηχανής αναζήτησης Ιστού ως πελάτη, αποκαλούμενη μερικές φορές λεπτό πελάτη. Η δυνατότητα να ενημερωθούν και να διατηρηθούν οι εφαρμογές Ιστού χωρίς τη διανομή και εγκατάσταση του λογισμικού ενδεχομένως σε χιλιάδες υπολογιστές πελατών είναι ένας βασικός λόγος για τη δημοτικότητά τους Ασφάλεια Υπάρχουν ιδιαίτερα αυστηρές απαιτήσεις στην ασφάλεια. Σε γενικές γραμμές υπάρχουν τρία διαφορετικά θέματα που αφορούν την ασφάλεια στην επικοινωνία ανάμεσα σε δυο απομακρυσμένα άκρα. Εμπιστευτικότητα Εάν ένας πελάτης στέλνει ένα XML αίτημα σε έναν εξυπηρετητή, το ερώτημα είναι πως μπορεί να διασφαλιστεί ότι η επικοινωνία παραμένει εμπιστευτική. Μια συνιθισμένη λύση στο πρόβλημα αυτό, στο χώρο των τεχνολογιών Ιστού, είναι το SSL (Secure Sockets Layer). Το SSL είναι ευρέως διαδεδομένο, χρησιμοποιείται πάνω από το HTTP, για τη δημιουργία συμμετρικής κρυπτογράφησης των πακέτων HTTP, αλλά όπως θα φανεί και στη συνέχεια δεν είναι πάντα η πιο αποδοτική λύση. 11

13 Πιστοποίηση Εάν ένας πελάτης συνδέεται σε μια Υπηρεσία Ιστού, το ερώτημα είναι πώς μπορεί αρχικά να γίνει ταυτοποίηση του χρήστη και στη συνέχεια να ελεγχθεί αν ο συγκεκριμένος χρηστης δικαιούται πρόσβαση στη συγκεκριμένη υπηρεσία. Μια μερική λύση είναι η αναγνώριση μέσω HTTP. Το HTTP περιλαμβάνει ενσωματωμένη υποστήριξη για την ανανγώριση της ταυτότητας ενός χρήστη. Δικτυακή ασφάλεια Η παροχή υπηρεσιών πάνω από το Διαδίκτυο δίνει τη δυνατότητα σε απομακρυσμένους πελάτες να καλέσουν (έστω και ελεγχόμενα) εντολές και διαδικασίες σε συστήματα, παρακάμπτοντας firewalls και συστήματα ασφαλείας. Στο πρόβλημα αυτό δεν υπάρχει απλή λύση, καθώς η ανάγκη για παροχή εξελιγμένων και πολύπλοκων υπηρεσιών και η ανάγκη για ασφάλεια πολλές φορές είναι αντίρροπες δυνάμεις στο σχεδιασμό ενός συστήματος Ευκολία στην ανάπτυξη και Επαναχρησιμοποίηση κώδικα Ειδικά για εφαρμογές τύπου B2B υπάρχει συχνά η απαίτηση για την επαναχρησιμοποίηση κώδικα, και την ανταλλαγή δεδομένων που βασίζονται σε Legacy εφαρμογές. Legacy εφαρμογές είναι αυτές οι εφαρμογές οι οποίες βασίζονται σε ξεπερασμένες τεχνολογίες και συστήματα, είναι δύσκολο ή αδύνατο να αναβαθμιστούν ή να προστεθεί σε αυτές νέα λειτουργικότητα, αλλά είναι απαραίτητο να λειτουργούν ακόμα. Συχνές περιπτώσεις τέτοιων εφαρμογών εμφανίζονται σε μεγάλα κεντρικά συστήματα όπως σε τράπεζες. Για τις εφαρμογές αυτές έχει δαπανηθεί μεγάλο ποσό στο παρελθόν και λόγω του μεγέθους και της κρισιμότητας είναι δύσκολο να αναβαθμιστούν. Συνεπώς, προκειμένου να συνεχίσουν να χρησιμοποιούνται οι Legacy 12

14 εφαρμογές αποδοτικά και σε καινούρια πλαίσια, είναι βολικό πολλές φορές να καλούνται απομακρυσμένα και ελεγχόμενα από σύγχρονες τεχνολογίες μεταφοράς δεδομένων για λόγους ασφάλειας και ευχρηστίας Τεχνολογίες για Service Oriented Architecture Η προσανατολισμένη στις υπηρεσίες αρχιτεκτονική (Service Oriented Architecture - SOA) είναι μια αρχιτεκτονική προσέγγιση με στόχευση στις επιχειρήσεις που υποστηρίζει την ενσωμάτωση επιχειρησιακού λογισμικού σε συνδεμένες υπηρεσίες [4]. Η αρχιτεκτονική SOA διαχωρίζει τις λειτουργίες σε ευδιάκριτες μονάδες, ή υπηρεσίες (υπηρεσίες Ιστού), οι οποίες είναι προσιτές πάνω από το δίκτυο έτσι ώστε μπορούν να συνδυαστούν και να επαναχρησιμοποιηθούν στην παραγωγή επιχειρηματικών εφαρμογών. Οι υπηρεσίες SOA και Ιστού είναι δύο διαφορετικές έννοιες, αλλά οι υπηρεσίες Ιστού είναι ο προτιμότερος και εξαιρετικά διαδεδομένος τρόπος εφαρμογής SOA. Η αρχιτεκτονική SOA είναι ένα καυτό θέμα στο επιχειρησιακό λογισμικό επειδή η χρήση της μπορεί να οδηγήσει στην οικοδόμηση (ή την επαναχρησιμοποίηση) εφαρμογών και συστημάτων καθιστώντας τα με τον τρόπο αυτό οικονομικά αποδοτικά. Τα σημαντικότερα πλεονεκτήματα της χρησιμοποίησης SOA απεικονίζονται [4][5] και συνοψίζονται στη συνέχεια: Δυνατότητα επαναχρησιμοποίησης Ίσως το σημαντικότερο προτέρημα της αρχιτεκτονικής SOA είναι η δυνατότητα να επαναχρησιμοποιηθούν υπάρχουσες υπηρεσίες. Οι υπεύθυνοι για την ανάπτυξη μέσα σε μια επιχείρηση και ανάμεσα σε επιχειρήσεις (ιδιαίτερα, στις επιχειρησιακές συνεργασίες) μπορούν να επαναχρησιμοποιήσουν τον υπάρχοντα κώδικα που αναπτύσσεται για τις επιχειρηματικές εφαρμογές, προσαρμόζοντάς τον ως υπηρεσίες Ιστού ώστε να καλυφθούν οι νέες επιχειρησιακές απαιτήσεις. Αυτή η διαδικασία μπορεί να 13

15 οδηγήσει σε σημαντική αποταμίευση στη ανάπτυξη εφαρμογών από την άποψη του χρόνου και του κόστους. Το όφελος της δυνατότητας επαναχρησιμοποίησης κώδικα γίνεται σημαντικότερο δεδομένου ότι όλο και περισσότερες εφαρμογές πρέπει να δημοσιευθούν ως υπηρεσίες Ιστού στο Διαδίκτυο. Ένα σοβαρό πρόβλημα σε αυτήν την περίπτωση είναι ότι αυτές οι υπάρχουσες εφαρμογές μπορούν να χτιστούν στα διάφορα συστήματα και να αναπτυχθούν κάτω από τις ετερογενείς πλατφόρμες λογισμικού. Μερικές φορές, ακόμη και διαφορετικά τμήματα μέσα στην ίδια επιχείρηση, μπορούν να έχουν εφαρμογές με τα μοναδικά χαρακτηριστικά που τρέχουν σε διαφορετικά λειτουργικά περιβάλλοντα, να έχουν αναπτυχθεί σε διαφορετικές γλώσσες, χρησιμοποιούν διαφορετικές προγραμματιστικές διεπαφές και ενδεχομένως δυαδικά πρωτόκολλα που είναι κλειστά (proprietary, platform specific). Στην αρχιτεκτονική SOA και (στις υπηρεσίες Ιστού συγκεκριμένα), το μόνο χαρακτηριστικό που απαιτείται είναι μια δημόσια διεπαφή (interface) της υπηρεσίας, έτσι η παροχή της πρόσβασης στις λειτουργίες ενός συστήματος, -ακόμη και σε ένα απαρχαιωμένο (legacy system) - γίνεται ανώδυνη. Διαλειτουργικότητα Ένα άλλο σημαντικό πλεονέκτημα της αρχιτεκτονικής SOA είναι η διαλειτουργικότητα. Με άλλα λόγια, ο στόχος είναι να υπάρχει αδιαφανής και απροβλημάτιστη επικοινωνία ανάμεσα σε πελάτες ανεξάρτητα από το πόσο ετερογενείς είναι. Αυτός ο στόχος μπορεί να επιτευχθεί μόνο εάν οι πελάτες και οι υπηρεσίες έχουν έναν τυποποιημένο τρόπο επικοινωνίας ο ένας με τον άλλον. Στην πραγματικότητα, οι υπηρεσίες Ιστού προσφέρουν ένα σύνολο πρωτοκόλλων και τεχνολογιών που γίνονται αποδεκτά ευρέως και που είναι ανεξάρτητα πλατφόρμας, συστήματος, και γλώσσας προγραμματισμού. Ευελιξία 14

16 Η αρχιτεκτονική SOA παρέχει ευελιξία επειδή οι υπηρεσίες Ιστού που απαιτούνται από μια συγκεκριμένη εφαρμογή συνδέονται με χαλαρούς δεσμούς. Σε μια αρχιτεκτονική όπου οι διαθέσιμες λειτουργίες συνδέονται στενά, διαφορετικά τμήματα (components) μιας εφαρμογής είναι έντονα συνδεδεμένα το ένα στο άλλο δεδομένου ότι μοιράζονται βιβλιοθήκες, ενότητες κώδικα και συχνά ακόμη και την κατάσταση. Αυτές οι εξαρτήσεις αποτρέπουν τις εφαρμογές από να εξελιχθούν ανάλογα με τις μεταβαλλόμενες επιχειρησιακές απαιτήσεις. Εντούτοις, φύση των υπηρεσιών Ιστού, η οποία είναι βασισμένη στη γλώσσα XML, έχει χαλαρούς δεσμούς ανάμεσα σε διαφορετικές λειτουργίες και στερείται κατάστασης, προσφέρει ευελιξία στις εφαρμογές, και τη δυνατότητα να εξελιχθούν με τις τρέχουσες απαιτήσεις Ηλεκτρονική Ανταλλαγή Δεδομένων (EDI - Electronic Data Interchange) Το EDI δημιουργήθηκε στις αρχές της δεκαετίας του '70 και είναι μια κοινή δομή αρχείων που σχεδιάστηκε ώστε να επιτρέψει σε μεγάλους οργανισμούς να μεταδίδουν πληροφορίες μέσα από μεγάλα ιδιωτικά δίκτυα [6]. Πρόκειται για την ηλεκτρονική ανταλλαγή εμπορικών και διοικητικών δεδομένων από υπολογιστή σε υπολογιστή, με την ελάχιστη παρέμβαση χειρόγραφων διαδικασιών. Τα δεδομένα αυτά είναι οργανωμένα σε αυτοτελή μηνύματα (τιμολόγια, παραγγελίες, τιμοκατάλογοι, φορτωτικές κλπ.), το περιεχόμενο και η δομή των οποίων καθορίζονται από κάποιο κοινώς αποδεκτό πρότυπο. Τα πρότυπα που χρησιμοποιούνται σε παγκόσμιο επίπεδο προέρχονται από τον Οργανισμό Ηνωμένων Εθνών και καλύπτουν ένα ευρύ φάσμα επικοινωνιακών αναγκών των εμπορικών εταιριών. Το πρότυπο αυτό είναι το EDIFACT (EDI For Administration, Commerce and Transportation). 15

17 Corba H Corba είναι ένα σύνολο από πρότυπα και πρωτόκολλα για σχεδιασμένη για την παροχή επικοινωνία μεταξύ διεργασιών σε ετερογενή περιβάλλοντα [7]. Εμφανίστηκε το Στόχος ήταν με την CORBA οι προγραμματιστές να μπορούν εύκολα να "συνδέσουν" εφαρμογές που τρέχουν σε διαφορετικές μηχανές, με διαφορετικά λειτουργικά συστήματα και είναι γραμμένες σε διαφορετικές γλώσσες προγραμματισμού. Πιο συγκεκριμένα η Corba ορίζει προδιαγραφές για τον καθορισμό των συμβάσεων και τα πρωτόκολλων που πρέπει να ακολουθούνται από τις υλοποιήσεις της. Υποστηρίζονται μια πληθώρα από λειτουργικά συστήματα (UNIX, Windows,...) και γλώσσες προγραμματισμού (JAVA, C++, C, Ada, Lisp...). Η ιδέα πίσω από τη χρήση της είναι ότι ο συγκεκριμένος τρόπος που θα υλοποιηθούν οι προδιαγραφές επαφίεται στους κατασκευαστές. Η αρχιτεκτονική της Corba βασίζεται σε αντικείμενα. Πιο συγκεκριμένα, μια εφαρμογή CORBA χτίζεται από αντικείμενα (Objects). Τα αντικείμενα μπορούν να βρίσκονται διεσπαρμένα σε διάφορες μηχανές με κάθε ένα να υλοποιεί μια συγκεκριμένη σαφώς καθορισμένη λειτουργία. Η διαχείριση των αντικειμένων γίνεται με το ORB (Object Request Broker) το οποίο είναι η καρδιά ενός συστήματος CORBA και αποτελεί τον μεσάζοντα μεταξύ των αντικειμένων. Μάλιστα, προκειμένου να υπάρχει αποδοτικότερη κατανομή των πόρων, προβλέπεται πολλαπλά ORB να επικοινωνούν σε ένα κατανεμημένο περιβάλλον. Οι υπηρεσίες που προσφέρονται μέσω της Corba προσφέρουν στα αντικείμενα έτοιμη λειτουργικότητα ενώ η υλοποίησή τους από ένα ORB είναι προαιρετική. Οι υπηρεσίες που παρέχονται από τη Corba είναι ονομαστικά οι παρακάτω: Naming, Event, Life Cycle, Trader, Transaction, Concurrency, Security, Persistence, Externalization, Query, Collection, Relationship, Time, 16

18 Properties, Licensing. Οι βασικές υπηρεσίες που συνήθως παρέχονται είναι οι Naming, Event και Trader. Η Επικοινωνία μεταξύ ORB γίνεται με το πρωτόκολλο General Inter- Orb Protocol (GIOP). Οι παράμετροι και τα αποτελέσματα μεταφέρονται μεταξύ των αντικειμένων, σε μηνύματα GIOP χρησιμοποιώντας το πρωτόκολλο Common Data Representation (CDR). Η μετάδοση μηνυμάτων GIOP γίνεται μέσω TCP/IP. Η γλώσσα που χρησιμοποιείται για τον καθορισμό των μεθόδων και των παραμέτρων που περικλείει ένα αντικείμενο είναι η Interface Definition Language (IDL). Είναι ανεξάρτητη της γλώσσα προγραμματισμού που θα χρησιμοποιηθεί τελικά για την υλοποίηση και έχει παρόμοια δομή με C++, Java. Η εφαρμογή γράφεται στη γλώσσα IDL και στη συνέχεια γίνεται compile με ειδικό compiler. Για κάθε γλώσσα προγραμματισμού και για κάθε ORB υπάρχει ένας συγκεκριμένος IDL compiler. Η διαδικασία αυτή περιγράφεται στο παρακάτω σχήμα: Σχήμα 1 Χρήση της IDL ΠΗΓΗ: The official CORBA standard from the OMG group" 17

19 Java RMI Η τεχνολογία Απομακρυσμένης Επίκληση Μεθόδων (Java RMI) [8], επιτρέπει στον προγραμματιστή να δημιουργήσει κατανεμημένες Java εφαρμογές, στις οποίες οι μέθοδοι των απομακρυσμένων αντικειμένων Java μπορεί να καλεστούν από διαφορετικά Java virtual machines (JVM), που μπορεί να φιλοξενούνται σε διαφορετικά συστήματα. Το RMI χρησιμοποιεί object serialization για την αποστολή και λήψη παραμέτρων προσφέροντας ευκολία στην ανταλλαγή δεδομένων ανάμεσα σε απομακρυσμένα συστήματα. Το Java RMI επιτρέπει σε εφαρμογές την κλήση μεθόδων από απομακρυσμένα αντικείμενα. Για τη χρήση του RMI Απαιτείται η ύπαρξη ενός RMI client και ενός RMI server, ενώ παρέχεται μηχανισμός επικοινωνίας ανάμεσα στον Client και στον Server. Με τον τρόπο αυτό, δίνεται η δυνατότητα σε οποιοδήποτε αντικείμενο της Java να χρησιμοποιηθεί, ακόμα και αν ο RMI server δεν γνωρίζει εκ των προτέρων για την ύπαρξή του. Πιο συγκεκριμένα, μια τυπική εφαρμογή εξυπηρέτη δημιουργεί απομακρυσμένα αντικείμενα, αναφορές σε αυτά ώστε να είναι προσβάσιμα και περιμένει τους πελάτες να καλέσουν μεθόδους πάνω σε αυτά. Παράλληλα, μια τυπική εφαρμογή πελάτη καλεί μεθόδους πάνω σε απομακρυσμένα αντικείμενα μέσω μιας απομακρυσμένης αναφοράς. Για την εύρεση απομακρυσμένων αντικειμένων γίνεται χρήση του ενός κεντρικού καταλόγου (Registry). Πιο συγκεκριμένα, το RMI προσφέρει ένα απλό σχήμα ονοματοδοσίας, στο οποίο ένα απομακρυσμένο αντικείμενο δίνει στον εαυτό του ένα όνομα όταν τρέχει για πρώτη φορά. Στη συνέχεια καταχωρείται στο RMI registry με μια διαδικασία εγγραφής. Το registry συνδέει το όνομα του αντικειμένου (όχι το όνομα της κλάσης) και το ίδιο το αντικείμενο. Στη Java, όταν ένα απομακρυσμένο αντικείμενο εγγράφεται στο registry μίας συγκεκριμένης μηχανής, συνδέται με ένα αντικείμενο ονοματοδοσίας. Αν ένα πελάτης θέλει να χρησιμοποιήσει ένα αντικείμενο, το 18

20 οποίο βρίσκεται σε έναν απομακρυσμένο κόμβο (έστω κόμβος A), κάνει μία αναζήτηση στο Registry του κόμβου Α. Στη συνέχεια, χρησιμοποιεί το αποτέλεσμα της αναζήτησης για να συνδεθεί με το απομακρυσμένο αντικείμενο, και να παρεμβάλλει τις μεθόδους του. Η πραγματική ισχύς του RMI είναι η δυνατότητα δυναμικής φόρτωσης κλάσεων στον εξυπηρετητή. Πιο συγκεκριμένα, παρέχεται η δυνατότητα, ο πελάτης να στείλει στον εξυπηρετητή τη μέθοδο που επιθυμεί να εκτελεστεί. Για να γίνει αυτό θα πρέπει να υπάρχει και στον πελάτη εν λειτουργία εξυπηρετητής Web. Αν δεν υπάρχει εξυπηρετητής Web στο σύστημα, τότε το RMI εκτελεί αυτόματα ένα απλό εξυπηρετητή Web, για την ανταλλαγή μηνυμάτων και τη μεταφορά των κλάσεων Υπηρεσίες Ιστού Οι Υπηρεσίες Ιστού (Web Services) είναι μια τεχνολογία που επιτρέπει στις εφαρμογές να επικοινωνούν μεταξύ τους ανεξαρτήτως πλατφόρμας και γλώσσας προγραμματισμού. Ένα web service είναι μια διεπαφή λογισμικού (software interface) που περιγράφει μια συλλογή από λειτουργίες οι οποίες μπορούν να προσεγγιστούν από το δίκτυο μέσω πρότυπων μηνυμάτων XML. Χρησιμοποιεί πρότυπα βασισμένα στη γλώσσα XML για να περιγράψει μία λειτουργία (operation) προς εκτέλεση και τα δεδομένα προς ανταλλαγή με κάποια άλλη εφαρμογή. Οι υπηρεσίες Ιστού θα αναλυθούν διεξοδικά στη συνέχεια. 19

21 3. Υπηρεσίες Ιστού 3.1. Εισαγωγή στις Υπηρεσίες Ιστού Μια υπηρεσία Ιστού είναι ένα σύστημα λογισμικού με σκοπό την υποστήριξη τη διαλειτουργικής αλληλεπίδραση υπολογιστή με υπολογιστή πάνω από το δίκτυο. Είναι διαθέσιμη μέσω του Διαδικτύου, χρησιμοποιεί ένα τυποποιημένο σύστημα ανταλλαγής μηνυμάτων βασισμένο στην XML, και δεν είναι δεμένο σε οποιοδήποτε λειτουργικό σύστημα ή γλώσσα προγραμματισμού [1]. Αν και δεν απαιτούνται, μια υπηρεσία Ιστού πρέπει επίσης να έχει δύο άλλες σημαντικές ιδιότητες: Μια υπηρεσία Ιστού πρέπει να μπορεί να περιγράφει τον εαυτό της. Αυτό είναι απαραίτητο προκειμένου να μπορεί να βρεθεί η πληροφορία (το πρωτόκολλο) που απαιτείται για την επιτυχή επικοινωνία με την υπηρεσία. Για κάθε υπηρεσία Ιστού, κάποια πρέπει επίσης να μπορεί κανείς να δημιουργήσει μια δημόσια διεπαφή στην υπηρεσία. Επιπλέον, μια υπηρεσία Ιστού πρέπει επίσης να μπορεί να βρεθεί. Για να είναι αυτό δυνατό, πρέπει να υπάρξει κάποιος απλός μηχανισμός που παρέχεται στους ενδιαφερόμενους χρήστες, επιτρέποντας τους να ψάξουν για την υπηρεσία και να εντοπίσουν τη δημόσια διεπαφή της. Ο ακριβής μηχανισμός θα μπορούσε να είναι μέσω ενός εντελώς αποκεντρωμένου συστήματος ή ενός κεντρικού συστήματος καταλόγου όπως το UDDI. Η σχέση μεταξύ των προαναφερθεισών εννοιών των υπηρεσιών Ιστού απεικονίζεται στο επόμενο σχήμα. 20

22 Σχήμα 1 : Υπηρεσίες Ιστού Σχέση "Publish-Find-Bind" ΠΗΓΗ: Aldrich.M The Inventor's Story Aldrich Archive, University of Brighton Κύριες τεχνολογίες των Υπηρεσιών Ιστού Η διείσδυση υπηρεσιών Ιστού στο Διαδίκτυο έχει εξελιχθεί τόσο γρήγορα τα τελευταία έτη που διάφορες ανταγωνιστικές τεχνολογίες προσπαθούν να παρέχουν την ίδια λειτουργικότητα. Εντούτοις, προκειμένου να επιτευχθεί η παγκόσμια επιχειρησιακή ολοκλήρωση με το χρήστη των υπηρεσιών Ιστού, οι βασικές τεχνολογίες πρέπει να υποστηριχθούν από κάθε σημαντική εταιρεία λογισμικού στον κόσμο. Η επικοινωνία ανάμεσα σε πελάτη και εξυπηρετητή στον κόσμο των Υπηρεσιών Ιστού βασίζεται στην XML. H XML έχει εξελιχθεί και γνωρίσει τεράστια διάδοση τα τελευταία χρόνια. Έχει κερδίσει μεγάλη αποδοχή επειδή επιτρέπει σε διαφορετικά συστήματα ηλεκτρονικών υπολογιστών να μοιραστούν δεδομένα ευκολότερα, ανεξάρτητα από το λειτουργικό σύστημα ή τη γλώσσα προγραμματισμού που χρησιμοποιούν. Υπάρχουν δεκάδες εργαλεία XML, συμπεριλαμβανομένων parser και συντακτών που είναι διαθέσιμοι για σχεδόν κάθε λειτουργικό σύστημα και κάθε γλώσσα προγραμματισμούq: Java, Perl, Python, C#, C, C++, και λοιπά. Συνεπώς για την ανάπτυξη των υπηρεσιών Ιστού, η XML ήταν μια φυσική επιλογή. Υπάρχουν δύο κύριοι υποψήφια πρωτόκολλα για τη σύνταξη ενός μηνύματος XML: το XML-RPC και το SOAP. 21

23 XML-RPC Το XML-RPC είναι ένα απλό πρωτόκολλο που χρησιμοποιεί μηνύματα XML για να εκτελέσει RPCs. Ως RPC (Remote Procedure Call) καλείται η τεχνολογία η οποία επιτρέπει σε ένα υπολογιστικό σύστημα να καλέσει μια ρουτίνα σε ένα απομακρυσμένο σύστημα, χωρίς ο κώδικας της κλήσης να εξαρτάται από τη φύση του απομακρυσμένου συστήματος. To XML-RPC χρησιμοποιεί το πρωτόκολλο HTTP, το οποίο χρησιμοποιείται παραδοσιακά στο παγκόσμιο ιστό. Τα αιτήματα κωδικοποιούνται σε XML και στέλνονται μέσω HTTP POST. Οι απαντήσεις XML ενσωματώνονται στο σώμα της απάντησης HTTP. Επειδή το XML-RPC είναι ανεξάρτητο πλατφόρμας, επιτρέπει σε διαφορετικές εφαρμογές να επικοινωνήσουν μεταξύ τους. Παραδείγματος χάριν, ένας πελάτης της Java μπορεί να μιλήσει XML-RPC σε έναν εξυπηρετητή Perl. Ας δούμε το παρακάτω παράδειγμα που αφορά μια απλή υπηρεσία ενημέρωσης για τον καιρό. Η υπηρεσία αναμένει έναν ταχυδρομικό κώδικα και επιστρέφει την τρέχουσα θερμοκρασία για τη συγκεκριμένη περιοχή. Στη συνέχεια παρατίθεται ένα δείγμα αιτήματος σε XML-RPC στην υπηρεσία (επικεφαλίδες του HTTP παραλείπονται) [10]: <?xml version="1.0" encoding="iso "?> <methodcall> <methodname>weather.getweather</methodname> <params> <param><value>10016</value></param> </params> </methodcall> ΠΗΓΗ:Ethan Cerami, Web Services Essentials, O'Reilly, First Edition February

24 Το αίτημα αποτελείται από ένα από αντικείμενο methodcall που ορίζει το όνομα της υπηρεσίας και τις παραμέτρους της. Ακολουθεί το παράδειγμα απάντησης σε XML-RPC [10]. <?xml version="1.0" encoding="iso "?> <methodresponse> <params> <param> <value><int>65</int></value> </param> </params> </methodresponse> Η απάντηση αποτελείται από ένα από αντικείμενο methodresponce που ορίζει τη τιμή που επιστρέφεται. Στην περίπτωση αυτή η τιμή είναι ένας ακέραιος. Το XML-RPC είναι ο ευκολότερος τρόπος να χρησιμοποιήσει κανείς Υπηρεσίες Ιστού. Από πολλές απόψεις, είναι απλούστερο από το SOAP το οποίο θα παρουσιαστεί στη συνέχεια, και ευκολότερο να υιοθετήσει. Εντούτοις, αντίθετα από το SOAP, το XML-RPC δεν έχει καμία αντίστοιχη γραμματική περιγραφής υπηρεσιών. Αυτό αποτρέπει την αυτόματη επίκληση υπηρεσιών XML-RPC, η οποία είναι ένα βασικό συστατικό για τη διευκόλυνση ανάπτυξης εφαρμογών που βασίζονται στις Υπηρεσίες Ιστού Βασικές τεχνολογίες Web Services Τρεις αρχικές τεχνολογίες έχουν προκύψει ως παγκόσμια πρότυπα που αποτελούν τον πυρήνα των σύγχρονων τεχνολογιών Υπηρεσιών Ιστού. Αυτές οι τεχνολογίες είναι οι SOAP, WSDL, και UDDI [5]. 23

25 Το SOAP είναι ένα ελαφρύ πρωτόκολλο προοριζόμενο για την ανταλλαγή δομημένων πληροφοριών σε ένα αποκεντρωμένο, κατανεμημένο περιβάλλον [3]. Παρέχει μια τυποποιημένη δομή για τη μεταφορά εγγράφων XML πάνω από ποικίλες τυποποιημένες τεχνολογίες Διαδικτύου, συμπεριλαμβανομένου του SMTP, του HTTP, και του FTP. Παρέχοντας ένα τυποποιημένο μηχανισμό μεταφορών, οι ετερογενείς πελάτες και εξυπηρετητές, που αναπτύσσονται σε διαφορετικές πλατφόρμες (.NET, Java, PHP κ.λπ.) μπορούν ξαφνικά να γίνουν διαλειτουργικοί. Στο παρακάτω απόσπασμα φαίνεται ένα απλό SOAP request, με τις επικεφαλίδες του HTTP να έχουν παραληφθεί [10]: <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:getweather xmlns:ns1="urn:examples:weatherservice" SOAP-ENV:encodingStyle=" <zipcode xsi:type="xsd:string">10016</zipcode> </ns1:getweather> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ΠΗΓΗ:Ethan Cerami, Web Services Essentials, O'Reilly, First Edition February 2002 Όπως μπορεί να δει κανείς η αίτηση SOAP είναι κάπως πιο πολύπλοκη από το την αίτηση XML-RPC. Κάνει χρήση τόσο XML namespaces όσο και XML σχημάτων. Όπως σε μια κλήση XML-RPC, το σώμα του αιτήματος SOAP 24

26 περιγράφει τόσο το όνομα της μεθόδου, όσο και τη λίστα των παραμέτρων που δέχεται. Ακολουθεί το παράδειγμα απάντηση στην υπηρεσία καιρού [10]: <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:getweatherresponse xmlns:ns1="urn:examples:weatherservice" SOAP-ENV:encodingStyle=" <return xsi:type="xsd:int">65</return> </ns1:getweatherresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ΠΗΓΗ:Ethan Cerami, Web Services Essentials, O'Reilly, First Edition February 2002 To WSDL είναι μια τεχνολογία XML που περιγράφει τη διεπαφή μιας υπηρεσίας Ιστού με έναν τυποποιημένο τρόπο. Μέσω του WSDL, η σύνδεση πρωτοκόλλου της υπηρεσίας, οι παράμετροι εισαγωγής και παραγωγής της υπηρεσίας περιγράφονται, και ο τύπος της κλήσης (π.χ. μόνο είσοδος, είσοδος/έξοδος, κ.λπ.) είναι δημόσια και διαθέσιμα. Το WSDL επιτρέπει την αυτόματη δημιουργία ενός πελάτη υπηρεσιών Ιστού. Ακολουθεί ένα παράδειγμα κειμένου WSDL.Το κείμενο αυτό περιγράφει τη δημόσια διεπαφή για την υπηρεσία καιρού που παρουσιάστηκε προηγουμένως. 25

27 <?xml version="1.0" encoding="utf-8"?> <definitions name="weatherservice" targetnamespace=" xmlns=" xmlns:soap=" xmlns:tns=" xmlns:xsd=" <message name="getweatherrequest"> <part name="zipcode" type="xsd:string"/> </message> <message name="getweatherresponse"> <part name="temperature" type="xsd:int"/> </message> <porttype name="weather_porttype"> <operation name="getweather"> <input message="tns:getweatherrequest"/> <output message="tns:getweatherresponse"/> </operation> </porttype> <binding name="weather_binding" type="tns:weather_porttype"> <soap:binding style="rpc" transport=" <operation name="getweather"> <soap:operation soapaction=""/> <input> <soap:body encodingstyle=" namespace="urn:examples:weatherservice" use="encoded"/> </input> <output> <soap:body encodingstyle=" namespace="urn:examples:weatherservice" use="encoded"/> </output> </operation> </binding> <service name="weather_service"> <documentation>wsdl File for Weather Service</documentation> <port binding="tns:weather_binding" name="weather_port"> <soap:address location=" </port> </service> </definitions> 26

28 ΠΗΓΗ:Ethan Cerami, Web Services Essentials, O'Reilly, First Edition February 2002 Με τη χρήση του WSDL, ένας πελάτης μπορεί να εντοπίσει μια Υπηρεσία Ιστού και να καλέσει οποιοδήποτε από τις δημόσιες μεθόδους της. Επίσης, με εργαλεία που έχουν προγραμματιστεί κατάλληλα ώστε να γνωρίζουν το WSDL, η παραπάνω διαδικασία μπορεί να είναι πλήρως αυτοματοποιημένη, δίνοντας τη δυνατότητα σε προγραμματιστές να προσθέτουν νέα λειτουργικότητα σε εφαρμογές με συγγραφή ελάχιστου ή και καθόλου κώδικα. Το UDDI παρέχει ένα παγκόσμιο κατάλογο για λόγους διαφήμισης, ανακάλυψης και ολοκλήρωσης υπηρεσιών Ιστού. Οι επιχειρησιακοί αναλυτές και οι τεχνικοί χρησιμοποιούν UDDI για να ανακαλύψουν διαθέσιμες υπηρεσίες Ιστού αναζητώντας το όνομα, κάποιο προσδιοριστικό, κατηγορίες, ή τις προδιαγραφές που εφαρμόζονται από μια υπηρεσία Ιστού. Το UDDI παρέχει μια δομή για την αναπαράσταση επιχειρήσεων, επιχειρησιακών σχέσεων, Υπηρεσιών Ιστού, των μεταδεδομένων των προδιαγραφών, και των σημείων πρόσβασης σε Υπηρεσίες Ιστού. Καθεμιά από τις τεχνολογίες που αναφέρθηκαν παραπάνω παρέχει πρότυπα για το επόμενο βήμα στην πρόοδο των υπηρεσιών Ιστού, της περιγραφής τους, ή της ανακάλυψής τους. Εντούτοις, η δυναμική ολοκλήρωση των συστημάτων που ανακαλύπτουν το ένα το άλλο αυτόματα και επικοινωνούν αδιαφορώντας για την πλατφόρμα στην οποία στηρίζονται, απαιτεί τη συνδυασμένη χρήση του SOAP, WSDL, και UDDI έτσι ώστε να παράσχει μια δυναμική, τυποποιημένη υποδομή. Ο συνδυασμός αυτών των τεχνολογιών παρέχει έναν επαναστατικό τρόπο ολοκλήρωσης επιχειρήσεων. Αν και έχουν υπάρξει τεχνολογίες 27

29 ισοδύναμες με το SOAP, WSDL, και UDDI στο παρελθόν, όπως η CORBA και h Java RMI, δεν υποστηρίχθηκαν από κάθε σημαντική εταιρία και δεν διέθεταν την ευελιξία της XML. Στη συνέχεια θα γίνει αναλυτική περιγραφή των τεχνολογιών SOAP, WSDL, και UDDI Simple Object Access Protocol (SOAP) Το SOAP είναι ένα ελαφρύ πρωτόκολλο προοριζόμενο για την ανταλλαγή δομημένων πληροφοριών σε ένα αποκεντρωμένο, κατανεμημένο περιβάλλον. Η προδιαγραφή SOAP ορίζει τρία βασικά μέρη: Προδιαγραφή φακέλου SOAP Το SOAP XML Envelope καθορίζει συγκεκριμένους κανόνες εγκλεισμού δεδομένων που μεταφέρονται μεταξύ υπολογιστών. Αυτό περιλαμβάνει δεδομένα που αφορούν την εκάστοτε εφαρμογή, όπως είναι το όνομα μεθόδου που καλείται, οι παράμετροι της μεθόδου, ή οι τιμές που επιστρέφονται. Μπορεί επίσης να περιλαμβάνει πληροφορίες σχετικά με το ποιος θα πρέπει να επεξεργαστεί τα περιεχόμενα φακέλου και, σε περίπτωση λάθους, πώς κωδικοποιούνται τα μηνύματα λάθους. Για την ανταλλαγή δεδομένων, οι υπολογιστές πρέπει να συμφωνήσουν σχετικά με τους κανόνες για την κωδικοποίηση συγκεκριμένων τύπους δεδομένων όπως αλφαριθμητικά, ακέραιους αριθμούς, πίνακες και λοιπά. Το SOAP περιλαμβάνει λοιπόν το δικό του σύνολο συμβάσεων για την κωδικοποίηση των δεδομένων σε τύπους. Οι περισσότερες από αυτές τις συμβάσεις βασίζονται στο W3C XML Schema. Συμβάσεις RPC 28

30 Το SOAP μπορεί να χρησιμοποιηθεί σε διάφορα συστήματα ανταλλαγής μηνυμάτων, συμπεριλαμβανομένης μονόδρομης και αμφίδρομης επικοινωνίας. Για την αμφίδρομη αποστολή μηνυμάτων, το SOAP καθορίζει μια απλή σύμβαση για την αναπαράσταση απομακρυσμένων κλήσεων και απαντήσεων. Αυτό επιτρέπει σε μια εφαρμογή-πελάτη να ορίσει το όνομα μιας απομακρυσμένης μεθόδου, να περιλάβει οποιοδήποτε αριθμό παραμέτρων και να λάβει απόκριση από τον εξυπηρετητή Η αίτηση SOAP Η αίτηση από το πελάτη πρέπει να περιλαμβάνει το όνομα της μεθόδου που θα κληθεί και τις παραμέτρους που απαιτούνται. Στη συνέχεια παραθέτουμε ένα δείγμα αίτησης πελάτη. <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:gettemp xmlns:ns1="urn:xmethods-temperature" SOAP-ENV:encodingStyle=" <zipcode xsi:type="xsd:string">10016</zipcode> </ns1:gettemp> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Στο παραπάνω δείγμα πρέπει να σημειωθούν καποια σημαντικά στοιχεία. Πρώτον, η αίτηση περιλαμβάνει ένα μοναδικό υποχρεωτικό στοιχείο (ετικέτα element) με όνομα Envelope, το οποία με τη σειρά του περιλαμβάνει ένα υποχρεωτικό στοιχείο Body. 29

31 Δεύτερον, συνολικά ορίζονται τέσσερα XML namespaces. Namespaces χρησιμοποιούνται για να ξεχωρίζουν ετικέτες XML και χαρακτηριστικά, και συχνά χρησιμοποιούνται για την αναφορά εξωτερικών σχημάτων. Στο δείγμα αίτησης SOAP που παρατίθεται παραπάνω, χρησιμοποιούνται namespaces για να διαχωρίσουν αναγνωριστικάπου συνδέονται με το SOAP Envelope ( τη κωδικοποίηση δεδομένων μέσω του σχήματος XML ( και και αναγνωριστικά που σχετίζονται με την εφαρμογή. Αυτό παρέχει τη μέγιστη δυνατή ευελιξία για μελλοντικές αλλαγές σε προδιαγραφές XML. Το στοιχείο Body περιέχει το κύριο «ωφέλιμο φορτίο» του μηνύματος SOAP. Το μόνο στοιχείο είναι το gettemp, το οποίο είναι συνδεδεμένο με το χώρο ονομάτων XMethods και αντιστοιχεί στο απομακρυσμένο όνομα μεθόδου. Κάθε παράμετρος στη μέθοδο εμφανίζεται ως υπο-στοιχείο. Στην περίπτωσή μας, έχουμε ένα μόνο στοιχείο, το ταχυδρομικό κώδικα, το οποίο αποδίδεται στο XML Schema xsd: string και έχει οριστεί στη τιμή Αν απαιτούνται πρόσθετοι παράμετροι, καθεμία μπορεί να έχει τα δικά της δεδομένα και τύπο Η απάντηση SOAP Ακριβώς όπως και η αίτηση, η απάντηση περιλαμβάνει Envelope και το Body, και τα ίδια XML namespaces. Αυτή τη φορά, ωστόσο, το στοιχείο Body περιλαμβάνει ένα μοναδικό gettempresponse στοιχείο, που αντιστοιχεί στην πρώτη αίτησή. Το στοιχείο της απόκρισης περιλαμβάνει ένα μόνο στοιχείο επιστροφή, με xsd: float τύπο δεδομένων. <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" 30

32 <SOAP-ENV:Body> <ns1:gettempresponse xmlns:ns1="urn:xmethods-temperature" SOAP-ENV:encodingStyle=" <return xsi:type="xsd:float">71.0</return> </ns1:gettempresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Στοιχεία του μηνύματος SOAP Κάθε μήνυμα SOAP έχει ως αρχικό στοιχείο το Envelope. Το Envelope μπορεί να περιέχει προαιρετικά το στοιχείο header και υποχρεωτικά το body. Στο header ορίζονται συνήθως επιπρόσθετα στοιχεία σχετικά με την εφαρμογή, για παράδειγμα ψηφιακές υπογραφές, ή λοιπά στοιχεία που αφορούν κάποιο λογαριασμό. Ακολουθεί ένα παράδειγμα: ΠΗΓΗ: M. Gudgin, M. Hadley, N. Mendelsohn, J.-J. Moreau, H. Nielsen, W3C Recommendation SOAP Version 1.2 Part 2: Adjuncts, June 2003 <SOAP-ENV:Header> <ns1:paymentaccount xmlns:ns1="urn:ecerami" SOAP-ENV: mustunderstand="true"> orsenigo473 </ns1:paymentaccount > </SOAP-ENV:Header> Ένα ακόμα στοιχείο του SOAP, που εμφανίζεται μέσα στο Body είναι το στοιχείο Fault. Χρησιμοποιείται για την αποτύπωση λαθών που προκύπτουν κατά την εκτέλεση κάποιας μεθόδου. Στη συνέχεια παρατίθεται 31

33 ένα λάθος που προέκυψε κατά την αίτηση SOAP και ο εξυπηρετητής επιστρέφει την απάντηση SOAP: <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode xsi:type="xsd:string">soap-env:client</faultcode> <faultstring xsi:type="xsd:string"> Failed to locate method (ValidateCreditCard) in class (examplescreditcard) at /usr/local/activeperl-5.6/lib/ site_perl/5.6.0/soap/lite.pm line </faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Το στοιχεί Fault μπορεί να περιέχει ειδικά υπο-στοιχεία τα οποία παρατίθεται στο παρακάτω πίνακα: Όνομα στοιχείου faultcode faultstring faultstring detail Περιγραφή Κωδικός που περιγράφει το είδος του λάθους. Επεξήγηση του λάθους που διαβάζεται από άνθρωπο Ενα κείμενο που δείχνει ποιος προκάλεσε το λάθος. Αυτό είναι χρήσιμο στη περίπτωση που το μήνυμα SOAP περνά από διάφορους κόμβους και ο πελάτης πρέπει να ξέρει ποιος το προκάλεσε Ένα στοιχείο που χρησιμοποιείται για την αποθήκευση μηνυμάτων λάθους που σχετίζονται με την εφαρμογή. 32

34 Τύποι δεδομένων του SOAP Το SOAP ιοθετεί όλους τους τύπους που ορίζονται από τη προδιαγραφή του XML Schema όπως για παράδειγμα, string, float, double, integer. Ακολουθεί ένα παράδειγμα απάντησης SOAP που περιέχει ένα τύπο double. <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:getpriceresponse xmlns:ns1="urn:examples:priceservice" SOAP-ENV:encodingStyle=" <return xsi:type="xsd:double">54.99</return> </ns1:getpriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Εκτός από απλούς τύπους, το SOAP υποστηρίζει και πολύπλοκους τύπους(compound) που μπορεί να περιέχουν arrays ή αντικείμενα. Στη συνέχεια παρατίθεται ο ορισμός ενός αντικειμένου Forecast που περιέχει μια ακολουθία από πεδία. <schema xmlns=" targetnamespace=" <import namespace=" <complextype name="forecast"> <sequence> <element name="zip" nillable="true" type="xsd:string"/> <element name="city" nillable="true" type="xsd:string"/> <element name="state" nillable="true" type="xsd:string"/> <element name="date" nillable="true" type="xsd:string"/> <element name="forecast" nillable="true" type="xsd:string"/> <element name="hi" type="xsd:byte"/> 33

35 <element name="low" type="xsd:byte"/> <element name="precip" type="xsd:byte"/> </sequence> </complextype> </schema> 3.4. Web Service Description Language (WSDL) To WSDL είναι μια τεχνολογία XML που περιγράφει τη διεπαφή μιας υπηρεσίας Ιστού με έναν τυποποιημένο τρόπο. Στο WSDL ορίζονται τέσσερα σημαντικά σημεία για τη λειτουργία ενός Web Service: Ιnterface: περιγραφή όλων των διαθέσιμων μεθόδων Data type: περιγραφή των τύπων δεδομένων και των αιτήσεων και απαντήσεων Binding: περιγραφή για το πρωτόκολλο επικοινωνίας στο οποίο μεταφέρεται το μήνημα SOAP Address: πληροφορίες για την εύρεση της Υπηρεσίας Ιστού Τύποι δεδομένων του SOAP To WSDL είναι μια γραμματική XML για τη περιγραφή υπηρεσιών Ιστού. Η προδιαγραφή αυτή χωρίζεται σε έξι κύρια στοιχεία: Definitions Το στοιχείο ορισμοί (definitions) πρέπει να είναι το στοιχείο ρίζα όλων των εγγράφων WSDL. Αυτό καθορίζει το όνομα της υπηρεσίας Ιστού, δηλώνει πολλαπλά namespaces που χρησιμοποιούνται σε όλο το υπόλοιπο 34

36 του εγγράφου, και περιέχει όλα τα στοιχεία της υπηρεσίας που περιγράφεται εδώ. Types Το στοιχείο τύποι (types) περιγράφει όλα τα είδη δεδομένων που χρησιμοποούνται μεταξύ του πελάτη και εξυπηρετητή. Το WSDL δεν συνδέεται αποκλειστικά με ένα συγκεκριμένο σύστημα τύπων, αλλά χρησιμοποιεί το W3C XML Schema, ως προεπιλογή. Αν η υπηρεσία χρησιμοποιεί μόνο απλούς τύπους του XML Schema, όπως string και integer, το στοιχείο types δεν απαιτείται. Message Το στοιχείο μήνυμα περιγράφει ένα μονόδρομο μήνυμα, είτε πρόκειται για μια αίτηση ή μια απάντηση SOAP. Ορίζει το όνομα του μηνύματος και περιέχει μηδέν ή περισσότερα υπο-στοιχεία με όνομα «part», τα οποία μπορεί να αναφέρονται είτε σε παραμέτρους ή τις τιμές που επιστρέφονται. porttype Το porttype στοιχείο συνδυάζει πολλά στοιχεία message που περιγράφουν μια ολοκληρωμένη λειτουργία (operation) (μονόδρομη ή αμφίδρομη).. Για παράδειγμα, ένα porttype μπορεί να συνδυάσει ένα μήνυμα αίτηση και ένα μήνυμα απάντηση σε μια ενιαία λειτουργία. Ας σημειωθεί ότι ένα porttype μπορεί (και συχνά ισχύει αυτό) να ορίσει πολλαπλές λειτουργίες. binding Το binding περιγράφει τις συγκεκριμένες λεπτομέρειες για το πώς η υπηρεσία θα εφαρμοστεί στο δίκτυο. Το WSDL περιλαμβάνει ενσωματωμένες επεκτάσεις για τον καθορισμό των υπηρεσιών SOAP. Service 35

37 Το στοιχείο service (υπηρεσία) καθορίζει τη διεύθυνση για την κλήση της συγκεκριμένης υπηρεσίας. Συνήθως, αυτό περιλαμβάνει ένα URL στο οποίο απαντά ο εξυπηρετητής που προσφέρει την υπηρεσία. Ακολουθεί ένα βασικό παράδειγμα WSDL κειμένου. Στο κείμενο αυτό ορίζεται μια διαθέσιμη μέθοδος η sayhello η οποία έχει ως παράμετρο ένα string και επιστρέφει επίσης ένα string. <?xml version="1.0" encoding="utf-8"?> <definitions name="helloservice" targetnamespace=" xmlns=" xmlns:soap=" xmlns:tns=" xmlns:xsd=" <message name="sayhellorequest"> <part name="firstname" type="xsd:string"/> </message> <message name="sayhelloresponse"> <part name="greeting" type="xsd:string"/> </message> <porttype name="hello_porttype"> <operation name="sayhello"> <input message="tns:sayhellorequest"/> <output message="tns:sayhelloresponse"/> </operation> </porttype> <binding name="hello_binding" type="tns:hello_porttype"> <soap:binding style="rpc" transport=" <operation name="sayhello"> <soap:operation soapaction="sayhello"/> <input> <soap:body encodingstyle=" namespace="urn:examples:helloservice" 36

38 use="encoded"/> </input> <output> <soap:body encodingstyle=" namespace="urn:examples:helloservice" use="encoded"/> </output> </operation> </binding> <service name="hello_service"> <documentation>wsdl File for HelloService</documentation> <port binding="tns:hello_binding" name="hello_port"> <soap:address location=" </port> </service> </definitions> 3.5. Universal Description, Discovery, Integration (UDDI) Το UDDI παρέχει ένα παγκόσμιο κατάλογο για λόγους διαφήμισης, ανακάλυψης και ολοκλήρωσης υπηρεσιών Ιστού. Οι επιχειρησιακοί αναλυτές και οι τεχνικοί χρησιμοποιούν UDDI για να ανακαλύψουν διαθέσιμες υπηρεσίες Ιστού. Ένα από τα σημαντικά πλεονεκτήματα των Υπηρεσιών Ιστού έχουν νόημα μόνο όταν δυνητικοί χρήστες μπορούν να βρουν πληροφορίες για αυτά έυκολα ώστε να επιτρέψουν την εκτέλεσή τους. Το Universal Description Discovery & Integration (UDDI) εστιάζει στον καθορισμό ενός συνόλου από υπηρεσίες που θα υποστηρίζουν την περιγραφή και την ανακάλυψη: 37

39 1. Των εταιριών, των οργανισμών και άλλων παρόχων web services 2. Των Υπηρεσιών Ιστού που είναι διαθέσιμες 3. Των διεπαφών (Interfaces) οι οποίες μπορούν να χρησιμοποιηθούν ώστε να έχει κάποιος χρήστης πρόσβαση σε αυτές τις υπηρεσίες. Βασισμένο σε ένα κοινό σύνολο από βιομηχανικά πρότυπα, συμπεριλαμβανομένων των HTTP, XML, XML Schema και SOAP το UDDI παρέχει μία διαλειτουργική, θεμελιώδη υποδομή για ένα περιβάλλον λογισμικού προσανατολισμένο στις υπηρεσίες τόσο για δημόσια διαθέσιμες υπηρεσιές όσο και για υπηρεσίες που εκτίθενται μόνο εσωτερικά ενός οργανισμού." Με πιο απλά λόγια το UDDI είναι ο «χρυσός οδηγός» των web services. Όπως σε ένα χρυσό οδηγό, μπορούμε να αναζητήσουμε μια εταιρία που προσφέρει τις υπηρεσίες που χρειαζόμαστε, να διαβάσουμε για μια προσφερόμενη υπηρεσία και να επικοινωνήσουμε με κάποιον για περισσότερες λεπτομέρειες. Φυσικά μπορούμε να προσφέρουμε ένα web service χωρίς να το καταχωρίσουμε στο UDDI, όπως αν ανοίγαμε μία επιχείρηση στο υπόγειο του σπιτιού μας και βασιζόμασταν στη διαφήμιση από στόμα σε στόμα. Αλλά αν θέλουμε να αγγίξουμε το ευρύ κοινό, θα χρειαστούμε το UDDI ώστε οι δυνητικοί μας πελάτες να μπορέσουν να μας βρούν. Το UDDI παρέχει ένα μηχανισμό στους πελάτες να βρίσκουν δυναμικά άλλα web services. Χρησιμοποιώντας μία διεπαφή UDDI, οι επιχειρήσεις μπορούν να συνδεθούν δυναμικά με υπηρεσίες που παρέχονται από εξωτερικούς συνεργάτες. Ένας κατάλογος UDDI (UDDI registry) είναι όμοιος μέ ένα CORBA trader, ή θα μπορούσαμε να τον παρομοιάσουμε με μία υπηρεσία DNS αλλά για εφαρμογές. Ένας κατάλογος UDDI έχει δύο ειδών πελάτες : επιχειρήσεις που θέλουν να δημοσιεύσουν μια υπηρεσία (και τις διεπαφές της), και πελάτες που θέλουν να χρησιμοποιήσουν συγκεκριμένες υπηρεσίες και συνδέονται προγραμματιστικά με αυτές. 38

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Ορισμός των Web Services

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

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

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

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

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Σκοπός της παρούσας ενότητας είναι να εξοικειωθούν

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

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

Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Περιεχόμενα Εισαγωγή στις Υπηρεσίες Ιστού Ορισμοί Παραδείγματα Σύγκριση με άλλες τεχνολογίες Πρωτόκολλα Υπηρεσιών Ιστού SOAP

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

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

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

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

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

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

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

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

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

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

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

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

Κατανεμημένα Συστήματα με Java. Ενότητα # 18: Υπηρεσίες Ιστού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα με Java. Ενότητα # 18: Υπηρεσίες Ιστού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα με Java Ενότητα # 18: Υπηρεσίες Ιστού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

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

ΤΕΧΝΟΛΟΓΙΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΠΜΣ 513. Ακαδημαϊκό Έτος Εαρινό Εξάμηνο

ΤΕΧΝΟΛΟΓΙΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΠΜΣ 513. Ακαδημαϊκό Έτος Εαρινό Εξάμηνο ΤΕΧΝΟΛΟΓΙΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΠΜΣ 513 Ακαδημαϊκό Έτος 2014-2015 Εαρινό Εξάμηνο Agenda για σήμερα Διδάσκοντες Διδασκαλία και Εξέταση μαθήματος Περιεχόμενο Μαθήματος Εισαγωγή στο Η-Εμπόριο Εφαρμογές Η-Εμπορίου

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

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

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

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών CORBA Αρχιτεκτονική και 3-tier 3 εφαρµογές Β. Φλώρος. Μαρτάκος Συνεργάτης ερευνητής Επικ. Καθηγητής Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών Τι Είναι; CORBA =

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

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

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

Η Πληροφορική Επανάσταση Η Κοινωνία των πληροφοριών

Η Πληροφορική Επανάσταση Η Κοινωνία των πληροφοριών Η Πληροφορική Επανάσταση Η Κοινωνία των πληροφοριών Πολλοί υποστηρίζουν ότι διανύουμε την αρχή μίας εποχής που μπορεί να περιγραφεί ως η Πληροφορική Επανάσταση και η οποία θα αλλάξει ριζικά την όλη δομή

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

Συστήματα Διοίκησης ΕΙΣΑΓΩΓΗ. Ηλεκτρονικές Συναλλαγές. Καθηγητής Δ. Ασκούνης, Δ. Πανόπουλος

Συστήματα Διοίκησης ΕΙΣΑΓΩΓΗ. Ηλεκτρονικές Συναλλαγές. Καθηγητής Δ. Ασκούνης, Δ. Πανόπουλος ΕΙΣΑΓΩΓΗ Ηλεκτρονικές Συναλλαγές Καθηγητής Δ. Ασκούνης, Δ. Πανόπουλος Ηλεκτρονικές Συναλλαγές 2017 Ορισμοί «Ηλεκτρονική Συναλλαγή» είναι οποιαδήποτε μορφή συναλλαγής που υποστηρίζεται σημαντικά από Τεχνολογίες

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

Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Ακαδημαϊκό έτος 2008-2009. Πτυχιακή εργασία

Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Ακαδημαϊκό έτος 2008-2009. Πτυχιακή εργασία Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Ακαδημαϊκό έτος 2008-2009 Πτυχιακή εργασία Βελτιστοποίηση της εκτέλεσης σύνθετων υπηρεσιών διαδικτύου μέσω παροχέτευσης ενδιαμέσων αποτελεσμάτων

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

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Ελένη Καλδούδη Τμήμα Ιατρικής Δημοκρίτειο Πανεπιστήμιο Θράκης 2003 θέματα το χθές, το σήμερα και το αύριο για τα PACS απαιτήσεις από

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

Πανεπιστήµιο Μακεδονίας..Π.Μ.Σ. στα Πληροφοριακά Συστήµατα. <<Ενεργοποίηση καταστάσεων δικτύων Petri από εξωτερικούς παράγοντες µέσω Υπηρεσιών Ιστού>>

Πανεπιστήµιο Μακεδονίας..Π.Μ.Σ. στα Πληροφοριακά Συστήµατα. <<Ενεργοποίηση καταστάσεων δικτύων Petri από εξωτερικούς παράγοντες µέσω Υπηρεσιών Ιστού>> Πανεπιστήµιο Μακεδονίας.Π.Μ.Σ. στα Πληροφοριακά Συστήµατα ιπλωµατική εργασία του: Μάριος Κοτούλας ΑΕΜ 0618 Επιβλέπων

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

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

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

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

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

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

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

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

Πίνακας Εικόνων. 22/04/2014 Έκδοση 3.0.1

Πίνακας Εικόνων. 22/04/2014 Έκδοση 3.0.1 Προδιαγραφές για Προγραμματιστές Διαδικτυακής Υπηρεσίας «Βασικά στοιχεία μητρώου για νομικά πρόσωπα, νομικές οντότητες, και φυσικά πρόσωπα με εισόδημα από επιχειρηματική δραστηριότητα». Πίνακας Περιεχομένων

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

Διαβούλευση για την ηλεκτρονική υποβολή αποδείξεων

Διαβούλευση για την ηλεκτρονική υποβολή αποδείξεων Διαβούλευση για την ηλεκτρονική υποβολή αποδείξεων Εισαγωγή Είναι δεδομένη η εστίαση του νέου φορολογικού νόμου στην αντιμετώπιση της φοροδιαφυγής. Σημαντική διάσταση των μεταρρυθμίσεων που εισάγονται

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

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

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

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

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

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

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

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

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

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Remote Method Invocation (RMI) Εισαγωγή Η αποµακρυσµένη επίκληση µεθόδων (RMI), επιτρέπει σε

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

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ 1. Οι Η/Υ στο κτίριο που βρίσκεται το γραφείο σας συνδέονται έτσι ώστε το προσωπικό να μοιράζεται τα αρχεία και τους εκτυπωτές. Πως ονομάζεται αυτή η διάταξη των

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

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

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

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

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

* Enterprise Resource Planning ** Customer Relationship Management

* Enterprise Resource Planning ** Customer Relationship Management Υπηρεσιοστρεφείς Επιχειρησιακές ιαδικασίες ιαµοιρασµός και Επαναχρησιµοποίηση Αποτελούν βασικές απαιτήσειςκατά το σχεδιασµό και την ολοκλήρωση (integration) επιχειρησιακών διαδικασιών ιαµοιρασµός: πολλοί

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

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

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

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

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

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

Κάντε κλικ για έναρξη

Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Ορισμός Δίκτυο Υπολογιστών = Mία ομάδα από 2 ή περισσότερους υπολογιστές που είναι συνδεδεμένοι μεταξύ τους. Ο κύριος σκοπός είναι να ανταλλάσσουν

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

ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. «Εξαγωγή Γνώσης από Αποθήκες Υπηρεσιών Παγκόσμιου Ιστού»

ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. «Εξαγωγή Γνώσης από Αποθήκες Υπηρεσιών Παγκόσμιου Ιστού» ΠΟΛΥΤΕΧΝΕΙΟ ΠΑΤΡΑΣ TMHMA ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ «Εξαγωγή Γνώσης από Αποθήκες Υπηρεσιών Παγκόσμιου Ιστού» (Knowledge

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

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

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

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

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

Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Τεχνικές Προδιαγραφές ιαλειτουργικότητας ΤΕΧΝΙΚΕΣ ΠΡΟ ΙΑΓΡΑΦΕΣ ΕΙΓΜΑ ΠΑΡΑΡΤΗΜΑΤΟΣ ΙΑΓΩΝΙΣΜΟΥ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «Κοινωνία της Πληροφορίας» http://www.infosociety.gr Μάιος 2003 Τεχνικές Προδιαγραφές ιαλειτουργικότητας

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,

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

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ηυιοθέτησητης τεχνολογίαςκαι αρχιτεκτονικής TCP/IP δεν έρχεται σε σύγκρουσηµε το µοντέλο του OSI και αυτό γιατί και τα δυο συστήµατααναπτύχθηκαν συγχρόνως. Παρόλα αυτά, υπάρχουν ορισµένες ουσιώδεις διαφορές

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

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

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Διαδικτυακές Εφαρμογές Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

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

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

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

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

Σχεδίαση και Ανάπτυξη Ιστότοπων

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

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

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

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

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

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο Βασικές Υπηρεσίες Διαδικτύου Επικοινωνίες Δεδομένων Μάθημα 2 ο Μεταφορά αρχείων (File Transfer Protocol, FTP) user at host FTP user interface FTP client local file system file transfer FTP server remote

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

Επιχειρησιακά Πληροφοριακά Συστήματα. 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 Στόχος Σκοπός μαθήματος Σκοπός:

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

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

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

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο Κεφ10: Υπηρεσίες και Εφαρμογές Διαδικτύου 10.1 Υπηρεσίες Διαδικτύου Υπηρεσίες Επικοινωνίας Ηλεκτρονικό Ταχυδρομείο (e-mail) Υπηρεσία του Διαδικτύου για διακίνηση γραπτών

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

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

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

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

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

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

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

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

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

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

7.11 Πρωτόκολλα εφαρµογής

7.11 Πρωτόκολλα εφαρµογής 7.11 Πρωτόκολλα εφαρµογής Ερωτήσεις 1. Ποιος ο ρόλος των πρωτοκόλλων εφαρµογής και πώς χειρίζονται τις συνδέσεις δικτύου; 2. Γιατί κάθε πρωτόκολλο εφαρµογής ορίζει συγκεκριµένο τρόπο παρουσίασης των δεδοµένων;

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

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

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

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

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

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

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

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

ΟΙ ΝΕΕΣ ΤΕΧΝΟΛΟΓΙΕΣ ΩΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟ ΕΡΓΑΛΕΙΟ ΟΙ ΝΕΕΣ ΤΕΧΝΟΛΟΓΙΕΣ ΩΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟ ΕΡΓΑΛΕΙΟ Η εισαγωγή των νέων τεχνολογιών στις επιχειρήσεις την τελευταία δεκαετία και η δυναμική ανάπτυξη που προκάλεσαν στις επιχειρήσεις, εισήγαγαν μια επανάσταση

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

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

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

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. WSDLBook: ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ WSDLBook: Web 2.0 εφαρμογή για WSDL Περιγραφές Υπηρεσιών Ιστού (Web Services) Διπλωματική Εργασία του Γεωργακάκη Νικολάου

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

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

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

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

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

Ομαδοποίηση των απαιτήσεων του προτύπου ISO Σύστημα ποιότητας Ευθύνη της διοίκησης Διαχείριση πόρων Υλοποίηση του προϊόντος

Ομαδοποίηση των απαιτήσεων του προτύπου ISO Σύστημα ποιότητας Ευθύνη της διοίκησης Διαχείριση πόρων Υλοποίηση του προϊόντος Ομαδοποίηση των απαιτήσεων του προτύπου ISO 9001:2000 Σύστημα ποιότητας Ευθύνη της διοίκησης Διαχείριση πόρων Υλοποίηση του προϊόντος / Παροχή της υπηρεσίας Μέτρηση ανάλυση και βελτίωση Εισαγωγή στα Συστήματα

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

«Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους» Semantic Matching of Web Services Capabilities

«Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους» Semantic Matching of Web Services Capabilities ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΣΠΟΥΔΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους»

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο Κεφ9: Διαδίκτυο, Web2.0, WebX.0 9.1 Ιστορικά στοιχεία Από πού, πότε με ποια μορφή και με ποια αφορμή ξεκίνησε η λειτουργία του Διαδικτύου; Ξεκίνησε στην Αμερική, το 1969,

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

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1 Σύστηµα CORBA οµή συστήµατος Μεταβίβαση παραµέτρων Μοντέλα επικοινωνίας υναµικές κλήσεις Αναφορές αντικειµένων Ονόµατα αντικειµένων ιαχείριση αντικειµένων Υλοποίηση συστηµάτων CORBA Κατανεµηµένα Συστήµατα

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

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

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

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

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

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

Διπλωματική Εργασία. Μέλλιος Θωμάς, Πετρίδης Κοσμάς. Επιβλέπων Καθηγητής: Πρωτόγερος Νικόλαος

Διπλωματική Εργασία. Μέλλιος Θωμάς, Πετρίδης Κοσμάς. Επιβλέπων Καθηγητής: Πρωτόγερος Νικόλαος Διπλωματική Εργασία Αμφίδρομη επικοινωνία μεταξύ μίας Διαδικτυακής Πύλης Πανεπιστημίου και μίας εφαρμογής διαχείρισης γραμματείας με χρήση Web Services Επιβλέπων Καθηγητής: Πρωτόγερος Νικόλαος Θεσσαλονίκη,

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

Ηλεκτρονικά Καταστήματα E Shops

Ηλεκτρονικά Καταστήματα E Shops Ηλεκτρονικά Καταστήματα E Shops Η ολοένα αυξανόμενη ανάπτυξη του ηλεκτρονικού εμπορίου είχε ως αποτέλεσμα την ανάπτυξη οργανωμένων ιστοσελίδων, τα ηλεκτρονικά καταστήματα, για την διενέργεια των αγοροπωλησιών.

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

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

ΤΕΙ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΤΕΥΘΥΝΣΗ : ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΕΙ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΤΕΥΘΥΝΣΗ : ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ & ΚΟΙΝΩΝΙΚΑ ΔΙΚΤΥΑ ELECTRONIC COMMERCE & SOCIAL MEDIA ΆΝΤΕΛ

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

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

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

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

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

SPAMMING - ΑΝΕΠΙΘΥΜΗΤΗ ΑΛΛΗΛΟΓΡΑΦΙΑ

SPAMMING - ΑΝΕΠΙΘΥΜΗΤΗ ΑΛΛΗΛΟΓΡΑΦΙΑ SPAMMING - ΑΝΕΠΙΘΥΜΗΤΗ ΑΛΛΗΛΟΓΡΑΦΙΑ Αποτελεί μειονέκτημα της διάδοσης του ηλεκτρονικού εμπορίου και ένα από τα μεγαλύτερα προβλήματα για τις επιχειρήσεις και τους χρήστες του διαδικτύου. Τι είναι: H μαζική

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

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες 1 η Ερώτηση (Ορισμός): Τι είναι το Διαδίκτυο; Διαδίκτυο είναι το παγκόσμιο δίκτυο όλων των επιμέρους δικτύων που έχουν συμφωνήσει σε κοινούς κανόνες επικοινωνίας και

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

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

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

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

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

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

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

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.11 Πρωτόκολλα Εφαρµογής 104. Αναφέρετε ονοµαστικά τις πιο χαρακτηριστικές εφαρµογές που υποστηρίζει η τεχνολογία TCP/IP οι οποίες είναι διαθέσιµες στο ιαδίκτυο 1. Ηλεκτρονικό

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

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

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

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

ΗΛΕΚΤΡΟΝΙΚΟΣ ΦΑΚΕΛΟΣ ΑΣΘΕΝΩΝ ΜΕ ΧΡΗΣΗ ΥΠΗΡΕΣΙΩΝ ΙΑ ΙΚΤΥΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων ΗΛΕΚΤΡΟΝΙΚΟΣ ΦΑΚΕΛΟΣ ΑΣΘΕΝΩΝ ΜΕ ΧΡΗΣΗ ΥΠΗΡΕΣΙΩΝ ΙΑ ΙΚΤΥΟΥ Η εργασία υποβάλλεται για την µερική κάλυψη των απαιτήσεων µε στόχο

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

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

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

PayByBank RESTful API GUIDE

PayByBank RESTful API GUIDE PayByBank RESTful API GUIDE Α. PayByBank API Documentation Για να χρησιμοποιήσετε το PayByBank API περιβάλλον (Documentation/PLAYGROUND), χρειάζεται να δημιουργήσετε ένα λογαριασμό, καταχωρώντας ένα έγκυρο

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

Η-επιχειρείν και συνεργασία σε παγκόσμιο επίπεδο

Η-επιχειρείν και συνεργασία σε παγκόσμιο επίπεδο Κεφάλαιο 2 Η-επιχειρείν και συνεργασία σε παγκόσμιο επίπεδο 2.1 ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ Ποια είναι τα βασικά χαρακτηριστικά μιας επιχείρησης που είναι σημαντικά για την κατανόηση του ρόλου των πληροφοριακών

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

ίκτυα και Internet στο Επιχειρηματικό Περιβάλλον

ίκτυα και Internet στο Επιχειρηματικό Περιβάλλον ίκτυα και Internet στο Επιχειρηματικό Περιβάλλον 4 ο Εξάμηνο Τμήμα ιοικητικής Επιστήμης & Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών Αγγελική Πουλυμενάκου Μάρτιος 2012 Ευχαριστούµε τουςγ. ιακονικολάου,

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET Δημήτριος Παπαδημητρίου Παπαδημητρίου Δημήτριος - MIS - Παν.Μακεδονίας 1 Microsoft.NET Πλατφόρμα επικοινωνίας ανθρώπων, συστημάτων και

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

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

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

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

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

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