ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ

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

Download "ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ"

Transcript

1 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ Εφαρμογή Ιστού Ψηφιακής Δημοσιογραφίας με χρήση των προτύπων του W3C για τον Web of Services ΠΑΠΟΥΤΣΕΛΛΗΣ ΒΑΣΙΛΕΙΟΣ M ΑΘΗΝΑ, ΦΕΒΡΟΥΑΡΙΟΣ 2015

2

3 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Εφαρμογή Ιστού Ψηφιακής Δημοσιογραφίας με χρήση των προτύπων του W3C για τον Web of Services ΠΑΠΟΥΤΣΕΛΛΗΣ ΒΑΣΙΛΗΣ

4 «Βεβαιώνω ότι είμαι ο συγγραφέας αυτής της μεταπτυχιακής διπλωματικής εργασίας και κάθε βοήθεια την οποία είχα για την προετοιμασία της είναι πλήρως αναγνωρισμένη και αναφέρεται στην εργασία. Επίσης, έχω αναφέρει τις όποιες πηγές από τις οποίες έκανα χρήση δεδομένων, ιδεών ή λέξεων, είτε αυτές αναφέρονται ακριβώς είτε παραφρασμένες. Τέλος, βεβαιώνω ότι αυτή η διπλωματική εργασία προετοιμάστηκε από εμένα προσωπικά ειδικά για τις απαιτήσεις του μεταπτυχιακού προγράμματος σπουδών Πληροφοριακά Συστήματα του Οικονομικού Πανεπιστημίου Αθηνών».

5 Ευχαριστίες Με την ολοκλήρωση της παρούσας διπλωματικής εργασίας ολοκληρώνεται μία σημαντική και ευχάριστη περίοδος της ζωής μου. Θα ήθελα να ευχαριστήσω την κυρία Αναστασία Καστανιά για την πολύτιμη βοήθεια της. Ακόμα, θα ήθελα να ευχαριστήσω τον Στάθη και την Κατερίνα για την πολύτιμη βοήθεια αλλά και την συμπαράσταση που μου προσέφεραν. Τέλος, θα ήθελα να ευχαριστήσω την οικογένεια μου για την αδιάλειπτη στήριξη της όλα αυτά τα χρόνια.

6 Περίληψη Τα τελευταία χρόνια παίζει σημαντικό ρόλο στη ζωή των ανθρώπων το διαδίκτυο. Οι περισσότεροι χρήστες ενημερώνονται από αυτό και πάρα πολύ μεγάλος αριθμός χρηστών επισκέπτεται τουλάχιστον μία φορά την ημέρα το διαδίκτυο. Παράλληλα, η ολοένα και αυξανόμενη τεχνολογική ανάπτυξη και η εμφάνιση νέων τεχνολογιών, όπως είναι τα web services παρέχουν πρόσφορο έδαφος για την έξαρση του διαδικτύου. Στην παρούσα διπλωματική αρχικά, παρέχω μια αναφορά στα web services καθώς και στον W3C. Στη συνέχεια, αφού περιγράψω το digital publishing ή αλλιώς electronic publishing θα καταγραφεί SWOT για την χρήση των web services. Για την καλύτερη κατανόηση των web services υλοποιήθηκε και ηλεκτρονική εφημερίδα με την χρήση αυτών. Τέλος, πραγματοποιήθηκε αξιολόγηση της ηλεκτρονικής εφημερίδας, η οποία έγινε με τρεις διαφορετικές αξιολογήσεις. Στην παρούσα διπλωματική περιέχεται αναλυτική περιγραφή της εφημερίδας που δημιουργήθηκε καθώς και των αποτελεσμάτων που κατέγραψα από την αξιολόγηση.

7 Λέξεις κλειδιά Υπηρεσία ιστού Υπηρεσίες Σημασιολογικού Ιστού Σύνθετη υπηρεσία Πολιτικές των υπηρεσιών ιστού Γλώσσες σημασιολογικού Ιστού Ηλεκτρονικές εκδόσεις Ψηφιακές εκδόσεις

8 Summary In the last years, the Internet plays an important role in our lives. Most users are informed of this and too many users visited it at least once a day. Moreover, the increase of technology and the appearance of new technologies, such as web services provide fertile ground for the elation of the Internet. In this thesis, I provide a reference to web services and the W3C. Then after describing digital publishing or otherwise electronic publishing will be created SWOT for the use of web services. For better understanding of web services I create an online newspaper using web services. Finally the evaluation of the online newspaper was made with three methods. This thesis contains a detailed description of the newspaper and the results of the evaluation.

9 Key words Web service Semantic Web services Composite service Web service policies Semantic web query languages Electronic Data Interchange Electronic publishing Digital publishing

10 Contents Ευχαριστίες... 3 Περίληψη... 4 Λέξεις κλειδιά... 5 Summary... 6 Key words Εισαγωγή Τι είναι τα web services Ιστορική αναδρομή των Web services στο W3C (Anon., n.d.) Ποιότητα παρεχόμενων υπηρεσιών (quality of service QoS) Παλαιότερες κατανεμημένες τεχνολογίες Πλεονεκτήματα σε σχέση με παλαιότερες κατανεμημένες τεχνολογίες Μειονεκτήματα σε σχέση με παλαιότερες κατανεμημένες τεχνολογίες Τα web services από επιχειρηματική σκοπιά Τα web services από τεχνική σκοπιά Εφαρμογές των web services Αρχιτεκτονική των web services Διαφορές από προηγούμενες τεχνολογίες Βασικές Τεχνολογίες των web services SOAP SOAP Envelope SOAP Header SOAP Body SOAP Fault WSDL UDDI ΧΜL Βασικά βήματα για την ανάπτυξη μίας εφαρμογής web service Regression testing των Web services Διαστάσεις των Web services Πρωτόκολλα Περιγραφή της υπηρεσίας Περιγραφή των δεδομένων Περιγραφή των Web services Ασφάλεια Διεθνοποίηση... 32

11 1.22 Συμπέρασμα Ψηφιακή δημοσιογραφία και εφαρμογές ιστού Ακαδημαϊκές εκδόσεις Δικαιώματα πνευματικής εργασίας στις ηλεκτρονικές εκδόσεις Πλεονεκτήματα ηλεκτρονικής έκδοσης Μειονεκτήματα ηλεκτρονικής έκδοσης Τιμολόγηση ηλεκτρονικών περιοδικών Διεθνείς Τάσεις και Προσεγγίσεις Εκδότες, ενδιάμεσοι συνδρομών και παροχείς ηλεκτρονικών περιοδικών Κοινοπραξίες βιβλιοθηκών και υπηρεσίες επιστημονικής πληροφόρησης Εκδοτικές πρωτοβουλίες Κοινοπραξιών Βιβλιοθηκών και επιστημονικής κοινότητας Προτάσεις Εκδοτικοί οίκοι Εκδότης Ερωτήσεις πολιτικής Δημοσιευμένη Κατάσταση των ηλεκτρονικών εγγράφων Συμπεράσματα Ανάλυση SWOT εφαρμογής ιστού ψηφιακής δημοσιογραφίας σύμφωνα με τον W3C Ανάλυση Σχεδίαση και Υλοποίηση Εφαρμογής Ιστού Ψηφιακής Δημοσιογραφίας Περιγραφή εφαρμογής Δημιουργία database Τεχνολογίες που χρησιμοποιήθηκαν Περιπτώσεις Χρήσεις Class diagrams Αξιολόγηση της εφαρμογής ψηφιακής δημοσιογραφίας Με βάση τον W3C Με βάση τα κριτήρια της IEEE Επισκόπηση των standards Συγκρίνοντας τις BPEL4WS, XLANG, WSFL, XPDL και WFM Συμπεράσματα Με βάση τα κριτήρια το SWOT Συμπεράσματα Μελλοντικές επεκτάσεις Παράρτημα Bibliography... 83

12 Κατάλογος Εικόνων Εικόνα 1:Δομή των web services Εικόνα 2: Δομή ενός μηνύματος SOAP Εικόνα 3: Δομή WSDL Εικόνα 4: Επισκόπηση της τεχνολογίας των web services Εικόνα 5: Σύγκριση των τεχνολογιών... 72

13 1 Εισαγωγή Στις μέρες μας πολλοί οργανισμοί χρησιμοποιούν πληροφοριακά συστήματα για την εύρυθμη λειτουργεία τους. Αυτά αποτελούνται από υλικό, λογισμικό, ανθρώπους, διαδικασίες και δεδομένα και αποσκοπούν στην αποθήκευση, στην επεξεργασία και στην διαχείριση πληροφοριών. Επίσης διαφορετικά πληροφοριακά συστήματα συχνά πρέπει να ανταλλάσσουν πληροφορίες μεταξύ τους. Το Web service είναι μία μέθοδος επικοινωνίας που επιτρέπει δύο πληροφοριακά συστήματα να ανταλλάσσουν πληροφορίες μεταξύ τους μέσα στο διαδίκτυο. Έτσι επιτυγχάνεται η αυτοματοποίηση πολύπλοκων, χρονοβόρων και δυσλειτουργικών διαδικασιών στους οργανισμούς και στις επιχειρήσεις και δίνεται η δυνατότητα στα ανώτερα στελέχη των οργανισμών και των επιχειρήσεων να έχουν συγκεντρωμένες τις πληροφορίες που χρειάζονται. Το σύστημα που ζητάει πληροφορίες λέγεται service requester και το σύστημα που παρέχει αυτές τις πληροφορίες λέγεται service provider. Ένα web service μπορεί να είναι: Μια επιχειρησιακή διαδικασία η οποία δρα αυτόνομα. Μια ολοκληρωμένη επιχειρησιακή διαδικασία. Μια εφαρμογή. Ένας πόρος παροχής υπηρεσιών. 1.1 Τι είναι τα web services Υπάρχουν πολλοί ορισμοί για το τι είναι web service, όπως επίσης και πολλές εταιρίες πληροφορικής που αναπτύσσουν εργαλεία για τα web services. Το W3C ορίζει σαν web service: Ένα λογισμικό σύστημα που έχει σχεδιαστεί για να στηρίζει την αλληλεπίδραση διαλειτουργικών μηχανών μέσω του διαδικτύου. Έχει μία διεπαφή που περιγράφεται κυρίως με το WSDL. Άλλα συστήματα αλληλεπιδρούν με το Web service με έναν τρόπο που προβλέπεται από την περιγραφή του χρησιμοποιώντας SOAP μηνύματα που συνήθως μεταφέρονται μέσω HTTP με ένα XML και σε συνδυασμό με άλλα πρότυπα του παγκόσμιου ιστού. Ακόμα το W3C χωρίζει σε δύο μεγάλες κατηγορίες τα Web Service. 1. REST Web services, στα οποία ο κύριος σκοπός της υπηρεσίας είναι να χειραγωγήσουν το XML των πόρων του Web χρησιμοποιώντας ένα σύνολο ομοιόμορφων εργασιών, και 2. Αυθαίρετα Web services, στα οποία το service μπορεί να εκθέσει ένα αυθαίρετο σύνολο εργασιών. Ένας πολύ καλός ορισμός δίνεται και από την IBM (Anon., n.d.): Τα Web services είναι μια τεχνολογία που επιτρέπει στις εφαρμογές να επικοινωνούν μεταξύ τους ανεξαρτήτως πλατφόρμας και γλώσσας προγραμματισμού. Ένα Web service είναι μια διεπαφή λογισμικού (software interface) που περιγράφει μια συλλογή από λειτουργίες οι οποίες μπορούν να προσεγγιστούν από το δίκτυο μέσω πρότυπων

14 μηνυμάτων XML. Χρησιμοποιεί πρότυπα βασισμένα στη γλώσσα XML για να περιγράψει μία λειτουργία (operation) προς εκτέλεση και τα δεδομένα προς ανταλλαγή με κάποια άλλη εφαρμογή. Μια ομάδα από Web services οι οποίες αλληλεπιδρούν μεταξύ τους καθορίζει μια εφαρμογή Web services. Η Microsoft μέσα από το ΜSDN της καταλήγει ότι όλα τα web services έχουν τρία κοινά χαρακτηριστικά: Τα 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) οι οποίες καλούνται από συστήματα που ανήκουν σε διαφορετικά τμήματα ενός οργανισμού ή σε διαφορετικούς οργανισμούς. Έτσι διαπιστώνουμε ότι τα web services είναι ανεξάρτητες πλατφόρμες όπου είναι χαλαρές συνδεδεμένες, αυτοτελώς προγραμματίσιμες και χρησιμοποιώντας XML εργαλεία έχουν ως σκοπό να αναπτύξουν διαλειτουργικές εφαρμογές. Τα web services αλληλεπιδρούν δυναμικά μεταξύ τους και χρησιμοποιούν τις πρότυπες τεχνολογίες του internet, έτσι ώστε να μπορούν να συνδεθούν συστήματα, που σε αντίθετη περίπτωση θα χρειαζόταν εκτενείς προσπάθειες ανάπτυξης. Η πολυπλοκότητα αυτών των συνδέσεων απαιτούν από τους προγραμματιστές να έχουν πλήρη γνώση και τον έλεγχο στις δυο πλευρές της σύνδεσης. Η συνδεσιμότητα που επιτυγχάνεται δεν είναι χαλαρή. Σε αντίθεση με την αρχή της στενής συνδεσιμότητας που απαιτεί συμφωνία και κοινόχρηστο πλαίσιο μεταξύ των επικοινωνούντων συστημάτων, η χαλαρή συνδεσιμότητα απαιτεί χαμηλότερο επίπεδο συντονισμού και επιτρέπει ευέλικτη επαναδιαμόρφωση. Ένα web service είναι μία αυτοτελή ενότητα λογισμικού που διεκπεραιώνει ένα απλό καθήκον. Η ενότητα χαρακτηρίζει τα δικά του χαρακτηριστικά επιφάνειας με τρόπο τέτοιον, ώστε άλλες ενότητες λογισμικού να προσδιορίσουν το σκοπό της, πως να

15 επικαλεστεί την λειτουργικότητά της και τι αποτέλεσμα να περιμένει. Με αυτή τη σκοπιά τα web services είναι συμβατικές ενότητες λογισμικού αφού παρέχουν δημοσίως περιγραφές των χαρακτηριστικών των διεπιφανειών που χρησιμοποιούνται για να έχουν πρόσβαση στην υπηρεσία, ώστε πιθανοί πελάτες να έχουν πρόσβαση. Η εξυπηρέτηση πελατών χρησιμοποιεί την περιγραφή μιας επιφάνειας web service για να συνδεθεί με τον παροχέα της υπηρεσίας και να επικαλεστεί τις υπηρεσίες της. Οι υπηρεσίες περιγράφονται από την άποψη περιγραφικής γλώσσας όπου παρέχει λειτουργικά και μη-λειτουργικά χαρακτηριστικά. Λειτουργικά χαρακτηριστικά περιέχουν χαρακτηριστικά επιχειρήσεων που καθορίζουν την συνολική συμπεριφορά των web services, ενώ τα μη-λειτουργικά χαρακτηριστικά περιέχουν την διαθεσιμότητα των υπηρεσιών, την αξιοπιστία, την επεκτασιμότητα, την ασφάλεια, την εξουσιοδότηση, την γνησιότητα, την ακαιρεότητα, χαρακτηριστικά επίδοσης (ταχύτητα, ακρίβεια) και πληροφορίες επικαιρότητας. Επειδή υπάρχει η δυνατότητα να κατασκευαστεί λογισμικό που θα χρησιμοποιεί διάφορες γλώσσες προγραμματισμού υπάρχει και η ανάγκη για μία μέθοδο ανταλλαγής δεδομένων που δεν εξαρτάται από μία συγκεκριμένη γλώσσα προγραμματισμού. Τα Web services έχουν σχεδιαστεί έτσι ώστε να απαντάνε σε μηνύματα που αφορούν το διαδίκτυο και το λογισμικό των επιχειρήσεων και χρησιμοποιούν αρχεία XML για την ανταλλαγή δεδομένων. Τα Web services βασίζονται σε τεχνολογίες όπως το HTTP, XML, SOAP, WSDL, SPARQL, και άλλα. Υπάρχουν διάφοροι κανόνες για την επικοινωνία μεταξύ διαφορετικών συστημάτων που πρέπει να καθοριστούν απαντώντας στα παρακάτω ερωτήματα: Πώς ένα σύστημα μπορεί να ζητήσει δεδομένα από ένα άλλο σύστημα Ποιες είναι οι συγκεκριμένες παράμετροι που απαιτούνται Ποια θα είναι η δομή των δεδομένων που παράγονται. Κανονικά, τα δεδομένα ανταλλάσσονται σε αρχεία XML, και η δομή του αρχείου XML επικυρώνεται από ένα αρχείο.xsd. Τι μηνύματα λάθους πρέπει να εμφανιστούν όταν ένας συγκεκριμένος κανόνας που αφορά την επικοινωνία δεν λειτουργεί, για να γίνει ευκολότερη η αντιμετώπιση των προβλημάτων. 1.2 Ιστορική αναδρομή των Web services στο W3C (Anon., n.d.) Δεκέμβριος 1999: Δημιουργείται η λίστα για το XML πρωτόκολλο Μάιος 2000: Το SOAP γίνεται αναγνωρισμένο. Σεπτέμβριος 2000: Δημιουργία ομάδας εργασίας XML πρωτοκόλλου Μάρτιος 2001: Το WSDL γίνεται αναγνωρισμένο Απρίλιος 2001:Πραγματοποιείται workshop για τα Web Services στο San Jose, CA. Ιανουάριος 2002: Σχηματίζεται το Web Services Activity

16 1.3 Ποιότητα παρεχόμενων υπηρεσιών (quality of service QoS) Ένα web service οι υπηρεσίες όπου παρέχει πρέπει να έχουν πολύ καλή ποιότητα. Πρέπει να λαμβάνουν υπόψιν τα εξής: Απόδοση Αξιοπιστία Επεκτασιμότητα Χωρητικότητα Ικανότητα Ανθεκτικότητα Ακρίβεια Ακεραιότητα Προσβασιμότητα Διαθεσιμότητα Διαλειτουργικότητα Ασφάλεια Απόδοση Η απόδοση μιας υπηρεσίας web αντιπροσωπεύει το πόσο γρήγορα μια αίτηση υπηρεσίας μπορεί να ολοκληρωθεί. Μπορεί να μετρηθεί με βάση τον χρόνο απόκρισης, την λανθάνουσα κατάσταση, το χρόνο εκτέλεσης, και το χρόνο της συναλλαγής, και ούτω καθεξής (Ran, 2003). Ο χρόνος απόκρισης είναι ο χρόνος που απαιτείται για να ολοκληρωθεί μια αίτηση υπηρεσίας web. Η λανθάνουσα κατάσταση είναι η καθυστέρηση μετ 'επιστροφής μεταξύ της αποστολής αίτησης και την παραλαβή της απάντησης. Ο χρόνος εκτέλεσης είναι ο χρόνος που απαιτείται από ένα web service για την επεξεργασία των δραστηριοτήτων της. Τέλος, ο χρόνος συναλλαγής αντιπροσωπεύει το χρόνο που περνάει, ενώ το web service ολοκληρώνει μια πλήρη συναλλαγή. Σε γενικές γραμμές, τα web services υψηλής ποιότητας θα πρέπει να παρέχουν υψηλότερη απόδοση, ταχύτερο χρόνο απόκρισης, να μην έχουν όσο το δυνατόν γίνεται λανθάνουσα κατάσταση, χαμηλότερο χρόνο εκτέλεσης, και γρηγορότερο χρόνο της συναλλαγής. Αξιοπιστία Τα Web services θα πρέπει να παρέχουν υψηλή αξιοπιστία. Η αξιοπιστία αντιπροσωπεύει την ικανότητα ενός web service να κάνει τις απαραίτητες λειτουργίες του υπό οποιεσδήποτε συνθήκες για ένα συγκεκριμένο χρονικό διάστημα (IEEE, 1990). Η αξιοπιστία είναι το γενικό μέτρο του web service για τη διατήρηση της ποιότητας των υπηρεσιών του. Επεκτασιμότητα Τα web services θα πρέπει να έχουν υψηλή επεκτασιμότητα. Η επεκτασιμότητα αντιπροσωπεύει τη δυνατότητα αύξησης της χωρητικότητας των υπολογιστών του συστήματος του υπολογιστή φορέα παροχής υπηρεσιών και την ικανότητα του συστήματος να επεξεργάζεται τις αιτήσεις, με πράξεις ή συναλλαγές περισσότερες των

17 χρηστών σε ένα συγκεκριμένο χρονικό διάστημα (Ran, 2003). Επίσης, σχετίζεται με την απόδοση. Τα web services πρέπει να είναι επεκτάσιμα όσον αφορά τις πράξεις ή τον αριθμό των συναλλαγών που υποστηρίζουν. Χωρητικότητα Τα web services θα πρέπει να παρέχονται με την απαιτούμενη χωρητικότητα. Χωρητικότητα είναι το όριο του αριθμού των ταυτόχρονων αιτήσεων που θα πρέπει να παρέχονται με εγγυημένη απόδοση (Ran, 2003). Επίσης θα πρέπει να υποστηρίζουν τον απαιτούμενο αριθμό των ταυτόχρονων συνδέσεων. Ανθεκτικότητα Τα web services θα πρέπει να έχουν υψηλή ανθεκτικότητα. Η ανθεκτικότητα αντιπροσωπεύει το βαθμό στον οποίο ένα web service μπορεί να λειτουργήσει σωστά, ακόμη και αν υπάρχουν άκυρα και ελλιπή inputs (Ran, 2003). Θα πρέπει να εξακολουθούν να λειτουργούν ακόμα και αν υπάρχουν ελλιπείς παράμετροι. Ακρίβεια Θα πρέπει να παρέχουν μεγάλη ακρίβεια. Ακρίβεια ορίζεται εδώ ως το ποσοστό σφάλματος που παράγεται από το web service (Ran, 2003). Ο αριθμός των σφαλμάτων που το service παράγει θα πρέπει να ελαχιστοποιείται. Ακεραιότητα Θα πρέπει να παρέχεται ακεραιότητα, έτσι ώστε ένα σύστημα ή εξάρτημα να μπορεί να αποτρέψει την μη εξουσιοδοτημένη πρόσβαση ή τροποποίηση των προγραμμάτων, των ηλεκτρονικών υπολογιστών ή των δεδομένων. Μπορεί να υπάρχουν δύο είδη ακεραιότητας: ακεραιότητα δεδομένων και ακεραιότητα συναλλαγής δεδομένων. Η ακεραιότητα δεδομένων καθορίζει αν η μεταφορά δεδομένων έχει τροποποιηθεί κατά τη μεταφορά. Η ακεραιότητα συναλλαγής δεδομένων αναφέρεται σε μία διαδικασία ή σειρά διαδικασιών, που είναι εγγυημένη για να διατηρήσει την ακεραιότητα της βάσης δεδομένων σε μια συναλλαγή (Arulazi D, Rajesh Sumra, March 2003). Προσβασιμότητα Ακόμα θα πρέπει να παρέχουμε υψηλή προσβασιμότητα. Η προσβασιμότητα αντιπροσωπεύει το αν το web service είναι σε θέση να εξυπηρετήσει τα αιτήματα του πελάτη (Arulazi D, Rajesh Sumra, March 2003). Για παράδειγμα υψηλή προσβασιμότητα μπορεί να επιτευχθεί, με την κατασκευή συστημάτων υψηλής επεκτασιμότητας. Διαθεσιμότητα Το web service θα πρέπει να είναι έτοιμο (δηλαδή, διαθέσιμο) για άμεση χρήση. Η διαθεσιμότητα σχετίζεται με την αξιοπιστία (J., 1998 ). Το service θα πρέπει να είναι διαθέσιμο με το που ενεργοποιηθεί. Διαλειτουργικότητα Ένα άλλο στοιχείο είναι ότι πρέπει να είναι διαλειτουργικά μεταξύ διαφορετικών περιβάλλοντων ανάπτυξης που χρησιμοποιούνται για την υλοποίηση των services, έτσι ώστε οι προγραμματιστές που χρησιμοποιούν αυτά τα services να μην χρειάζεται να

18 σκεφτούν τις διάφορες γλώσσες προγραμματισμού ή το λειτουργικό σύστημα που φιλοξενούνται (Arulazi D, Rajesh Sumra, March 2003). Ασφάλεια Ένα τελευταίο στοιχείο είναι ότι θα πρέπει να παρέχονται με την απαιτούμενη ασφάλεια. Με την αύξηση της χρήσης των web services που παρέχονται μέσω του Διαδικτύου, υπάρχει μια αυξανόμενη ανησυχία για την ασφάλεια. Ο web service provider μπορεί να δίνει διαφορετικές προσεγγίσεις παροχής πολιτικής ασφάλειας, ανάλογα με τον service requestor. Ασφάλεια για τα web service σημαίνει παροχή ταυτότητας, άδειας, εμπιστευτικότητας, ανιχνευσιμότητας / ελεγξιμότητας, και κρυπτογράφησης δεδομένων. 1.4 Παλαιότερες κατανεμημένες τεχνολογίες Οι πιο δημοφιλείς κατανεμημένες τεχνολογίες ήταν η CORBA 1, η DCOM 2 και το RMI 3 και βασίστηκαν σε αντικειμενοστραφή μοντέλα προγραμματισμού. CORBA Η CORBA είναι ένα πρότυπο που σχεδιάστηκε για να διευκολύνει την επικοινωνία μεταξύ συστημάτων που έχουν αναπτυχθεί σε διαφορετικές πλατφόρμες. Έχει τον ίδιο σχεδιασμό με οποιαδήποτε γλώσσα αντικειμενοστραφούς προγραμματισμού, δηλαδή περιέχει την ενθυλάκωση και την επαναχρησιμοποίηση. Αυτό είναι και το κύριο πλεονέκτημα της ότι οι clients και οι servers μπορούν να είναι γραμμένοι σε οποιαδήποτε γλώσσα προγραμματισμού. Αυτό είναι δυνατόν επειδή τα αντικείμενα ορίζονται με ένα υψηλό επίπεδο αφαίρεσης που παρέχεται από το IDL 4.Μετά τον καθορισμό ενός IDL αρχείου, ένας compiler φροντίζει για τη χαρτογράφηση του IDL αρχείου σε μια συγκεκριμένη γλώσσα προγραμματισμού. Η επικοινωνία μεταξύ των αντικειμένων, των πελατών και των servers γίνεται μέσω ORBs. Εάν χρειάζεστε υψηλή απόδοση σε ένα κατανεμημένη εφαρμογή, τότε το CORBA εξακολουθεί να είναι το middleware της επιλογής μας. Ωστόσο, γράφοντας μια κατανεμημένη εφαρμογή με CORBA είναι ένα αρκετά περίπλοκο θέμα. Για να μπορέσει το IDL να μεταφραστεί σε διάφορες γλώσσες, θα πρέπει να περιοριστεί στις έννοιες που βρίσκονται σε όλες τις γλώσσες που θέλουμε να υποστηρίξουμε, έτσι ώστε να αντιπροσωπεύσουμε τουλάχιστο ένα κοινό παρονομαστή. Προκειμένου να καλύψει πολλούς τομείς εφαρμογών, το CORBA παρέχει διάφορες υπηρεσίες. Σαν αποτέλεσμα αυτού είναι ότι η προδιαγραφή του καθίσταται πολύ βαριά και αυξάνεται η πολυπλοκότητα του. Για να κάνει τον client και το αντικείμενο του διακομιστή να επικοινωνούν, απαιτούνται συμβατά ORBs και στις δύο πλευρές της σύνδεσης. 1 Common Object Request Broker Architecture 2 Distributed Component Object Model 3 Remote Method Invocation 4 Interface Language Definition

19 DCOM Η DCOM κατασκευάστηκε από την Microsoft για την επικοινωνία μεταξύ στοιχείων λογισμικού που διανέμεται μέσω δικτύου υπολογιστών (Anon., n.d.). Η DCOM, αρχικά ονομαζόταν Network OLE", επέκτεινε το COM της Microsoft, και παρείχε την εφαρμογή των υποδομών server της Microsoft. Η προσθήκη του "D" στο COM οφείλεται στην εκτεταμένη χρήση του DCE / RPC 5 - ειδικότερα στην βελτιωμένη έκδοση της Microsoft, γνωστή ως MSRPC. Όσον αφορά τις επεκτάσεις που προστίθενται στο COM, το DCOM έπρεπε να λύσει τα προβλήματα της: Διαλογής: να σειριοποιεί τα επιχειρήματα και να επιστρέφει τις τιμές των μεθόδων που λέγονται "πάνω από το σύρμα». Κατανεμημένη συλλογή σκουπιδιών (Distributed garbage collection): να διασφαλίζει ότι οι αναφορές των διεπαφών που κατέχονται από τους πελάτες απελευθερώνονται όταν, για παράδειγμα, η σύνδεση του δικτύου χαθεί. Να συνδυάζει εκατοντάδες / δεκάδες από χιλιάδες αντικείμενα που βρίσκονται στον browser του πελάτη με μία μόνο μετάδοση προκειμένου να ελαχιστοποιηθεί η χρησιμοποίηση του εύρους ζώνης. Ένας από τους βασικούς παράγοντες για την επίλυση αυτών των προβλημάτων είναι η χρήση του DCE / RPC, καθώς ο μηχανισμός RPC έχει ορίσει αυστηρούς κανόνες σχετικά με τη διευθέτηση και το ποιος είναι υπεύθυνος για την απελευθέρωση της μνήμης. Το DCOM ήταν ένας μεγάλος ανταγωνιστής του CORBA. Οι υποστηρικτές και των δύο αυτών των τεχνολογιών τους είδαν σε αυτά ότι μια μέρα θα γίνουν απαραίτητα για τον προγραμματισμό και την επαναχρησιμοποίηση των υπηρεσιών μέσω του Διαδικτύου. Ωστόσο, οι δυσκολίες που έχουν αυτές οι δύο τεχνολογίες στο να εργαστούν πάνω από τα τείχη προστασίας του Internet, σήμαινε ότι οι HTTP αιτήσεις σε συνδυασμό με τους web browsers κέρδισαν τις δύο αυτές τεχνολογίες. Η Microsoft, σε κάποιο σημείο, προσπάθησε αλλά απέτυχε να ηγηθεί, προσθέτοντας έναν επιπλέον http μεταφορέα στο DCE / RPC με το όνομα ncacn_http 6. Αυτό έγινε αργότερα για να υποστηρίξουν μια σύνδεση του Microsoft Exchange 2003 μέσω του HTTP. Κάποιες εναλλακτικές εκδόσεις της DCOM είναι: COMsource TangramCOM RMI Το RMI μας δίνει τη δυνατότητα να δημιουργήσουμε εφαρμογές Java, όπου οι μέθοδοι αυτών των εφαρμογών μπορούν να καλεστούν από εικονικές Java μηχανές που 5 Distributed Computing Environment / Remote Procedure Calls 6 connection-oriented Network Computing Architecture protocol

20 ενδεχομένως να βρίσκονται σε διαφορετικούς hosts. Το RMI χρησιμοποιεί σειριακά αντικείμενα για να συγκεντρώσει παραμέτρους και δεν περικόπτει τους τύπους, που υποστηρίζουν τα αντικείμενα που είναι προσανατολισμένα στον πολυμορφισμό. Το πρωτόκολλο που χρησιμοποιείται για την επικοινωνία είναι το JRMP 7 (Anon., n.d.). Για να προγραμματίσει κάποιος developer το RMI πρέπει να έχει αποκτήσει μεγάλη εμπειρία με τη γλώσσα προγραμματισμού Java και τις κατανεμημένες εφαρμογές. Καμία αφηρημένη γλώσσα, όπως η IDL δεν χρησιμοποιείται για να περιγράψει έναν απομακρυσμένο αντικείμενο. Επιπλέον, το RMI υποστηρίζει κατανεμημένο garbage collection. Από την άλλη πλευρά, μπορεί να χρησιμοποιηθεί μόνο Java και στις δύο πλευρές της σύνδεσης. Και η ευκολία χρήσης επιτυγχάνεται με το να διατηρήσουμε το middleware αρκετά απλό. Δεν παρέχει όμως καμία υπηρεσία όπως εκείνες που καθορίζονται από το CORBA. Αυτά τα θέματα πρέπει να αντιμετωπιστούν από τον developer. Όπως καταλαβαίνουμε από τα παραπάνω οι τρεις αυτές τεχνολογίες δουλεύουν με παρόμοιο τρόπο. Οι διαφορές βρίσκονται περισσότερο στα διάφορα χαρακτηριστικά που υποστηρίζουν, καθώς και στο επίπεδο της πολυπλοκότητας. Όλα αυτά οδηγούν σε μια σφιχτή σχέση μεταξύ server και client, και μπορεί να χρησιμοποιηθεί οποιαδήποτε από τις αυτές τις τρεις τεχνολογίες. Εξαιτίας όμως των διαφορετικών πρωτοκόλλων, δεν μπορούμε να καλέσουμε έναν DCOMserver για έναν πελάτη που χρησιμοποιεί RMI. Επιπλέον, αυτές οι τεχνολογίες χρησιμοποιούνται συνήθως για intranet εφαρμογές, και αυτό είναι ένα θέμα για πως θα διασχίσουμε ένα τείχος προστασίας. Όλα τους παρέχουν HTTP tunneling για να μπορούμε να φτάσουμε στον server παρακάμπτοντας το τείχος προστασίας. 1.5 Πλεονεκτήματα σε σχέση με παλαιότερες κατανεμημένες τεχνολογίες Η τεχνολογία των web services έχει πολλά πλεονεκτήματα σε σχέση με άλλες τεχνολογίες. Αυτά είναι τα εξής: Ευκολότερος χειρισμός δεδομένων Απλότητα πρωτοκόλλου επικοινωνίας Απλότητα υποδομής Ευκολία στην επικοινωνία Διαλειτουργικότητα και ευκολία ανάπτυξης νέων εφαρμογών Μικρό κόστος δημιουργίας και χρήσης Χρήση λογισμικών συστημάτων Ευκολότερος χειρισμός δεδομένων Το κυριότερο πρόβλημα στις κατανεμημένες τεχνολογίες ήταν η ισχυρή συνδεσιμότητα. Πριν από την δημιουργία των web services ο τρόπος επικοινωνίας των πληροφοριακών συστημάτων ήταν μία σταθερή διεπαφή με λίγη έως μηδενική ευελιξία ή προσαρμοστικότητα στα περιβάλλοντα. 7 Java Remote Method Protocol

21 Τα web services επειδή χρησιμοποιούν την ΧΜL μπορούν να περιγράψουν οποιαδήποτε δεδομένα σε οποιαδήποτε πλατφόρμα με σκοπό την ανταλλαγή δεδομένων μεταξύ των συστημάτων. Γι αυτό το λόγο οι εφαρμογές οι οποίες δημιουργούνται έχουν χαλαρή συνδεσιμότητα. Ακόμα τα web services λειτουργούν σε πιο αφηρημένο επίπεδο όπου έχουν την δυνατότητα να τροποποιήσουν ή να χειριστούν διάφορους τύπους δεδομένων ευκολότερα σε σχέση με άλλες τεχνολογίες με αποτέλεσμα τα εκάστοτε πληροφοριακά συστήματα να επικοινωνούν καλύτερα. Απλότητα πρωτοκόλλου επικοινωνίας Το πρωτόκολλο επικοινωνίας που χρησιμοποιούν τα web services όπως είδαμε είναι το SOAP. Το SOAP είναι απλούστερο και ευκολότερο σε σχέση με άλλα πρωτόκολλα άλλων τεχνολογιών όπως τα πρωτόκολλα που χρησιμοποιούσαν άλλα παλαιότερα περιβάλλοντα όπως το CORBA, DCOM, RMI. Γι αυτό το λόγο έκτος από μεγάλες εταιρείες πληροφορικής ακόμα και μεμονωμένοι προγραμματιστές μπορούν να υλοποιήσουν SOAP, πράγμα που το καθιστά πολύ προσιτό στον κόσμο της πληροφορικής. Απλότητα υποδομής Στα web services χρησιμοποιούνται ευρέως πρωτόκολλα όπως η ΧΜL, το ΗTTΡ και το TCP/IP. Υπάρχει πολύ μεγάλος αριθμός εταιριών αλλά και ανθρώπων που έχουν τις γνώσεις και την εμπειρία για την δημιουργία αυτών των πρωτοκόλλων. Σαν αποτέλεσμα έχει ότι το κόστος για την εφαρμογή και την δημιουργία των web services είναι σημαντικά μικρότερο σε σχέση με άλλων τεχνολογιών. Ευκολία στην επικοινωνία Οι εταιρείες και οι οργανισμοί που χρησιμοποιούσαν διαφορετικές τεχνολογίες η συνεργασία μεταξύ τους ήταν δύσκολη γιατί αυτές οι τεχνολογίες όπως είναι το CORBA και το DCOM χρησιμοποιούσαν μη πρότυπες πόρτες. Αποτέλεσμα αυτού ήταν να δημιουργούνται ανοίγματα στα firewall πράγμα που θέτει σε κίνδυνο την ασφάλεια των συστημάτων των εταιρειών και των οργανισμών. Αντίθετα τα web services επειδή χρησιμοποιούν το ΗTTΡ ως πρωτόκολλο μεταφοράς τα περισσότερα τείχη προστασίας επιτρέπουν την πρόσβαση μόνο μέσω της θύρας 80 η οποία είναι η θύρα για το ΗTTΡ. Έτσι η συνεργασία των πληροφοριακών συστημάτων μεταξύ οργανισμών και εταιρειών γίνεται ευκολότερη. Διαλειτουργικότητα και ευκολία ανάπτυξης νέων εφαρμογών Οι παλαιότερες τεχνολογίες είχαν ζητήματα διαλειτουργικότητας γιατί κάθε προγραμματιστής δημιουργούσε το δικό του πρότυπο. Όμως επειδή τα web services χρησιμοποιούν την ΧΜL σαν το μόνο πρότυπο οποιοδήποτε σύστημα φτιαγμένο σε διαφορετικές γλώσσες προγραμματισμού μπορεί να επικοινωνήσει το ένα με το άλλο. Επίσης όλες οι εφαρμογές υλοποιούνται σε μικρό χρονικό διάστημα. Μικρό κόστος δημιουργίας και χρήσης Σε ένα σύστημα υπάρχει κάποια διαδικασία η οποία θα επεκταθεί σε online υπηρεσία έτσι το κόστος της δημιουργίας της υπηρεσίας θα είναι ελάχιστο. Επίσης η

22 ενσωμάτωση κάποιας υπηρεσίας σε κάποια ιστοσελίδα ή δικτυακή εφαρμογή κοστίζει ελάχιστα. Χρήση λογισμικών συστημάτων Όλες οι ιστοσελίδες οι οποίες χρησιμοποιούν έτοιμες υπηρεσίες είναι πιο λειτουργικές αφού παρέχουν περισσότερες υπηρεσίες στους χρήστες. 1.6 Μειονεκτήματα σε σχέση με παλαιότερες κατανεμημένες τεχνολογίες Τα web services εκτός από τα πλεονεκτήματα τα οποία διαθέτουν και την αποτελεσματικότητα που μας προσφέρουν έχουν και κάποια μειονεκτήματα τα οποία δεν μπορούν αν περάσουν απαρατήρητα και στο μέλλον θα έπρεπε να επιλυθούν. Αυτά είναι τα εξής: Τα πρότυπα που έχουν τα web services για τις λειτουργίες τους είναι σχεδόν ανύπαρκτα ή βρίσκονται σε πολύ πρώιμο στάδιο σε σχέση με άλλα πρότυπα συστημάτων (π.χ. CORBA). Τα web services υστερούν σε απόδοση σε σχέση με άλλα κατανεμημένα συστήματα. Αυτό συμβαίνει γιατί η XML δεν στοχεύει στην σαφήνεια της κωδικοποίησης. Η χρησιμοποίηση της HTTP στα web services έχει ως αποτέλεσμα την παράκαμψη κάποιων μέτρων προστασίας από τα ίδια τα web services. Λόγω αυτών των μειονεκτημάτων και θεμάτων που υπάρχουν η τεχνολογία των web services συνεχώς εξελίσσεται και δημιουργούνται νέα standards που αφορούν την λειτουργία των υπηρεσιών και δίνουν ιδιαίτερη έμφαση στο semantic web (σημασιολογική ερμηνεία της πληροφορίας στον παγκόσμιο ιστό). 1.7 Τα web services από επιχειρηματική σκοπιά Τα web services μπορούμε να τα δούμε σαν μονάδες εργασίας. Αυτές οι μονάδες εργασίας μπορούν να συνδυαστούν σε διάφορες εργασίες επιχειρησιακού προσανατολισμού για να χειριστούν συγκεκριμένες επιχειρησιακές λειτουργίες. Αυτή η δυνατότητα έχει ως αποτέλεσμα άνθρωποι μη εξοικειωμένοι με την τεχνολογία να μπορούν να σχεδιάσουν εφαρμογές οι οποίες να μπορούν να χειριστούν τα επιχειρησιακά ζητήματα τους. Σαν αποτέλεσμα των web services είναι ότι με αυτά που προσφέρουν βοηθούν στη γεφύρωση του χάσματος μεταξύ των ανθρώπων που ασχολούνται με την επιχειρηματικότητα και ανθρώπων που ασχολούνται με την πληροφορική. Οι άνθρωποι του επιχειρείν μπορούν να περιγράψουν γεγονότα και δραστηριότητες και οι πληροφορικοί μπορούν να τα συνδέσουν με τις κατάλληλες υπηρεσίες. Αν μάλιστα οι διεπαφές είναι καθολικά καθορισμένες και έχουν καλά σχεδιασμένες λειτουργίες, γίνεται κατανοητό ότι μπορούν να επαναχρησιμοποιηθούν αυτές οι λειτουργίες άρα και οι εφαρμογές που αντιπροσωπεύουν. Η επαναχρησιμοποίηση μιας εφαρμογής λογισμικού σημαίνει καλύτερη απόδοσης της επένδυσης διότι μπορεί να παράγει περισσότερα με τους ίδιους πόρους. Η επαναχρησιμοποίηση μιας ήδη υπάρχουσας εφαρμογής επιτρέπει στους ανθρώπους να εξετάσουν με ένα διαφορετικό

23 τρόπο τα διάφορα ζητήματα τους με σκοπό να αυξάνουν ενδεχομένως τις επιχειρησιακές συναλλαγές τους. 1.8 Τα web services από τεχνική σκοπιά Για να μπορέσουν τα web services να προσφέρουν όλα αυτά τα δυναμικά χαρακτηριστικά ώστε να συνδυάσουμε υπηρεσίες σε εφαρμογές, πρέπει πρώτα να χτίσουμε αυτές τις υπηρεσίες. Οι γλώσσες προγραμματισμού στην πληροφορική συνεχώς εξελίσσονται. Σε αυτές υπάρχουν τα αντικείμενα (objects) όπου κάθε αντικείμενο είχε όχι απλώς έναν αριθμό από λειτουργίες (functions) που μπορεί να εκτελέσει αλλά και τις δικές του ιδιωτικές μεταβλητές (private data variables), αντί να στηρίζεται σε εξωτερικές μεταβλητές του συστήματος που προηγουμένως έκαναν πιο περίπλοκη την ανάπτυξη εφαρμογών. Δεδομένου ότι οι εφαρμογές άρχισαν να επικοινωνούν μεταξύ τους, η έννοια του καθορισμού καθολικών διεπαφών (universal interfaces) για αντικείμενα έγινε σημαντική, επιτρέποντας αντικείμενα σε διαφορετικές πλατφόρμες να επικοινωνούν ακόμη και αν είχαν αναπτυχθεί σε διαφορετικές γλώσσες προγραμματισμού και εκτελούνταν σε διαφορετικά λειτουργικά συστήματα. Έτσι, τα web services προχώρησαν μπροστά με την έννοια των διεπαφών και επικοινωνιών καθορισμένων με XML, ενώνοντας τελικά κάθε είδους εφαρμογή με οποιαδήποτε άλλη, όπως και παρέχοντας την ελευθερία στις εφαρμογές αν αλλάξουν και να εξελιχθούν με το χρόνο, αρκεί να είναι σχεδιασμένες σύμφωνα με την κατάλληλη διεπαφή. Η μεταβλητότητα της XML είναι αυτό που κάνει τα web services διαφορετικά από τεχνολογίες προηγούμενων γενεών. Επιτρέπει το διαχωρισμό της γραμματικής δομής (syntax) και της γραμματικής έννοιας (semantics), και του πώς αυτά υποβάλλονται σε επεξεργασία και κατανοούνται από μία υπηρεσία και το περιβάλλον μέσα στο οποίο υπάρχει. Έτσι λοιπόν τώρα, τα αντικείμενα μπορούν να καθοριστούν σαν υπηρεσίες, οι οποίες επικοινωνούν με άλλες υπηρεσίες σε γραμματική καθορισμένη σε XML, με την οποία κάθε υπηρεσία μεταφράζει και αναλύει το μήνυμα σύμφωνα με μην τοπική της υλοποίησης και το περιβάλλον της. Κατά συνέπεια μια διακτυακή εφαρμογή μπορεί πραγματικά να συντεθεί από πολλαπλές οντότητες διαφόρων υλοποιήσεων και σχεδιασμών εφόσον προσαρμόζονται στους κανόνες που καθορίζονται από την προσανατολισμένη στις υπηρεσίες αρχιτεκτονική τους. Κατά συνέπεια, με αυτά στο μυαλό, τα web services μας επιτρέπουν: Την αλληλεπίδραση μεταξύ υπηρεσιών σε οποιαδήποτε πλατφόρμα, γραμμένες σε οποιαδήποτε γλώσσα προγραμματισμού. Να αντιληφθούμε λειτουργίες εφαρμογών ως εργασίες, οδηγούμενοι σε ανάπτυξη και ροές εργασιών προσανατολισμένες σε εργασίες. Αυτό επιτρέπει μια υψηλότερη αφαίρεση του λογισμικού το οποίο μπορεί να υιοθετηθεί από λιγότερο τεχνικά καταρτισμένους χρήστες. Τη χαλαρή συνδεσιμότητα μεταξύ εφαρμογών, πράγμα που σημαίνει ότι αλληλεπιδράσεις μεταξύ υπηρεσιών δε θα χαλάνε κάθε φορά που υπάρχει κάποια αλλαγή το πώς μία ή περισσότερες υπηρεσίες σχεδιάζονται ή υλοποιούνται. Την προσαρμογή ήδη υπάρχουσων εφαρμογών στις μεταβαλλόμενες επιχειρησιακές συνθήκες και ανάγκες των πελατών.

24 Να παρέχουμε υπάρχουσες εφαρμογές λογισμικού με διεπαφές υπηρεσιών χωρίς να αλλάξουμε τις αρχικές εφαρμογές, επιτρέποντάς τους να λειτουργούν πλήρως στο περιβάλλον των υπηρεσιών. Να εισάγουμε άλλες διοικητικές λειτουργίες ή λειτουργίες διαχείρισης διαδικασιών όπως η αξιοπιστία, υπευθυνότητα, ασφάλεια, κ.λπ., ανεξάρτητες της αρχικής λειτουργίας μιας εφαρμογής, αυξάνοντας κατά συνέπεια τη μεταβλητότητα και τη χρησιμότητά της στο επιχειρησιακό περιβάλλον. 1.9 Εφαρμογές των web services Τα πρώτα web services σκόπευαν να είναι πηγές πληροφορίας τις οποίες μπορεί κανείς πολύ εύκολα να ενσωματώσει στις εφαρμογές του : τιμές μετοχών, προβλέψεις καιρού, αποτελέσματα αθλητικών παιχνιδιών κλπ. Είναι εύκολο να φανταστεί κανείς μια ολόκληρη κατηγορία εφαρμογών που μπορεί να κατασκευάσει ώστε να αναλύει και να συνδυάζει πληροφορία που τον ενδιαφέρει και να την παρουσιάζει με ποικίλους τρόπους. Για παράδειγμα, θα μπορούσαμε να έχουμε ένα λογιστικό φύλλο (spreadsheet) το οποίο συνοψίζει όλη την οικονομική μας εικόνα : μετοχές, τραπεζικούς λογαριασμούς, δάνεια κλπ. Αν αυτή η πληροφορία ήταν διαθέσιμη μέσω web services το λογιστικό φύλλο θα μπορούσε να ενημερώνεται συνεχώς. Οι περισσότερες από αυτές τις πληροφορίες είναι ήδη διαθέσιμες στον παγκόσμιο ιστό αλλά τα web services θα κάνουν την προγραμματιστική πρόσβαση σε αυτές πιο εύκολη και πιο αξιόπιστη. Εκθέτοντας ήδη υπάρχουσες εφαρμογές σαν web services θα επιτρέψει στους χρήστες να κατασκευάσουν νέες πιο ισχυρές εφαρμογές οι οποίες χρησιμοποιούν τα web services σαν δομικά στοιχεία. Για παράδειγμα, ένας χρήστης θα μπορούσε να αναπτύξει μια εφαρμογή προμηθειών η οποία να παίρνει αυτόματα τιμές από προμηθευτές, να επιτρέπει στο χρήστη να επιλέξει προμηθευτή, να υποβάλει την παραγγελία και να παρακολουθεί την αποστολή έως ότου να γίνει η παραλαβή της. Η εφαρμογή του προμηθευτή, εκτός από το να εκθέτει τις υπηρεσίες της στον ιστό, θα μπορούσε να χρησιμοποιήσει άλλα web services για να ελέγξει την πιστοληπτική ικανότητα του πελάτη, να χρεώσει τον τραπεζικό λογαριασμό του πελάτη και να καθορίσει την αποστολή με μια εταιρία μεταφορών. Στο άμεσο μέλλον, μερικά από τα πιο ενδιαφέροντα web services θα υποστηρίζουν εφαρμογές που χρησιμοποιούν τον ιστό για να κάνουν πράγματα που δεν μπορούν να γίνουν σήμερα. Για παράδειγμα, μία από τις υπηρεσίες που τα web services θα κάνουν δυνατή είναι η υπηρεσία ημερολογίου. Αν ο οδοντίατρος ή ο μηχανικός σας εξέθεταν τα ημερολόγιά τους μέσω μιας τέτοιας web service, θα μπορούσατε να προγραμματίσετε τα ραντεβού σας με αυτούς ή θα μπορούσαν να προγραμματίσουν αυτοί τα ραντεβού κατευθείαν στο δικό σας ημερολόγιο εάν θέλατε. Με λίγη φαντασία, μπορούμε να οραματιστούμε εκατοντάδες εφαρμογές οι οποίες μπορούν να κατασκευαστούν μόλις έχουμε τη δυνατότητα να προγραμματίσουμε τον ιστό Αρχιτεκτονική των web services Το μοντέλο των web services ακολουθεί το παράδειγμα δημοσίευση, εύρεση και σύνδεση. Στο πρώτο βήμα, ο προμηθευτής της υπηρεσίας δημοσιεύει την υπηρεσία σε ένα κατάλογο υπηρεσιών. Στο δεύτερο βήμα, ο πελάτης ο οποίος ψάχνει για μία υπηρεσία η οποία να καλύπτει τις απαιτήσεις του την αναζητεί στον κατάλογο. Αφού επιτυχημένα βρει πολλαπλές υπηρεσίες επιλέγει μία βάσει των προτιμήσεών του. Τότε

25 μεταφορτώνει την περιγραφή της υπηρεσίας και συνδέεται με αυτήν ώστε να μπορέσει να καλέσει και να εκτελέσει την υπηρεσία. Όταν μιλάμε λοιπόν για μία αρχιτεκτονική προσανατολισμένη στις υπηρεσίες προκύπτουν ορισμένα ζητήματα. Η εφαρμογή που παρέχει την υπηρεσία και η εφαρμογή-πελάτης η οποία χρησιμοποιεί την υπηρεσία μιλάνε μεταξύ τους σε μια κοινή γλώσσα. Έπειτα οι δύο εφαρμογές χρειάζονται ένα τρόπο να εντοπίζουν η μία την άλλη πριν ξεκινήσουν να μιλούν μεταξύ τους. Αυτό αληθεύει ακόμη παραπάνω για τις κατανεμημένες εφαρμογές όπου μία εφαρμογή δεν έχει καμία γνώση της θέσης της άλλης. Ως εκ τούτου, μπορούμε να πούμε ότι μια βασική αρχιτεκτονική για web services πρέπει να παρέχει: Έναν πρότυπο τρόπο για επικοινωνία. Ένα ομοιόμορφο μηχανισμό για περιγραφή και ανταλλαγή των δεδομένων. Μια πρότυπη περιγραφική γλώσσα (meta language) για να περιγράψει τις υπηρεσίες που προσφέρονται. Ένα μηχανισμό για να καταχωρούνται και να εντοπίζονται οι εφαρμογές που βασίζονται σε web services Διαφορές από προηγούμενες τεχνολογίες Τίποτα από τα παραπάνω δεν είναι καινούργιο. Στην πραγματικότητα τα RMI, DCOM και CORBA όλα παρέχουν παρόμοιες υπηρεσίες. Η διαφορά, εντούτοις, είναι στο πώς παρέχονται αυτές οι υπηρεσίες. Οι παραδοσιακές RPC υπηρεσίες απαιτούν παρόμοια αρχιτεκτονική υποδομής, μορφή δεδομένων, κλπ. Για παράδειγμα, δύο διαφορετικές υλοποιήσεις RPC προκειμένου να επικοινωνήσουν, και οι δύο πρέπει να παράσχουν μηχανισμούς επικοινωνίας. Ιστορικά τέτοια επικοινωνία καθορίστηκε φτωχά και απαιτούσε μεγάλη φροντίδα για να μπορέσουν τα δύο συστήματα να επικοινωνήσουν. Τα web services διαφέρουν από τους παραδοσιακούς RPC μηχανισμούς από πολλές απόψεις (Saganich, 2001): Τα δεδομένα είναι μορφοποιημένα για μεταφορά χρησιμοποιώντας XML, βελτιώνοντας ή εξαλείφοντας το marshalling, το unmarshalling και άλλες σχετικά με τη μετάφραση απαιτήσεις που συνήθως προγραμματίζονταν από τον ίδιο τον προγραμματιστή. Τα δεδομένα ανταλλάσσονται χρησιμοποιώντας προτυποποιημένα πρωτόκολλα όπως το HTTP ή το SMTP, τα οποία έχουν δημοσιευμένα καλά καθορισμένα πρότυπα. Η προς έκθεση υπηρεσία είναι καλά καθορισμένη χρησιμοποιώντας ένα γνωστό και αποδεκτό μηχανισμό, την WSDL. Οι υπηρεσίες ανευρίσκονται χρησιμοποιώντας ένα καλά καθορισμένο πρότυπο, το UDDI, και το πιο εξελιγμένο ebxml.

26 1.12 Βασικές Τεχνολογίες των web services Τα web services παρέχουν ένα τυποποιημένο τρόπο αλληλεπίδρασης μεταξύ διαφορετικών εφαρμογών λογισμικού ανεξάρτητα από την πλατφόρμα και το πλαίσιο εργασίας, στα οποία έχουν υλοποιηθεί, και χωρίς να απαιτούν καμία αλλαγή στον μηχανισμό του συστήματος. Για αυτό το λόγο, χρησιμοποιούν ανοικτά πρότυπα και ευρέως διαδεδομένα πρωτόκολλα, όπως XML 8, SOAP 9, WSDL 10, HTTP 11, SMTP 12 ή FTP 13. Τα web services αποτελούν σήμερα το επόμενο βήμα στον αντικειμενοστραφή προγραμματισμό γιατί οι developers μπορούν να προσπελάσουν αμέτρητες βιβλιοθήκες μέσω ενός δικτύου υπολογιστών, το οποίο μπορεί να είναι το Internet, ή οποιασδήποτε άλλης μορφής δίκτυο. Όπως έχουμε αναφέρει τα web services χρησιμοποιούν το SOAP, το UDDI 14, το WSDL και η XML. Το SOAP είναι η μέθοδος με την οποία μπορούμε να στέλνουμε μηνύματα σε διαφορετικές ενότητες λογισμικού (software modules). Είναι παρόμοιο με το πώς επικοινωνούμε με τη μηχανή αναζήτησης. Το UDDI είναι η καθολική βάση αναζήτησης για τον εντοπισμό των υπηρεσιών. Στο προηγούμενο παράδειγμα, είναι ανάλογη της υπηρεσίας ευρετηρίου της μηχανής αναζήτησης, στην οποία όλες οι ιστοσελίδες καταχωρούνται και σχετίζονται με λέξεις κλειδιά. Η WSDL (Web Services Definition Language) είναι ο τρόπος με τον οποίο διαφορετικές υπηρεσίες περιγράφονται στο UDDI. Αυτή αντιστοιχεί στην πραγματική μηχανή αναζήτησης. Η XML (Extended Markup Language) είναι μια μέτα-γλώσσα (περιγραφική γλώσσα) η οποία έχει καλή καθορισμένη σύνταξη και σημασιολογία. Τα «αυτοπεριγραφικά» χαρακτηριστικά της XML την κάνουν απλό, αλλά δυνατό, μηχανισμό για τη σύλληψη και την ανταλλαγή των στοιχείων μεταξύ των διαφορετικών εφαρμογών. Μια εικόνα που παρουσιάζει ένα web service και τι πρότυπα χρησιμοποιεί για την υλοποίησή του απεικονίζονται στο παρακ σχήμα: 8 extensible Markup Language 9 Simple Object Access Protocol 10 Web Services Description Language 11 HyperText Transfer Protocol 12 Simple Mail Transport Protocol 13 File Transfer Protocol 14 Universal Description, Discovery and Integration

27 Εικόνα 1:Δομή των web services Ακόμα υπάρχουν πολλά web services που χρησιμοποιούν markup languages: JSON-RPC JSON-WSP Web template Web Services Description Language (WSDL) από το W3C XML Interface for Network Services (XINS) παρέχει ένα POX-style Web service specification format Web Services Conversation Language (WSCL) Web Services Flow Language (WSFL) (superseded by BPEL) WS-MetadataExchange Representational state transfer (REST) versus remote procedure call (RPC) XML-RPC - XML - Remote Procedure Call SOAP Το SOAP είναι η τεχνολογία για την ανταλλαγή μηνυμάτων που διατυπώνονται ως XML μέσω του διαδικτύου. Σχεδιάστηκε για να υποστηρίξει χαλαρά συνδεδεμένες εφαρμογές που αλληλεπιδρούν ανταλλάσσοντας ασύγχρονα μηνύματα και χαρακτηρίζεται ως μονόδρομο, αγνοεί τη σημασιολογία των μηνυμάτων που μεταφέρει. Συγκεκριμένα, το πρωτόκολλο SOAP καθορίζει τα ακόλουθα: Μια μορφή μηνύματος για μονόδρομη επικοινωνία, που περιγράφει πώς η πληροφορία μπορεί να ενσωματωθεί σε ένα έγγραφο XML. Ουσιαστικά, είναι ένας φάκελος(envelope), στον οποίο η εφαρμογή περικλείει οποιαδήποτε πληροφορία πρέπει να στείλει. Ένα σύνολο συμβάσεων για τη χρήση μηνυμάτων SOAP στην υλοποίηση του προτύπου αλληλεπίδρασης RPC 15, που προσδιορίζουν πώς οι πελάτες μπορούν 15 Remote Procedure Call

28 να καλέσουν μια απομονωμένη διαδικασία στέλνοντας ένα μήνυμα SOAP και πώς τα προγράμματα υπηρεσίες μπορούν να ανταποκριθούν στέλνοντας ένα άλλο SOAP μήνυμα σε αυτόν που τα κάλεσε. Ένα σύνολο κανόνων, τους κανόνες κωδικοποίησης SOAP (SOAP encoding rules), τους οποίους κάθε οντότητα που επεξεργάζεται ένα μήνυμα SOAP πρέπει να ακολουθεί. Συγκεκριμένα, οι κανόνες καθορίζουν τα στοιχεία XML που μια οντότητα πρέπει να διαβάσει και να καταλάβει, καθώς και τις ενέργειες στις οποίες μια οντότητα πρέπει να προβεί εάν δεν καταλάβει το περιεχόμενο. Μια περιγραφή του τρόπου με τον οποίο ένα μήνυμα SOAP θα πρέπει να μεταφέρεται πάνω από πρωτόκολλα μεταφοράς, όπως το HTTP και το SMTP. Ένα μήνυμα SOAP είναι ένα συνηθισμένο έγγραφο XML το οποίο περιέχει τα παρακάτω στοιχεία (elements) (Anon., 2007): Ένα απαιτούμενο στοιχείο Envelope από το οποίο αναγνωρίζεται το έγγραφο XML ως μήνυμα SOA. Ένα προαιρετικό στοιχείο Header που περιλαμβάνει βοηθητικές πληροφορίες. Ένα απαιτούμενο στοιχείο Body το οποίο περιλαμβάνει την κύρια πληροφορία του μηνύματος. Ένα προαιρετικό στοιχείο Fault το οποίο παρέχει πληροφορίες για σφάλματα που προκλήθηκαν κατά την επεξεργασία ενός μηνύματος. Μερικοί σημαντικοί κανόνες σύνταξης είναι οι παρακάτω: 1. Ένα μήνυμα SOAP πρέπει να είναι κωδικοποιημένο χρησιμοποιώντας XML. 2. Ένα μήνυμα SOAP πρέπει να χρησιμοποιεί το SOAP Envelope namespace. 3. Ένα μήνυμα SOAP πρέπει να χρησιμοποιεί το SOAP Encoding namespace. 4. Ένα μήνυμα SOAP δεν πρέπει να περιέχει αναφορά σε DTD. 5. Ένα μήνυμα SOAP δεν πρέπει να περιέχει XML Processing Instructions. Σχηματικά θα μπορούσε να είναι κάπως έτσι:

29 Εικόνα 2: Δομή ενός μηνύματος SOAP SOAP Envelope Το SOAP Envelope είναι το στοιχείο που περικλείει όλα τα υπόλοιπα στοιχεία σε ένα μήνυμα SOAP. Η ύπαρξη του ως αρχικού στοιχείου (root element) ενός εγγράφου XML σηματοδοτεί ότι πρόκειται για μήνυμα SOAP. (Anon., 2007) Για το SOAP Envelope είναι απαραίτητα τα εξής: Το όνομα του στοιχείου πρέπει να είναι Envelope. Το όνομα του namespace του να είναι Να περιέχει μηδέν ή περισσότερες ιδιότητες ορισμένες με namespace. Να περιέχει ένα ή δύο στοιχεία-παιδιά με την εξής σειρά : o Ένα προαιρετικό στοιχείο Header o Ένα απαραίτητο στοιχείο Body SOAP Header Το SOAP Header παρέχει ένα μηχανισμό για επέκταση ενός μηνύματος SOAP με ένα αποκεντρωμένο και δομημένο τρόπο. Για το SOAP Header είναι απαραίτητα τα εξής: Το όνομα του στοιχείου πρέπει να είναι Header. Το όνομα του namespace του να είναι " Μπορεί να περιέχει μηδέν ή περισσότερες ιδιότητες ορισμένες με namespace. Μπορεί να περιέχει μηδέν ή περισσότερα στοιχεία-παιδιά ορισμένα με namespace. Κάθε στοιχείο-παιδί του SOAP Header ονομάζεται SOAP header block.

30 SOAP Body Το SOAP Body παρέχει ένα μηχανισμό για μετάδοση πληροφοριών στον τελικό αποδέκτη ενός μηνύματος SOAP. Για το SOAP Body είναι απαραίτητα τα εξής: Το όνομα του στοιχείου πρέπει να είναι Body. Το όνομα του namespace του να είναι " Μπορεί να περιέχει μηδέν ή περισσότερες ιδιότητες ορισμένες με namespace. Μπορεί να περιέχει μηδέν ή περισσότερα στοιχεία-παιδιά ορισμένα με namespace. Μπορεί να περιέχει μηδέν ή περισσότερους κόμβους-παιδιά χαρακτήρων. Κάθε στοιχείο-παιδί του SOAP Body ονομάζεται SOAP Body child Element SOAP Fault Το SOAP Fault χρησιμοποιείται για να κουβαλάει πληροφορίες σφαλμάτων μέσα σε ένα μήνυμα SOAP. Για το SOAP Fault είναι απαραίτητα τα εξής: Το όνομα του στοιχείου πρέπει να είναι Fault. Το όνομα του namespace του να είναι " Πρέπει να περιέχει δύο ή περισσότερα στοιχεία-παιδιά με την παρακάτω σειρά: o Ένα υποχρεωτικό στοιχείο Code. o Ένα υποχρεωτικό στοιχείο Reason. o Ένα προαιρετικό στοιχείο Node. o Ένα προαιρετικό στοιχείο Role. o Ένα προαιρετικό στοιχείο Detail. Για να αναγνωριστεί ότι ένα μήνυμα SOAP κουβαλάει πληροφορίες σφάλματος πρέπει να περιέχει ένα στοιχείο Fault σαν το μοναδικό στοιχείο-παιδί του SOAP Body. Από τα προαναφερθέντα γύρω από το πρωτόκολλο SOAP θα πρέπει να έχει ήδη γίνει αντιληπτό ότι οι σχεδιαστές του πέτυχαν τους στόχους τους. Το Simple Object Access Protocol είναι ένα απλό, ευέλικτο και επεκτάσιμο πρωτόκολλο ανταλλαγής μηνυμάτων σε μορφή XML και μπορεί να χρησιμοποιήσει άλλα πρότυπα πρωτόκολλα σα μέσα μεταφοράς. Ίσως το λιγότερο εμφανές σε όλα τα παραπάνω είναι η επεκτασιμότητά του η οποία όμως είναι το σημαντικότερο πλεονέκτημά του αφού πάνω σε αυτό το χαρακτηριστικό βασίζονται πολλές νέες τεχνολογίες των web services WSDL Η WSDL είναι μια γλώσσα που βασίζεται στην XML για να καθορίσει τα web servicesf και να περιγράψει τους μηχανισμούς που πρέπει να τεθούν σε λειτουργία για να έχουν τα προγράμματα πελάτες πρόσβαση σε αυτές. Πιο συγκεκριμένα, στο έγγραφο WSDL καταγράφονται οι λειτουργίες που η διαδικτυακή υπηρεσία προσφέρει, τα πρωτόκολλα

31 που μπορούν να χρησιμοποιηθούν για την κλήση της, η τοποθεσία της στο δίκτυο και το πώς δέχεται και επιστρέφει τα δεδομένα. Η WSDL περιγράφει τις Διαδικτυακές υπηρεσίες σε δυο μέρη: αφηρημένο το οποίο καθορίζει τη διεπαφή της υπηρεσίας και είναι ανεξάρτητο από πλατφόρμα και γλώσσα σταθερό το οποίο παρέχει τις λεπτομέρειες για την πρόσβαση στις υπηρεσίες. Εικόνα 3: Δομή WSDL UDDI Το UDDI αποτελεί ένα πρωτόκολλο καταχώρησης για Διαδικτυακές υπηρεσίες. Ικανοποιεί δύο στόχους αναφορικά με την ανακάλυψη υπηρεσιών: α)βοηθάει τους προγραμματιστές να βρουν πληροφορίες σχετικές με κάποιες υπηρεσίες, για να γνωρίζουν πώς να δημιουργήσουν προγράμματα πελάτες που να αλληλεπιδρούν με αυτές και β)δίνει τη δυνατότητα για δυναμική «πρόσδεση» (binding), δηλαδή επιτρέπει στα προγράμματα πελάτες να ρωτάνε την υπηρεσία καταγραφής(registry) και να αποκτάνε εκείνη τη στιγμή αναφορές σε υπηρεσίες που τους ενδιαφέρουν. Κάθε καταχώρηση στο UDDI περιέχει το αρχείο WSDL της υπηρεσίας και τη διεύθυνση που λειτουργεί η υπηρεσία στο Διαδίκτυο. Επιπρόσθετα, σε κάθε καταχώρηση υπάρχουν και διάφορες άλλες πληροφορίες για την υπηρεσία που σχετίζονται με τον ιδιοκτήτη της και την πολιτική του. Ένας απλός τρόπος κατηγοριοποίησης της πληροφορίας που περιέχεται σε μια υπηρεσία καταγραφής (registry) UDDI παρουσιάζει ομοιότητες με τον τηλεφωνικό κατάλογο: Λευκές σελίδες, στις οποίες οι πελάτες UDDI μπορούν να βρουν τις Διαδικτυακές υπηρεσίες που προσφέρονται από μια συγκεκριμένη επιχείρηση.

32 Κίτρινες σελίδες, όπου είναι δυνατή η αναζήτηση υπηρεσιών ανάλογα με την κατηγορία στην οποία ανήκουν, σύμφωνα με κάποιο σχήμα ταξινόμησης. Πράσινες σελίδες, που περιγράφουν πώς μπορεί να καλέσει ένα πρόγραμμα πελάτη μια συγκεκριμένη διαδικτυακή υπηρεσία ΧΜL Η XML είναι μια γλώσσα ανεξάρτητη. Ένα έγγραφο XML στην πιο απλή του μορφή είναι ένα αρχείο κειμένου το οποίο περιέχει δεδομένα μαζί µε σήμανση η οποία καθορίζει τη δομή των δεδομένων. Είναι μια παγκοσμίως συμφωνημένη µμεταγλώσσα σήμανσης που χρησιμοποιείται πρώτιστα για την ανταλλαγή πληροφοριών. Το θετικό της XML είναι ότι είναι επεκτάσιμη. Η XML παρέχει µία πρότυπη και κοινή δομή για τη διανομή δεδομένων μεταξύ ανόμοιων συστημάτων. Επιπλέον, η XML έχει ενσωματωμένο ένα μηχανισμό ο οποίος επικυρώνει δεδομένα και εγγυάται ότι η δομή των δεδομένων που λαμβάνεται είναι έγκυρη Βασικά βήματα για την ανάπτυξη μίας εφαρμογής web service Όπως εξηγήσαμε παραπάνω υπάρχει ο πάροχος της υπηρεσίας και ο χρήστης της υπηρεσίας. Ο πάροχος της υπηρεσίας κάνει με την σειρά τα ακόλουθα βήματα: 1. Καθορισμός των υπηρεσιών που θα παρέχονται 2. Υλοποίηση της λειτουργίας πίσω από την υπηρεσία 3. Εγκατάσταση της εφαρμογής παρόχου των υπηρεσιών 4. Δημοσίευση των web services με μία μορφή καταλόγου 5. Αναμονή για επεξεργασία αιτήσεων πελατών Ο χρήστης της υπηρεσίας κάνει με την σειρά τα ακόλουθα βήματα: 1. Προσδιορισμός των υπηρεσιών που θα απαιτηθούν 2. Εντοπισμός των web service ρωτώντας μία υπηρεσία καταλόγου 3. Αποστολή της αίτησης στην υπηρεσία 4. Λήψη της απάντησης από την υπηρεσία 1.14 Regression testing των Web services Λειτουργικά και μη λειτουργικά test των web service γίνονται με τη βοήθεια της WSDL ανάλυσης και οι δοκιμές γίνονται με τον προσδιορισμό των αλλαγών που έγιναν. Τα Web service regression testing μπορούν να κατηγοριοποιηθούν σε τρεις διαφορετικές κατηγορίες, δηλαδή, αλλαγές σε WSDL, αλλαγές στον κώδικα, και επανέλεγχο των εφαρμογών των Web service. Γι αυτό το λόγο υπάρχουν τρεις μορφές WSDL, δηλαδή, Difference WSDL (DWSDL), Unit WSDL (UWSDL), και Reduced WSDL (RWSDL). Αυτές οι μορφές στη συνέχεια συνδυάζονται για να σχηματίσουν την Combined WSDL (CWSDL) η οποία χρησιμοποιείται για τον έλεγχο του regression testing του web service Διαστάσεις των Web services Τα Web services έχουν 4 διαστάσεις όσον αφορά τον W3C και πάνω σε αυτές θα δομηθεί και η εργασία μου (Anon., n.d.).

33 1. Πρωτόκολλα 2. Περιγραφή του service 3. Ασφάλεια 4. Διεθνοποίηση (Internationalization) Για να είναι σωστό το web service και να πληρεί τις προϋποθέσεις του W3C πρέπει να ικανοποιεί και να περιέχει και τις 4 διαστάσεις Πρωτόκολλα Ανάλογα με τους περιορισμούς των εφαρμογών για την ανταλλαγή δεδομένων μέσω του Web, οι προγραμματιστές μπορούν να επιλέξουν ανάμεσα σε μια σειρά από πρωτόκολλα όπως το HTTP, SOAP και Web Services (Anon., n.d.) Περιγραφή της υπηρεσίας Σε συγκεκριμένα περιβάλλοντα, την περιγραφή της υπηρεσίας των Web Services την ορίζουν επισήμως διάφορα interfaces που χρησιμοποιούνται για να έχουν πρόσβαση στα δεδομένα. WSDL, SML, choreography και πολιτικές προδιαγραφές επιτρέπουν περιγραφές, και τα Web Services και το Semantic Web συνδέονται μέσω σημασιολογικών επισημειώσεων (semantic annotations). Υπάρχουν 2 περιγραφές Περιγραφή των δεδομένων Υπάρχουν πολλές πτυχές στην περιγραφή των δεδομένων, όπως το πώς δομούνται οι πληροφορίες, ο τύπος και οι αξίες αυτών των πληροφοριών, αν είναι σημασιολογικές κλπ. Τα XML και XML Schema παρέχουν δομικές περιγραφές, καθώς και τον τύπο και την αξία τους. Για τα Web Services, το WSDL παρέχει, μέσω της χρήσης της XML Schema, όλες τις μορφές των πληροφοριών. Το SAWSDL παρέχει έναν τρόπο έτσι ώστε να μπορούν να προστεθούν σημασιολογικές περιγραφές σε XML Schema και WDSL περιγραφές Περιγραφή των Web services Το WSDL καθορίζει όχι μόνο τη μορφή και τις αξίες των δεδομένων που ρέουν μέσα και έξω από το service, αλλά και τις παραμέτρους, την υποστήριξη της λειτουργίας, τα πρότυπα ανταλλαγής μηνυμάτων (ΒΕΚ), πάντα σε σχέση με την λειτουργική περιγραφή των τελικών Web Services (Anon., n.d.). H WS-Χορογραφία περιγράφει τη ροή των μηνυμάτων μεταξύ ενός συνόλου υπηρεσιών που συμμετέχουν σε μία παγκόσμια χορογραφία ανταλλαγών, χωρίς να υπάρχει ελεγκτής. Η WS Πολιτική περιγράφει τις πολιτικές που χρησιμοποιούνται κατά την πρόσβαση σε μια υπηρεσία, μέσα από τους ισχυρισμούς της πολιτικής, όπως τις πολιτικές ασφάλειας, της επιλογής πρωτόκολλου μεταφοράς, κλπ Ασφάλεια Η μεταφορά των δεδομένων από έναν τομέα (domain) σε άλλο τομέα ή μεταξύ εφαρμογών (applications) μερικές φορές χρειάζεται μια ασφαλή συναλλαγή και σαφώς

34 καθορισμένη ταυτότητα του έγγραφου (Anon., n.d.). Η κρυπτογράφηση XML και η XML Signature είναι βασικά κομμάτια της XML security stack. Ο χειρισμός δεδομένων με XML μερικές φορές απαιτεί ακεραιότητα, έλεγχο ταυτότητας και της ιδιωτικής ζωής. Η XML signature, η κρυπτογράφηση, και οι XKMS μπορούν να συμβάλουν στη δημιουργία ενός ασφαλούς περιβάλλοντος για την XML. Η προδιαγραφή της XML Signature ορίζει τους κανόνες επεξεργασίας της ψηφιακής υπογραφής και της σύνταξης. Οι XML signatures παρέχουν ακεραιότητα, αυθεντικότητα του μηνύματος, ή / και τις υπηρεσίες ελέγχου ταυτότητας του υπογράφοντος για τα δεδομένα οποιουδήποτε τύπου, είτε αυτά βρίσκονται μέσα στο XML που περιέχει την υπογραφή ή αλλού. Η κρυπτογράφηση XML καθορίζει μια διαδικασία για την κρυπτογράφηση δεδομένων και την παρουσίαση του αποτελέσματος σε XML. Τα δεδομένα μπορεί να είναι αυθαίρετα (συμπεριλαμβανομένου ενός εγγράφου XML), ένα στοιχείο XML, ή XML περιεχόμενο του στοιχείου. Το αποτέλεσμα της κρυπτογράφησης δεδομένων είναι ένα στοιχείο κρυπτογράφησης XML το οποίο περιέχει ή παραπέμπει την κρυπτογράφηση δεδομένων. Το πρότυπο XKMS καθορίζει τα πρωτόκολλα για διανομή και εγγραφή δημοσίων κλειδιών και είναι κατάλληλο για χρήση με την XML Signature και των πρότυπων κρυπτογράφησης XML Διεθνοποίηση Η διεθνοποίηση των Web Services φέρνει ανησυχίες στις περιγραφές των services, στην επικοινωνία της γλώσσας και των τοπικών ρυθμίσεων και διεθνοποιούν τα αναγνώσιμα από τον άνθρωπο μηνύματα που ανταλλάσσονται μέσω των services (Anon., n.d.). Η πρόσβαση στο διαδίκτυο για όλους έχει γίνει βασικό μέλημα και στόχος του World Wide Web Consortium, από την αρχή. Δυστυχώς, δεν είναι εύκολο να συγχρονίσουμε τις ανάγκες των ανθρώπων από διαφορετικές κουλτούρες, ή που χρησιμοποιούν διαφορετικές γλώσσες ή διαφορετικά συστήματα γραφής. Στην εφαρμογή που θα αναλύσουμε στην συνέχεια, οι προδιαγραφές και το περιεχόμενο θα είναι συμβατό για πολλούς ανθρώπους σε όλο τον κόσμο. Για να γίνει διεθνοποίηση της εφαρμογής, θα πρέπει να σχεδιαστεί και να αναπτυχθεί το περιεχόμενο, η εφαρμογή, οι προδιαγραφές, με έναν τρόπο που να διασφαλίζει ότι θα λειτουργήσει καλά, ή μπορεί εύκολα να προσαρμοστεί για χρήστες από κάθε πολιτισμό, κάθε περιοχή ή κάθε γλώσσα. Μια βασική πτυχή της διεθνοποίησης είναι να εξασφαλίσει ότι η τεχνολογία υποστηρίζει κείμενο σε οποιοδήποτε σύστημα γραφής του κόσμου. Αυτός είναι ο λόγος που οι τεχνολογίες του W3C είναι χτισμένες σε έναν καθολικό σύνολο χαρακτήρα, το Unicode. Υπάρχουν και άλλοι παράγοντες να εξετάσουμε, κατά τη χρήση χαρακτήρων. Για παράδειγμα, κωδικοποιήσεις Unicode με βάση να επιτρέπουν ακριβώς το ίδιο κείμενο πρέπει να αποθηκεύονται και με ελαφρώς διαφορετικούς συνδυασμούς χαρακτήρων.

35 Για την αποτελεσματικότητα, την ακρίβεια στην σύγκριση, τη διαλογή και την ανάλυση κειμένου, οι διαφορετικές αλληλουχίες πρέπει να αναγνωριστούν ως «κανονικώς ισοδύναμες». Θα πρέπει να εξετάσουμε πώς να διαχειριστούμε αυτό κατά την ανάπτυξη εφαρμογών ή προδιαγραφών που εκτελούν ή βασίζονται σε αυτά τα καθήκοντα. Μερικές φορές διαφορετικά συστήματα γραφής χρειάζονται ειδική υποστήριξη. Για παράδειγμα, Ιαπωνικά, Κινέζικα, Κορεάτικα και μογγολικά μπορούν να γραφτούν κάθετα, έτσι το W3C θα πρέπει να εξασφαλίσει ότι τα CSS, SVG και XSL-FO θα επιτρέψουν την κάθετη στήριξη κειμένου. Η στοίχιση του κειμένου και οι μέθοδοι αιτιολόγησης (justification methods) είναι επίσης διαφορετικοί για τέτοια σενάρια, όπως είναι και διαφορετικοί για σενάρια όπως της Ταϊλάνδης και του Θιβέτ. Συχνά υπάρχουν και άλλες τοπικές τυπογραφικές προσεγγίσεις για πράγματα όπως στο να δίνουν έμφαση, σχολιασμούς, αρίθμηση λίστας, και άλλα παρόμοια. Αυτά οι τυπογραφικές προσεγγίσεις πρέπει να υποστηριχθούν σε style sheets. Αραβικά, εβραϊκά, περσικά, Urdu και παρόμοιες γλώσσες που γράφονται από δεξιά προς τα αριστερά και από αριστερά προς τα δεξιά στην ίδια γραμμή, είναι σημαντικό να είναι σε θέση να ελέγχουν την κατεύθυνση του γύρω περιβάλλοντος για να λειτουργήσει σωστά. Αυτό σημαίνει ότι για το σχήμα και τη μορφή θα πρέπει να παρέχουμε τρόπους έτσι ώστε οι συγγραφείς να ελέγχουν την κατεύθυνση στο περιεχόμενό τους. Σχήματα, γλώσσες σήμανσης και μορφές πρέπει επίσης να υποστηρίζονται από μια σειρά άλλων δομών που απαιτούνται για την αποτελεσματική διαχείριση του περιεχομένου κατά τη διάρκεια της μετάφρασης και τοπικής προσαρμογής. Αν υπάρχουν φόρμες HTML ή σχεδιασμός οντολογιών που αφορούν τα ονόματα και τις διευθύνσεις των ανθρώπων, θα πρέπει να εξετάσουμε πώς να ενεργοποιήσουμε τις πολλές διαφορετικές προσεγγίσεις για τη μορφοποίηση των δεδομένων που είναι δυνατά σε όλο τον κόσμο. Μπορεί επίσης να χρειαστεί να στηρίξουμε εναλλακτικά ημερολόγια, ζώνες ώρας και θερινών ωρών, τα ονόματα και τις διευθύνσεις. Οι υπεύθυνοι ανάπτυξης περιεχομένου και τα συστήματα διαχείρισης περιεχομένου θα πρέπει επίσης να είναι έτοιμα να ασχοληθούν με γλωσσικά και πολιτιστικά θέματα. Για παράδειγμα, μια πρόταση που έχει κατασκευαστεί συνδυάζοντας διάφορες φράσεις μαζί σε μια γλώσσα μπορεί να είναι αδύνατο να μεταφραστεί λογικά σε μια γλώσσα με μια διαφορετική δομή των προτάσεων. Για παράδειγμα, στην ιαπωνική μετάφραση του "Σελίδα 1 από 34«όλα τα στοιχεία στη φράση θα είναι σε αντίστροφη σειρά. Η εφαρμογή μου δεν πρέπει να περιορίζει τη σειρά με την οποία μπορούν να συνδυαστούν αυτά τα στοιχεία. Πολιτισμικά προβλήματα πρέπει επίσης να ληφθούν υπόψη. Ο συμβολισμός πρέπει να είναι ειδικός πολιτισμικά. Το OK υπάρχει σε πολλές χώρες. Σε ορισμένες χώρες, όμως, όπως η Ιαπωνία, μπορεί να χρησιμοποιείται για να σημαίνει ότι κάτι είναι εσφαλμένο. Γι αυτό το λόγο πρέπει να βρω ένα παγκόσμιο σημάδι αποδοχής. Αυτά είναι μόνο μερικά παραδείγματα από τα πολλά. Το βασικό θέμα είναι ότι ο σχεδιασμός (είτε είναι μια γλώσσα σήμανσης, ένα πρωτόκολλο, ένα σύστημα

36 διαχείρισης περιεχομένου, ένα widget ή την εφαρμογή, κλπ) πρέπει να είναι αρκετά ευέλικτος ώστε να προσαρμόζεται στις τοπικές ανάγκες. Μια περιγραφή υπηρεσίας διαδραματίζει σημαντικό ρόλο στην εξασφάλιση της πρόσβασης σε μια υπηρεσία. Οι περισσότερες γλώσσες περιγραφής υπηρεσίας είναι σχεδιασμένες για machine consumption, που επιτρέπουν αυτόματη δημιουργία σκελετών κώδικα, ευκολότερη αναζήτηση και ταξινόμηση των υπηρεσιών. Ωστόσο, μπορούμε επίσης να βρούμε χρήσιμες περιγραφές σχετικά με τη χρήση των παραμέτρων ή τις ακριβείς σημασιολογίες ορισμένων λειτουργιών Συμπέρασμα Τα τελευταία χρόνια η XML έχει επιτρέψει σε διαφορετικά υπολογιστικά περιβάλλοντα να μοιράζονται πληροφορίες μέσω του παγκόσμιου ιστού. Τώρα προσφέρει ένα απλοποιημένο τρόπο με τον οποίο μπορούν να μοιράζονται και επεξεργασία. Από τεχνικής σκοπιάς, η άνθηση των Web Services δεν είναι μια επανάσταση στα κατανεμημένα συστήματα. Αντίθετα είναι μια φυσική εξέλιξη της εφαρμογής της XML από δομημένη αναπαράσταση πληροφορίας σε δομημένη αναπαράσταση μηνυμάτων μεταξύ των εφαρμογών (Anon., 2007). Πριν την άφιξη των Web Services, η ολοκλήρωση επιχειρηματικών συστημάτων ήταν πολύ δύσκολη εξαιτίας των διαφορών στις γλώσσες προγραμματισμού και του middleware που χρησιμοποιούνταν μέσα στις επιχειρήσεις. Αυτό οδήγησε σε μια κατάσταση όπου η διαλειτουργικότητα ήταν δύσκολη και επίπονη. Με την άφιξη των Web Services κάθε εφαρμογή μπορεί να ολοκληρωθεί αρκεί να είναι διαδικτυακή. Είναι δύσκολο να αποφύγει κανείς τη δημοσιότητα και τη διαφημιστική εκστρατεία γύρω από τα Web Services. Κάθε μεγάλος προμηθευτής λογισμικού έχει κάποια πρωτοβουλία σχετική με τα Web Services και υπάρχει πάντα μια θεωρεία για το μέλλον της αγοράς. Όπως και να έχει, οι αρχιτεκτονικές Web Services παρέχουν ένα πολύ διαφορετικό τρόπο σκέψης για την ανάπτυξη λογισμικού. Από το μοντέλο πελάτηδιακομιστή στα συστήματα v-επιπέδων, στα κατανεμημένα συστήματα, οι εφαρμογές Web Services αντιπροσωπεύουν το αποκορύφωμα κάθε μίας από αυτές τις αρχιτεκτονικές σε συνδυασμό με το διαδίκτυο.

37 2 Ψηφιακή δημοσιογραφία και εφαρμογές ιστού Σήμερα τα e-books ανταγωνίζονται τις έντυπες εκδόσεις, και επίσης υπάρχει μια ευρεία επιλογή υλικού και λογισμικού που διατίθενται για E-Book Readers. Πλέον οι εφημερίδες και τα περιοδικά διατίθενται και ψηφιακά στο Web ή σε εξειδικευμένες εφαρμογές. Ακόμα σε ορισμένες περιπτώσεις η έντυπη μορφή τους εγκαταλείφθηκε και υπάρχει μόνο η ψηφιακή έκδοση. Οι μορφές που χρησιμοποιούνται από τα E-Book Readers και τις ταμπλέτες για τα ηλεκτρονικά βιβλία, τα περιοδικά, τις εφημερίδες και τους εκπαιδευτικούς πόρους βασίζονται σε μεγάλο βαθμό στις τεχνολογίες του W3C, όπως (X)HTML, CSS, SVG, SMIL, MathML, ή διάφορα άλλα Web API-s. Οι εμπορικοί εκδότες βασίζονται επίσης σε τεχνολογίες του W3C για την back-end επεξεργασία σε όλη τη διαδρομή από τη συγγραφή μέχρι την παράδοση του έντυπου ή του ηλεκτρονικού προϊόντος. Σε γενικές γραμμές μπορούμε να πούμε ότι η εκδοτική βιομηχανία είναι μία από τις μεγαλύτερες κοινότητες οι οποίες στηρίζονται στην μεγάλη παλέτα των τεχνολογιών του W3C. Ωστόσο, η ευθυγράμμιση των αναγκών της εκδοτικής βιομηχανίας και οι διάφορες συστάσεις του W3C δεν είναι ικανοποιητικές. Απαραίτητα χαρακτηριστικά μπορεί να λείπουν από τα έγγραφα του W3C, ή μπορεί να είναι μόνο σε σχέδια, για παράδειγμα το EPUB3, το πρότυπο για τα ηλεκτρονικά βιβλία, έπρεπε να εισαγάγει τις δικές του επεκτάσεις για να καλύψει τις ανάγκες των εκδόσεων. Οι τεχνικοί εμπειρογνώμονες από τους εμπορικούς εκδότες και οι λιανοπωλητές δεν συνεργάζονται σε διάφορες ομάδες εργασίας και δεν συμβάλλουν στην ανάπτυξη των τεχνικών λύσεων. Ως αποτέλεσμα, οι απαιτήσεις της εκδοτικής βιομηχανίας, οι περιπτώσεις χρήσης τους, οι εμπειρίες εφαρμογής, κ.λπ., δεν φτάνουν απαραιτήτως από τις διάφορες τεχνικές ομάδες στο W3C εγκαίρως. Αυτό οδηγεί σε κατακερματισμό, ζητήματα διαλειτουργικότητας, καθώς και καταλήγουν στην αποσύνδεση μεταξύ της εκδοτικής βιομηχανίας και τον κόσμο του προγράμματος περιήγησης. Ο στόχος αυτής της δραστηριότητας είναι να λάβει τα αναγκαία μέτρα για να ξεπεραστεί αυτό το πρόβλημα, ώστε να εξασφαλιστεί ότι η εκδοτική βιομηχανία εκπροσωπείται και προωθεί το Open Web platform. (Anon., n.d.) Ηλεκτρονική έκδοση μπορεί να χαρακτηρισθεί οποιοδήποτε τεκμήριο που διατίθεται στους χρήστες σε ψηφιακή μορφή όπως βιβλίο, περιοδικό, εφημερίδα, ιστοσελίδα. Πρόκειται για το ηλεκτρονικό αρχείο/τεκμήριο που η ανάγνωση του μπορεί να γίνει με τη βοήθεια συγκεκριμένου λογισμικού μέσω μιας ηλεκτρονικής συσκευής που μπορεί να το αναγνώσει. Τέτοιες είναι ο ηλεκτρονικός υπολογιστής, σταθερός ή φορητός, τα κινητά τηλέφωνα νέας τεχνολογίας και οι ηλεκτρονικοί αναγνώστες (e-readers), όπου σε κάθε περίπτωση πρέπει να παρέχεται η δυνατότητα πρόσβασης στο διαδίκτυο. Οι ηλεκτρονικές εκδόσεις όπως και η ψηφιακή δημοσιογραφία (digital publishing) περιλαμβάνουν την ψηφιακή έκδοση των e-books, ψηφιακά περιοδικά, καθώς και την ανάπτυξη των ψηφιακών βιβλιοθηκών και καταλόγων. (Anon., n.d.) Η ψηφιακή δημοσιογραφία βρίσκεται πλέον σε πολλές επιστημονικές εκδόσεις και έχει υποστηριχθεί ότι έγκριτα επιστημονικά περιοδικά βρίσκονται σε διαδικασία να αντικατασταθούν από την ψηφιακή δημοσιογραφία. Είναι, επίσης, γνωστό ότι γίνεται διανομή βιβλίων, περιοδικών, εφημερίδων στους καταναλωτές μέσω των

38 ηλεκτρονικών συσκευών όπως κινητών tablets δηλαδή σε μια αγορά που αναπτύσσεται συνεχώς κάθε χρόνο. Έρευνες έχουν δείξει ότι τα μισά από τα περιοδικά και τις εφημερίδες που κυκλοφορούν θα είναι ψηφιακά μέχρι το τέλος του 2015 (McPheters, 2012). Η ψηφιακή δημοσιογραφία χρησιμοποιείται επίσης και στην προετοιμασία των τεστ τόσο στις αναπτυγμένες όσο και στις αναπτυσσόμενες οικονομίες για την εκπαίδευση των φοιτητών (αντικαθιστώντας έτσι εν μέρει τα συμβατικά βιβλία) - για να επιτρέπεται ο συνδυασμός του περιεχομένου και της ανάλυσης. Η ηλεκτρονική έκδοση ή αλλιώς η ψηφιακή δημοσιογραφία είναι όλο και πιο δημοφιλής και αντικείμενο έρευνας σε πολλά επιστημονικά άρθρα. Οι ηλεκτρονικοί εκδότες είναι σε θέση να παρέχουν γρήγορη πληροφορία ακόμα και αργά το βράδυ στους αναγνώστες τους, την στιγμή που τα βιβλία δεν είναι σε θέση να βρεθούν οποιαδήποτε στιγμή της ημέρας. Η ηλεκτρονική διαδικασία έκδοσης ακολουθεί την παραδοσιακή διαδικασία έκδοσης, αλλά διαφέρει από τις παραδοσιακές εκδόσεις με δύο τρόπους: 1) δεν περιλαμβάνει τη χρήση ενός πιεστηρίου εκτύπωσης για να εκτυπωθεί το τελικό προϊόν και 2) αποφεύγει την διανομή ενός φυσικού προϊόντος. Επειδή το περιεχόμενο είναι ηλεκτρονικό, αυτό μπορεί να διανεμηθεί μέσω του διαδικτύου και μέσω ηλεκτρονικών καταστημάτων βιβλίων. Ο αναγνώστης μπορεί να διαβάσει το περιεχόμενο που δημοσιεύθηκε σε δικτυακό τόπο ή σε μια εφαρμογή σε μια συσκευή tablet, ή σε έναν υπολογιστή. Επίσης ο αναγνώστης αν θέλει μπορεί να τυπώσει το περιεχόμενο που διάβασε. Το θετικό των ηλεκτρονικών εκδόσεων είναι ότι προέρχονται από τη χρησιμοποίηση τριών χαρακτηριστικών ψηφιακής τεχνολογίας: 1. ετικέτες XML για να καθορίσουν το περιεχόμενο, 2. Style sheets για να οριστεί η εμφάνιση του περιεχομένου και 3. Μεταδεδομένα για την περιγραφή του περιεχομένου για τις μηχανές αναζήτησης. Με τη χρήση των ετικετών XML, τα style sheets, και τα μεταδεδομένα, δημιουργείται ένα περιεχόμενο που προσαρμόζεται σε διάφορες συσκευές ανάγνωσης. Οι παραδοσιακοί ρόλοι των σχεδιαστών και αυτών που εκδίδουν έχουν αλλάξει. Οι σχεδιαστές πρέπει να γνωρίζουν περισσότερα για τις mark-up γλώσσες, για το ποιες είναι οι διαθέσιμες συσκευές ανάγνωσης, και τους τρόπους με τους οποίους οι αναγνώστες διαβάζουν. Ωστόσο, υπάρχουν και λογισμικά σχεδιασμού που επιτρέπουν στους σχεδιαστές να δημοσιεύουν περιεχόμενο χωρίς να χρειάζεται να γνωρίζουν προγραμματισμό. Τέτοια είναι το Adobe Systems, Digital Publishing Suite και της Apple το ibooks Author. Η πιο κοινή μορφή αρχείου είναι το.epub, που χρησιμοποιείται σε πολλές μορφές e-book, το οποίο είναι ελεύθερο και διαθέσιμο σε πολλά προγράμματα εκδόσεων.

39 2.1 Ακαδημαϊκές εκδόσεις Όταν ένα άρθρο υποβληθεί σε ένα επιστημονικό περιοδικό για εξέταση, μπορεί να υπάρξει μια καθυστέρηση που κυμαίνεται από πολλούς μήνες έως και περισσότερα από δύο χρόνια πριν τη δημοσίευσή του σε ένα περιοδικό, καθιστώντας τα περιοδικά ένα λιγότερο ιδανικά για την διάδοση έρευνας. Ωστόσο τα επιστημονικά περιοδικά εξακολουθούν να διαδραματίζουν σημαντικό ρόλο στον έλεγχο και την αξιοποίηση της έρευνας. Υπάρχουν στατιστικά στοιχεία που δείχνουν ότι οι ηλεκτρονικές εκδόσεις διαδίδονται ευρύτερα. (Lawrence, 2001) Ακόμα και τα παραδοσιακά περιοδικά χρησιμοποιούν και ηλεκτρονικές εκδόσεις και σκέφτονται ακόμα και να μετακινηθούν εξ ολοκλήρου στην ηλεκτρονική έκδοση. 2.2 Δικαιώματα πνευματικής εργασίας στις ηλεκτρονικές εκδόσεις Οι νόμοι περί πνευματικής ιδιοκτησίας προς το παρόν είναι προσαρμοσμένοι στα έντυπα βιβλία. Η ηλεκτρονική έκδοση φέρνει νέα ερωτήματα σε σχέση με τα δικαιώματα πνευματικής ιδιοκτησίας. Μπορεί να είναι πιο συνεργατική, που συχνά περιλαμβάνει περισσότερους από έναν συγγραφείς, και πιο προσιτή, αφού έχει δημοσιευθεί στο διαδίκτυο. Αυτό όμως ανοίγει περισσότερες πόρτες για λογοκλοπή ή κλοπή. (Chennupati K. Ramaiah, Schubert Foo, Heng Poh Choo, 2006) 2.3 Πλεονεκτήματα ηλεκτρονικής έκδοσης Η ηλεκτρονική έκδοση είναι πολύ πρακτική και χρηστική για τους παρακάτω λόγους: Μειώνει το κόστος παραγωγής, διακίνησης και διάθεση σε αντίθεση με το έντυπο. Με την ηλεκτρονική μορφή δεν υπάρχει πια συσσώρευση εντύπου υλικού σε αναμονή στις αποθήκες των εκδοτικών οίκων. Η εκτύπωση πλέον είναι ανάλογη της ζήτησης. Έχει θετικές περιβαλλοντολογικές επιπτώσεις αφού παύει η αλόγιστη κατανάλωση του χαρτιού και των πρώτων υλών για την παραγωγή του. Λύνεται το πρόβλημα του χώρου γιατί δεν υπάρχει μεγάλος όγκος βιβλίων. Υπάρχει ευκολία στην μεταφορά και στην μετακίνηση. Στην μνήμη μίας μόνο ηλεκτρονικής συσκευής μπορεί να αποθηκευτεί ολόκληρη βιβλιοθήκη. Εύκολη και άμεση πρόσβαση στην αγορά και κτήση μέσω του διαδικτύου χωρίς να χρειαστεί ο καταναλωτής να μετακινηθεί. Το αναγνωστικό κοινό που για οποιαδήποτε λόγο δεν μπορεί να έχει φυσική πρόσβαση τώρα έχει πρόσβαση παντού. Σήμερα οι βιβλιοθήκες τείνουν να αγοράζουν ηλεκτρονικά βιβλία γιατί έτσι δίνεται η δυνατότητα να γίνει ανάγνωση από πολλούς χρήστες ταυτόχρονα και χωρίς να βρίσκονται απαραίτητα στην βιβλιοθήκη. Προσφέρει άμεσα περισσότερες δυνατότητες στον αναγνώστη με ένα μόνο «κλίκ» πάνω στον ανάλογο διαδικτυακό σύνδεσμο. Μπορεί να δει λεξικά, βίντεο, εικόνες, σχολιασμό κτλ. Όλα τα νέα βιβλία είναι πλέον σε ψηφιακή μορφή, αφού γράφονται σε ηλεκτρονικούς υπολογιστές. Αυτή η δυνατότητα καθιστά εύκολη την επεξεργασία κειμένου και τον εμπλουτισμό του με υλικό όπως φωτογραφίες, links κλπ.

40 Διαδικτυακοί τόποι ηλεκτρονικού βιβλίου περιλαμβάνουν τη δυνατότητα να μεταφράσουν τα βιβλία σε πολλές ξένες γλώσσες, που δεν καλύπτονται από τις έντυπες μεταφράσεις. Ασφαλέστερη διατήρηση της πληροφορίας και της γνώσης στο χρόνο έναντι του έντυπου από τον κίνδυνο πλημμυρών, πυρκαγιών κλπ. Επίσης είναι δυνατή η εύκολη ανάκτηση των εντύπων. Τα ψηφιακά βιβλία μπορούν εύκολα να γίνουν δημοφιλή στις νεαρές ηλικίες και στα παιδιά αφού είναι καλοί γνώστες χρήσης ηλεκτρονικών συσκευών. Σε σχέση με την έντυπη η διασπορά ενός δωρεάν αντιγράφου του ηλεκτρονικού βιβλίου μπορεί να τονώσει τις πωλήσεις διαφημίζοντας την έντυπη έκδοση. Σε σύγκριση με τις έντυπες εκδόσεις είναι πιο εύκολο και πιο φθηνό για τους συγγραφείς να αυτοδημοσιεύσουν το έργα τους. Το e-book μπορεί να έχει και μορφή ακουστικού βιβλίου για άτομα με ειδικές ανάγκες ή απλώς για λόγους ευκολίας. 2.4 Μειονεκτήματα ηλεκτρονικής έκδοσης Πέρα από τα θετικά υπάρχουν και ορισμένα μειονεκτήματα της ηλεκτρονικής έκδοσης. Αυτά είναι: Δύσκολο να απευθυνθεί σε τεχνολογικά αναλφάβητο κοινό. Δημιουργείται παραεμπόριο ηλεκτρονικού βιβλίου. Άπειρες ιστοσελίδες διανέμουν δωρεάν πειρατικές ψηφιακές εκδόσεις οι οποίες καταπατούν με αυτόν τον τρόπο τα πνευματικά δικαιώματα. Απαιτούνται ειδικές συσκευές ηλεκτρονικής ανάγνωσης οι οποίες όμως έχουν αρκετά υψηλό κόστος. Οι συσκευές αυτές σε αντίθεση με τα βιβλία χρειάζονται μπαταρία με μικρή διάρκεια ζωής ή έχουν ανάγκη κατανάλωσης ηλεκτρονικής ενέργειας. Υψηλό κόστος ψηφιοποίησης παλαιών βιβλίων. Ανάγκη σημαντικών επενδύσεων απόκτησης τεχνογνωσίας για τη δημιουργία ηλεκτρονικών βιβλίων από την πλευρά του εκδοτικού οίκου. Κλείδωμα DRM 16 ασφάλεια ψηφιακού αρχείου που περιορίζει το χρήστη. 2.5 Τιμολόγηση ηλεκτρονικών περιοδικών Το κόστος έκδοσης ενός ηλεκτρονικού περιοδικού διαμορφώνουν οι ακόλουθοι παράγοντες (Minton Steven, Wellman, Michael P., 1999) : 1. Ο υπεύθυνος της ύλης του περιοδικού (editor) και οι κριτές των άρθρων, 2. Οι υπολογιστικοί πόροι που απαιτούνται για τη δημιουργία και διαχείριση του αντίστοιχου δικτυακού τόπου (website) και 3. Ο εκδοτικός οίκος (publisher), ο οποίος αναλαμβάνει την τεχνική επιμέλεια των τευχών (copy editor), και την εμπορική προώθηση και παρακολούθηση των συνδρομών του περιοδικού. Είναι σημαντικό να παρατηρηθεί ότι η διαδικασία αξιολόγησης των υποβληθέντων άρθρων και η επιμέλεια της ύλης συνήθως γίνονται σε εθελοντική βάση. Επιπλέον, οι υπολογιστικοί πόροι δεν απαιτούν σημαντικό κόστος, ιδιαίτερα όταν τα περιοδικά 16 Digital Rights Management

41 φιλοξενούνται σε δικτυακούς τόπους ακαδημαϊκών ή ερευνητικών ιδρυμάτων. Τελικά οι παράγοντες που παίζουν σημαντικό ρόλο στην τιμολόγηση ενός περιοδικού είναι το λειτουργικό κόστος (copy editor) και το περιθώριο κέρδους του εκδότη. Οι εκδοτικοί οίκοι μπορούν να ταξινομηθούν σε δύο κατηγορίες: 1. Οι εμπορικοί, όπως οι Elsevier, Springer, Kluwer κ.λπ. και 2. Οι μη κερδοσκοπικοί, οι οποίοι εστιάζουν κυρίως στην επικοινωνία της επιστημονικής κοινότητας και ανήκουν είτε σε Πανεπιστήμια, όπως οι Oxford University Press, MITPress κ.λπ. είτε σε Επιστημονικές Ενώσεις, όπως το Institute of Physics, η American Chemical Society (ACS) κ.λπ. Οι πολιτικές τιμολόγησης που ακολουθούν οι δύο κατηγορίες εκδοτών, διαφέρουν σημαντικά. Ιδιαίτερη εντύπωση κάνει η διαφορά στις τιμές περιοδικών συγκρίσιμης ποιότητας. Παρά τις διαφορετικές πολιτικές των εκδοτών, μπορεί να υποστηριχθεί ότι όλοι συμφωνούν στις «αδικαιολόγητα» μεγάλες ετήσιες αυξήσεις των τιμών των συνδρομών τους. Ανάλογη πορεία ακολουθούν και τα ηλεκτρονικά περιοδικά, αφού ως επί το πλείστον εκδίδονται από τους ίδιους εκδότες και οι τιμές τους αποτελούν συνάρτηση της τιμής της έντυπης συνδρομής. Είναι πλέον μέρος της πολιτικής των εκδοτών που παρείχαν δωρεάν πρόσβαση σε ηλεκτρονικά περιοδικά, όταν η Βιβλιοθήκη διατηρούσε την αντίστοιχη έντυπη συνδρομή,η απαίτηση ενός ποσοστού επί της -αυξημένης- έντυπης συνδρομής για την παροχή πρόσβασης στην ηλεκτρονική μορφή του περιοδικού. Συμπεραίνοντας, η τιμολογιακή πολιτική των εκδοτών είναι εξαιρετικά ασαφής, γεγονός που αποδεικνύεται από το ότι το κόστος πρόσβασης είναι άλλοτε ακριβότερο και άλλοτε φθηνότερο, αλλά σε καμία περίπτωση οι τιμές τους δεν έχουν σχέση με το μηδαμινό κόστος παραγωγής των ηλεκτρονικών περιοδικών. Είναι προφανές ότι οι Βιβλιοθήκες, εξ' αιτίας της τιμολογιακής πολιτικής των εκδοτών αντιμετωπίζουν σοβαρά οικονομικά προβλήματα που έχουν άμεσο αντίκτυπο στη διαχείριση των συλλογών τους. Ένα από αυτά είναι η διατήρηση της ποιότητας της συλλογής. Όταν αξιόλογα περιοδικά κοστίζουν υπερβολικά, είναι σχεδόν βέβαιο ότι δεν θα επιζήσουν ύστερα από μια δραστική περικοπή προϋπολογισμού. Επιπλέον τίθενται τα διλήμματα της ανάπτυξης και διαχείρισης ηλεκτρονικής συλλογής, όπως αυτό της επιλογής των ηλεκτρονικών περιοδικών που θα σχηματίσουν τη συλλογή. Η αξιολόγηση της συλλογής των άρθρων που ανεβαίνουν στα ηλεκτρονικά περιοδικά προϋποθέτει την απάντηση στο αν χρησιμοποιούνται μέθοδοι αξιολόγησης των άρθρων. Υπάρχουν,τρία επίπεδα ενσωμάτωσης. Το πρώτο αφορά απλά στην πληρωμή της αντίστοιχης συνδρομής διατηρώντας πρόσβαση σε αυτά. Ένα δεύτερο επίπεδο ενσωμάτωσης είναι η καταλογογράφησή τους και τέλος η διατήρηση ψηφιακού αρχείου των τευχών τους (back issues archive). Η αρχειοθέτηση διατήρηση (archiving-preservation) των ηλεκτρονικών άρθρων αποτελεί ένα πολυσυζητημένο και δύσκολο πρόβλημα διαχείρισης ψηφιακών συλλογών. Εκτός των οικονομικών ζητημάτων, η διαδικασία ανάπτυξης πολιτικής για τη δημιουργία αρχείου παρακαταθήκης ηλεκτρονικών άρθρων, οφείλει να εξετάζει ένα πλήθος άλλων αλληλένδετων παραμέτρων που καλύπτουν όλο τον κύκλο ζωής τους, από την έκδοση τους μέχρι την τελική διατήρηση τους (Hodge, 2000). Μερικοί ενδεικτικοί παράμετροι που επιδρούν στη λήψη αποφάσεων είναι:

42 Η επιλογή των ηλεκτρονικών άρθρων που θα αποτελέσουν το αρχείο παρακαταθήκης (archive). Οι χρησιμοποιούμενοι μέθοδοι συλλογής του υλικού και ανανέωσης του αρχείου. Θέματα πνευματικής ιδιοκτησίας. Πρότυπα καταλογογράφησης και μεταδεδομένων που θα χρησιμοποιηθούν και βιβλιογραφικός έλεγχος των εγγραφών. Μέθοδοι και πρότυπα ταυτοποίησης των άρθρων και των τμημάτων τους. Διαλειτουργικότητα και διασύνδεση του αρχείου με άλλα συστήματα και υπηρεσίες πληροφόρησης. Κόστος και περιοδικότητα των επενδύσεων αναβάθμισης εξοπλισμού για λογισμικό και υλικό. Θέματα προσπέλασης και ασφάλειας του αρχείου. 2.6 Διεθνείς Τάσεις και Προσεγγίσεις Η ανάγκη αντιμετώπισης προβλημάτων και γενικότερα η εκρηκτική ανάπτυξη της ψηφιακής πληροφόρησης, ώθησαν τους εκδότες, τις Βιβλιοθήκες, τους ενδιάμεσους πράκτορες συνδρομών και άλλους οργανισμούς στο σχεδιασμό και την υλοποίηση νέων φιλικών, αποτελεσματικών και οικονομικά προσιτών υπηρεσιών πληροφόρησης. Μια ταξινόμηση των τάσεων που υπάρχουν διεθνώς ακολουθεί παρακάτω. 2.7 Εκδότες, ενδιάμεσοι συνδρομών και παροχείς ηλεκτρονικών περιοδικών Είναι γεγονός ότι οι εκδοτικοί οίκοι επενδύουν τεράστια ποσά για την έκδοση και διαχείριση των ηλεκτρονικών περιοδικών. Συγκεκριμένα, έχουν τροποποιήσει τα επιχειρηματικά τους σχέδια και αναπτύσσουν αξιόλογες υπηρεσίες προστιθέμενης αξίας για τη χρήση και τη διαχείριση ηλεκτρονικών περιοδικών. Οι υπηρεσίες αυτές αφορούν τόσο στην κάθετη πληροφόρηση για τα περιοδικά, τα άρθρα και τους συγγραφείς του εκδοτικού οίκου, όπως π.χ. οι υπηρεσίες Springer Link, Elsevier ScienceDirect κ.λπ., όσο και σε οριζόντιο επίπεδο, παρέχοντας δυνατότητες υπερσύνδεσης (hyper-linking) άρθρων από διαφορετικούς εκδότες και θεσπίζοντας πρότυπα διαχείρισης ηλεκτρονικών περιοδικών, όπως το πρότυπο Digital Object Identifier (DOI). Η γνωστότερη οριζόντια δράση εκδοτικών οίκων είναι ο οργανισμός Crossref ( μια κοινοπραξία 81 εκδοτών που εκτός των άλλων, διαχειρίζεται και διασυνδέει περίπου 5 εκατομμύρια επιστημονικά άρθρα, μέσω των βιβλιογραφικών αναφορών τους. Οι επενδύσεις αυτές παρουσιάζονται ως μια γνησίως αύξουσα συνάρτηση κόστους περιθωρίου (marginal cost) αλλά στην ουσία μόνο περιθωριακό κόστος δε μπορούν να χαρακτηρισθούν, αφού καταλαμβάνουν ένα μεγάλο μέρος του προϋπολογισμού τους και αποσβένονται από τις διαρκείς και άλογες αυξήσεις των συνδρομών σε έντυπα και ηλεκτρονικά περιοδικά. Πρέπει να τονιστεί ότι οι μη κερδοσκοπικοί εκδότες παρουσιάζουν μεγαλύτερη ευελιξία σε αποφάσεις έκδοσης ηλεκτρονικών περιοδικών που θα είναι δωρεάν διαθέσιμα στα μέλη της κοινότητας που εξυπηρετούν. Εκτός από τους εκδότες, ανάλογες επενδύσεις γίνονται από εταιρίες που λειτουργούν ως ενδιάμεσοι μεταξύ βιβλιοθηκών και εκδοτών για τη διαχείριση συνδρομών, όπως η EBSCO και η Swets-Blackwell. Σκοπός αυτών των επενδύσεων είναι η ανάπτυξη υπηρεσιών πληροφόρησης για τους χρήστες, όπως η παροχή πληροφοριών για την κατάσταση των συνδρομών τους, η δυνατότητα προσβασης στο πλήρες κείμενο άρθρων και η διατήρησης αρχείου παρακαταθήκης για ηλεκτρονικές συνδρομές.

43 Τέλος επιβάλλεται να αναφερθεί η εμφάνιση στο χώρο των περιοδικών ηλεκτρονικών εκδόσεων εταιριών παροχής τεχνογνωσίας για την έκδοση και διαχείριση ηλεκτρονικών περιοδικών (aggregators), όπως ο CatchWord ( και ο HighWirePress ( Σκοπός αυτών των οργανισμών είναι η έκδοση και διαχείριση ηλεκτρονικών περιοδικών, για λογαριασμό εκδοτών. Ο ρόλος τους θεωρείται σημαντικός γιατί αναλαμβάνουν την έκδοση πολλών αξιόλογων ηλεκτρονικών περιοδικών, από διάφορους και κυρίως μικρούς εκδοτικούς οίκους, απαλλάσσοντας τους από το κόστος επένδυσης σε τεχνογνωσία και διατηρώντας το κόστος των συνδρομών τους από προσιτό έως μηδενικό. Είναι χαρακτηριστική η εξέλιξη του HighWirePress, ο οποίος ξεκίνησε από την ακαδημαϊκή κοινότητα, ως ο εκδοτικός οίκος της Βιοιατρικής Σχολής του Πανεπιστημίου του Stanford με το περιοδικό Journal of Biological Chemistry (JBC), και τώρα διαχειρίζεται την έκδοση 293 ηλεκτρονικών περιοδικών που ανήκουν σε 23 επιστημονικές ενώσεις (μη κερδοσκοπικούς εκδοτικούς οίκους). Από την άλλη πλευρά, ο CatchWord, είναι ένας κερδοσκοπικός παραγωγός και παροχέας ηλεκτρονικών περιοδικών που φιλοξενεί ηλεκτρονικά περιοδικά από 65εκδότες. 2.8 Κοινοπραξίες βιβλιοθηκών και υπηρεσίες επιστημονικής πληροφόρησης Τα σημαντικότερα αίτια δημιουργίας κοινοπραξιών βιβλιοθηκών είναι η αντιμετώπιση του διαρκώς αυξανόμενου κόστους των συνδρομών και η πρόσβαση σε όσο το δυνατόν περισσότερες ηλεκτρονικές πηγές πληροφόρησης με το ελάχιστο κόστος, συμπεριλαμβανομένου του κόστους επένδυσης σε εξοπλισμό. Το οικονομικό αποτέλεσμα από αυτές τις προσπάθειες ήταν θεαματικό. Οι Βιβλιοθήκες έχουν κοινή πρόσβαση είτε σε όλα τα περιοδικά στα οποία διαθέτουν συνδρομές, είτε συνάπτουν συμφωνίες με εκδότες και πετυχαίνουν πρόσβαση σε όλο το πλήθος των ηλεκτρονικών περιοδικών που εκδίδουν καθώς επίσης και σε παρελθόντες τόμους (back issues), με ελάχιστη επιβάρυνση στο τρέχον κόστος και περιορισμό της ετήσιας αύξησης των έντυπων συνδρομών τους. Ως ιδιαίτερα γνωστές και δυναμικές κοινοπραξίες αναφέρονται οι Ohio-Link, National Electronic Site License Initiative (NESLI,Bley,2000), καθώς επίσης και το Δίκτυο Ελληνικών Ακαδημαϊκών Βιβλιοθηκών HEAL-Link. Κάθε κοινοπραξία, σύμφωνα με το θεσμικό καθεστώς που καθορίζει τους σκοπούς και τις λειτουργίες της και ανάλογα την οικονομική της ευρωστία, αντιμετωπίζει τα προαναφερθέντα προβλήματα διαχείρισης ηλεκτρονικών περιοδικών και αναπτύσσει διάφορες υπηρεσίες πληροφόρησης για τους χρήστες της. Παράλληλα με τις Κοινοπραξίες Βιβλιοθηκών, διάφοροι άλλοι ακαδημαϊκοί και ερευνητικοί οργανισμοί έχουν δημιουργήσει υπηρεσίες δωρεάν πληροφόρησης για την επιστημονική κοινότητα. Τέτοιες προσπάθειες αφ' ενός συντελούν στη διάχυση των ερευνητικών αποτελεσμάτων και αφ' ετέρου δημιουργούν και προσφέρουν σημαντική τεχνογνωσία για την ανάπτυξη ψηφιακών συλλογών. 2.9 Εκδοτικές πρωτοβουλίες Κοινοπραξιών Βιβλιοθηκών και επιστημονικής κοινότητας Το δεύτερο επίπεδο αντίδρασης των Βιβλιοθηκών και της επιστημονικής κοινότητας στο πρόβλημα της αντιμετώπισης του κόστους των συνδρομών, ήταν η ανάληψη πρωτοβουλιών έκδοσης ηλεκτρονικών περιοδικών, ανταγωνιστικών με αυτά των

44 εμπορικών εκδοτών. Συγκεκριμένα, η επιστημονική κοινότητα σε συνεργασία με τις Βιβλιοθήκες, οι οποίες διαθέτουν τεχνογνωσία στην έκδοση και διαχείριση ψηφιακού υλικού αποφάσισε την έκδοση υψηλής ποιοτικής στάθμης ηλεκτρονικών περιοδικών με μηδαμινή ή δωρεάν συνδρομή. Το όλο εγχείρημα βασίζεται: Στη διαπίστωση ότι οι διαρκώς αυξανόμενες τιμές των συνδρομών των περιοδικών θέτουν σοβαρά εμπόδια στον επιστημονικό διάλογο, Στην εκμετάλλευση των δυνατοτήτων που προσφέρονται από την τεχνολογία και εξασφαλίζουν μηδαμινό κόστος έκδοσης ηλεκτρονικών περιοδικών. Τα περιοδικά αυτά λειτουργούν ως εναλλακτικές επιλογές -αντικαταστάτες γνωστών περιοδικών ή είναι νέα περιοδικά υψηλής ποιότητας που εκδίδονται υπό την αιγίδα επιστημονικών ενώσεων. Η αποδοχή και επιτυχία των περιοδικών είναι γεγονός και έγκειται στα ακόλουθα χαρακτηριστικά τους: Η ταχεία διαδικασία αξιολόγησης των άρθρων (peer review process), Το επιτελείο επιμέλειας της ύλης (editorial board) τους αποτελείται από πολύ γνωστούς, καταξιωμένους και αποδεκτούς στην κοινότητα τους επιστήμονες, γεγονός που εξασφαλίζει την ποιότητα του περιοδικού, Βασίζονται σε μεγάλο ποσοστό σε εθελοντική εργασία και σε πόρους που παρέχει η ίδια η επιστημονική κοινότητα (π.χ. φιλοξενούνται από δικτυακούς τόπους πανεπιστημίων), ελαχιστοποιώντας το κόστος παραγωγής, Παρέχονται είτε δωρεάν είτε έναντι συμβολικής συνδρομής Για λόγους διατήρησης και αρχειοθέτησης από τις Βιβλιοθήκες (archiving) εκδίδονται και σε έντυπη μορφή, αλλά σε ετήσιους τόμους, για εξοικονόμηση χρημάτων, από εμπορικούς αλλά κυρίως μη κερδοσκοπικούς εκδοτικούς οίκους. Μια αξιοσημείωτη πρωτοβουλία είναι η Scientific Electronic Library Online (SciELO, Πρόκειται για μια προσπάθεια ηλεκτρονικής έκδοσης περιοδικών από χώρες της Λατινικής Αμερικής και Καραϊβικής που αφορούν στη δημόσια υγεία. Η ανάδειξη τέτοιων περιοδικών έχει ιδιαίτερη σημασία αν θεωρηθεί ότι ένα μεγάλο ποσοστό του πληθυσμού του πλανήτη είναι ισπανόφωνο. Η έκδοση και διαχείριση των περιοδικών γίνεται με βάση διεθνή πρότυπα, ενώ παράλληλα η ψηφιακή βιβλιοθήκη διαθέτει μηχανισμούς αξιολόγησης των περιοδικών που επιτυγχάνεται από τη μέτρηση της χρήσης τους και τον υπολογισμό άλλων βιβλιομετρικών δεικτών, όπως ο impact factor Προτάσεις Με την έκρηξη της ηλεκτρονικής εκδοτικής (e-publishing), οι διάφοροι εκδοτικοί οίκοι οφείλουν να αποδείξουν ότι διαθέτουν μηχανισμούς ελέγχου και προσαρμογής στις ανάγκες των κοινοτήτων που υποστηρίζουν. Συγκεκριμένα οφείλουν να παίζουν ένα πολυδιάστατο ρόλο ο οποίος συνδυάζει τις παραδοσιακές δραστηριότητες συλλογής, ταξινόμησης και διαχείρισης έντυπου υλικού με σύγχρονες δραστηριότητες ανάκτησης, φιλτραρίσματος διαχείρισης και διατήρησης ψηφιακής πληροφορίας και συμμετοχής στην έκδοση ηλεκτρονικών δημοσιευμάτων Εκδοτικοί οίκοι Για να επιτευχθεί το επιθυμητό αποτέλεσμα πρέπει να υπάρχουν:

45 1. Τόποι συλλογής και αρχειοθέτησης έντυπου υλικού. 2. Πύλες πρόσβασης σε πηγές πληροφόρησης. Ο μετασχηματισμός των εκδοτικών οίκων σε πύλες πληροφόρησης, μας δίνει τη δυνατότητα ανάπτυξης νέων υπηρεσιών. 3. Τόποι μελέτης και επιστημονικού διαλόγου, ανταλλαγής απόψεων πληροφοριών και γνώσης Εκδότης Ο ρόλος του εκδότη, κάτω από αυτό το νέο περιβάλλον θα πρέπει να διαμορφώνεται ως: 1. Ενδιάμεσος της πληροφορίας (information mediator), με την έννοια να συνδέει την «προσφορά» της πληροφορίας με την αντίστοιχη «ζήτηση» της. Αυτό επιβάλλει ότι θα πρέπει να είναι γνώστης τόσο των αναγκών της κοινότητας που καλείται να υποστηρίξει, όσο και των διαθέσιμων έντυπων και ψηφιακών πηγών πληροφόρησης που αφορούν στην συγκεκριμένη κοινότητα. 2. Πληροφοριακά έμπειρος (information expert), με την έννοια να προβλέπει τις ανάγκες των χρηστών,να μπορεί να επικοινωνεί και να συνεργάζεται με τεχνικούς και πληροφορικούς για να συμμετέχει στο σχεδιασμό υπηρεσιών πληροφόρησης και τέλος να είναι σε θέση να αξιολογεί την απόδοση πληροφοριακών συστημάτων. Ειδικότερα για την περίπτωση των ηλεκτρονικών εκδόσεων, να είναι γνώστης της τεχνολογίας ανάπτυξης και διαχείρισης τους. 3. Διαχειριστής της πληροφορίας (information manager) με την έννοια των διοικητικών ικανοτήτων που πρέπει να διαθέτει, για να μπορέσει να οργανώσει και να διαχειριστεί τις λειτουργίες και δραστηριότητες του περιοδικού. Επιπλέον θα πρέπει να είναι σε θέση να διατηρεί σε ισορροπία τα «παραδοσιακά» και «μοντέρνα» πληροφοριακά μέσα Ερωτήσεις πολιτικής Η ηλεκτρονική έκδοση μπορεί να οδηγήσει σε δύο ζητήματα πολιτικής που οι επιστημονικές εταιρείες και οι συντάκτες των περιοδικών πρέπει να αντιμετωπίσουν σε σχέση με την ηλεκτρονική δημοσίευση και την επιστημονική επικοινωνία. Κατ' αρχάς, ποια θα πρέπει να είναι η κατάσταση που θα δοθεί στην επιστημονική δημοσίευση και στα ηλεκτρονικά έγγραφα που είναι αναρτημένα σε μη ελεγμένες ιστοσελίδες, όπως μια προσωπική αρχική σελίδα. Δεύτερον, πότε θα πρέπει οι εκδότες των περιοδικών να θεωρούν ότι τα ηλεκτρονικά έγγραφα έχουν δημοσιευθεί, με ένα τρόπο που θα πρέπει να απαγορεύσει το ίδιο το έγγραφο να εκδοθεί ξανά; Τα θέματα αυτά υπερβαίνουν τις ερωτήσεις της πολιτικής για τους εκδότες περιοδικών και επιστημονικών εταιρειών. Η κατάσταση της επιστημονικής δημοσίευσης των ηλεκτρονικών εγγράφων που δημοσιεύτηκαν στο διαδίκτυο παίζει ζωτικό ρόλο στην επιστημονική συμπεριφορά, τόσο σε σχέση με τους τύπους των εγγράφων που οι μελετητές είναι πρόθυμοι να δημοσιεύσουν σε τοποθεσίες Web, όπως επίσης και σε ποιες μορφές, και την εμπιστοσύνη με την οποία οι μελετητές θα αντιληφθούν τα έγγραφα που δημοσιεύτηκαν στο διαδίκτυο σε διάφορα φόρουμ. Μπορεί να είναι χρήσιμο να χαρακτηρίστουν δύο πιθανά σενάρια ότι οι εκδότες των περιοδικών και των επιστημονικών εταιρειών συχνά φοβούνται. Καθώς όλο και περισσότεροι μελετητές αυτο-δημοσιεύουν μέσω του διαδικτύου, άλλοι μελετητές

46 σταδιακά διαπιστώνουν ότι μπορούν να πάρουν τα άρθρα που θέλουν σαν αυτοδημοσιευεμένα έγγραφα, σε ορισμένες περιπτώσεις, μήνες ή χρόνια πριν από την επίσημη δημοσίευση του περιοδικού. Σταδιακά, καθώς το ποσοστό των άρθρων που οι αναγνώστες θέλουν αλλά και μπορούν να εντοπίζουν εύκολα θα ακυρώσουν τις συνδρομές των περιοδικών τους. Τελικά, το περιοδικό παύει να είναι οικονομικά βιώσιμο. Αυτό το σενάριο είναι απίθανο για διάφορους λόγους, μεταξύ των οποίων (1) πολλοί αναγνώστες εκτιμούν την ποιότητα και το φιλτράρισμα της αξιολόγησης από ειδικούς, (2) πολλές συνδρομές περιοδικών έρχονται ως μέρος ενός των μελών, και (3) πολλοί βρίσκουν το περιοδικό να είναι ένα βολικό πακέτο και δεν έχουν χρόνο για να κάνουν αναζήτηση στο Web. Ένα εναλλακτικό, πολύ πιθανό, σενάριο, είναι ότι καθώς οι μελετητές αυτοδημοσιεύουν περισσότερα άρθρα στο Web, αυτά τα εν λόγω έγγραφα μπορούν να βρεθούν από τρίτους. Οι μελετητές τότε μπορεί να αρχίσετε να χρησιμοποιείτε αυτές τις σελίδες συγκέντρωσης ως υποκατάστατα για περιοδικά. Το σενάριο αυτό θα μπορούσε να αναπτυχθεί σε διάφορες κατευθύνσεις. Πρώτον, οι τρίτοι που βλέπουν τα άρθρα θα μπορούσαν να προσφέρουν τη δική τους λειτουργία αξιολόγησης. Δεύτερον, οι τρίτοι ενδέχεται να συλλέγουν άρθρα που έχουν γίνει δεκτά για δημοσίευση σε ένα συγκεκριμένο περιοδικό μόνο. Το ACM αναφέρει το ακόλουθο σενάριο σαν κίνδυνο. Κάποιος που δημιουργεί ένα έργο το οποίο αναπαράγει ουσιαστικά ένα άλλο έργο πνευματικής ιδιοκτησίας θα πρέπει προηγουμένως να πάρει άδεια από τον κάτοχο των πνευματικών δικαιωμάτων. Για παράδειγμα ο δημιουργός του «A Table of Contents for the Current Issue of TODS» που αποτελείται από αναφορές οποιαδήποτε τεύχους του TODS πρέπει να πάρει την άδεια των συγγραφέων των άρθρων του τεύχους του TODS. Εάν υπάρχει βιβλιογραφία στην οποία θα φαίνονται οι πηγές θα μπορεί να πάρει άδεια γιατί έτσι θα φαίνεται η δουλειά που έχει γίνει από τους συγγραφείς Δημοσιευμένη Κατάσταση των ηλεκτρονικών εγγράφων Το βασικό ερώτημα είναι: ποια πρέπει να είναι η δημοσιευμένη κατάσταση που πρέπει μελετητές να δίνουν στα ηλεκτρονικά έγγραφα. Ορισμένα προγράμματα λογισμικού επεξεργασίας, όπως το Netscape Composer, επιτρέπουν στο χρήστη να δημοσιεύσει τα έγγραφά του σε ένα διακομιστή Web. Δηλαδή ο καθένας μπορεί να είναι εκδότης, στο Web. Ωστόσο, σύμφωνα με την ACM, οι σχέσεις μεταξύ των διαφόρων μορφών των ηλεκτρονικών εκδόσεων και τις διάφορες μορφές του εκδοτικού χαρτιού δεν έχουν ακόμη σταθεροποιηθεί, είτε αναφερόμαστε στην κοινωνία γενικότερα, ή σε ακαδημαϊκές κοινότητες Συμπεράσματα Η ραγδαία ανάπτυξη των ηλεκτρονικών περιοδικών έθεσε σημαντικά προβλήματα διαχείρισης τους, που αντιμετωπίζονται από τη διεθνή επιστημονική κοινότητα. Η έκδοση δωρεάν ηλεκτρονικών περιοδικών (free scientific publishing) υψηλής ποιότητας από μη κερδοσκοπικούς εκδότες, δηλαδή από την ίδια την επιστημονική κοινότητα και η αποδοχή τους από τις Βιβλιοθήκες, αποτελεί μια αμφισβήτηση της τιμολογιακής πολιτικής των εμπορικών εκδοτών. Σε περίπτωση που ο ευγενής ανταγωνισμός μεταξύ των ηλεκτρονικών περιοδικών συνεχιστεί, αναμένεται μια

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

48 3 Ανάλυση SWOT εφαρμογής ιστού ψηφιακής δημοσιογραφίας σύμφωνα με τον W3C Για να κάνω καλύτερη την εφαρμογή που θα υλοποιήσω πραγματοποίησα ανάλυση SWOT από παλαιότερες τεχνολογίες (papers). Η ανάλυση SWOT είναι ένα εργαλείο στρατηγικού σχεδιασμού το οποίο χρησιμοποιείται για την ανάλυση του εσωτερικού και εξωτερικού περιβάλλοντος μίας επιχείρησης, όταν η επιχείρηση πρέπει να λάβει μία απόφαση σε σχέση με τους στόχους που έχει θέσει ή με σκοπό την επίτευξή τους. Το αρκτικόλεξο SWOT προκύπτει από τις αγγλικές λέξεις: Strengths, Weaknesses, Opportunities, Threats. Παρακάτω φαίνεται το SWOT Analysis για τα web services. SWOT Analysis για Web Services Strengths Τα στοιχεία του λογισμικού χρησιμοποιούνται πάνω από το διαδίκτυο Αξιοποιεί την ισχύ της XML ως ανταλλαγή δεδομένων και ως μεθοδολογία ολοκλήρωσης των εφαρμογών Έχει την δική της ικανή και εξειδικευμένη μηχανή αναζήτησης το UDDI. Ομόφωνη έγκριση από όλους τους μεγάλους προμηθευτές υπολογιστών και λογισμικού σε όλο τον κόσμο Η πλατφόρμα των web services μπορεί να πραγματοποιηθεί όταν το εύρος της πρόσβασης στις πληροφορίες που απαιτούνται είναι από οποιονδήποτε και οπουδήποτε, ανεξάρτητα την βάση της πληροφορικής. (Romi, 2014) Μπορεί να πραγματοποιηθεί όταν το εύρος της πρόσβασης στις πληροφορίες, δεν υπερβαίνει τα όρια του οργανισμού. (Romi, 2014) Όταν το εύρος της πρόσβασης στην πληροφορία υπερβαίνει τα όρια του οργανισμού, αλλά υπάρχει ακόμα μεταξύ ορισμένων εταίρων, τα web services μπορούν να πραγματοποιηθούν. (Romi, 2014) Χρησιμοποιούν το Bayesian μοντέλο. Με την χρήση της SPARQL βελτιώνεται η επεκτασιμότητα και η απόδοση στην ανακάλυψη (discovery) και στην κατάταξη των σταδίων (ranking stages) λόγω του μειωμένου χώρου αναζήτησης. Σαν αποτέλεσμα μειώνεται ο συνολικός χρόνος εκτέλεσης και η κατανάλωση μνήμης με περιορισμένη ποινή (penalty) στην ακρίβεια, στην ανάκληση (recall) και στο νέφος (fallout). Επίσης είναι προσαρμόσιμη σε οποιοσδήποτε SWS framework (πλαίσιο) λόγω των φίλτρων που ο κάθε χρήστης μπορεί να χρησιμοποιήσει. (José María García, David Ruiz, Antonio Ruiz-Cortés, 2012) Επιτρέπει ακριβώς και εύκολα την ολοκλήρωση της οικοδόμησης ενός πρωτότυπου web service και επιτρέπει στους χρήστες με γνώσεις τομέα (π.χ. σύμβουλοι που διαμορφώνουν ERP) να συμμετάσχουν στο Web service

49 χωρίς πολύπρογραμματισμό. (Sudhir Agarwal, Siegfried Handschuh, Steffen Staab, 2004) Με βάση την απαίτηση του χρήστη, τα διαθέσιμαservicesταξινομούνται δυναμικά σε βασικά και βοηθητικά services κατά το χρόνο εκτέλεσης. Κατά συνέπεια, ένα σύνθετο service περιέχει ένα βασικό service, το οποίο παρέχει τη ζητούμενη λειτουργικότητα. Βελτιώνει την ορθότητα των σύνθετων services που δημιουργούνται. Επιπλέον, έχει χαμηλότερο χρόνο πολυπλοκότητας καθώς η διαδικασία σύνθεσης εκτελείται ως επί το πλείστον στο γράφημα, το οποίο περιλαμβάνει ένα σχετικά μικρό αριθμό κόμβων. (Dong-Hoon Shin, Kyong-Ho Lee, Tatsuya Suda, 2009) Τα αποτελέσματα για την ταχύτητα σύνθεσης δείχνουν ότι νέα μέθοδος παράγει σύνθετα services γρηγορότερα από τις προηγούμενες μεθόδους, όταν ο αριθμός των εννοιών δράσης (action concepts) είναι μικρότερος από τον αριθμό των εννοιών των δεδομένων (data concepts).επίσης, το σύνθετο serviceπου παράγεται με την μέθοδο αυτή έχει υψηλότερη ακρίβεια από ό, τι εκείνα των προηγούμενων μεθόδων, οι οποίες δεν θεωρούν λειτουργική την σημασιολογία των Web services. (Dong-Hoon Shin, Kyong- Ho Lee, Tatsuya Suda, 2009) Πολλά περιβάλλοντα Web φαίνεται να είναι πλούσια σε πληροφορίες αλλά σε δράση φτωχά. Στα web services, υπάρχουν τεχνολογίες που βοηθάνε την αυστηρή κατάτμηση των services που αφορούν αποκλειστικά πληροφορίες που παρέχουν output χωρίς κάποιο κόστος. (Evren Sirin, Bijan Parsia, Dan Wu, james Hendler, Dana Nau, 2004) Όσον αφορά την ανάκτηση της οντολογίας των services τα θετικά είναι ότι τα μέτρα ομοιότητας εμφανίζουν ορισμένες επιθυμητές ιδιότητες καθώς κάθε απόφαση ομοιότητας μπορεί να αναλυθεί και να εξηγηθεί με το χρήστη, με βάση την οντολογία. (Eran Toch, Iris Reinhartz-Berger, Dov Dori, 2011) Ο Query Manager του Enquirer (τεχνολογία) μπορεί να χρησιμοποιηθεί για να επιλεχθεί το κατάλληλο web service πολύ γρήγορα, όταν χρειάζεται τις πληροφορίες. (Ugur Kuter, Evren Sirin, Bijan Parsia, Dana Nau, James Hendler, 2005) Οι απλές τεχνικές δουλεύουν μια χαρά σε καλά καθορισμένα πλαίσια. (Marta Sabou, Chris Wroe, Carole Goble, Heiner Stuckenschmidt, 2005) Η βαθύτερη γλωσσική ανάλυση φαίνεται να αυξάνει την απόδοση. (Marta Sabou, Chris Wroe, Carole Goble, Heiner Stuckenschmidt, 2005) Με το Synthy οι προγραμματιστές των Services μπορούν να διατηρήσουν ένα μητρώο των web services που να πηγαίνει πέρα από την παραδοσιακή UDDI. (Vikas Agarwal, Girish

50 Chafle, Koustuv Dasgupta, Neeran Karnik, Arun Kumar, Sumit Mittal, Biplav Srivastava, 2005) Weaknesses Ολική εξάρτηση από την XML για όλες τις συναλλαγές με αποτέλεσμα μερικές εφαρμογές να γίνονται δυσκίνητες και περίπλοκες. Δημόσιο domain, ισότιμος έλεγχος των προδιαγραφών (σε αντίθεση με τον έλεγχο από μία και μόνο επιχείρηση) σημαίνει ότι η προσπάθεια που καταβλήθηκε για την ανάπτυξη νέων προδιαγραφών δεν είναι ανάλογη με τις προδιαγραφές που τίθενται στο εμπορικό κέρδος. Καθυστερεί στην αντιμετώπιση των πτυχών της ασφάλειας και υπάρχουν τρωτά σημεία ασφάλειας επειδή χρησιμοποιούνται Windows Ο διαχωρισμός μεταξύ.net και Java θολώνει το γεγονός ότι και οι δύο προωθούν διαλειτουργικά την ίδια τεχνολογία web services. Οι Semantic Web query languages δεν χρησιμοποιούνται ευρέως για SWS discovery και ranking. (José María García, David Ruiz, Antonio Ruiz-Cortés, 2012) Το OntoMat-Service (παράδειγμα τεχνολογίας) πρέπει να επιλύσει κάποια ενδιαφέροντα στοιχεία όπως: (Sudhir Agarwal, Siegfried Handschuh, Steffen Staab, 2004) o Δεν αυτοματοποιείται ο τρόπος όπου τα Web Servicesπαρουσιάζονται στον παγκόσμιο Ιστό. o Δεν χαρακτηρίζει τα όρια για τις λειτουργίες που μπορούν να αθροιστούν και να εκτελεστούν o Δεν σχολιάζει τις αντιστοιχίσεις μεταξύ των οντολογιών ημιαυτόματα. Μπορεί να υπάρχουν περιπτώσεις όπου δύο υπηρεσίες έχουν ταυτόσημη ή ίδια περιγραφή με την προτεινόμενη μέθοδο προδιαγραφής, αλλά μπορεί να λειτουργεί με διαφορετικό τρόπο στην πραγματικότητα. (Dong-Hoon Shin, Kyong-Ho Lee, Tatsuya Suda, 2009) Έχει περιορισμούς στο χειρισμό των αιτήσεων της φυσικής γλώσσας, συμπεριλαμβανομένων αρνητικών προτάσεων. Η ασάφεια της φυσικής γλώσσας μπορεί επίσης να προκαλέσει διαφορετικές ερμηνείες. (JongHyun Lim, Kyong-Ho Lee, 2010) Η εκτέλεση ορισμένων web services μπορεί να πάρει ένα πολύ μεγάλο χρονικό διάστημα. Θα ήταν καλύτερα αν ο σχεδιαστής θα μπορούσε να συνεχίσει να σχεδιάζει, καθώς περιμένει για πληροφορίες. (Evren Sirin, Bijan Parsia, Dan Wu, james Hendler, Dana Nau, 2004) Το SWASDL- imatching (μοντέλο web service) θα πρέπει να σχεδιαστεί να ερευνήσει πολύ πιο αποτελεσματικές στρατηγικές δομές που θα ταιριάζουν και θα αναλύουν τις επιδόσεις τους σε περισσότερα σύνολα δεδομένων. Επίσης δεν εκπροσωπεί όλες τις πιθανές περιγραφές των διαδικτυακών υπηρεσιών. Ακόμα, η ευαίσθητη μέθοδος του

51 κόστους χρησιμοποιείται για την βελτίωση της ποιότητας του στατιστικού μοντέλου και αυτό είναι έλλειψη. Τέλος, πρέπει η SAWSDL- imarcher να επεκταθεί για να υποστηρίξει και τα WSDL-S και OWL-S. (Dengping Wei, Ting Wang, Ji Wang, Abraham Bernstein, 2011) Opportunities Μια ένδειξη στην παγκόσμια οικονομία το 2004, οδήγησε σε ζήτηση νέων εφαρμογών e-business στις Web-centric παγκόσμιες αγορές των καταναλωτών Οι προγραμματιστές λογισμικού επόμενης γενιάς έξυπνων τηλεφώνων και εφαρμογών τυποποίηση φωνής όρισαν τα Web Services ως προτιμώμενη τεχνολογία Τα Linux και η Java άρχισαν να εκτοπίζουν τους windows servers καθώς οι επιθέσεις στα windows συνεχίζουν να κάμπτουν το ηθικό στις εταιρείες. Οι προγραμματιστές Java εφαρμογών παίρνοντας θάρρος από την σπάταλη υποστήριξη σε J2EE 1.4, αγκαλιάζουν τα web services, σαν στρατηγική μεθοδολογία ανάπτυξης λογισμικού Πολλές εταιρείες κάνουν μια συντονισμένη προσπάθεια να αποκτήσουν νέα έσοδα προσφέροντας επιχειρηματική λογική σε μερικές από τις παλιές εφαρμογές τους με τη μορφή web services Η IMB και η Sun, ένωσαν τις δυνάμεις τους για να προωθήσουν τα web services σε επιχειρήσεις όλων των μεγεθών Οι οργανισμοί έχουν την τάση να χρησιμοποιούν συστήματα πληροφοριών, εφαρμογές που απαιτούν τα δεδομένα να ανταλλάσσονται μεταξύ των διαφόρων μερών, ενώ η ανταλλαγή δεδομένων να περιορίζεται με πληροφορίες που φθάνουν και κυμαίνονται εκεί που καθορίζει η πλατφόρμα πληροφορικής των οργανισμών. (Romi, 2014) Οι πληροφορίες πολλές φορές μπορεί να θεωρηθούν περιουσιακά στοιχεία γενικά και πόροι ή βασικά εμπορεύματα κυρίως. Η έξυπνη διαχείριση των πληροφοριών επιτρέπει σε πραγματικό χρόνο την επιχειρηματική ευφυΐα με ισχυρή, επεκτάσιμη διαχείριση και ανάλυση δεδομένων υψηλής έντασης και σύντηξης των δομημένων και αδόμητων πληροφοριών. Ο αριθμός των διαθέσιμων services σε δημόσια αποθετήρια αναμένεται να εκραγεί στο μέλλον, έτσι ώστε τα δισεκατομμύρια των services θα είναι σε θέση να καταναλώνονται στο Web. (José María García, David Ruiz, Antonio Ruiz-Cortés, 2012) Οι διαθέσιμες σημασιολογικές περιγραφές, από την άποψη των SWS και OWL-S ή WSMO, παρουσιάζουν μία υψηλή πολυπλοκότητα για τον καθορισμό και την επεξεργασία τους. (José María García, David Ruiz, Antonio Ruiz-Cortés, 2012) Στις μέρες μας ο άνθρωπος όπως ο σύμβουλος ή ο διαχειριστής μπορούν να περιηγηθούν πολύ εύκολα στο

52 υπάρχον World Wide Web και στα νέα web services και εύκολα μπορούν να συνθέσουν web services. (Sudhir Agarwal, Siegfried Handschuh, Steffen Staab, 2004) Υπάρχει συνεχώς αυξανόμενο ενδιαφέρον για την κατασκευή ενός σύνθετου web service, το οποίο υποστηρίζει υψηλού επιπέδου επιχειρηματικές διαδικασίες. Ένα σύνθετο web service παρέχει πιο πολύπλοκες λειτουργίες από ό, τι μπορεί να παρέχεται από ένα ενιαίο, αφού συνδυάζει πολλαπλά services μαζί. (Dong-Hoon Shin, Kyong-Ho Lee, Tatsuya Suda, 2009) Οι περισσότερες από τις μελέτες για την αυτοματοποιημένη παραγωγή σύνθετων web services γίνεται με την δημιουργία σύνθετων services συνδέοντας αλυσιδωτά τις εισόδους και τις εξόδους διαθέσιμων services. (Dong-Hoon Shin, Kyong- Ho Lee, Tatsuya Suda, 2009) Τα web services διευκολύνουν τη διαλειτουργικότητα των ετερογενών πλατφόρμων, δημιουργούνται συνεχώς πρότυπα κατανεμημένων συστημάτων λογισμικού σε πολλά περιβάλλοντα. (JongHyun Lim, Kyong-Ho Lee, 2010) Όπως τα Web Services πολλαπλασιάζονται, γίνεται όλο και πιο δύσκολο να βρεθεί μία συγκεκριμένη υπηρεσία που μπορεί να εκτελέσει το έργο στο χέρι. Γίνεται ακόμη πιο δύσκολο όταν δεν υπάρχει ενιαίο service σε θέση να αναλάβει το έργο αυτό, αλλά υπάρχουν συνδυασμοί των υφιστάμενων υπηρεσιών που θα μπορούσαν. (Evren Sirin, Bijan Parsia, Dan Wu, james Hendler, Dana Nau, 2004) Δύο πολλά υποσχόμενες τεχνολογίες στον προσανατολισμό των servicesείναι το ταίριασμα (matching) των services, το οποίο διευκολύνει την ανακάλυψη services στο Web, και συνθέτει τα services έτσι ώστε, να συγκεντρωθούν σε νέες εφαρμογές. (Eran Toch, Iris Reinhartz-Berger, Dov Dori, 2011) Η τεχνολογία των web services επιτρέπει την ομοιόμορφη πρόσβαση μέσω Web προτύπων στα συστατικά λογισμικού που κατοικούν σε διάφορες πλατφόρμες και είναι γραμμένα σε διαφορετικές γλώσσες προγραμματισμού. (Marta Sabou, Chris Wroe, Carole Goble, Heiner Stuckenschmidt, 2005) Ο Σημασιολογικός Ιστός, ανέπτυξε τεχνικές για την αύξηση των web data. (Marta Sabou, Chris Wroe, Carole Goble, Heiner Stuckenschmidt, 2005) Η ζήτηση για την ταχύτερη παροχή νέων εφαρμογών γίνεται όλο και περισσότερο επιτακτική ανάγκη των επιχειρήσεων σήμερα. Επίσης, ένας πάροχος υπηρεσιών μπορεί να προσελκύσει τους πελάτες της επιχείρησης, προσφέροντας υπηρεσίες προστιθέμενης αξίας ανεπτυγμένες που αξιοποιούν τις τηλεπικοινωνίες και τις υποδομές πληροφορικής. Οι εταιρικοί πελάτες συνήθως προσφέρουν σημαντικά υψηλότερα περιθώρια κέρδους από τους καταναλωτές, και επομένως είναι πιο ελκυστικοί. Ως εκ τούτου, οι πάροχοι υπηρεσιών χρειάζονται εργαλεία και

53 πρότυπα, με σκοπό την γρήγορη ανάπτυξη νέων εφαρμογών για τους πελάτες τους. (Vikas Agarwal, Girish Chafle, Koustuv Dasgupta, Neeran Karnik, Arun Kumar, Sumit Mittal, Biplav Srivastava, 2005) Threats Υπάρχουν ανησυχίες ως προς την ασφάλεια, γιατί σε γενικές γραμμές, μειώνεται η βιωσιμότητα ενός web service μοντέλου Καθυστέρηση υιοθέτησης των web services έχει ως αποτέλεσμα οι εταιρείες και οι προγραμματιστές να επιλέγουν απλούστερες μεθόδους για να βελτιστοποιήσουν τις βιομηχανίες τους ή τις εφαρμογές τους Τα spam και άλλες καταχρήσεις φράζουν σε ένα βαθμό τους διακομιστές και το Internet έτσι οι εταιρίες αναγκάζονται να επιστρέφουν στο παλιό ιδιωτικό δίκτυο. Οι κίνδυνοι έχουν να κάνουν με προβλήματα που δημιουργούνται λόγω της απόδοσης ανακάλυψης, όπως περιγραφές των description ή την προσωρινή αποθήκευση, χρησιμοποιώντας διάφορα στάδια matchmaking. (José María García, David Ruiz, Antonio Ruiz-Cortés, 2012) Μπορεί να υπάρχουν παρερμηνείες μεταξύ των χρηστών (από μηχανικούς μέχρι τελικούς χρήστες) που μπορούν να επηρεάσουν την αντίληψη και την δημιουργία της ομοιότητας. (Eran Toch, Iris Reinhartz-Berger, Dov Dori, 2011)

54 4 Ανάλυση Σχεδίαση και Υλοποίηση Εφαρμογής Ιστού Ψηφιακής Δημοσιογραφίας 4.1 Περιγραφή εφαρμογής Για τις ανάγκες της διπλωματικής εργασίας δημιουργήθηκε σελίδα ψηφιακής δημοσιογραφίας που χρησιμοποιεί web services. Η εφαρμογή αναζητά πληροφορίες και ειδήσεις μέσω του Google Search και τις εμφανίζει στον αναγνώστη. Ο χρήστης με το που εισέλθει στο διαδίκτυο χτυπάει το url της σελίδας και μπαίνει στην σελίδα. Με το που εμφανιστεί η σελίδα υπάρχει ένα μενού με τρία κουμπιά που γράφουν «Πολιτικά», «Αθλητικά» και «Τεχνολογικά». Ο αναγνώστης, για να δει ειδήσεις για όποια κατηγορία τον ενδιαφέρει κάνει «κλικ» στο αντίστοιχο κουμπί. Με το που κάνει «κλικ» του εμφανίζονται ειδήσεις από όλο τον κόσμο σχετικές με την κατηγορία την οποία επέλεξε. Μετέπειτα ο αναγνώστης κάνει «κλικ» σε οποιαδήποτε είδηση τον ενδιαφέρει και αυτόματα ανοίγει μία νέα καρτέλα και τον μεταφέρει στην ιστοσελίδα που αναρτήθηκε η είδηση και εκείνος μπορεί να την διαβάσει. Παρακάτω βλέπουμε πως εμφανίζονται οι ειδήσεις στην ιστοσελίδα.

55 4.2 Δημιουργία database Με το που πατήσει ο αναγνώστης ένα κουμπί από το αρχικό μενού αυτόματα το πρόγραμμα τρέχει όλες τις τελευταίες ειδήσεις και τις φέρνει στην σελίδα. Οι ειδήσεις που έρχονται αποθηκεύονται σε μία βάση δεδομένων. Έτσι δημιουργείται μια βάση δεδομένων με τις ειδήσεις που έκαναν «κλικ» οι διάφοροι αναγνώστες. Έτσι οποιαδήποτε στιγμή ο καθένας θα μπορεί να ανατρέξει στην βάση δεδομένων και να βρει την είδηση που ψάχνει. 4.3 Τεχνολογίες που χρησιμοποιήθηκαν Στο συγκεκριμένο κεφάλαιο θα αναφερθούν και αναλυθούν οι τεχνολογίες που χρησιμοποιήθηκαν για τις παρακάτω λειτουργίες: 1. Σύνδεση στην σελίδα της εφημερίδας 2. Εξόρυξη δεδομένων- ειδήσεων από το Google Search 3. Δημιουργία της βάσης δεδομένων Σύνδεση στην σελίδα της εφαρμογής Όπως έχουμε αναφέρει παραπάνω ο χρήστης για να εισέλθει στην σελίδα χρειάζεται μόνο να εισέλθει στο διαδίκτυο και να πληκτρολογήσει το url. Για την σελίδα κατασκευάστηκε css. Το css είναι γλώσσα όπου βοηθάει το styling της ιστοσελίδας. Το css περιέχει html προκειμένου να καταλάβουν οι browsers πως πρέπει να δειχτεί η πληροφορία. Η CSS (Cascading Style Sheets-Διαδοχικά Φύλλα Στυλ) ή ( αλληλουχία φύλλων στυλ) είναι μια γλώσσα υπολογιστή που ανήκει στην κατηγορία των γλωσσών φύλλων στυλ που χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που έχει γραφτεί με μια γλώσσα σήμανσης. Χρησιμοποιείται δηλαδή για τον έλεγχο της εμφάνισης ενός εγγράφου που γράφτηκε στις γλώσσες HTML και XHTML, δηλαδή για τον έλεγχο της εμφάνισης μιας ιστοσελίδας και γενικότερα ενός ιστοτόπου. Η CSS είναι μια γλώσσα υπολογιστή προορισμένη να αναπτύσσει στυλιστικά μια ιστοσελίδα δηλαδή να διαμορφώνει περισσότερα χαρακτηριστικά, χρώματα, στοίχιση και δίνει περισσότερες δυνατότητες σε σχέση με την html. Έκρινα ότι για μια όμορφη και καλοσχεδιασμένη ιστοσελίδα η χρήση της CSS κρίνεται ως απαραίτητη. Εξόρυξη δεδομένων- ειδήσεων από το Google Search Μια από τις σημαντικότερες λειτουργίες της εφαρμογής είναι η εξόρυξη δεδομένωνειδήσεων από το Google Search. Για να γίνει αυτό χρησιμοποιήθηκαν πολλά προγράμματα. Κατ αρχάς όλη λειτουργικότητα της εφαρμογής γράφτηκε σε Java. Ένα από τα βασικά πλεονεκτήματα της Java έναντι των περισσότερων άλλων γλωσσών είναι η ανεξαρτησία του λειτουργικού συστήματος και πλατφόρμας. Τα προγράμματα που είναι γραμμένα σε Java τρέχουνε ακριβώς το ίδιο σε Windows, Linux, Unix και Macintosh (σύντομα θα τρέχουν και σε Playstation καθώς και σε άλλες κονσόλες παιχνιδιών) χωρίς να χρειαστεί να ξαναγίνει μεταγλώττιση (compiling) ή να αλλάξει ο πηγαίος κώδικας για κάθε διαφορετικό λειτουργικό σύστημα.

56 Για την διατήρηση των δεδομένων (persistence) στην Java, στα πλαίσια των Enterprice Java Beans 3, έχει οριστεί το Java Persistence API. Αυτό το specification χρησιμοποίησα. Για να υλοποιήσω το JPA specification χρησιμοποίησα hibernate που είναι ένα ORM (object relational maping) framework που υλοποιεί το JPA specification. Κεντρικός στόχος για την ανάπτυξή της υπήρξε ο ορισμός ενός ενιαίου τρόπου για την διατήρηση δεδομένων σε όλες τις Java εφαρμογές. Το πρόγραμμα που επιλέχθηκε για να γραφτεί η Java είναι το NetBeans. Το NetBeans είναι ένα επιτυχημένο ερευνητικό έργο ανοιχτής πηγής (open source) με μεγάλο αριθμό χρηστών, μια αναπτυσσόμενη κοινωνία, κοντά στους 100 και παραπάνω συνεργάτες παγκοσμίως. Η Sun Microsystems ίδρυσε το ερευνητικό έργο ανοιχτής πηγής NetBeans τον Ιούνιο του 2000 και συνεχίζει να είναι ο κύριος ανάδοχος. Σήμερα δύο ερευνητικά έργα υπάρχουν: Το NetBeans IDE και το NetBeans Platform. Tο NetBeans IDE είναι ένα περιβαλλοντικό ανάπτυγμα IDE - ένα εργαλείο στους προγραμματιστές για να γράψουν, να κάνουν compile, debug και να αναπτύξουν προγράμματα. Είναι γραμμένο σε Java - αλλά μπορεί να υποστηρίξει όλες τις γλώσσες προγραμματισμού. Υπάρχει επίσης ένας μεγάλος αριθμός υπομονάδων (modules) που βοηθάνε στην επέκταση της λειτουργικότητας του NetBeans IDE. To NetBeans IDE είναι ένα ελεύθερο προιόν δίχως περιορισμούς στον τρόπο χρησιμοποίησής του. Διαθέσιμο επίσης είναι το NetBeans Platform, ένα εκτατό θεμέλιο αποτελούμενο από υπομονάδες (modular) που χρησιμοποιείται σαν βάση λογισμικού για τη δημιουργία μεγάλων επιτραπέζιων (desktop) εφαρμογών. Και τα δύο τα προϊόντα είναι ανοιχτής πηγής (open source) και ελεύθερα για εμπορική ή μη χρήση. Στην παρούσα διπλωματική εργασία χρησιμοποίησα το NetBeans IDE. Για να καταφέρω να πάρω τα αποτελέσματα από το Google χρησιμοποίησα την τεχνολογία του News Crawler. (Manning, May 2009) Κάνει crawl τις ειδήσεις και πηγαίνει και τις αποθηκεύει στην βάση που έχω. Πρακτικά χτυπάω το api της google και τα αποτελέσματα που μου επιστρέφει τα αποθηκεύω σε βάση. Κατόπιν τα δεδομένα τα ζητάω ύστερα από τη βάση μου με http κλήσεις που κάνω στο δικό μου api είτε από html με τα form element είτε ασύγχρονα μέσω ajax κλήσεων. Τo css είναι μόνο για την προβολή της σελίδας και των αποτελεσμάτων. Όσον αφορά τον κώδικα χρησιμοποίησα εφτά πακέτα. 1. Dao 2. Domain 3. Resource 4. Services 5. Servlets 6. Utils 7. Άλλα DAO

57 Το DAO (Data Access Object) είναι ένα αντικείμενο που παρέχει μία διεπαφή σε κάποιο είδος βάσης δεδομένων. Με το DAO γίνεται το transaction με την βάση. Το DAO παρέχει κάποιες συγκεκριμένες ενέργειες δεδομένων χωρίς να εκτίθενται οι λεπτομέρειες της βάσης δεδομένων. Χωρίζει τις ανάγκες της εφαρμογής, όσον αφορά συγκεκριμένους τομείς αντικείμενα και τύπους δεδομένων, από το πώς αυτές οι ανάγκες μπορούν να ικανοποιηθούν με ένα συγκεκριμένο DBMS. Domain Στο Domain περιέχονται οι κλάσεις του data modeling. Συγκεκριμένα η Category, και η News. Resources Στο Resources περιέχονται οι controllers που δέχονται τις κλήσεις και τις προχωρούν παρακάτω. Υπάρχουν δύο controllers για το Category και το News αλλά επίσης υπάρχουν και άλλοι δύο controllers. Το ApplicationConfig και το UpdateResource. Το μεν πρώτο είναι η κλάση για το configuration και το δεύτερο είναι κομμάτι του api και κάνει update την βάση μου. Όλα απαντάνε με json. Το jax rs το χρησιμοποίησα γιατί μου επιτρέπει να πραγματοποιήσω RESTful επικοινωνία. Είναι ένα API για RESTFUL client/ server επικοινωνίες και εισήχθη από το JSR 311. Αυτό το API επιτρέπει στους προγραμματιστές να δημιουργούν γρήγορα εφαρμογές Web σε Java που πρέπει να είναι πολύ καλά σχεδιασμένες στο Web. Αυτό το JSR θα αναπτύξει ένα API για την παροχή REST (Representational State Transfer) για να υποστηριχθεί στην πλατφόρμα Java. Είναι πολύ δημοφιλής λύση για τις τεχνολογίες που βασίζονται σε REST. Services Σε αυτό το πακέτο βρίσκεται το μοντέλο του business logic. Ουσιαστικά είναι η "εξυπνάδα" της εφαρμογής. Αυτό χτυπάει το api της google το οποίο επιστρέφει ένα json. Εγώ μετά αυτό το κάνω parsing και γράφω τις ειδήσεις στην βάση μου. Servlets Ένα Java servlet είναι κλάσεις της Java όπου φιλοξενούνται διαδικυτακές εφαρμογές και επεκτείνουν τις δυνατότητες ενός web server στον οποίο φιλοξενούνται διαδικυτακές εφαρμογές. Βέβαια τα servlets μπορούν να ανταποκριθούν σε οποιαδήποτε είδη αιτήσεων, αλλά συνήθως εκτελούν τις εφαρμογές που φιλοξενούνται σε web διακομιστές. Τα servlets συνήθως χρησιμοποιούνται για : Επεξεργασία και αποθήκευση των δεδομένων που υποβλήθηκαν από μια φόρμα HTML. Να παρέχουν δυναμικό περιεχόμενο, όπως τα αποτελέσματα ενός ερωτήματος από μια βάση δεδομένων. Τα servlets επικοινωνούν με έναν εξυπηρετητή μέσω ενός container. Ουσιαστικά αποτελούν την απάντηση στο CGI (Common Gateway Interface) programming, που είναι μέθοδος κατασκευής δυναμικών ιστοσελίδων, ξεπερνώντας όμως τους περιορισμούς που το CGI θέτει ως προς τις εξαρτήσεις πλατφόρμας ή την απαίτηση για ξεχωριστά processes σε κάθε αίτημα της εφαρμογής. Τα servlets επικοινωνούν με

58 τον server στον οποίο φιλοξενούνται μέσω του Apache Tomcat. Τα servlets είναι πιο αποδοτικά σε σχέση με το CGI αλλά και πιο εύχρηστα και κυρίως πιο ασφαλή. Utils Σε αυτό το πακέτο υπάρχει μία βοηθητική κλάση η SessionFactoryObject. Είναι υπεύθυνη να παρέχει στο DAO τα sessions. Άλλα Χρησιμοποίησα και κάποιες άλλες τεχνολογίες όπως το POM και το hibernate. Στο POM βρίσκονται όλες οι βιβλιοθήκες. Είναι μια XML αναπαράσταση του έργου του Maven που πραγματοποιήθηκε σε ένα αρχείο με το όνομα pom.xml. Περιέχει τα αρχεία ρυθμίσεων, την οργάνωση και τις άδειες, το URL, τις εξαρτήσεις του project, καθώς και όλα τα άλλα μικρά κομμάτια που πρέπει να υπάρχουν ώστε ο κώδικας να αποκτήσει ζωή. Στην πραγματικότητα, στον κόσμο του Maven, ένα έργο δεν χρειάζεται να περιέχει οποιοδήποτε κώδικα καθόλου, απλώς pom.xml. Το Maven είναι ένα project building management tool. Είναι ένα εργαλείο αυτόματης κατασκευής και ουσιαστικά χτίζει το project. Το Maven έχει δύο πτυχές. Πρώτον, περιγράφει πώς το λογισμικό είναι χτισμένο, και δεύτερον περιγράφει τις εξαρτήσεις του. Σε αντίθεση με άλλα εργαλεία χρησιμοποιεί συμβάσεις για τη διαδικασία κατασκευής, και τις εξαιρέσεις που πρέπει να υπάρχουν. Ένα αρχείο XML περιγράφει το έργο του λογισμικού που χτίζεται δηλαδή το POM. Το Maven κατεβάζει δυναμικά τις βιβλιοθήκες της Java καθώς και Maven plug-ins από ένα ή περισσότερα αποθετήρια όπως το Maven 2, και τα αποθηκεύει σε μια τοπική μνήμη cache (Redmond, 2006). Αυτή η τοπική μνήμη cache μπορεί επίσης να ενημερωθεί και με αντικείμενα που δημιουργούνται από τοπικά έργα. Επίσης και τα δημόσια αποθετήρια μπορούν να ενημερώνονται. Το pom στην ουσία είναι το configuration για το maven. Η Hibernate αποτελεί μία βιβλιοθήκη ελεύθερου λογισμικού για τη γλώσσα προγραμματισμού Java, η οποία υλοποιεί την διεπαφή που ορίζεται στα πλαίσια του Java Persistence API. Είναι μία ολοκληρωμένη λύση στο πρόβλημα της διαχείρισης δεδομένων εκτελώντας όλες τις ενέργειες μεταξύ των εφαρμογών και των σχεσιακών βάσεων δεδομένων απαλλάσσοντας τον προγραμματιστή από επιπρόσθετο κόπο και τον κίνδυνο αστοχιών στην αποτύπωση σχέσεων μεταξύ κλάσεων και σχήματος βάσης. Είναι λογισμικό ανοιχτού κώδικα (ελεύθερο λογισμικό) που σκοπό έχει να συνδέσει τα αντικείμενα που δημιουργούνται σε μια αντικειμενοστραφή γλώσσα προγραμματισμού -με την Java στην προκειμένη περίπτωση- με τους πίνακες μιας σχεσιακής βάσης δεδομένων. Η σύνδεση αυτή επιτυγχάνεται με την χρήση επιπρόσθετης πληροφορίας (metadata) που τοποθετείται κατάλληλα (μαζί με τον κώδικα Java ή σε ξεχωριστά xml αρχεία) και περιγράφει την αντιστοιχία μεταξύ των αντικειμένων και της βάσης δεδομένων. Γενικά η Hibernate προσφέρει την αυτόματη μετατροπή της μιας μορφής (αντικείμενα) στην άλλη (σχεσιακή βάση δεδομένων). Ο κεντρικός στόχος αυτής είναι η δημιουργία μίας διεπαφής (interface) μεταξύ των διαδεδομένων σχεσιακών βάσεων δεδομένων και του αντικειμενοστραφούς προγραμματισμού. Με άλλα λόγια, επιτρέπει τη χρήση μίας σχεσιακής βάσης

59 δεδομένων ως αντικειμενοστραφή. Για την επίτευξη αυτού, δημιουργούνται αντιστοιχίες μεταξύ των εννοιών του αντικειμενοστραφούς προγραμματισμού, όπως οι συσχετίσεις, η κληρονομικότητα και ο πολυμορφισμός (τα οποία δεν υπάρχουν σε μία σχεσιακή βάση δεδομένων), και των πινάκων και σχέσεων μεταξύ αυτών μίας σχεσιακής βάσης. Με αυτόν τον τρόπο ο προγραμματιστής βλέπει τελικά μία αντικειμενοστραφή βάση δεδομένων, παρ όλο που στην ουσία χρησιμοποιεί μία σχεσιακή. Έτσι ο προγραμματιστής χρησιμοποιεί τα αντικείμενα της συγκεκριμένης εφαρμογής, τα τροποποιεί σχετικά με τη λογική της εφαρμογής που αναπτύσσει και τα αποθηκεύει (τροποποιεί, διαγράφει και αναζητά) στη βάση ως αντικείμενα. Σκέπτεται, δηλαδή, με αντικειμενοστραφείς έννοιες και όχι με βάση το σχήμα της σχεσιακής βάσης δεδομένων. Έτσι η Hibernate, γνωρίζοντας την αν-τιστοιχία μεταξύ βάσης και λογικής της εφαρμογής, αναλαμβάνει να κατασκευάσει τον κατάλληλο κώδικα τον οποίο στέλνει τελικά στη βάση δεδομένων. Έπειτα τα αποτελέσματα που επιστρέφονται από τη βάση στην Hibernate δίνονται στην εφαρμογή ως αντικείμενα. Πρόκειται, δηλαδή, ένα ενδιάμεσο επίπεδο μεταξύ εφαρμογής και βάσης δεδομένων. Ουσιαστικά με την χρήση της Hibernate πέρασα τα αποτελέσματα μέσα στην βάση δεδομένων. Επίσης χρησιμοποιήθηκε και ο Apache Tomcat. Ο Apache Tomcat είναι ένας web server ανοικτού κώδικα που έχει αναπτυχθεί από την Apache Software Foundation (ASF). Ο Tomcat εφαρμόζει διάφορες προδιαγραφές συμπεριλαμβανομένων των Java Servlets, JavaServer Pages (JSP), Java EL, και WebSocket, και παρέχει μια «καθαρή Java" σε web server περιβάλλον που κάνει τον κώδικα της Java να τρέξει. Ο Tomcat κυκλοφόρησε με 4 components την Catalina (Servlet Container), το Coyote (ένας σύνδεσμος HTTP) και το Jasper (μια μηχανή JSP). Στο δικό μου project χρησιμοποιήθηκε η Catalina. Η Catalina είναι Servlet Container του Tomcat. Στον Tomcat, ένα στοιχείο Realm αντιπροσωπεύει μια «βάση δεδομένων» που περιέχει ονόματα χρηστών, κωδικούς πρόσβασης, καθώς και τους ρόλους που έχουν αποδοθεί στους εν λόγω χρήστες. Διαφορετικές υλοποιήσεις του Realm επιτρέπουν στην Catalina να ενσωματωθεί σε περιβάλλοντα όπου οι εν λόγω πληροφορίες ελέγχου ταυτότητας έχουν ήδη δημιουργηθεί και συντηρούνται, και στη συνέχεια να χρησιμοποιεί αυτές τις πληροφορίες για να εφαρμόσει το Container Manager Security. Δημιουργία της βάσης δεδομένων Για την αποθήκευση όλων των δεδομένων που εξάγονται από την παραπάνω διαδικασία δημιουργήθηκε μία βάση δεδομένων. Χρησιμοποιήθηκε η PostgreSQL. Η PostgreSQL είναι μια σχεσιακή βάση δεδομένων ανοικτού κώδικα με πολλές δυνατότητες. Η ανάπτυξη της διαρκεί ήδη πάνω από δύο δεκαετίες και βασίζεται σε μια αποδεδειγμένα καλή αρχιτεκτονική η οποία έχει δημιουργήσει μια ισχυρή αντίληψη των χρηστών της γύρω από την αξιοπιστία, την ακεραιότητα δεδομένων και την ορθή λειτουργία. Η PostgreSQL τρέχει σε όλα τα βασικά λειτουργικά συστήματα, στα οποία περιλαμβάνονται το Linux, το UNIX (AIX, BSD, HP-UX, SGI, IRIX, MAC OS X, Solaris, Tru64) και τα Windows. Είναι συμβατή με ACID, και συμπεριλαμβάνει τους

60 περισσότερους SQL92 και SQL99 τύπους δεδομένων συμπεριλαμβανομένων INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL και TIMESTAMP. Επίσης υποστηρίζει αποθήκευση μεγάλων δυαδικών αντικειμένων (binary), όπως εικόνες, ήχοι ή βίντεο. Διαθέτει επίσης περιβάλλοντα προγραμματισμού για τις γλώσσες προγραμματισμού C, C++, Java, Perl, Python, Ruby, Tcl, και υποστήριξη για την πλατφόρμα.net και το πρότυπο ODBC, ενώ περιλαμβάνει και εξαιρετικό εγχειρίδιο χρήσης. Η Διαχείριση της βάσης δεδομένων γίνεται μέσω του εργαλείου pgadmin. Η συγκεκριμένη υπηρεσία εγκαθίσταται ταυτόχρονα με την βάση δεδομένων και υποστηρίζεται σε πολλές πλατφόρμες υπολογιστών (Windows, MacOS X, Linux, Solaris, FreeBSD). Έχει σχεδιαστεί για να ικανοποιήσει τις ανάγκες των χρηστών, από απλό γράψιμο sql ερωτημάτων έως την ανάπτυξη πολύπλοκων βάσεων δεδομένων. Είναι πλήρως γραμμένο στην γλώσσα προγραμματισμού C++ χρησιμοποιώντας τα wxwidgets ώστε να είναι συμβατό με τα κοινά λειτουργικά συστήματα όπως αναφέρθηκαν παραπάνω. Επίσης είναι διαθέσιμο σε περισσότερες από δώδεκα γλώσσες. H σύνδεση με την βάση δεδομένων επιτυγχάνεται επιλέγοντας το εικονίδιο add a connection to a server. Στην συνέχεια θα πρέπει να εισάγουμε όνομα χρήστη το οποίο είναι postgre καθώς και τον κωδικό πρόσβασης που επιλέξαμε κατά την διαδικασία εγκατάστασης. Επιπλέον η σύνδεση στο διακομιστή μπορεί να γίνει με την χρήση του πρωτοκόλλου TCP/IP ή την χρήση Unix Sockets και μπορεί να είναι κρυπτογραφημένη (SSL) για μέγιστη ασφάλεια. Στο pgadmin υπάρχει μία βάση δεδομένων όπου μέσα περιέχονται 2 πίνακες: 1. Category 2. News Ο πίνακας Category περιέχει 3 στοιχεία. Το κάθε ένα από αυτά έχει το δικό του id, description character, ordered integer και link. Το link που έχει το καθένα είναι το link που χτυπάει ο κώδικας και με αυτό γεμίζει με στοιχεία τον άλλο πίνακα. Παρακάτω φαίνεται ο πίνακας category.

61 Παρακάτω φαίνεται ο πίνακας news και τα στοιχεία από ειδήσεις με τα οποία έχει γεμίσει. Παίρνει και αυτός ένα id, ένα content text όπου είναι ένα μικρό αρχικό κείμενο της είδησης, την ημερομηνία, τον τίτλο της είδησης, το url και από το id των κατηγοριών. Παρακάτω φαίνεται ο πίνακας news.

62 4.4 Περιπτώσεις Χρήσεις Όπως ήδη έχει αναφερθεί, προκειμένου να καταφέρει να διαβάσει κάποιος αναγνώστης τις ειδήσεις πρέπει να μπει μέσα στην σελίδα. Δοκιμάστηκαν τρία σενάρια περίπτωσης χρήσης (case scenarios). Αυτά διαφοροποιούνται στον τρόπο που η εφαρμογή λαμβάνει και επεξεργάζεται τα αποτελέσματα και παρουσιάζονται παρακάτω: Case 1: Εύρεση ειδήσεων από το μενού. Case 2: Εύρεση ειδήσεων μέσω αναζήτησης. Case 3: Να μην βρει την είδηση που ψάχνει. Εύρεση ειδήσεων από το μενού Όπως είναι γνωστό αν ένας αναγνώστης θελήσει να διαβάσει μία είδηση πηγαίνει και κάνει «κλικ» σε ένα κουμπί που περιέχει την σχετική κατηγορία ειδήσεων στην οποία ενδιαφέρεται. Με το που κάνει «κλικ» αμέσως του εμφανίζονται οι ειδήσεις που είναι σχετικές με το αντικείμενο που ψάχνει. Εύρεση ειδήσεων μέσω αναζήτησης Επίσης υπάρχει περίπτωση ο χρήστης να ψάχνει μία συγκεκριμένη είδηση και όχι να θέλει να βρει πολλές ειδήσεις από το μενού. Σε αυτήν την περίπτωση λόγω της βάσης που υπάρχει μπορεί ο αναγνώστης να κάνει αναζήτηση με λέξη κλειδί. Αμέσως η σελίδα θα του φέρει τα αποτελέσματα με βάση την λέξη κλειδί που έγινε η αναζήτηση. Μη εύρεση της είδησης Στην παραπάνω περίπτωση υπάρχει η πιθανότητα ο αναγνώστης να βάλει μια λέξη κλειδί αλλά να μην του επιστραφεί κανένα αποτέλεσμα. Αυτό θα συμβαίνει για δύο

63 λόγους. Είτε η λέξη κλειδί ήταν λανθασμένη, είτε μπορεί να μην υπάρχει στην βάση η είδηση με την λέξη που ψάχνει ο χρήστης. 4.5 Class diagrams Χρησιμοποιώντας το εργαλείο Enterprise Architect το οποίο είναι ένα εργαλείο που βοηθάει στον σχεδιασμό, τον προγραμματισμό και την εφαρμογή της στρατηγικής των επιχειρήσεων, μου δόθηκε η δυνατότητα να εξάγω class diagrams. Μια από τις πολλές δυνατότητες που έχει είναι ότι μπορώ να εισάγω τον κώδικα μου και το εργαλείο αυτόματα εξάγει τα διαγράμματα. Diagram: dao class dao EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 1 CategoryDAO - instance :CategoryDAO - instance :NewsDAO EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 1 - CategoryDAO() + getinstance() :CategoryDAO NewsDAO + add(news) :void + getinstance() :NewsDAO EA listcategories() Unregistered :List<Category> Trial + Version listnews() :List<News> EA 10.0 Unregistered Trial Version EA 1 + listnewsbycategory(long) :List<News> - NewsDAO() EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 1

64 Diagram: domain EA class 10.0 domainunregistered Trial Version EA 10.0 Unregistered Trial EA 10.0 Unregistered Category Trial Version EA 10.0 Unregistered Trial - description :String Serializable - Id :long EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial - link :String - ordered :int EA getdescription() Unregistered :String Trial Version EA 10.0 Unregistered Trial + getlink() :String + getordered() :int + setdescription(string) :void EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial + setlink(string) :void + setordered(int) :void «property get» EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial + getid() :long «property set» + EA 10.0 setid(long) :void Unregistered Trial Version EA 10.0 Unregistered Trial -category EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Serializable EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial New s - category :Category EA content Unregistered :String Trial Version EA 10.0 Unregistered Trial - doc :Date - Id :long - EA title 10.0 :String Unregistered Trial Version EA 10.0 Unregistered Trial - url :String + getcategory() :Category EA getcontent() Unregistered :String Trial Version EA 10.0 Unregistered Trial + getdoc() :Date + gettitle() :String EA geturl() Unregistered :String Trial Version EA 10.0 Unregistered Trial + setcategory(category) :void + setcontent(string) :void + setdoc(date) :void EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial + settitle(string) :void + seturl(string) :void EA «property 10.0 get» Unregistered Trial Version EA 10.0 Unregistered Trial + getid() :long «property set» EA setid(long) Unregistered :void Trial Version EA 10.0 Unregistered Trial EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial

65 Diagram: resource class resource EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial V ApplicationConfig Application + getlistjson() :Response + getbycategoryjson(long) :Response + update() :Response EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial V - addrestresourceclasses(set<class<?>>) :void + getclasses() :Set<Class<?>> CategoryResource NewsResource + getbyidjson(long) :Response UpdateResource EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial V

66 Diagram: service class service EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version CategoryServ ice - categorydao :CategoryDAO = CategoryDAO.get... {readonly} - instance :NewsService - instance :UpdateService EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version - instance :CategoryService - CategoryService() EA getcategorylist() Unregistered :List<Category> Trial Version EA Unregistered getnewslist() :List<News> Trial Version EA 10.0 Unregistered - UpdateService() Trial Version + getinstance() :CategoryService NewsServ ice - newsdao :NewsDAO = NewsDAO.getInst... {readonly} + getinstance() :NewsService + getnewslistbycategory(long) :List<News> + NewsService() UpdateServ ice + doupdate() :void + getinstance() :UpdateService EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version

67 Diagram: servlets class serv lets EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version NewsByCategory HttpServlet EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version # doget(httpservletrequest, HttpServletResponse) :void # dopost(httpservletrequest, HttpServletResponse) :void + getservletinfo() :String EA # 10.0 processrequest(httpservletrequest, Unregistered Trial HttpServletResponse) Version EA :void 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version

68 Diagram: utils class utils EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial V SessionFactoryObject - factory :SessionFactory EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial V - instance :SessionFactoryObject + getinstance() :SessionFactoryObject EA getsession() Unregistered :Session Trial Version EA 10.0 Unregistered Trial V - init() :void - SessionFactoryObject() EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial V

69 5 Αξιολόγηση της εφαρμογής ψηφιακής δημοσιογραφίας Η αξιολόγηση της εφαρμογής που έφτιαξα θα γίνει σύμφωνα με τρεις άξονες: 1. Με βάση τον W3C 2. Με βάση τα κριτήρια της IEEE 3. Με βάση το SWOTs του κεφαλαίου Με βάση τον W3C Αναφέραμε σε προηγούμενα κεφάλαια ότι ο W3C έχει κάποια κριτήρια τα οποία πρέπει να τηρούνται για τα web services. Αυτά συνοπτικά είναι: 1. Πρωτόκολλα 2. Περιγραφή του service 3. Ασφάλεια 4. Διεθνοποίηση (Internationalization) Πρωτόκολλα Η εφαρμογή που έχω φτιάξει ικανοποιεί την πρώτη διάσταση του W3C. Όπως έχω αναφέρει παραπάνω χρησιμοποίησα στην εφαρμογή jax rs το οποίο χρησιμοποιείται για Restful εφαρμογές. Περιγραφή του Service Προηγουμένως αναφέραμε ότι τα XML και τα XML Schema παρέχουν δομικές περιγραφές, καθώς και τον τύπο και την αξία τους. Στην ηλεκτρονική εφημερίδα που έφτιαξα παρέχεται η χρήση της XML σε όλες τις μορφές των πληροφοριών. Ασφάλεια Όσον αφορά την ασφάλεια δυστυχώς δεν έχει υπάρχει κάποια κρυπτογράφηση XML ή XML Signature οι οποίες είναι βασικά κομμάτια της XML security stack. Όπως ξέρουμε ο χειρισμός δεδομένων με XML μερικές φορές απαιτεί ακεραιότητα και έλεγχο ταυτότητας. Βέβαια θεώρησα ότι δεν συντρέχει κάποιος απαραίτητος κίνδυνος που να επηρεάζει την αυθεντικότητα της εφαρμογής και τις υπηρεσίες της. Επίσης δεν υπάρχει ούτε το πρότυπο XKMS το οποίο καθορίζει τα πρωτόκολλα για διανομή και εγγραφή δημοσίων κλειδιών και είναι κατάλληλο για χρήση με την XML Signature και των πρότυπων κρυπτογράφησης XML. Διεθνοποίηση (Internationalization) Όπως ήδη γνωρίζουμε η διεθνοποίηση των Web Services δημιουργεί προβλήματα στις περιγραφές των web services λόγω της διαφορετικής επικοινωνίας της γλώσσας και των τοπικών ρυθμίσεων. Επειδή όμως η πρόσβαση στο διαδίκτυο για όλους έχει γίνει βασικό μέλημα και στόχος του World Wide Web Consortium, είναι να υπάρχει πρόσβαση για όλους στην πληροφορία η εφαρμογή που πραγματοποίησα, οι προδιαγραφές και το περιεχόμενο της είναι συμβατά για πολλούς ανθρώπους σε όλο τον κόσμο. Για την διεθνοποίηση της εφαρμογής, ο σχεδιασμός και η ανάπτυξη του περιεχομένου της εφαρμογής, οι προδιαγραφές της, να διασφαλίζουν ότι θα λειτουργήσουν σωστά, και θα προτιμούνται από χρήστες αναγνώστες από κάθε πολιτισμό, κάθε περιοχή και κάθε γλώσσα. Για αυτό το λόγο εξασφάλισα ότι η εφαρμογή και οι ειδήσεις που φέρνει στους αναγνώστες είναι στην αγγλική γλώσσα που είναι διεθνής και κατανοητή σε σχεδόν όλους του κατοίκους της υφηλίου. Βέβαια υπάρχει και η δυνατότητα χρήσης του Unicode το οποίο μεταφράζει την εφαρμογή σε

70 οποιαδήποτε γλώσσα επιθυμεί ο αναγνώστης. Αυτός είναι ο λόγος που για να επιτευχθεί η διεθνοποίηση οι τεχνολογίες του W3C είναι χτισμένες σε έναν καθολικό σύνολο χαρακτήρα, το Unicode. Πιστεύω λοιπόν ότι το βασικό θέμα της διεθνοποίησης δηλαδή ο σχεδιασμός της εφαρμογής είναι αρκετά ευέλικτος και προσαρμόζεται στις τοπικές ανάγκες. 5.2 Με βάση τα κριτήρια της IEEE Σύμφωνα με την IEEE υπάρχουν δύο τάσεις που έρχονται μαζί στον κόσμο του e- business και δημιουργούν ευκαιρίες αλλά και πιέσεις για την αυτοματοποίηση των επιχειρηματικών διαδικασιών. Το ένα είναι η τεχνολογία push που δημιουργείται από τις τεχνολογίες γενικής εφαρμογής, λαμβάνοντας πρότυπα που βασίζονται σε XML και στο Διαδίκτυο ως ένα σημείο εκκίνησης. Η άλλη τάση είναι η ανάγκη να βελτιωθεί η αποτελεσματικότητα των διαδικασιών από τη σκοπιά των επιχειρήσεων. Μετά το κραχ των dotcom υπάρχει πιεστική ανάγκη να αξιοποιηθούν πραγματικά οι δυνατότητες της τεχνολογίας του Διαδικτύου από την αυτοματοποίηση των επιχειρηματικών διαδικασιών πέρα από τα όρια της επιχείρησης. Ο στόχος των υπηρεσιών Ιστού είναι να εκμεταλλεύονται την τεχνολογία XML και το Διαδίκτυο για να ενσωματώσουν στις εφαρμογές ότι μπορεί να δημοσιευθεί, να βρεθεί, και να καλεστεί μέσω του διαδικτύου. Ένα τυπικό παράδειγμα μιας εφαρμογής web service είναι το σύστημα Galileo, το οποίο συνδέει τις θέσεις πρακτορείου με περισσότερα από ταξίδια σε 37 εταιρείες ενοικίασης αυτοκινήτων, ξενοδοχεία και 350 tour operators. Για να ενταχθούν πραγματικά οι επιχειρηματικές διαδικασίες πέρα από τα όρια της επιχείρησης δεν είναι επαρκές να στηριχθεί απλώς μια απλή αλληλεπίδραση χρησιμοποιώντας τυποποιημένα μηνύματα και πρωτόκολλα. Οι αλληλεπιδράσεις των επιχειρήσεων απαιτούν μακροχρόνιες αλληλεπιδράσεις που οδηγούνται από ένα σαφές μοντέλο διαδικασίας. Αυτό δημιουργεί την ανάγκη ύπαρξης γλωσσών web services όπως η BPEL4WS, η WSFL, η XLANG, η WSCI, και η BPML. Οι γλώσσες αυτές είναι επίσης γνωστές ως γλώσσες της ροής των web services, γλώσσες εκτέλεσης των υπηρεσιών και γλώσσες ενορχήστρωσης των web services.

71 Εικόνα 4: Επισκόπηση της τεχνολογίας των web services Το παραπάνω σχήμα δείχνει τη σχέση μεταξύ των γλωσσών σύνθεσης web services και άλλων προτύπων, όπως το SOAP, το WSDL και το UDDI. Το SOAP όπως γνωρίζουμε είναι ένα πρωτόκολλο για ανταλλαγή πληροφοριών σε ένα αποκεντρωμένο, κατανεμημένο περιβάλλον. Βασίζεται σε ένα XML πρωτόκολλο που αποτελείται από τρία μέρη: Ένας φάκελος που καθορίζει ένα πλαίσιο για την περιγραφή τι βρίσκεται σε ένα μήνυμα και πώς να το επεξεργαστεί, Ένα σύνολο κανόνων κωδικοποίησης για την έκφραση των τύπων των δεδομένων της εφαρμογής που ορίζονται, και Η σύμβαση για την αναπαράσταση κλήσεων απομακρυσμένης διαδικασίας και απαντήσεων. Ένα έγγραφο WSDL ορίζει τα services σαν συλλογές των τελικών σημείων του δικτύου. Στο WSDL, ο ορισμός των παραμέτρων και τα μηνύματα διαχωρίζονται από την ανάπτυξη του δικτύου ή τη μορφή των δεδομένων των συνδέσεων τους. Αυτό επιτρέπει την επαναχρησιμοποίηση των μηνυμάτων. Το UDDI όπως ξέρουμε είναι ο ορισμός ενός συνόλου υπηρεσιών που στηρίζουν την περιγραφή των: Επιχειρήσεων, οργανισμών και άλλων παρόχων διαδικτυακών υπηρεσιών, Διαδικτυακών υπηρεσιών που διαθέτουν, και

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στη Σχεδίαση Λογισμικού

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

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

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

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

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

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

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

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

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

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

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

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

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

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

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

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

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

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

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

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

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

* Enterprise Resource Planning ** Customer Relationship Management

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

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

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

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

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

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

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

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

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

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

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

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

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

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

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

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

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

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

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

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής Μεθοδική Ανάπτυξη Δικτυακής Υποδομής Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής 14-01-2006 1 Περιεχόμενα Η ανάγκη για μεθοδικό σχεδιασμό δικτύων Μία δομημένη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Μάθημα 0.2: Το Λογισμικό (Software) Δίκτυα υπολογιστών Αντώνης Χατζηνούσκας 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήματος

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

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

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

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

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ > ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΡΙΣΜΟΣ: Το Cloud Computing είναι η ονοµασία της τεχνολογίας η οποία επιτρέπει στους χρήστες να

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

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

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

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

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Ευθύμιος Ταμπούρης tambouris@uom.gr Επιστημονική Επιχειρηματική Χρήση των Η/Υ Η επιστημονική κοινότητα ασχολείται με τη λύση πολύπλοκων μαθηματικών προβλημάτων

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

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

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

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

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

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

Μάθηµα 6. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Μάθηµα 6. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας Μάθηµα 6 122 Μεταδεδοµένα: : Η τυπολογία των σχηµάτων 123 Dublin Core: Τα στοιχεία δεδοµένων (1) Θέµα (Subject) Περιγραφή (Description) ηµιουργός (Creator( Creator) Τίτλος (Title) Εκδότης (Publisher( Publisher)

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΜΟΝΤΕΛΑ SCOR ΕΝΝΟΙΑ SCOR Ορισμός των μοντέλων SCOR Το μοντέλο SCOR είναι ένα μοντέλο αναφοράς διαδικασιών για την εφοδιαστική αλυσίδα (η ονομασία του προέρχεται από τα αρχικά γράμματα

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

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

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

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

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

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

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

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

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

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

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

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Ουρανία Χατζή raniah@hua.gr Χαροκόπειο Πανεπιστήμιο 29 Νοεμβρίου 2007 Outline Web Service Overview Standards & Model Syntactic vs Semantic

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

EΠΙΣΗΜΑΝΣΗ ΑΠΟΡΡΗΤΟΥ (PRIVACY NOTICE)

EΠΙΣΗΜΑΝΣΗ ΑΠΟΡΡΗΤΟΥ (PRIVACY NOTICE) EΠΙΣΗΜΑΝΣΗ ΑΠΟΡΡΗΤΟΥ (PRIVACY NOTICE) H εταιρεία FITGATE PRIVATE COMPANY η οποία εδρεύει στο Ν. Ψυχικό Αττικής (οδός Δημοκρατίας αρ. 8- email: info@fitgate.gr) και στην οποία ανήκει ο παρών δικτυακός τόπος

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

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

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

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

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

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΑΘΗΝΑ 2014 1 1. Τι είναι το e-learning; Το e-learning, η ηλεκτρονική μάθηση, είναι μια διαδικασία μάθησης και ταυτόχρονα μια μεθοδολογία εξ αποστάσεως εκπαίδευσης

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Απαιτήσεις Λογισμικού

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

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

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

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

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

Ολοκληρωμένο Πληροφοριακό Σύστημα Εξυπηρέτησης Πολιτών και Παρόχων

Ολοκληρωμένο Πληροφοριακό Σύστημα Εξυπηρέτησης Πολιτών και Παρόχων Ολοκληρωμένο Πληροφοριακό Σύστημα Εξυπηρέτησης Πολιτών και Παρόχων Γιάννης Γιαννάκος Ηλεκτρονικός Μηχανικός Ηλεκτρονικών Υπολογιστών/ Α.Δ.Α.Ε. Ηράκλειο,1Δεκεμβρίου 2008 ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ

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

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

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

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

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

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

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

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

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Η Έρευνα Μάρκετινγκ ως εργαλείο ανάπτυξης νέων προϊόντων ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ.

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

Σχεδιαστής Ιστοσελίδων

Σχεδιαστής Ιστοσελίδων Σχεδιαστής Ιστοσελίδων 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχεδιαστής Ιστοσελίδων Γνωστό και ως Συνοπτική Ένας σχεδιαστής ιστοσελίδων κατασκευάζει και ενημερώνει ιστοσελίδες ως προς τη σχεδίαση και τη διαμόρφωση

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

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 9 Μεταδεδομένα Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι τα Μεταδεδομένα; Ο όρος

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

Το Πλαίσιο Διαλειτουργικότητας & Υπηρεσιών. Ενημέρωση σχετικά με τις γενικές αρχές και τη. Ενημέρωση σχετικά με τα τεχνολογικά πρότυπα βάσει

Το Πλαίσιο Διαλειτουργικότητας & Υπηρεσιών. Ενημέρωση σχετικά με τις γενικές αρχές και τη. Ενημέρωση σχετικά με τα τεχνολογικά πρότυπα βάσει Το Πλαίσιο Διαλειτουργικότητας & Υπηρεσιών Ηλεκτρονικών Συναλλαγών (ΠΔ&ΥΗΣ) στοχεύει στην: Ενημέρωση σχετικά με τις γενικές αρχές και τη στρατηγική ανάπτυξης πληροφοριακών συστημάτων Ενημέρωση σχετικά

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

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων YouTube Ιδρύθηκε το 2005 Στόχος του ήταν να δημιουργήσει μία παγκόσμια κοινότητα Βάση δεδομένων βίντεο Μέσα σε ένα χρόνο από τη δημιουργία

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

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχε Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator Γνωστό και ως Ειδικός Σχεδιασμού 2Δ- 3Δ γραφικών,

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

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

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Αναθέσεων Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 7/12/2010 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289 Unified Information

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

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

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

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

Λογισμικό Open Source στις Υπηρεσίες των Βιβλιοθηκών του Πανεπιστημίου Αθηνών

Λογισμικό Open Source στις Υπηρεσίες των Βιβλιοθηκών του Πανεπιστημίου Αθηνών Λογισμικό Open Source στις Υπηρεσίες των Βιβλιοθηκών του Πανεπιστημίου Αθηνών Υπολογιστικό Κέντρο Βιβλιοθηκών ΕΚΠΑ http://www.lib.uoa.gr Εισαγωγή Και στις ΒΥΠ του ΕΚΠΑ, οι ανάγκες για υλοποίηση υπηρεσιών

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

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση

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

PayByBank RESTful API GUIDE

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

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

Περιεχόμενο του μαθήματος

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

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

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες 4.1 Γενικά Σκοπός ενός δικτύου υπολογιστών είναι οι χρήστες να έχουν τη δυνατότητα να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Η σχεδίαση και η ανάπτυξη

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

Επικοινωνία Client/Server

Επικοινωνία Client/Server Επικοινωνία Client/Server Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία - Client/Server 1 Μοντέλο Πελάτη-Εξυπηρετητή Βασική ιδέα: να δομηθεί το λειτουργικό σύστημα ως συνεργαζόμενες

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 6: Εισαγωγή στις Βάσεις Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

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

Κεφάλαιο 1 ο. Διοίκηση και διαχείριση της ψηφιακής επιχείρησης

Κεφάλαιο 1 ο. Διοίκηση και διαχείριση της ψηφιακής επιχείρησης Κεφάλαιο 1 ο Διοίκηση και διαχείριση της ψηφιακής επιχείρησης Διδακτικοί στόχοι Να αναλυθεί ο ρόλος των πληροφοριακών συστημάτων στο επιχειρηματικό περιβάλλον Ναοριστείτοπληροφοριακόσύστημα, η ορολογία

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

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

Paybybank RESTful API GUIDE

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

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

«Μελέτη παραμέτρων ασφαλείας στις Υπηρεσίες Διαδικτύου με βάση την XML» Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ

«Μελέτη παραμέτρων ασφαλείας στις Υπηρεσίες Διαδικτύου με βάση την XML» Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Μελέτη παραμέτρων ασφαλείας στις Υπηρεσίες Διαδικτύου με βάση την XML» ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΗΤΡΙΑ : ΦΟΙΤΗΤΗΣ : ΚΩΝΣΤΑΝΤΙΝΑ

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

Δικτυακοί τόποι. Η σχεδίαση ενός δικτυακού τόπου. Δρ. Ματθαίος Α. Πατρινόπουλος

Δικτυακοί τόποι. Η σχεδίαση ενός δικτυακού τόπου. Δρ. Ματθαίος Α. Πατρινόπουλος Δικτυακοί τόποι Η σχεδίαση ενός δικτυακού τόπου Δρ. Ματθαίος Α. Πατρινόπουλος Πώς χρησιμοποιούμε το διαδίκτυο; ΔΙΑΦΑΝΕΙΕΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΔΙΑΔΙΚΤΥΟΥ. 2 Από το www.smartinsights.

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