Διαδικτυακές υπηρεσίες προστιθέμενης αξίας: Τεχνολογικό περιβάλλον



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

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

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

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

Web Services Security. Μέρος ΙΙ

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

Περίληψη Λαμπρόπουλος

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

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

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

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Τεχνική Ανάλυση των η-υπογραφών & των η-πιστοποιητικών

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

* Enterprise Resource Planning ** Customer Relationship Management

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

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

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

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

9 - Ασφάλεια Ηλεκτρονικών Συναλλαγών ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

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

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

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

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

της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο ΠανελλήνιοΣυνέδριοΑκαδημαϊκών Βιβλιοθηκών - Κέρκυρα 2004

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4 ο. Η ψηφιακή επιχείρηση: Ηλεκτρονικό εμπόριο και ηλεκτρονικό επιχειρείν

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Ασφαλείς Εφαρμογές η-υπογραφών

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα


YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

6.2 Υπηρεσίες Διαδικτύου

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

ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ ΓΙΑ ΑΣΦΑΛΗ ΚΑΙ ΠΙΣΤΟΠΟΙΗΜΕΝΗ ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΗΝ ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ. Οδηγίες προς τις Συνεργαζόμενες Τράπεζες

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

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

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

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

Νέες Επικοινωνιακές Τεχνολογίες

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

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

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

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

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

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

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

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

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

Διακυβέρνησης και Πρότυπα Διαλειτουργικότητας

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

Ανακαλύψτε την αξία της ηλεκτρονικής τιµολόγησης

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

Εικόνα 1: Κριτήρια αναζήτησης προϋπολογισμών

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων

Ιόνιο Πανεπιστήμιο - Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

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

Λειτουργικά Συστήματα (ΗΥ321)

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

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

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

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

Οι βασικές αλλαγές που επιδρούν στο επιχειρηματικό περιβάλλον

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης. (Μη νομοθετικές πράξεις) ΚΑΝΟΝΙΣΜΟΙ

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

Εισαγωγή στην Πληροφορική

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

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Ασφάλεια Υπολογιστικών Συστηµάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

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

Η ολοκλήρωση της προσβασιμότητας στον χώρο της υγείας με την υπηρεσία

Μεταδεδομένα στο Ψηφιακό περιβάλλον

Παρουσίαση Μεταπτυχιακής Εργασίας

Transcript:

Διαδικτυακές υπηρεσίες προστιθέμενης αξίας: Τεχνολογικό περιβάλλον

ΚΕΦΑΛΑΙΟ 1 ο ΔΙΑΔΙΚΤΥΑΚΕΣ ΥΠΗΡΕΣΙΕΣ 1.1 ΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΗΡΕΣΙΩΝ Εξετάζοντας την ιστορία των Πληροφορικών Συστημάτων (ΠΣ) είναι δύσκολο να φανταστεί κανείς την δικτυακή υπολογιστική χωρίς το Web. Αυτό που έκανε το Web να γίνει αποδεκτό και να εξαπλωθεί με ραγδαίο ρυθμό, είναι η απλότητά του και η απανταχού παρουσία του. Η ραγδαία διάδοση του διαδικτύου (Internet) έδωσε την ευκαιρία αμφίδρομης επικοινωνίας επιχείρησης καταναλωτή (B2C) και επιχείρησης επιχείρησης (Β2Β), τόσο σε εθνικό όσο και σε διεθνές επίπεδο. Το γεγονός της ευρείας αποδοχής προκάλεσε μεγάλο ενδιαφέρον από διαφόρους φορείς. Οι φορείς παροχής υπηρεσιών (π.χ. ηλεκτρονικό κατάστημα) ακολουθούν την λογική ότι: εάν αναπτύξουν ένα web site, το αποτέλεσμα θα είναι να εισέλθουν σε μία παγκόσμια κοινότητα. Οι καταναλωτές από τη μεριά τους, είναι με τη λογική, εάν μπορείς να πληκτρολογείς και να κάνεις κλικ με το ποντίκι τότε μπορείς να έχεις πρόσβαση στις υπηρεσίες (services).οι υπηρεσίες ΑΡΙ, στη πλειοψηφία τους λειτουργούν με τρεις τρόπους (GET,POST,PUT) και μία απλή γλώσσα σήμανσης (π.χ. XML). Η απαίτηση της συνεχούς ενημέρωσης στα ΠΣ, τόσο των καταναλωτών, όσο των εταιρικών και μη, επιχειρήσεων όπως και η δυνατότητα εύκολης πρόσβασης είχαν ως αποτέλεσμα την ανάπτυξης των Web Services.Ωστόσο, οι περισσότερες επιχειρήσεις σήμερα, διστάζουν στην ιδέα ανάπτυξης των Web Services, με αιτία τον ελλιπή μηχανισμό ασφαλείας της επικοινωνίας, την ποικιλομορφία των ΠΣ των εμπλεκομένων, την αυξημένη πολυπλοκότητα ανάπτυξης επιχειρησιακών εφαρμογών με αποτέλεσμα το κόστος της εφαρμογής να αυξάνεται υπέρμετρα. Έχοντας ως γνώμονα τα αναφερθέντα ζητήματα, τα WS θα έπρεπε να αναπτυχθούν σε ένα επίπεδο όπου θα ήταν ανεξάρτητα από τα ΠΣ και ως φυσικό επακόλουθο ο μηχανισμός ασφαλείας τους θα έπρεπε να οικοδομηθεί στο ίδιο ακριβώς επίπεδο μ αυτά. Σ αυτό το σημείο, δίνει λύση, η γλώσσα σήμανσης XML. H ρόλος της XML στο μελλοντικό Web (Σημασιολογικός Ιστός - Semantic Web ), στη δόμηση των εφαρμογών, με προδιαγραφές υψηλού επιπέδου, καθώς και στην ασφάλεια είναι τεράστιος. Η XML προβάλλεται ότι είναι η βάση όλων αυτών. 2

Με τον όρο Σημασιολογικό Web (Semantic Web) εννοούμε, μια μορφή διαδικτύου στο οποίο η πληροφορία είναι καλύτερα ορισμένη επιτρέποντας με αυτόν τον τρόπο την ολοκλήρωση, αυτοματοποίηση και επαναχρησιμοποίηση των δεδομένων. Ο Ιστός του μέλλοντος προβλέπεται να αποτελεί μια παγκόσμια βάση δεδομένων και βάση γνώσης, με πληροφορίες οι οποίες θα είναι "κατανοητές" από μηχανές. Οι κύριες τεχνολογίες για την υλοποίηση του Σημασιολογικού Ιστού είναι ο σημασιολογικός εμπλουτισμός με τη χρήση των οντολογιών. Οι οντολογίες που αποτελούν βασικό μέρος του Σημασιολογικού Ιστού, εμφανίστηκαν ως εναλλακτικός τρόπος αναπαράστασης γνώσης στον κλάδο της Τεχνητής Νοημοσύνης. Στα πλαίσια του Semantic Web, η οντολογία είναι μια αυστηρή περιγραφή των αντικειμένων-πόρων και των σχέσεων μεταξύ τους. Αποτελούν ιεραρχικά δομημένο σύνολο όρων για την περιγραφή μιας περιοχής που μπορεί να χρησιμοποιηθεί σαν θεμελιακός σκελετός κάποιας γνωστικής βάσης. Τα WS XML είναι το επόμενο βήμα που θα τροφοδοτήσει το ηλεκτρονικό εμπόριο (ebxml), την ανάπτυξη και ολοκλήρωση των εφαρμογών, καθώς και B2B συναλλαγών. Όμως τα Web Services είναι μία τεχνολογία αιχμής η οποία αναπτύσσεται, και αυτό σημαίνει ότι, όπως κάθε καινούρια τεχνολογία έτσι και τα WS έχουν κάποια προβλήματα τα οποία επιζητούν λύση, ένα από τα μεγαλύτερα των οποίων είναι και αυτά της ασφάλειας. Το θέμα της δικτυακής ασφάλειας γίνεται όλο και περισσότερο σημαντικό στις δικτυακές εφαρμογές. Η χρήση των WS αφήνει «εκτεθειμένα» πολλά δίκτυα επιτρέποντας σε εξωτερικούς χρήστες να έχουν πρόσβαση σε βάσεις δεδομένων και εφαρμογές. 3

Χωρίς την κατάλληλη υποδομή ασφάλειας, τα WS μπορούν να εκθέσουν τις ευαίσθητες εταιρικές διαδικασίες και πληροφορίες με αποτέλεσμα να καθίσταται η επιχείρηση ευάλωτη στις εσωτερικές και εξωτερικές επιθέσεις. Τα τελευταία χρόνια έχουν γίνει αρκετές προσπάθειες σε ερευνητικό επίπεδο για την εφαρμογή προτύπων στην παροχή Υπηρεσιών Ιστού. Η επικρατέστερη είναι το WS - Security που πιστοποιήθηκε από το OASIS (Organization for the Advancement of Structured Information Standards) και αναπτύχθηκε από τις IBM, Microsoft και VeriSign. 1.2 ΤΕΧΝΟΛΟΓΙΑ WEB SERVICES Η παραδοσιακή αρχιτεκτονική λογισμικών εφαρμογών έτεινε να εμπέσει σε δύο κατηγορίες: στα τεράστια μονολιθικά συστήματα που τρέχουν στους κεντρικούς υπολογιστές και στις εφαρμογές πελατών που τρέχουν στους υπολογιστές γραφείου. Αν και οι τεχνολογίες αυτές λειτουργούν καλά για τον σκοπό που φτιάχτηκαν, εντούτοις είναι κλειστές στον έξω κόσμο με αποτέλεσμα η προσέγγισή τους από διαφόρους χρήστες να είναι δύσκολη δηλ. να απαιτούνται ιδιόκτητα πρωτόκολλα. Αποτέλεσμα αυτού, είναι η στροφή των επιχειρήσεων προς τις αόριστα συνδεδεμένες εφαρμογές, οι οποίες είναι προσανατολισμένες στις υπηρεσίες της εφαρμογής, που αλληλεπιδρούν δυναμικά με το Web. Αυτές οι υπηρεσίες μπορούν να εγκατασταθούν σε διαφορετικούς υπολογιστές και να εφαρμοστούν από ποικίλες τεχνολογίες, άλλες πάλι μπορούν να μεταφερθούν μέσω Web χρησιμοποιώντας τα κοινότυπα πρωτόκολλα (π.χ. HTTP, SMTP). Αντίθετα με τις παραδοσιακές μορφές λογισμικού, τα WS είναι απλούστερα πρότυπα, τα οποία είναι τμήμα λογισμικού το οποίο απεικονίζει ένα κομμάτι επιχειρησιακής λογικής που βρίσκεται κάπου στο διαδίκτυο. Το λογισμικό αυτό βασίζεται σε μία αόριστα συνδεδεμένη τεχνολογία προκειμένου να συνδέσει μεταξύ τους στοιχεία, συστήματα, επιχειρήσεις και οργανισμούς, συνδυάζοντας τις καλύτερες πτυχές της ανάπτυξης και του Web.Συγκεκριμένα τα WS μπορούν να εφαρμοστούν σε μία υπηρεσία, χωρίς να απασχολεί κανέναν πώς η υπηρεσία αυτή λειτουργεί. Τα WS είναι μία από τις ευρύτατα συζητημένες τεχνολογίες και λιγότερα κατανοητή από αυτές που εμφανίσθηκαν τα τελευταία χρόνια. 4

Ένα από τα χαρακτηριστικά των WS είναι ο υψηλός βαθμός αφαίρεσης που υπάρχει μεταξύ της εφαρμογής και υπηρεσίας. Με την χρήση της XML, τα WS κατασκευάζονται και προσπελάζονται. Ο πελάτης των WS και ο φορέας παροχής τους, αποδεσμεύονται από την ανάγκη οποιασδήποτε γνώσης ο ένας για τον άλλον, εκτός από το τι πληροφορίες εισάγει, τι πληροφορίες εξάγει και ποια είναι η θέση του. Χάρη στo χαρακτηριστικό αυτό, τα WS προσπελάζονται από τα υπάρχοντα πρωτόκολλα (π.χ. HTTP, SMTP) χρησιμοποιώντας τα παγκοσμίως αποδεκτά σχήματα (schemas) στοιχείων (π.χ. XML). Το W3C (World Wide Web Consortium) ορίζει ένα WS ως μία «εφαρμογή λογισμικού που προσδιορίζεται από ένα URI (Uniform resource identifier), με διεπαφές (interface) και ολοκλήρωση που χαρακτηρίζονται, περιγράφονται και ανακαλύπτονται βάσει προτύπων XML, η οποία XML υποστηρίζει άμεσες αλληλοεπιδράσεις με άλλες εφαρμογές λογισμικού χρησιμοποιώντας μηνύματα βασισμένα σ αυτήν, μέσω διαδικτυακών πρωτοκόλλων. Τα WS από τεχνικής άποψης μπορούν να είναι τόσο απλά όσο μία αναγραφή ή τόσο σύνθετα όσο μία εταιρική επικοινωνία, αυτό συμβαίνει γιατί τα WS είναι ένας σωρός από ασαφή πρότυπα που περιγράφουν τις υπηρεσίες οι οποίες κατά την ανάπτυξή τους βασίστηκαν στην αρχιτεκτονική της εφαρμογής. 1.3 ΑΛΛΕΣ ΤΕΧΝΟΛΟΓΙΕΣ Ενώ υπάρχουν πλατφόρμες υλικού και λογισμικού που παρέχονται από μεγάλους φορείς, οι οποίοι υλοποιούν εφαρμογές και υπηρεσίες (Java RMI, Jini, CORBA, DCOM, Smalltalk κ.α.), καμία από αυτές δεν είναι επικρατούσα. Αυτοί οι φορείς απαίτησαν μεγαλύτερη συνδεσιμότητα και μοιράσθηκαν το πλαίσιο (framework) μεταξύ των επιχειρησιακών συστημάτων. Σ αυτού του είδους τεχνολογίας, η εξωτερική εκτεθειμένη λειτουργία συνδέεται άμεσα με τα αντικείμενα λογισμικού που χρησιμοποιούνται προκειμένου να υλοποιηθεί η εφαρμογή. Οι πελάτες, για την πρόσβαση στις υπηρεσίες αυτές πρέπει να χρησιμοποιούν ένα στενά συνδεμένο και διανεμημένο πρωτόκολλο. Το γεγονός αυτό δεν νοεί ότι η τεχνολογίες αυτές είναι μη χρήσιμες. Αν και αυτές περιορίζουν την ευελιξία του συστήματος είναι πολύ αποτελεσματικές για να χτίσουν μία συγκεκριμένη εφαρμογή. 5

Η αποδοτικότητα των εφαρμογών αυτών αυξάνεται όταν σχεδιάζονται ως υπηρεσίες που τρέχουν σε μία πλειάδα συγκεκριμένων κεντρικών applications servers. Η στενή σύζευξη που χρησιμοποιείται σ αυτήν τη αρχιτεκτονική περιορίζει την επαναχρησιμοποίηση των μεμονωμένων υπηρεσιών. 1.4 WS ΤΕΧΝΟΛΟΓΙΑ ΑΙΧΜΗΣ Τα WS έχουν χαρακτηρισθεί ως μία επαναστατική τεχνολογία αιχμής, η επαναστατική φύση της βασίζεται στην απλότητα και στο γεγονός ότι οι επιχειρήσεις έχουν την δυνατότητα να δημιουργούν και να επεκτείνουν τις διανεμημένες εφαρμογές τους, αδιαφορώντας για την πλατφόρμα υλικού, το λειτουργικό σύστημα, τη γλώσσα προγραμματισμού ή την τοπολογία δικτύων του κάθ ενός εμπλεκομένου μέρους που επιθυμεί να επικοινωνήσει με μία εφαρμογή WS. Αυτό που λείπει από αυτήν την τεχνολογία είναι ένα ενοποιημένο σύνολο από πρότυπα ασφαλείας. Οι ειδικοί των ΤΠ έχουν αφιερώσει πάνω από 25 χρόνια για να αναπτύξουν μεθόδους προκειμένου να εξασφαλισθεί η ασφαλής επικοινωνία των εφαρμογών που ενεργούν στο διανεμημένο περιβάλλον του WAN. 1.5 ΑΝΑΓΚΗ ΓΙΑ WS Από τις βασικότερες ανάγκες των επιχειρήσεων και των οργανισμών είναι η ενσωμάτωση των διαφορετικών πληροφοριακών εφαρμογών που έχουν αναπτυχθεί, ανεξάρτητα, ενώ τρέχουν σε ποικίλες πλατφόρμες λογισμικού και υλικού. Η ραγδαία διάδοση των διανεμημένων περιβαλλόντων έχει αναγκάσει τις επιχειρήσεις να εκθέτουν μέρος της λειτουργίας κάποιων εφαρμογών εντός άλλων, που βρίσκονται σε απώτερα επιχειρησιακά δίκτυα. Οι εφαρμογές αυτές, τώρα πρέπει να χρησιμοποιηθούν, από άλλες επιχειρήσεις. Η απόζευξη των πελατών και υπηρεσιών επιτρέπει σε μια δεδομένη υπηρεσία να προσπελαστεί από ποικίλους τύπους πελατών οι οποίοι εμμένουν στις τυποποιημένες τεχνολογίες WS. Τα παραδοσιακά επιχειρηματικά συστήματα απαιτούν συχνά διεπαφές (interface) μεταξύ των εφαρμογών που εμπλέκονται. Η παραδοσιακή χρήση των προγραμματισμένων διεπαφών και των κοινών στοιχείων απαιτεί το συντονισμό της λογικής και της δομής των δεδομένων αφ ενός, των εμπλεκομένων εφαρμογών αφ ετέρου, καθώς επίσης και τη δυνατότητα ν αντιμετωπισθούν οι διαφορές μεταξύ πλατφόρμας υλικού και λογισμικού. 6

Αυτή η προσέγγιση δημιουργεί προβλήματα συντήρησης ακόμη και μέσα σε μια επιχείρηση. Μια επιθυμητή αλλαγή σε μια εφαρμογή, απαιτεί μια νέα σειρά απ αυτές σε άλλες εφαρμογές, για παράδειγμα αλλαγές στους φορολογικούς κανονισμούς, στην υποβολή εκθέσεων, οι οποίες μπορούν να αποδειχθούν δύσκολες και δαπανηρές για τις επιχειρήσεις και τις βιομηχανίες που στηρίζονται στα ετερογενή συστήματα ηλεκτρονικών υπολογιστών. Οι επιχειρήσεις που ασχολούνται με το ηλεκτρονικό εμπόριο, έχουν ως απαίτηση την ηλεκτρονική μεταφορά κεφαλαίων και άλλων δικτυωμένων δραστηριοτήτων. Οι επιχειρήσεις αυτές πρέπει να προσαρμόσουν τις επιμέρους διαδικασίες, τους κανονισμούς, και τις σχέσεις με τις εξωτερικές οντότητες επιχειρήσεων και κυβερνήσεων. Αυτές οι εξελίξεις έχουν δημιουργήσει μια μεγαλύτερη ανάγκη για τις εφαρμογές που είναι ανεξάρτητες από τις πλατφόρμες αλλά προσαρμόσιμες στην αλλαγή. Η ΙΒΜ στο συνέδριό της αναφέρει ότι, δεν θα υπήρχε η ανάπτυξη των WS εάν δεν υπήρχε η ανάγκη περισσότερου διαθέσιμου εύρους ζώνης και χώρου αποθήκευσης, ώστε να υπάρχουν δυναμικότερες εφαρμογές, μεγαλύτερη διεισδυτικότητα και συνεργασία των εφαρμογών με ένα πλήθος από συσκευές που έχουν διαφορετικές πλατφόρμες πρόσβασης. 1.6 ΧΡΗΣΗ ΤΩΝ WS Τα WS κοινώς ομολογούμενα είναι μία τεχνολογία που θα χρησιμοποιηθεί αναγκαστικά, στην ανάπτυξη λογισμικού. Πρόσφατα άρχισαν παρ όλ αυτά να κεντρίζουν την προσοχή όλων. Ένα από τα σπουδαιότερα θέματα τα οποία αναδεικνύονται από την χρήση WS είναι η χρησιμοποίηση του Διαδικτύου ως ο παράγων που επιτρέπει την επαναχρησιμοποίηση και σύνθεση των υπηρεσιών. Υπάρχοντες πάροχοι υπηρεσιών θα συνδυάζουν τις βασικές τους δυνατότητες και πόρους, για να δημιουργήσουν σύνθετες υπηρεσίες. Mε άλλα λόγια, μία σύνθετη υπηρεσία είναι μία συσσωμάτωση διαφορετικών υπηρεσιών που εργάζονται συνδυαστικά για να παρέχουν μία υπηρεσία προστιθέμενης αξίας. Οι προσπάθειες προκειμένου να ορισθούν πρότυπα για την σύνθεση των WS βρίσκονται εν εξελίξει. Αυτές περιλαμβάνουν την WSFL (Web Service Flow Language), XLANG και BPEL4WS (Business Process Execution Language for Web Services). Αν και τυγχάνουν καινούργια τεχνολογία, τα WS χρησιμοποιούνται για να καλύψουν επιχειρησιακές ανάγκες, συμπεριλαμβανομένων των ακολούθων: Ολοκλήρωση επιχειρηματικής εφαρμογής (Enterprise Application Integration) Ολοκλήρωση επιχειρησιακών συνεργατών 7

(Business Partner Integration) Portal, ταμπλώ, έλεγχος επιχειρησιακής δραστηριότητας (Portal Integration, Dashboards, Business Activity Monitoring) Εκτεταμένη λειτουργία για τις εφαρμογές Ιστού (Extended Functionality for Web Applications) Βελτιωμένη αποδοτικότητα ανάπτυξης εφαρμογών (Improved Application Development Efficiency) 1.7 ΟΛΟΚΛΗΡΩΣΗ ΕΦΑΡΜΟΓΩΝ Μία πολύ σημαντική έννοια που χρησιμοποιήθηκε εδώ αλλά δεν είχε γίνει καμία απόπειρα να αναλυθεί ή να εξηγηθεί είναι η ολοκλήρωση της εφαρμογής. Η έννοια της ολοκλήρωση εφαρμογής είναι κρίσιμη για τους επιχειρησιακούς εν γένει οργανισμούς.αυτό διότι, όταν οι οργανισμοί ενσωματώνουν όλες τις εφαρμογές τους, οι οποίες εξετάζουν τους πελάτες (π.χ. λογιστική, τιμολόγηση), προσπαθούν να δημιουργήσουν μια ενιαία άποψη όλων των πληροφοριών για εκείνους. Όταν οι εταιρικές εφαρμογές ενσωματώσουν όλους τους εμπορικούς εταίρους τους σε ένα ενιαίο πλαίσιο, τότε οι εφαρμογές αυτές προσπαθούν να δημιουργήσουν μια ολική άποψη όλου του πλαισίου και όλων των πληροφοριών που περιγράφουν τις διαδικασίες εμπορικών συναλλαγών τους. Αυτό το είδος ολοκλήρωσης πληροφοριών είναι θεμελιώδες στην επιχειρησιακή διαδικασία. Σπάνια μια επιχείρηση κάνει διαδικασίες (π.χ. ανάπτυξη προϊόντων, μάρκετινγκ προϊόντων, κατασκευής προϊόντων, εκπλήρωση προϊόντων, σχέσεις πελατών, σχέσεις εταίρων ) χρησιμοποιώντας μια και μόνο πηγή πληροφοριών, διότι αυτό θα έχει ως αποτέλεσμα η επιχειρησιακή εφαρμογή να επικοινωνεί με ένα μεγάλο πλήθος εφαρμογών, ενώ αυτές οι εφαρμογές θα πρέπει κάπως να γεφυρωθούν προκειμένου να επικοινωνήσουν μεταξύ τους. Η ολοκλήρωση εφαρμογής είναι δύσκολη καθ ότι τα συστήματα δεν σχεδιάστηκαν με τις ίδιες δομές δεδομένων, τα ίδια πρωτόκολλα, ή ακόμα και το ίδιο λεξιλόγιο περιγραφής των στοιχείων που χειρίζονται. Οι εφαρμογές αυτές αναπτύχθηκαν σε διαφορετική στιγμή από διαφορετικούς προμηθευτές χρησιμοποιώντας διαφορετικά τεχνολογικά πρότυπα. Εντούτοις, πολλές από αυτές τις διαφορετικές εφαρμογές πρέπει να επικοινωνήσουν. Σ αυτό το σημείο ο ρόλος της XML είναι καταλυτικός. 8

1.8 ΑΠΑΙΤΗΣΕΙΣ ΤΩΝ WS XML ΓΙΑ ΤΗΝ ΥΙΟΘΕΤΗΣΗ ΤΟΥΣ Τα WS πρέπει να τρέχουν και να αγνοούν τον τύπο του λειτουργικού συστήματος, του πρότυπου αντικειμένου και της γλώσσας προγραμματισμού, προκειμένου να ομαλοποιηθεί το ετερογενές περιβάλλον του Web. Τα WS προκειμένου να πετύχουν την ευρύτατη διάδοσή τους πρέπει να είναι : Αόριστα συνδεδεμένα: Δύο συστήματα θεωρούνται ότι είναι αόριστα συνδεδεμένα αν η μόνη απαίτηση που υπάρχει είναι η αυτοπεριγραφή και κείμενο βασισμένο στο μήνυμα. Τα στενά συνδεδεμένα συστήματα απαιτούν ένα μεγάλο ποσό ενεργειών προκειμένου να επιτραπεί η επικοινωνία. Μια απανταχού παρούσα επικοινωνία: Εάν ένα σύστημα δεν έχει πρόσβαση στο διαδίκτυο τα WS πρέπει να του παρέχουν ένα κανάλι επικοινωνίας. Με αυτόν τον τρόπο, δίνοντας την δυνατότητα στο σύστημα να συνδεθεί με το διαδίκτυο, αυτό καθίσταται διαθέσιμο σε οποιαδήποτε άλλο σύστημα. Παγκόσμια μορφοποιημένα δεδομένα:με την υιοθέτηση των υπαρχόντων ανοικτών προτύπων, οποιοδήποτε σύστημα που υποστηρίζει τα ανοικτά αυτά πρότυπα είναι σε θέση να χειριστεί τα WS. Χρησιμοποιώντας την αυτοπεριγραφή και τα κείμενα-βασισμένα στο μήνυμα, οι πελάτες μπορούν να χρησιμοποιούν τα WS χωρίς να χρειάζεται να ξέρει για τα άλλα συστήματα με τα οποία επικοινωνεί. 9

ΚΕΦΑΛΑΙΟ 2 ο ΠΕΡΙΒΑΛΛΟΝ WS 2.1 ΕΙΣΑΓΩΓΗ Το Web χαρακτηρίζεται ως μία μεγάλη βάση γνώσης, όπου οι πληροφορίες δεν έχουν κάποια δόμηση και τα ΠΣ που παρέχουν τα δεδομένα είναι ποικιλόμορφα, τα δεδομένα αυτά χρησιμοποιούνται από τα WS. Λαμβάνοντας υπ όψιν τα άνω αναφερθέντα, δημιουργείται το ζήτημα της χρηστικότητας των WS καθώς με την δεδομένη κατάσταση γίνεται δύσκολη ή αδύνατα η επικοινωνία των WS, το ζήτημα αυτό βρήκε λύση στην XML. Με την χρήση της XML έγινε εφικτή η κατασκευή των WS βάση του σημασιολογικού Ιστού. Η γλώσσα με την οποία χτίζονται τα WS ονομάζεται WSDL. Η WSDL είναι μία γλώσσα σε XML μορφή η οποία περιγράφει απόλυτα ένα WS. Αφότου κατασκευαστεί το WS, θα πρέπει να καταχωρηθεί σε ένα UDDI προκειμένου να γίνει δυνατόν να εντοπιστεί. Όταν εντοπιστεί το WS, θα πρέπει να διανεμηθεί, ως τόσο τα WS χρησιμοποιούν διαφορετικές μορφές (format) αρχείων, γι αυτόν τον λόγω αναπτύχθηκε το πρωτόκολλο SOAP το οποίο καθορίζει ένα απλό μηχανισμό για τη δήλωση σημασιολογικής εφαρμογής. 2.2 XML Σε ένα κόσμο όπου οι πληροφορίες παρέχονται μέσω του παγκόσμιου διαδικτύου, τα έγγραφα πρέπει να είναι εύκολα προσβάσιμα, μεταφέρσιμα και ευέλικτα. Πρέπει επίσης να είναι ανεξάρτητα οποιουδήποτε συστήματος και περιεχομένου. Οι γενικευμένες γλώσσες έχουν τέτοια χαρακτηριστικά, παρέχοντας στα έγγραφα αυτά μια δυνατότητα η οποία δεν υπάρχει σε άλλες γλώσσες περιγραφής εγγράφων. Η γλώσσα XML ορίζει τη μορφή των δεδομένων αδιαφορώντας για τον τρόπο εμφάνισής τους. Παράλληλα, ορίζει έναν ενιαίο και ανεξάρτητο από τη συγκεκριμένη πλατφόρμα τρόπο ανταλλαγής δεδομένων. 10

Η XML ορίζει τα στοιχεία σε μορφή metadata. Τα metadata είναι πληροφορίες (data) που διαθέτουν τον τύπο των δεδομένων. Είναι ένα πολύ σημαντικό σημείο στο σημερινό χώρο της Πληροφορικής που είναι μεν ιδιαίτερα πλούσιος σε πληροφορίες, αλλά δεν διαθέτει έναν ενιαίο τρόπο αντιπροσώπευσης αυτών των στοιχείων. Αυτή η διαφορετική σημασία των στοιχείων γίνεται ιδιαίτερα έντονη στο Internet, όπου οι πληροφορίες δεν είναι δομημένες, καθώς προέρχονται από διαφορετικές χώρες με διαφορετικές κουλτούρες και γλώσσες. Οι προσχεδιασμένοι στόχοι της XML είναι: 1. Η XML πρέπει να είναι εύχρηστη στο Internet. 2. H XML πρέπει να υποστηρίζει μεγάλη ποικιλία από εφαρμογές. 3. Η XML πρέπει να είναι συμβατή με την SGML. 4. Θα είναι εύκολο να γράφονται προγράμματα που επεξεργάζονται XML έγγραφα. 5. Ο αριθμός των προαιρετικών χαρακτηριστικών στην XML θα είναι όσο το δυνατόν πιο μικρός, ιδανικό επίπεδο το μηδέν. 6. Τα XML έγγραφα θα πρέπει να είναι ευανάγνωστα. 7. Ο σχεδιασμός XML θα πρέπει να προετοιμάζεται γρήγορα. 8. Ο σχεδιασμός XML θα πρέπει να είναι τυπικός και περιεκτικός. 9. Τα XML έγγραφα θα πρέπει να δημιουργούνται εύκολα. 10. Η περιεκτικότητα στον XML συμβολισμό είναι μικρής σημασίας. 2.3 SOAP 2.3.1 ΕΙΣΑΓΩΓΗ ΣΤΟ SOAP Όπως είχε αναφερθεί και ως άνω, κάποιο σύνολο των WS χρησιμοποιούν ιδιωτικά format δεδομένων τους, τα οποία δυσκολεύουν ή κάνουν αδύνατη την συνύπαρξη με τα άλλα WS. Το ζήτημα αυτό βρίσκει λύση στο απλό πρωτόκολλο προσπέλασης αντικειμένων Simple Object Access Protocol( SOAP ). 11

Το SOAP παρέχει έναν απλό και ελαφρύ μηχανισμό ανταλλαγής δομών και τυπικών πληροφοριών μεταξύ ισότιμων συστημάτων κατανεμημένου περιβάλλοντος τα οποία κάνουν χρήση της XML. Από μόνο του δεν καθορίζει κάποια σημασιολογική εφαρμογή όπως ένα μοντέλο προγραμματισμού ή υλοποίηση σημασιολογικών προτύπων. Αυτό που καθορίζει είναι ένα απλό μηχανισμό για τη δήλωση σημασιολογικής εφαρμογής. Αυτό συμβαίνει προκειμένου το SOAP να χρησιμοποιηθεί σε μια μεγάλη ποικιλία συστημάτων, τα οποία κυμαίνονται από τα συστήματα μηνύματος έως τα RPC. Το SOAP αποτελείται από τρία μέρη : 1) SOAP envelope δημιουργεί προδιαγραφές καθορισμού γενικού πλαισίου, που υποδεικνύει το περιεχόμενο ενός μηνύματος, την οντότητα που θα το εξετάσει και εάν αυτό είναι προαιρετικό ή υποχρεωτικό. 2) Κανόνες SOAP encoding καθορίζουν έναν μηχανισμό σειριακής διάταξης (serialization) όπου μπορεί να χρησιμοποιηθεί προκειμένου να γίνει εφικτή η εναλλαγή των περιπτώσεων εφαρμογής-καθορισμού των τύπων δεδομένων (datatypes). 3) SOAP RPC representation καθορίζει μια σύμβαση που μπορεί να χρησιμοποιηθεί προκειμένου να αντιπροσωπεύσει τις μακρινές κλήσεις και τις απαντήσεις διαδικασίας. Ο σημαντικότερος στόχος του SOAP είναι να παραμείνει ένα απλό πρωτόκολλο. Αυτό σημαίνει ότι υπάρχουν διάφορα χαρακτηριστικά γνωρίσματα παραδοσιακών συστημάτων μηνύματος και των διανεμημένων συστημάτων αντικειμένου που δεν είναι μέρος της προδιαγραφής SOAP πυρήνων. Τέτοια χαρακτηριστικά γνωρίσματα περιλαμβάνουν: διανεμημένη συλλογή απορριμμάτων ( Distributed garbage collection ). 12

επεξεργασία μηνυμάτων κατά δεσμίδες ( Batching of messages ). αντικείμενο-από-αναφορά (απαιτεί τη διανεμημένη συλλογή απορριμμάτων). ( Objects-by-reference ) ενεργοποίηση (απαιτεί το αντικείμενο-από-αναφορά). ( Activation ) 2.3.2 SOAP και XML Όλα τα μηνύματα SOAP κωδικοποιούνται χρησιμοποιώντας XML. Μια εφαρμογή SOAP πρέπει να περιλάβει το κατάλληλο SOAP namespace ( χώρο ονόματος ) σε όλες τις οντότητες και ιδιότητες που καθορίζονται από το SOAP στα μηνύματα που παράγει. Μια εφαρμογή SOAP πρέπει να επιτρέπει την επεξεργασία του SOAP namespaces στα μηνύματα που λαμβάνει, να απορρίπτει τα μήνυμα που έχουν ανακριβή namespaces και να επεξεργάζεται μηνύματα SOAP χωρίς τα SOAP namespaces ως μήνυμα που έχουν σωστα SOAP namespaces. Το SOAP καθορίζει δύο namespaces: 1. SOAP envelope έχει το προσδιοριστικό namespace. 2. SOAP serialization έχει το προσδιοριστικό namespace. Ένα SOAP μήνυμα δεν πρέπει να περιέχει Document Type Declaration (DTD) και τις οδηγίες επεξεργασίας. 13

Βασική δομή του SOAP 2.3.3 SOAP ENVELOPE Ένα μήνυμα SOAP είναι ένα έγγραφο XML που αποτελείται από έναν υποχρεωτικό SOAP φάκελο (envelope), μια προαιρετική SOAP κεφαλή (header), και ένα υποχρεωτικό SOAP σώμα (body). Ένα μήνυμα SOAP περιέχει τα εξής: Το Envelope είναι το στοιχείο του εγγράφου XML που αντιπροσωπεύει το μήνυμα και βρίσκεται στη κορυφή του εγγράφου. Το Header είναι ένας γενικός μηχανισμός για τον καθορισμό χαρακτηριστικών γνωρισμάτων σε ένα SOAP μήνυμα, χωρίς προγενέστερη επισύναψη συμφωνίας μεταξύ των επικοινωνούντων συμβαλλόμενων μερών. Το Body είναι ένα σύνολο υποχρεωτικών πληροφοριών προοριζόμενες για τον τελευταίο παραλήπτη του μηνύματος. Ένα απλό παράδειγμα SOAP Envelope <?xml version="l.o"?> <env:envelope xmlns:env=''http://www.w3.org/2001/12/soap-envelope''> <env:header> <n:alertcontrol xmlns:n=''http://example.org/alertcontrol''> 14

<n:priority>l</n:priority> <n:expires>2004-06-22t14:00:00-5:00</n:expires> </n:alertcontrol> </env:header> <env:body> <m:alert xmlns:m=''http://example.org/alert''> <m:msg>pick up Bobby at school at 2PM</m:msg> </m:alert> </env:body> </env:envelope> Οι κανόνες σύνταξης είναι οι εξής : Envelope όνομα του στοιχείου: "Envelope". το στοιχείο πρέπει να είναι παρόν σε ένα SOAP μήνυμα το στοιχείο αυτό μπορεί να περιέχει namespace τις δηλώσεις καθώς επίσης και τις πρόσθετες ιδιότητες. Header όνομα του στοιχείου: "Header". το στοιχείο μπορεί να είναι παρόν σε ένα SOAP μήνυμα. το στοιχείο αυτό μπορεί να περιέχει ένα σύνολο header όπου το κάθε ένα, είναι ένα στοιχείο παιδί του SOAP header στοιχείου. Body όνομα του στοιχείου: "Body". το στοιχείο αυτό πρέπει να είναι παρόν σε ένα SOAP μήνυμα και να είναι ένα άμεσο στοιχείο παιδί ενός στοιχείου SOAP Envelope το στοιχείο αυτό μπορεί να περιέχει ένα σύνολο καταχωρήσεων σωμάτων όπου το κάθε ένα είναι ένα άμεσο στοιχείο παιδί του SOAP Body 2.3.4 SOAP ENCODING Το SOAP encoding είναι βασισμένο σε ένα απλό σύστημα τύπων το οποίο είναι μια γενίκευση των κοινών χαρακτηριστικών γνωρισμάτων που βρίσκονται στα συστήματα τύπων, των γλωσσών προγραμματισμού, των βάσεων δεδομένων και των ημι-δομημένων στοιχείων. 15

Ένας τύπος είτε είναι ένας απλός (κλιμακωτός) τύπος είτε είναι ένας σύνθετος τύπος που κατασκευάζεται ως συνήθη διάφορων μερών, κάθε ένα με έναν τύπο. 2.3.5 SOAP και HTTP Χτίζοντας το SOAP με βάση το HTTP παρέχονται πλεονέκτημα της χρήσης του τυπικού πρωτοκόλλου (HTTP) και τα πλεονεκτήματα της αποκεντρώμενης ευελιξίας του SOAP. Η χρήση του SOAP άνωθεν του HTTP δεν σημαίνει ότι το SOAP αγνοεί την υπάρχουσα σημασιολογία του HTTP αλλά η σημασιολογία του SOAP άνω του HTTP χαρτογραφεί τη σημασιολογία στο HTTP. Το SOAP χρησημοποιεί το HTTP request/response μοντέλο μηνυμάτων. Εντούτοις, οι μεσάζοντες SOAP δεν είναι οι ίδιοι με τους μεσάζοντες HTTP. Δηλαδή ένας μεσάζων HTTP που εξετάζει τον τομέα επιγραφών σύνδεσης HTTP δεν μπορεί να εξετάσει ή να επεξεργαστεί το σώμα οντοτήτων του SOAΡ που φέρεται στο αίτημα HTTP. Οι εφαρμογές HTTP πρέπει να χρησιμοποιούν τον τύπο "text/xml" όταν συμπεριλαμβάνει SOAP οντότητα στα HTTP μηνύματα [RFC 2376.]. 2.4 WSDL 2.4.1 ΟΡΙΣΜΟΣ ΤΗΣ WSDL Η WSDL (Web Service Description Language) είναι μία γλώσσα σε XML μορφή η οποία περιγράφει απόλυτα ένα WS. Έτσι για κάθε ένα WS που δημιουργείται, αντίστοιχα πρέπει να δημιουργείται ένα αρχείο WSDL στο οποίο θα καταγράφονται όλες εκείνες οι πληροφορίες που αφορούν το δεδομένο WS. 16

Πιο συγκεκριμένα εκεί καταγράφεται το πού βρίσκεται ο server (σε πια διεύθυνση), ποιες λειτουργίες υποστηρίζει καθώς και πως δέχεται και πως επιστρέφει τα δεδομένα για κάθε λειτουργία. Το WSDL επιτυγχάνει την καταγραφή αυτή με τον καθορισμό μιας γραμματικής XML για την περιγραφή των υπηρεσιών δικτύων ως συλλογές των σημείων τέλους επικοινωνίας μηνυμάτων. Ο ορισμός των υπηρεσιών WSDL παρέχει την τεκμηρίωση για τα διανεμημένα συστήματα και χρησιμοποιείται για την αυτοματοποίηση των λεπτομερειών που περιλαμβάνονται στην επικοινωνία εφαρμογών. Ένα έγγραφο WSDL καθορίζει τις υπηρεσίες ως συλλογές σημείου τέλους δικτύων ή θύρες. Στο WSDL, ο αφηρημένος καθορισμός, του σημείου τέλους και των μηνυμάτων είναι χωρισμένος από συγκεκριμένες συνδέσεις σχήματος επέκτασης, δικτύων ή στοιχείων. Αυτό επιτρέπει την επαναχρησιμοποίηση των αφηρημένων ορισμών : Μηνύματα, τα οποία είναι αφηρημένες περιγραφές ανταλλαγής στοιχείων. Τύποι θυρών που είναι αφηρημένες συλλογές των διαδικασιών. Οι συγκεκριμένες προδιαγραφές πρωτοκόλλου και στοιχείων για έναν ιδιαίτερο τύπο θυρών αποτελούν μια επαναχρησιμοποιήσιμη σύνδεση. Ένα έγγραφο WSDL χρησιμοποιεί τα ακόλουθα στοιχεία στον καθορισμό των υπηρεσιών δικτύων: τύποι είναι ένα κιβώτιο για τα στοιχεία που εγγράφουν τους ορισμούς χρησιμοποιώντας κάποιο σύστημα τύπων (όπως XSD). μήνυμα είναι ένας αφηρημένος, εγγραμμένος καθορισμός επικοινωνίας των στοιχείων. λειτουργία - μια αφηρημένη περιγραφή μιας δράσης που υποστηρίζεται από την υπηρεσία. 17

τύπος θυρών - ένα αφηρημένο σύνολο διαδικασιών που υποστηρίζονται από ένα ή περισσότερα σημεία τέλους. δέσμευση - ένα συγκεκριμένα πρωτόκολλο και ένα στοιχείο σχηματοποιούν την προδιαγραφή για έναν ιδιαίτερο τύπο θυρών. θύρα - ένα ενιαίο σημείο τέλους που ορίζεται ως ένας συνδυασμός μιας σύνδεσης και μιας διεύθυνσης δικτύων. υπηρεσία - μια συλλογή των σχετικών σημείων τέλους. UML σχεδιάγραμμα συγκεκριμένων και αφηρημένων ορισμών 18

Η WSDL καθορίζει έναν κοινό μηχανισμό συνδέσεων. Αυτός χρησιμοποιείται για να συνδέσει ένα συγκεκριμένο πρωτόκολλο ή ένα σχήμα ή τη δομή στοιχείων με ένα αφηρημένο μήνυμα, μια λειτουργία, ή ένα σημείο τέλους. Επιτρέπει την επαναχρησιμοποίηση των αφηρημένων ορισμών. Εκτός από το πλαίσιο καθορισμού υπηρεσιών πυρήνων, αυτή η προδιαγραφή εισάγει τις συγκεκριμένες δεσμευτικές επεκτάσεις για τα ακόλουθα πρωτόκολλα και τα σχήματα μηνυμάτων : SOAP 1.1 HTTP GET / POST MIME 2.4.2 ΛΟΓΟΣ ΧΡΗΣΗΣ ΤΗΣ WSDL Καθώς διαφορετικές επιχειρήσεις ενώνονται, ή τα προϊόντα από διάφορες επιχειρήσεις λειτουργούν από κοινού δημιουργείται η ανάγκη του κοινού πεδίου επικοινωνίας, το πεδίο αυτό το προσφέρει η WSDL. Για παράδειγμα, διάφοροι προμηθευτές έχουν συμπράξει συμφωνίες προκειμένου να καθιερωθεί το SOAP ως πρότυπο. Το πρότυπο WSDL το καθιστά εύκολο να συγκεντρωθούν τα οφέλη του SOAP με την παροχή αυτού στους φορείς παροχής WS και τους χρήστες τέτοιων υπηρεσιών για να εργαστεί μαζί εύκολα. 2.4.3 ΣΕΝΑΡΙΟ Το ακόλουθο διάγραμμα επεξηγεί πώς το WS εγγράφεται, βρίσκεται και καλείται. Στο διάγραμμα αυτό, το WS εγγράφεται σε ένα UDDI, όπου ένας επιχειρησιακός οργανισμός μπορεί να βρει την δεδομένη υπηρεσία. Οι πληροφορίες που προέρχονται από τα UDDI χρησιμοποιούνται προκειμένου να εντοπιστεί ένα έγγραφο WSDL που απαριθμεί τη σημασιολογία της κλήσης του WS. 19

Με τη διάθεση του εγγράφου WSDL, δίνεται η δυνατότητα παραγωγής ενός πληρεξούσιου αντικειμένου στο WS ή να το χρησιμοποιηθεί ως έγγραφο αναφοράς με ένα SOAP API. Το μοντέλο και η χρήση των Web Services 2.4.4 ΤΥΠΟΙ ΕΓΓΡΑΦΩΝ WSDL Για να επιτευχθεί η έκδοση και η εύρεση των περιγραφών υπηρεσιών WSDL σε ένα UDDI, τα έγγραφα WSDL δομούνται σε δύο τύπους: την υπηρεσία διασύνδεσης και την υπηρεσία εφαρμογών. 20

Μια διεπαφή υπηρεσιών περιγράφεται από ένα έγγραφο WSDL που περιλαμβάνει τους τύπους, την εισαγωγή, το μήνυμα, το porttype, και τα δεσμευτικά στοιχεία. Μια διεπαφή υπηρεσιών περιέχει τον καθορισμό υπηρεσιών WSDL που θα χρησιμοποιηθεί προκειμένου να εφαρμοστεί μια ή περισσότερες υπηρεσίες. Είναι ένας αφηρημένος καθορισμός ενός WS και χρησιμοποιείται για την περιγραφή ενός συγκεκριμένου τύπου υπηρεσίας. Ένα έγγραφο διεπαφών υπηρεσιών μπορεί να παραπέμψει σε ένα άλλο έγγραφο διεπαφών υπηρεσιών χρησιμοποιώντας ένα στοιχείο εισαγωγών. Το έγγραφο εφαρμογής υπηρεσιών WSDL θα περιλάβει τα στοιχεία των εισαγωγών και των υπηρεσιών. Ένα έγγραφο εφαρμογής υπηρεσιών περιέχει την περιγραφή μιας υπηρεσίας που εφαρμόζει ένα ΑΡΙ υπηρεσιών. Τουλάχιστον ένα από τα στοιχεία εισαγωγών περιέχει μια αναφορά στο έγγραφο διεπαφών υπηρεσιών WSDL. Ένα έγγραφο εφαρμογής υπηρεσιών μπορεί να περιέχει τις αναφορές σε περισσότερα από ένα έγγραφα διεπαφών υπηρεσιών. 2.4.4 ΈΚΔΟΣΗ ΚΑΙ ΕΥΡΕΣΗ ΠΛΗΡΗΣ ΠΕΡΙΓΡΑΦΗΣ WSDL Μια πλήρης περιγραφή υπηρεσιών WSDL είναι ένας συνδυασμός μιας διεπαφής υπηρεσιών και ενός εγγράφου εφαρμογής υπηρεσιών. Δεδομένου ότι η διεπαφή υπηρεσιών αντιπροσωπεύει έναν επαναχρησιμοποιήσιμο καθορισμό μιας υπηρεσίας, δημοσιεύεται σε ένα UDDI 21

ως tmodel. Η εφαρμογή υπηρεσιών περιγράφει τις περιπτώσεις μιας υπηρεσίας. Κάθε περίπτωση καθορίζεται χρησιμοποιώντας ένα στοιχείο υπηρεσιών WSDL. Κάθε στοιχείο υπηρεσιών σε ένα έγγραφο εφαρμογής υπηρεσιών χρησιμοποιείται για να δημοσιεύσει ένα UDDI businessservice. Κατά την έκδοση μιας περιγραφής υπηρεσιών WSDL, τη διεπαφή υπηρεσιών πρέπει να δημοσιευθεί ως tmodel προτού να δημοσιευθεί μια εφαρμογή υπηρεσιών ως businessservice. Μια διεπαφή υπηρεσιών δημοσιεύεται ως tmodel σε ένα UDDI. Το tmodel δημοσιεύεται από τον προμηθευτή διεπαφών υπηρεσιών. Μερικά στοιχεία στο tmodel κατασκευάζονται χρησιμοποιώντας τις πληροφορίες από την περιγραφή διεπαφών υπηρεσιών WSDL. 2.5 UDDI 2.5.1 ΕΙΣΑΓΩΓΗ ΣΤΟ UDDI To UDDI (Universal Description, Discovery, and Integration) αποτελεί ένα πρωτόκολλο καταχώρησης για WS. Χρησιμοποιείται προκειμένου να παρέχονται πληροφορίες για τα WS, καθώς είναι στενά συνδεδεμένο με το πρωτόκολλο SOAP. Το UDDI παρέχει μια ομοιόμορφη μέθοδο που καθορίζει τον τρόπο ενσωμάτωσης των συστημάτων και των διαδικασιών που είναι ήδη σε ισχύ μεταξύ των επιχειρησιακών συνεργατών. 22

Έτσι γίνεται φανερό ότι το πρωτόκολλο αυτό προσπαθεί να καλύψει τις ανάγκες των επιχειρήσεων για τον εντοπισμό των πληροφοριών που συνδέθηκαν με ένα κομμάτι του λογισμικού σε μια παγκόσμια κλίμακα. Εννοιολογικά, μια επιχειρησιακή διεργασία μπορεί να καταχωρήσει τρεις τύπους πληροφοριών, στο UDDI. Η προδιαγραφή δεν απαιτεί αυτούς τους τύπους συγκεκριμένα, αλλά παρέχει μια καλή περίληψη αυτού του UDDI που μπορεί να αποθηκεύσει για έναν οργανισμό : White pages Βασικά στοιχεία επαφής και προσδιοριστικά που αφορούν τον οργανισμό, συμπεριλαμβανομένου του επιχειρησιακού ονόματος, της διεύθυνσης, των στοιχείων επαφής, και των μοναδικών προσδιοριστικών όπως οι αριθμοί D-U- N-S ή ο tax IDs. Yellow pages Πληροφορίες που περιγράφουν ένα WS το οποίο χρησιμοποιεί τις διαφορετικές κατηγοριοποιήσεις. Green pages Τεχνικές πληροφορίες που περιγράφουν τις συμπεριφορές και τις υποστηριγμένες λειτουργίες ενός WS που φιλοξενείται από την επιχείρησή σας. Αυτές οι πληροφορίες περιλαμβάνουν τους δείκτες στις πληροφορίες ομαδοποίησης των WS και στην περιοχή που βρίσκονται τα WS. 2.5.2 ΧΡΗΣΗ ΤΟΥ UDDI Το UDDI μπορεί να χρησιμοποιείται σε διάφορες διαφορετικές χρήσεις, οι χρήση του καθορίζεται από την προοπτική ποιος το χρησιμοποιεί. Από την προοπτική ενός επιχειρησιακού αναλυτή, το UDDI είναι παρόμοιο με μια μηχανή αναζήτησης διαδικτύου για τις επιχειρησιακές διαδικασίες. Ένας επιχειρησιακός αναλυτής μπορεί να κοιτάξει βιαστικά ένα ή περισσότερους καταχωρητές UDDI προκειμένου να γνωστοποιηθούν, διαφορετικές επιχειρήσεις που εκθέτουν τα WS και τις προδιαγραφές τους. Εντούτοις, οι επιχειρησιακοί χρήστες πιθανώς δεν θα κοιτάξουν βιαστικά έναν καταχωρητή UDDI, δεδομένου ότι οι πληροφορίες που αποθηκεύονται σ αυτό δεν είναι απαραίτητα εύκολα αναγνώσιμα. 23

Μια σειρά ηλεκτρονικών αγορών (e- shop) και πυλών (portal) επιχειρησιακής αναζήτησης θα μπορούσε να κατασκευαστεί βασιζόμενο στα UDDI ώστε να παρέχει τους επιχειρησιακούς αναλυτές, προσανατολισμένους προς τον χρήστη κατά την αναζήτηση υπηρεσιών και επιχειρήσεων που φιλοξενήθηκαν σε ένα UDDI καταχωρητή. 2.5.3 ΠΡΟΔΙΑΓΡΑΦΕΣ UDDI Το UDDI καθορίζει ένα σύνολο ορισμών τα οποία δομούνται σε XML, τα ορίσματα αυτά περιγράφουν τα σχήματα στοιχείων που χρησιμοποιούνται από διάφορα σύνολα API. Το UDDI, δεσμεύει τις προδιαγραφές τους. Οι προδιαγραφές περιλαμβάνουν τα εξής έγγραφα : Απάντηση UDDI Το παρόν έγγραφο περιγράφει τις διαδικασίες απάντησης στοιχείων και τις διασυνδέσεις τις οποίες ένας χειριστής καταχωριτών πρέπει να τα λάβει υπ όψιν του προκειμένου η απάντηση στοιχείων μεταξύ των περιοχών να γίνει εφικτή. Χειριστές UDDI Από τους UDDI χειριστές κόμβων απαιτείται κάποια συγκεκριμένη συμπεριφορά και λειτουργικές παραμέτρους. Αυτή η προδιαγραφή καθορίζει τις διοικητικές απαιτήσεις στοιχείων στις οποίες οι χειριστές πρέπει να εμμείνουν. Παραδείγματος χάριν, οι χειριστές κόμβων είναι αρμόδιοι για την καταγραφή και το στήριγμα όλων των στοιχείων, την εξασφάλιση σύνδεσης της επιχειρησιακής εγγραφής με την έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου, καθώς και εξασφάλιση της ακεραιότητας των στοιχείων κατά τη διάρκεια των διαγραφών. 2.5.4 UDDI - API 24

Αυτή η προδιαγραφή καθορίζει ένα σύνολο λειτουργιών όπου όλοι οι UDDI καταχωρητές υποστηρίζουν την έρευνα των υπηρεσιών που φιλοξενούνται στον καταχωρητή για την εγγραφή των πληροφοριών ενός οργανισμού σε έναν καταχωρητή. Δομές δεδομένων UDDI Αυτή η προδιαγραφή καλύπτει τις λεπτομέρειες των δομών XML, που περιλαμβάνονται μέσα στα SOAP μηνύματα, αυτές οι δομές καθορίζονται από το API του προγραμματιστή UDDI. Αυτή η προδιαγραφή καθορίζει πέντε δομές δεδομένων πυρήνων και τις σχέσεις τους. Κάθε καταχώρηση περιέχει το wsdl αρχείο και τη διεύθυνση που λειτουργεί η υπηρεσία στο Internet. Επιπρόσθετα σε κάθε καταχώρηση υπάρχουν και διάφορες άλλες πληροφορίες για την υπηρεσία που σχετίζονται με τον ιδιοκτήτη της, την πολιτική του κ.α. Υπάρχουν διαφορετικοί τύποι καταχωρήσεων μίας υπηρεσίας. Πιο συγκεκριμένα υπάρχουν καταχωρήσεις που μπορούν να γίνουν για υπηρεσίες από όλο τον κόσμο και που απευθύνονται σε όλο τον κόσμο, αλλά και καταχωρίσεις που απευθύνονται μόνο σε εξειδικευμένες επιχειρήσεις προωθώντας έτσι και το B2B μοντέλο συνεργασίας. Τέλος υπάρχουν και καταχωρήσεις υπηρεσιών για πιο εξειδικευμένες περιπτώσεις. 25

ΚΕΦΑΛΑΙΟ 3 Ο : WS-SECURITY 3.1 ΕΙΣΑΓΩΓΗ Τα στοιχεία που προορίζονται για το WS μπορούν είτε να δημιουργηθούν σε XML είτε να μετατραπούν σε XML από το εγγενές σχήμα του. Η περιγραφή και ο προσδιορισμός των οποιοδήποτε στοιχείων WS βασίζεται στην XML. Πολλά σχήματα και προδιαγραφές όπως το SOAP και WS είναι XML σχήματα. Έτσι έπεται η ανάγκη η ασφάλεια των στοιχείων αυτών να δομείται σε XML μορφή. Οι υπεύθυνοι ανάπτυξης προτύπων ασφάλειας XML και WS-S ανέπτυξαν ένα σύστημα κρυπτογραφίας προκείμενου να κρυπτογραφηθούν τα XML έγγραφα. Το σύστημα αυτό δεν απαιτεί την εφεύρεση νέων τεχνολογιών κρυπτογραφίας, και αυτό γιατί χρησιμοποιεί τις υπάρχουσες τεχνολογίες κρυπτογραφίας, το σύστημα αυτό είναι γνωστό ως tried-and-true. Το γεγονός αυτό είναι ιδιαίτερα σημαντικό επειδή οι υπάρχουσες τεχνολογίες κρυπτογράφησης είναι δοκιμασμένες και αξιόπιστες καθώς επιτυγχάνεται η ικανοποίηση της απαίτησης της ασφάλειας σε επίπεδο μηνύματος (message-level). Τα XML μηνύματα, όταν στέλνονται, κινούνται από server σε server και μπορούν να δημιουργήσουν διάφορους hop ( κόμβους ) κατά την διάρκεια αποστολής από την πηγή προς τον προορισμό, αυτό δημιουργεί την ανάγκη διατήρησης της ασφάλειας καθ όλη τη διάρκεια της αποστολής. Όπως αναφέραμε το SSL ή TLS λειτουργεί ικανοποιητικά μόνο εάν πρόκειται για σημείο σε σημείο (point to point) επικοινωνία, όταν ο server λάβει ένα μήνυμα, το μήνυμα αυτό αποκρυπτογραφείται. Αυτό σημαίνει ότι εάν ο server χρειαστεί να μεταδώσει το μήνυμα θα πρέπει να το κρυπτογραφήσει ξανά, πράγμα απαγορευτικό. Το πρόβλημα αυτό, βρίσκει τη λύση του στο πρότυπο XML Encryption. 26

Εκτός από την εμπιστευτικότητα των μηνυμάτων, υπάρχει ανάγκη για την ακεραιότητα μηνυμάτων XML, η λύση του ζητήματος αυτού βρίσκεται στο πρότυπο XML Signature. Τα WS, τις περισσότερες φορές, έχουν πρόσβαση σε στοιχεία και υπηρεσίες των οργανισμών, οι οποίοι δεν θέλουν τα κρίσιμα στοιχεία να προσπελάζονται από τις μη επιθυμητές οντότητες. Προκειμένου οι οντότητες αυτές (άνθρωποι, μηχανές, κ.ο.κ) να προσπελάσουν τα στοιχεία αυτά θα πρέπει πρώτα να εγκριθούν για την δεδομένη ενέργεια, να προσδιοριστεί η ταυτότητά της και να προσδιοριστούν οι ενέργειες που επιτρέπετε να κάνει η κάθε μία απ αυτές. Για να επιτευχθεί η εξασφάλισης της ιδιωτικότητας θα πρέπει οι οργανισμοί να θέσουν ένα σύστημα εξουσιοδότησης και αυθενικοποίησης. Η SAML είναι η προδιαγραφή XML για τον προσδιορισμό της ταυτότητας, την εξουσιοδότηση και αυθενικοποίηση. Όταν επιτευχθεί ο προσδιορισμός της ταυτότητας του πελάτη ( client ) θα πρέπει με κάποιο τρόπο να διευκρινισθούν τα δικαιώματα του πελάτη προκειμένου να έχει πρόσβαση σε συγκεκριμένους πόρους και υπηρεσίες. Για να επιτευχθεί αυτό δημιουργήθηκαν δύο πρότυπα XACML και XrML. Εκτός των άλλων για να χαρακτηριστούν τα WS ασφαλή θα πρέπει να προσδιοριστεί η ταυτότητα του παραλήπτη ή/και του αποστολέα. Η προφανή λύση του ζητήματος βρίσκεται στην υποδομή δημοσίου κλειδιού (PKI) το οποίο στην περίπτωση των WS βασίζεται σε μία προδιαγραφή ΧΜL γνωστή ως XML Key Management Specification (XΚMS). Τέλος για την έγκυρη πιστοποίηση των WS θα έπρεπε να αναπτυχθεί μία γενική υποδομή που θα είναι σε θέση να εκφράζει την πολική πιστοποίησης, στην περίπτωση των WS η υποδομή αυτή ονομάζεται WS- Policy. Το WS-Policy από μόνο του δεν καθορίζει κανένα τύπο εγκυρότητας, το πρότυπο αυτό καθορίζει μόνο την υποδομή για την καθορισμένη τυποποίηση και διαχείριση. Η προδιαγραφή WS-SecurityPolicy καθορίζουν κάποια στάνταρ εγκυρότητας, τα οποία σχετίζονται με τις απαιτήσεις των WS 27

XML πλαίσιο το οποίο καθορίζει το βασικό τμήμα της ασφάλειας των WS 3.2 ΧML ENCRYPTION 3.2.1 ΟΡΙΣΜΟΣ ΤΗΣ XML ENCRYPTION Κατά την ανταλλαγή κρίσιμων δεδομένων μέσω διαδικτύου, οι αποστολείς και οι παραλήπτες απαιτούν ασφαλή επικοινωνία. Όμως, ενώ διαθέσιμες τεχνολογίες επιτρέπουν σε αποστολείς και παραλήπτες την ασφάλεια ενός πλήρους αντικειμένου ή μιας ολοκληρωμένης συνάντησης (communication session), μόνο η Υπογραφή XML ( XML Signature ) σε συνδυασμό με τη νέα Σύσταση κρυπτογράφησης XML του W3C επιτρέπει την επιλεκτική υπογραφή και κωδικοποίηση τμημάτων δεδομένων XML. Για παράδειγμα, ένα ΠΣ που βασίζεται στα WS απαιτεί τη χρήση ενός πρωτοκόλλου όπως το SOAP, αυτό σημαίνει ότι το σύστημα αυτό μπορεί να κρυπτογραφήσει το περιεχόμενο ενός μηνύματος XML, αλλά όχι και την πληροφορία δρομολόγησης στον παραλήπτη. Επίσης, μια εφαρμογή σε Xforms μπορεί να απαιτεί ηλεκτρονική υπογραφή για την εξουσιοδότηση μιας πληρωμής, ενώ ο ίδιος τρόπος πληρωμής (π.χ. ο αριθμός της πιστωτικής κάρτας) μπορεί να είναι κρυπτογραφημένος. Φυσικά, η κρυπτογράφηση XML μπορεί να χρησιμοποιηθεί για την ασφάλεια ενός πλήρους αντικειμένου όπως μια εικόνα ή αρχείο ήχου. Ο συνοδευτικός Μετασχηματισμός Αποκρυπτογράφησης για την Υπογραφή XML επιτρέπει τη χρήση κρυπτογράφησης σε συνδυασμό με την Υπογραφή XML. Χαρακτηριστικά, η Υπογραφή XML επιβεβαιώνει την 28

ακεραιότητα ενός εγγράφου ελέγχοντας εάν το έγγραφο έχει μεταβληθεί. Παρ' όλα αυτά, πολλές εφαρμογές απαιτούν την ικανότητα τμηματικής κρυπτογράφηση ενός εγγράφου XML αφού πρώτα αυτό υπογραφεί, μεταβάλλοντας κατ' αυτόν τον τρόπο το έγγραφο. Ο Μετασχηματισμός Αποκρυπτογράφηση πληροφορεί τον παραλήπτη σχετικά με τα μέρη του εγγράφου που πρέπει να αποκρυπτογραφήσει, αποκαθιστώντας το έγγραφο στην αρχική του κατάσταση, πριν ελέγξει την υπογραφή. 3.2.2 ΑΠΑΙΤΗΣΗ ΤΟΥ XML ENCRYPTION Το πρότυπο κρυπτογραφίας XML καθορίζει τους κανόνες με τους οποίους θα λειτουργούν τα περιεχόμενα του πλαισίου καθώς επίσης και κανόνες επεξεργασίας περιεχομένων XML κατά την κρυπτογράφηση και αποκρυπτογράφηση. Για να επιτευχθεί η επεξεργασία μέσα στο καθοριζόμενο πλαίσιο, η XML καθορίζει ένα λεξιλόγιο προκειμένου οι απαιτούμενες πληροφορίες που προορίζονται για την κρυπτογράφηση να συσκευαστούν. Μέσα στα κρυπτογραφημένα περιεχόμενα μπορεί να βρίσκεται ο αλγόριθμος κρυπτογράφησης προκειμένου ο παραλήπτης να γνωρίζει τον αλγόριθμο και παραμέτρους κρυπτογράφησης ώστε να γίνει η αποκρυπτογράφηση, παρέχοντας τις πληροφορίες για τα κλειδιά κρυπτογράφησης και την κρυπτογραφημένη πληροφορία. H XML Encryption απαιτεί την κανονικοποίηση XML εγγράφων. Η προδιαγραφή αυτή επιτρέπει την πραγματοποίηση της : κρυπτογράφησης όλου του XML εγγράφου κρυπτογράφησης οποιουδήποτε στοιχείου XML εγγράφου κρυπτογράφησης δεδομένων, που διαφέρουν απ αυτά του XML (εικόνα JPG) κρυπτογράφησης δεδομένων που έχουν ήδη κρυπτογραφηθεί ( SuperEncryption) 3.2.3 ΙΔΙΟΤΗΤΕΣ ΤΟΥ XML ENCRYPTION 29

Το πρότυπο κρυπτογράφησης XML καθορίζει τους κανόνες πλαισίου και επεξεργασίας για την κρυπτογράφηση και αποκρυπτογράφηση XML. Καθορίζει ένα λεξιλόγιο XML για τη συσκευασία όλων των πληροφοριών που απαιτούνται για να επεξεργάζεται το κρυπτογραφηµένο περιεχόµενο, όπως ο αλγόριθµος και οι παράμετροι κρυπτογράφησης, οι πληροφορίες για τα κλειδιά κρυπτογράφηση, και την κρυπτογραφημένη πληροφορία. Επιτρέπει στην εμπιστευτικότητα να εφαρμοστεί σε ποικίλα έγγραφα τόσο κατά τη μεταφορά όσο και κατά την αποθήκευση. Η σύσταση του προτύπου κρυπτογράφησης XML υποστηρίζει τα ακόλουθα χαρακτηριστικά : 1. XML και µη-xml περιεχόµενο μπορεί να κρυπτογραφηθεί (ευρεία δυνατό) 2. Η Εμπιστευτικότητα μπορεί να εφαρμοστεί σε πολύ λεπτό-αναλυτικό επίπεδο στο περιεχόµενο XML. Μπορεί να εφαρμοστεί σε αντικείμενα XML, μέρη εγγράφων, καθώς επίσης και σε ολόκληρα έγγραφα XML στοιχείων XML. Αυτό είναι πολύτιμο για την εξασφάλιση εμπιστευτικότητας των μερών των μηνυμάτων XML που διέρχονται από ενδιάμεση επεξεργασία από τρίτους. 3. Η κρυπτογράφηση XML παράγει από καλοσχηματισμένες φόρμες XML πάλι καλοσχηματισμένες XML φόρμες. Αυτό επιτρέπει την κρυπτογράφηση μερών περιεχομένου XML πριν την επεξεργασία από XML εργαλεία. 4. Η κρυπτογράφηση XML είναι συμβατή µε τις ψηφιακές υπογραφές XML και μπορεί να χρησιμοποιηθεί από κοινού µε αυτές. 5. Η κρυπτογράφηση XML επιτρέπει την κρυπτογράφηση ενός συμμετρικού κλειδιού που μπορεί να συσκευαστεί µε το κρυπτογραφηµένο περιεχόµενο. 6. η κρυπτογράφηση XML υποστηρίζει ποικίλους αλγορίθμους και τεχνικές κρυπτογράφησης. 30

3.2.4 ΣΕΝΑΡΙΟ Έστω ότι πρέπει να σταλεί το XML αρχείο του σχ. 1 σε έναν οργανισμό που εμπορεύεται βιβλία. Το αρχείο αυτό περιέχει τις λεπτομέρειες ενός βιβλίου προς αγορά. Επιπλέον, το αρχείο περιέχει πληροφορίες πιστωτικών καρτών. Έτσι τίθεται η ανάγκη χρήσης ασφαλούς επικοινωνίας για αυτό το ευαίσθητο στοιχείο. Μια επιλογή είναι να χρησιμοποιηθεί η τεχνολογία SSL, η οποία εξασφαλίζει ολόκληρη την επικοινωνία ενώ η εναλλακτική λύση είναι να χρησιμοποιηθεί η XML κρυπτογράφηση. Εάν η εφαρμογή απαιτήσει ότι ολόκληρη η επικοινωνία πρέπει να είναι ασφαλής, θα χρησιμοποιηθεί ητεχνολογία SSL. Εάν η εφαρμογή απαιτήσει έναν συνδυασμό ασφαλούς επικοινωνίας (που σημαίνει ότι μερικά από τα στοιχεία θα ανταλλαχθούν ασφαλώς και το υπόλοιπο θα ανταλλαχθεί όπως είναι) η κρυπτογράφηση XML είναι η καλύτερη επιλογή. Όπως αναφέρθηκε, άνωθεν η κρυπτογράφηση του XML αρχείου μπορεί να γίνει σε ολόκληρο το έγγραφο, σε ένα μέρος εγγράφου ή σε ένα στοιχείο του εγγράφου. 31

Στην πρώτη περίπτωση σχ. 2 αυτό επιτυγχάνεται με τις ετικέτες (tags) < CipherData > και < CipherValue >. Το πραγματικό κρυπτογραφημένο στοιχείο βρίσκεται στο < CipherValue >. Το πλήρες στοιχείο CipherData εμφανίζεται μέσα σε ένα στοιχείο EncryptedData. Το στοιχείο EncryptedData περιέχει το XML namespace το οποίο χρησιμοποιείται για την κρυπτογράφηση. Εάν είχε απαιτηθεί η κρυπτογράφηση μίας π.χ εικόνας jpg, το μόνο που θα άλλαζε είναι ο τύπος του εγγράφου κρυπτογράφησης (Type γραμμή 3) από text/xml σε jpg. Στη δεύτερη περίπτωση η κρυπτογράφηση μοιάζει μ αυτήν της πρώτης, με τις εξής διαφορές: 1. Στην πρώτη περίπτωση, περιέχεται μόνο το XML Encryption σχήμα, ενώ η δεύτερη περιλαμβάνει και το XML Encryption αλλά και τα στοιχεία από το αρχικό αρχείο XML, καθώς η κρυπτογράφηση XML ενσωματώνεται μέσα στα XML στοιχεία του χρήστη. 2. Στη δεύτερη περίπτωση η ιδιότητα < EncryptedData >, η οποία χρησιμοποιεί τον τύπο XML κρυπτογράφησης http://www.w3.org/2001/04/xmlenc#element Σε περίπτωση όμως που είναι επιθυμητή η κρυπτογράφηση μόνο ενός στοιχείου π.χ. αριθμού πιστωτικής κάρτας CardId, ο XML κώδικας είναι ο εξής: 32

. 3.3 XML SIGNATURE 3.3.1 ΟΡΙΣΜΟΣ ΤΟΥ XML SIGNATURE ΚΑΙ Η ΣΥΜΠΡΑΞΗ ΤΟΥ ΜΕ ΤΗΝ XML ENCRYPTION Η XML παρέχει μηχανισμούς εύκολης δημιουργίας ψηφιακής υπογραφής με τους οποίους συνδέει μίας σύνοψη του περιεχομένου με τον υπογράφοντα του περιεχομένου χρησιμοποιώντας μηχανισμούς κρυπτογράφησης. Ο συνδυασμός της κρυπτογράφησης και της σύνοψης έχει ως αποτέλεσμα να δυσκολεύει την παραχάραξη των δεδομένων από μη εξουσιοδοτημένους παραλήπτες, χωρίς να γίνεται αντιληπτό. Ο λόγος για τον οποίο χρησιμοποιείται η κρυπτογράφηση είναι για να κατασκευάζουν ηλεκτρονικές υπογραφές ισχυρότερες από άλλες τεχνικές ηλεκτρονικών υπογραφών. Η XML υποστηρίζει μηχανισμούς που υποστηρίζουν την πλήρη σειρά της δημιουργίας και της επαλήθευσης ψηφιακών υπογραφών. Η σύσταση ψηφιακών υπογραφών XML (XML Digital Signature) συμπεριλαμβάνει την δυνατότητα να υπογράψει και να ελέγξει: 1. ολόκληρα έγγραφα XML καθώς επίσης και μέρη XML εγγραφών. 2. άλλου τύπου έγγραφα. 33