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



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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

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

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

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

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

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

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

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

Παρ όλο που στη χώρα μας το Internet έκανε αισθητή την παρουσία του τα τελευταία χρόνια, εντούτοις η ιστορία του είναι ήδη αρκετά μεγάλη.

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

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 8: Διαδίκτυο Βασικές Έννοιες

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

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

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

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

ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Α_ΤΕΤΡΑΜ_ ΕΣΠΕΡΙΝΟ ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ. ΘΕΜΑ: E-LEARNING Αντζελα Πιετρη-Αριστελα Γκιονι ESPERINO LYKEIO LARISAS

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

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

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

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

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1

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

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

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

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

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

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

* Enterprise Resource Planning ** Customer Relationship Management

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

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

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

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

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

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

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

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

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

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

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

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

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

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

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

Μαρία Αναγνώστου Β 1 1. Η ΙΣΤΟΡΙΑ ΤΟΥ INTERNET

Η ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟ ΟΥ ΝΙΩΡΑ ΠΑΝΑΓΙΩΤΑ ΜΠΑΤΖΙΟΥ ΕΥΓΕΝΙΑ/ΕΛΕΝΗ Γ2 38o Γυμνάσιο Αθηνών ΕΤΟΣ 2011

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

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

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

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

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

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

Διαδίκτυο είναι ένα σύστημα διασυνδεδεμένων δικτύων και υπολογιστών που απλώνεται σε όλο τον κόσμο και έχουν πρόσβαση σε αυτό εκατομμύρια χρήστες.

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

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

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

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

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

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

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

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

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

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

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

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

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

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται:

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

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

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

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

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πληροφοριακά Συστήματα Απομακρυσμένης Εποπτείας και Μετρήσεων

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

Ενότητα 8. Εισαγωγή στην Πληροφορική. Internet: Τότε και Τώρα. Κεφάλαιο 8Α. Τρόπος Λειτουργίας Internet. Χειµερινό Εξάµηνο

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

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

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

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

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: Στόχος Σκοπός μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

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

7.2 Τεχνολογία TCP/IP

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

7.1.1 Επίπεδο δικτύου Γενικές Αρχές

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Transcript:

ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΣΔΟ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ SOA Planning Lifecycle Strategic Intent Industry Specific Templates Developn Performance Results, KPIs Process Execution Metrics Technology and Architecture Too kits Employee and Workplace Templates Workshops, Training Seminars Planning SOA governance &manage Policy enforce merit SOA metrics Quality of Service policies Security policies Taxonomy and C lassificatior S O Â Inrfrasiructure development S O A Foundation development Web Services Development Enablement HISTORICAL DATA Business Service Approval Certification Process Change Management Registration Process and Management Categorise services and create taxonomies from service interface Enrich service interfaces with policy related metadata Publishing Analyze perform. S O A metrics mar SOA performa no Analysts Management and Seturi ty Discovery Find and invoke bus ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΧΡΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΩΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΕΝΩΝ ΣΤΗΝ ΑΣΦΑΛΕΙΑ ΑΠΟ ΤΙΣ ΥΠΗΡΕΣΙΕΣ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΕΠΙΒΛΕΠΟΥΣΑ ΚΑΘΗΓΗΤΡΙΑ ΣΤΟΥΠΑ ΚΩΝΣΤΑΝΤΙΝΑ ΚΟΥΡΤΙΔΟΥ ΒΑΡΒΑΡΑ ΑΕΜ:1098 ΚΑΒΑΛΑ, ΟΚΤΩΒΡΙΟΣ 2009

2

ΠΡΟΛΟΓΟΣ Η παρούσα εργασία εκπονήθηκε κατά τη διάρκεια του εαρινού εξαμήνου 2009 από την σπουδάστρια του τμήματος Διαχείρισης Πληροφοριών, Κουρτίδου Βαρβάρα. Ευχαριστώ την υπεύθυνη για την εργασία μου Κωνσταντίνα Στούπα, για την ευκαιρία που μου έδωσε να ασχοληθώ με ένα άκρως ενδιαφέρον κεφάλαιο του σύγχρονου αλλά κατά βάση και μελλοντικού διαδικτύου. Επίσης, θα ήθελα να ευχαριστήσω τον μεταπτυχιακό φοιτητή, και καλό μου φίλο Ηλία, για τον τρόπο που με καθοδήγησε σ ένα ομολογουμένως αχανές γνωστικό αντικείμενο. Η συμβολή του ήταν καθοριστική στην περίοδο έρευνας του αντικειμένου της εργασίας μου. Τέλος, την οικογένεια μου για την στήριξη και την όποια βοήθεια μου προσέφεραν κατά τη διάρκεια της συγγραφής της. Νοέμβριος 2009 Κουρτίδου Βαρβάρα 3

4

ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 3 Περιεχόμενα... 5 Εισαγωγή... 8 Κεφάλαιο 1...10 1.1 Το παρελθόν και το παρόν του διαδικτύου...10 1.2 Το παρόν-ο παγκόσμιος ιστός( ^ ^ ^...13 1.3 Δομή της πτυχιακής...16 1.4 Συνεισφορά της εργασίας...17 Κεφάλαιο 2...19 2.1 Τι είναι τα web services...19 2.2 Ένα παράδειγμα web service... 21 2.3 Η τεχνολογία των web service... 22 2.4 Web services και ασφάλεια... 26 2.5 Πλεονεκτήματα των web services... 28 2.6 Μειονεκτήματα των web services... 29 Κεφάλαιο3... 30 3.1 Ορισμός της SOA... 30 3.2 Τρεις ρόλοι... 31 3.3 Τρεις λειτουργίες... 34 3.4 Η στοίβα SOA... 36 3.5 Πλεονεκτήματα της SOA... 39 3.6 Σενάρια υλοποίησης... 43 3.7 Παραδείγματα SOA... 46 3.8 Εφαρμογή στην Ελλάδα... 47 5

Κεφάλαιο4 50 4.1 XML... 50 4.1.1 DTD... 53 4.1.2 Namespaces... 55 4.1.3 URI... 56 4.2 WSDL... 56 4.2.1 H WSDL προδιαγραφή... 57 4.3 BPEL... 61 4.3.1 Ορισμός και περιγραφή της BPEL... 61 4.4 SOAP... 63 4.4.1 SOAP και XML... 63 4.4.2 SOAP Μηνύματα... 66 4.4.3 Μοντέλο Ανταλλαγής SOAP Μηνυμάτων... 69 4.4.4 SOAP Μεταφορές... 70 4.4.5 Άλλα πρωτόκολλα... 71 4.4.5.1 EDI... 71 4.4.5.2 CORBA... 72 4.4.5.3 COM και DCOM... 72 4.4.5.4 RMI... 73 4.4.5.5 XML -RPC... 74 4.5 Τι προσφέρει το SOAP... 74 Κεφάλαιο5... 77 5.1 Ασφάλεια των διαδικτυακών εφαρμογών... 78 5.2 Κρυπτογράφηση-Χρήση του SSL... 81 5.3 Προβλήματα ασφάλειας διαδικτυακών εφαρμογών...82 5.4 Βασικές μέθοδοι ελέγχου ασφαλείας των εφαρμογών Ιστού...84 5.5 Στοιχεία της SOA ασφαλείας... 86 5.6 SOA ασφαλείας στην επιχείρηση... 89 5.6.1 Προβλήματα για SOA ασφαλείας στην επιχείρηση... 89 5.6.2 Εργαλεία για SOA ασφαλείας στην επιχείρηση... 90 5.6.3 Ιδρύματα SOA ασφαλείας... 90 5.6.4 SOA ασφαλείας Roadmap... 91 6

5.7 Αυθεντικοποίηση... 91 5.8 Ασφάλεια συναλλαγών... 93 5.9 Access control... 95 Κεφάλαιο6... 98 Συμπεράσματα... 98 Λεξιλόγιο SOA... 101 Ηλεκτρονικές διευθύνσεις...108 7

ΕΙΣΑΓΩΓΗ Οι επιχειρήσεις και οι οργανισμοί στη δεκαετία του 80 χρησιμοποίησαν την πληροφορική ως βοηθητικό εργαλείο για την αυτοματοποίηση των διαδικασιών, οι οποίες επαναλαμβάνονταν συχνά και αφορούσαν -κατά κύριο λόγο- στο λογιστήριο. Τα συστήματα αυτά βοηθούσαν ελάχιστα στη λήψη αποφάσεων σχετικών με την καθημερινή λειτουργία της επιχείρησης. Η επόμενη δεκαετία θα μπορούσε να χαρακτηριστεί ως η εποχή των συστημάτων ERP, τα οποία προσέφεραν αυτοματοποίηση διαδικασιών βασισμένη στη συστηματική οργάνωση και διαχείριση των δεδομένων. Σε μια περίοδο που οι επιχειρήσεις είχαν μικρή κατανόηση της σημασίας των δομημένων διαδικασιών στο σύνολο των δραστηριοτήτων τους-η περίοδος της διαπίστευσης ISO είχε μόλις αρχίσει να γίνεται της μόδας- τα συστήματα EPR ανάγκασαν τις εταιρείες να ακολουθήσουν διαδικασίες που μπορούσαν να θεωρηθούν ιδανικές. Δυστυχώς, η αυξημένη - σε σχέση με προηγούμενα συστήματα- προσπάθεια για την προσαρμογή των εσωτερικών διαδικασιών μιας εταιρείας σε αυτές που πρότειναν τα ERP συστήματα άρχισε να δείχνει τους περιορισμούς της. Σήμερα, οι περισσότερες επιχειρήσεις προσπαθούν ακόμη με τις λύσεις εκείνης της εποχής. Όλες οι επιχειρήσεις δέχονται ότι μόνο η αυτοματοποίηση των δραστηριοτήτων τους -διαδικασιών και δεδομένων- θα τους επιτρέψει να επιβιώσουν σε αυτήν την αγορά. Η επιβίωση όμως δεν μπορεί να είναι ο στόχος σε μια ιδιαίτερα ανταγωνιστική αγορά. Ο μόνος δρόμος είναι η κατάκτηση ανταγωνιστικής θέσης σε σχέση με τους υπόλοιπους παίκτες της αγοράς. Αυτό, ωστόσο, δεν μπορεί να επιτευχθεί μέσα από την υιοθέτηση (ή έστω την προσαρμογή) τυπικών διαδικασιών, όπως αυτές ορίζονται από τα ERPs. Με άλλα λόγια, δεν είναι δυνατό ένας οργανισμός να διαφοροποιηθεί, όταν είναι εξαιρετικά απλό για κάποιον άλλον παίκτη στην ίδια αγορά να υιοθετήσει ή να υλοποιήσει την ίδια διαδικασία στο ίδιο ή παραπλήσιο ERP σύστημα. Η συνεχής όμως αύξηση στην απαίτηση υπολογιστικής ισχύος στις σύγχρονες εφαρμογές, καθώς και ο γιγαντισμός που χαρακτηρίζει τα σημερινά πληροφοριακά 8

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

ΚΕΦΑΛΑΙΟ 1 1.1 ΤΟ ΠΑΡΕΛΘΟΝ ΚΑΙ ΤΟ ΠΑΡΟΝ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Όσο και αν φαίνεται απίστευτο, αν κάποιος θα ήθελε να προσδιορίσει το λόγο για τον οποίο δημιουργήθηκε το Διαδίκτυο (Internet), θα κατέληγε στο συμπέρασμα ότι αυτό έγινε λόγω της εκτόξευσης του δορυφόρου Sputnik από την Σοβιετική Ένωση το 1957. Αυτό το σημαντικό γεγονός στην εξερεύνηση του διαστήματος οδήγησε τον τότε πρόεδρο των Η.Π.Α. Dwight David Eisenhower να διορίσει σαν σύμβουλό του σε θέματα επιστημών τον πρόεδρο του MIT James A. Killian, γεγονός το οποίο ώθησε την δημιουργία ενός νέου τμήματος στο Υπουργείο Αμύνης, το οποίο ονομάστηκε Advanced Research Projects Agency (ARPA). H ΑRPA πέτυχε το 1969 τη δημιουργία του πρώτου δικτύου υπολογιστών με απομακρυσμένους κόμβους το οποίο ονομάστηκε ARPANET. Οι περισσότεροι από τους ανθρώπους που δούλευαν για την ανάπτυξη του υλικού και λογισμικού του ARPANET, ήταν μεταπτυχιακοί και αυτό δημιούργησε ένα πνεύμα συνεργασίας με στόχο καινούργιες ανακαλύψεις αλλά παράλληλα και σύγχυση. Όλοι φαντάζονταν τις δυνατότητες που είχαν, αλληλεπιδραστικά γραφικά, ηλεκτρονικό ταχυδρομείο, αλλά κανένας δεν ήξερε από που να ξεκινήσει. Κατά τη δεκαετία του 1970 το ARPANET συνεχώς αναπτυσσόταν σε μέγεθος και σταθερότητα και έγινε ένας αριθμός από σημαντικές ανακαλύψεις. Ανάμεσα στις πιο σημαντικές ήταν το ηλεκτρονικό ταχυδρομείο το οποίο αναπτύχθηκε από τον Ray Tomlinson του ΒΝΝ το 1972, και η επίτευξη υπερατλαντικής σύνδεσης το 1973 (σύνδεση με το University College of London στην Αγγλία και το Royal Radar Establishment στη Νορβηγία). Επιπρόσθετα, συνεχώς γινόταν έρευνα για τη βελτίωση των βασικών πρωτοκόλλων επικοινωνίας και την ανάπτυξή τους σε σχέση με το ρυθμό ανάπτυξης του ARPANET, η οποία οδήγησε στη δημιουργία ενός νέου συνόλου πρωτοκόλλων επικοινωνίας, του TCP/IP (Transmission Control Protocol/Internet Protocol) το 1982. Την ίδια περίοδο η ομάδα του ARPANET πειραματιζόταν με συνδέσεις διαφόρων 10

τύπων δικτύων μεταγωγής πακέτων, συμπεριλαμβανομένου των δορυφορικών, ραδιοφωνικών και καλωδιακών. Γύρω στο 1980 έγιναν αρκετά σημαντικά γεγονότα. Τα πιο σημαντικά ήταν η χρήση των δικτύων μεταγωγής πακέτων για στρατιωτικούς σκοπούς το 1978 και η δημιουργία του Usenet το 1979. Η στρατιωτική χρήση του ARPANET δεν είχε άμεση επίδραση στη χρήση του δικτύου από τους πολίτες, αλλά τονίζει το γεγονός ότι το σημερινό Internet αρχικά επινοήθηκε σαν ένα εργαλείο στρατιωτικών επικοινωνιών. Η στρατιωτική χρήση του ARPANET σταμάτησε το 1983 όταν όλα τα στρατιωτικά sites ενσωματώθηκαν στο Defence Data Network το οποίο δημιουργήθηκε το 1982. Το Usenet, που αναπτύχθηκε από τους Tom Truscott και Jim Ellis φοιτητές του Duke University και του University of North Carolina, ανακηρύχθηκε ο υπέρτατος εκφραστής της φυσικής αναρχίας του ARPANET. Χρησιμοποιώντας το δημοφιλές λειτουργικό σύστημα UNIX (που αναπτύχθηκε το 1969) και το πρωτόκολλο επικοινωνίας του, UUCP (Unix-to-Unix-Copy Protocol), αυτοί οι φοιτητές δημιούργησαν μια ιεραρχία ομάδων συζητήσεων η οποία εξαπλωνόταν σε όλο και περισσότερα ακαδημαϊκά ιδρύματα. Αυτή η ιεραρχία έφτασε σύντομα στο σημείο να φιλοξενεί ένα πλατύ πεδίο ενδιαφερόντων, από προγραμματισμό υπολογιστών έως και συντήρηση αυτοκινήτων, και έδινε τη δυνατότητα στους συμμετέχοντες να διαβάζουν και να στέλνουν μηνύματα σε Usenet Groups. Στην αρχή το Usenet χρησιμοποιήθηκε από μερικούς φοιτητές, αλλά στη συνέχεια συνδέθηκε με τις ταχυδρομικές λίστες του ARPANET και οι συζητήσεις μεταφέρονταν μέσω ηλεκτρονικού ταχυδρομείου. Την ίδια εποχή το Usenet και το UUCP έγιναν η δικτυακή υπηρεσία και το πρωτόκολλο επικοινωνίας αντίστοιχα, πάνω στα οποία βασίστηκε η διεθνής ανάπτυξη των δικτυακών επικοινωνιών. Από το 1982 έως το 1984 αρκετές Ευρωπαϊκές χώρες και η Αυστραλία συνδέθηκαν με το Usenet ενώ το 1987 καθιερώθηκε το NNTP (Network News Tranfer Protocol) με σκοπό να κάνει εφικτή την χρήση του Usenet σε TCP/IP δίκτυα. Στα τέλη της δεκαετίας του 1970 έγιναν δύο ακόμα σημαντικά γεγονότα τα οποία οδήγησαν στο σταδιακό άνοιγμα του ARPANET. Τον Μάιο του 1979 αντιπρόσωποι από το ARPA, από το National Science Foundation και επιστήμονες υπολογιστών, συναντήθηκαν και συζήτησαν την πιθανή δημιουργία ενός δικτύου αφιερωμένου στην έρευνα με αποτέλεσμα το 1982-83 να γίνει το CSNET. Από την αρχή προτάθηκε ότι αυτό το 11

νέο δίκτυο θα έπρεπε να συνδέεται με το ARPANET με ένα τρόπο διάφανο προς τους χρήστες και έτσι αποφασίστηκε να χρησιμοποιηθούν πρωτόκολλα TCP/IP. Την ίδια εποχή, κάποια άλλα πανεπιστήμια των ΚΠΑ δημιούργησαν το BITNET, με σκοπό τη σύνδεση μεταξύ τους. Το BITNET αποδείχτηκε ότι είχε ιδιαίτερη επίδραση στις ερευνητικές κοινότητες, ιδιαίτερα αφού οι ηλεκτρονικές του συζητήσεις που βασίζονταν στο ηλεκτρονικό ταχυδρομείο διοχετεύτηκαν σε άλλα TCP/IP δίκτυα. H δημιουργία του CSNET και του BITNET έδειξαν ότι τα πανεπιστήμια άρχισαν να αντιλαμβάνονται ότι η επιστήμη των δικτύων είναι ένα σημαντικό εργαλείο για την ερευνητική κοινότητα, και αυτό οδήγησε τον NSF (National Science Foundation) στη δημιουργία το 1986 ενός νέου παγκόσμιας κλίμακας δικτύου (NSFNET) βασισμένου σε TCP/IP πρωτόκολλα, καθώς και στη δημιουργία 5 κέντρων (super-computing centres), των οποίων οι υπηρεσίες παρέχονταν ελεύθερα στην ερευνητική κοινότητα. H τοπολογία του NSFNET διασφάλιζε την χρησιμοποίηση των υπηρεσιών του και από μικρά ερευνητικά ιδρύματα, καθώς υπήρχε υψηλής ταχύτητας σύνδεση μεταξύ 5 κόμβων του δικτύου κορμού (backbone) και καθένας από αυτούς εξυπηρετούσε τα ιδρύματα και πανεπιστήμια της περιοχής του, δημιουργώντας έτσι ένα τελείως αποκεντρωμένο δίκτυο. Το NSF έδινε ελεύθερη πρόσβαση στο δίκτυο κορμού μόνο αν το πανεπιστήμιο τηρούσε την αρχή να επεκτείνει αυτή τη σύνδεση σε άλλα και συχνά μικρότερα εκπαιδευτικά ιδρύματα της περιοχής του. Όμως το NSFNET ήταν ανοιχτό για σύνδεση και σε οποιονδήποτε οργανισμό και αυτή η ανοιχτή χρήση οδήγησε και στην εμπορευματοποίηση του, μία εξέλιξη που κατέληξε στη δημιουργία των πρώτων εμπορικών οργανισμών παροχής ηλεκτρονικού ταχυδρομείου (MCI Mail και Compuserve) το 1989, και ένα χρόνο αργότερα στην δημιουργία του πρώτου εμπορικού παροχέα dial-up πρόσβασης στο διαδίκτυο. 12

1.2 ΤΟ ΠΑΡΟΝ-Ο ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ WWW Η περίοδος από το 1989 έως σήμερα οδήγησε στην υπερκάλυψη του αρχικού ARPANET από ένα μεγάλο αριθμό υποδικτύων παγκοσμίως (το 1990 ο αριθμός των δικτύων ήταν 2063 και το 1996 είχε φτάσει στους 93671). Το 1989 το ARPANET απενεργοποιήθηκε και τον Απρίλιο του 1995 το NSFNET έγινε καθαρά ερευνητικό δίκτυο, αφήνοντας έναν αριθμό από εμπορικές εταιρίες να παράσχουν σύνδεση στο Internet. Την ίδια περίοδο ο αριθμός των hosts καθώς και η κυκλοφορία του δικτύου αυξήθηκε με τρομακτικό ρυθμό: το 1990 3 εκατομμύρια hosts και τον Ιούνιο του 1998 ο αριθμός έφτασε στους 36.739.000. Αυτή η έκρηξη στη χρησιμοποίηση του δικτύου, εκτός από το γεγονός ότι ο προσωπικός υπολογιστής έγινε ένα στοιχείο της καθημερινής μας ζωής, μπορεί να αποδοθεί στα αποτελέσματα μίας ερευνητικής πρότασης που υποβλήθηκε για χρηματοδότηση στο European Laboratory for Particle Physics της Ελβετίας από το CERN (Conseil Europeen pour la Recherche Nucleaire). Ο τίτλος της πρότασης ήταν World Wide Web: Proposal for a HyperText Project και οι συγγραφείς ήταν οι Tim Berners-Lee και Robert Cailliau. H αρχική ιδέα για τον World Wide Web (WWW ή Web) ήταν ότι η δημιουργία ενός πολύ πιο φιλικού περιβάλλοντος διεπαφής (user interface) με ευκολίες πλοήγησης σε αντίθεση με τα περιβάλλοντα διεπαφής που ήταν μέχρι τότε βασισμένα σε UNIX και η αλληλεπίδραση θα γινόταν μέσω κειμένου. Το πρωτόκολλο επικοινωνίας που επινοήθηκε για τον WWW ονομάστηκε HTTP (HyperText Transfer Protocol). Το υπερκείμενο είναι ουσιαστικά ένα εργαλείο πλοήγησης το οποίο συνδέει αντικείμενα (κείμενο ή γραφικά), δημιουργώντας έτσι έναν ιστό σελίδων, από όπου και πάρθηκε το όνομα World Wide Web. Το πρωτότυπο του WWW αναπτύχθηκε σε λειτουργικό σύστημα NeXT και παρουσιάστηκε για πρώτη φορά τον Δεκέμβριο του 1990. Τον Μάιο του 1991 δόθηκε ελεύθερα παρέχοντας πρόσβαση μέσω HTTP σε έναν αριθμό υπολογιστών της CERN. Μόλις το λογισμικό του φυλομετρητή (browser) έγινε διαθέσιμο σε πιο κοινά λειτουργικά συστήματα όπως Microsoft Windows και Apple Macintosh, αυτό το νέο 13

εργαλείο άρχισε να χρησιμοποιείται ευρέως από την κοινότητα του Internet και έως το 1993 ο ετήσιος ρυθμός αύξησης ήταν 341,634%. Ο WWW, η αυξανόμενη φιλικότητα των εφαρμογών που αναπτύχθηκαν για το Internet καθώς και η πρόσβαση των ιδιωτών στο Internet, συνέβαλαν στην εντυπωσιακή του άνοδο και χρήση στη δεκαετία του 1990. Από την ημέρα της ανακάλυψης του μέχρι σήμερα, το www έχει μετατραπεί στην μεγαλύτερη πηγή πληροφορίας παγκοσμίως. Οι δύο βασικοί λόγοι της ραγδαίας εξάπλωσης του www είναι η απλότητα στη χρήση του και η παρουσία του οπουδήποτε στον κόσμο. Ο οποιοσδήποτε μπορεί να παρουσιάσει και να προβάλλει τον εαυτό του ή την επιχείρηση του σε ένα τεράστιο κοινό, ενώ μπορεί με το πάτημα ενός κουμπιού να χρησιμοποιήσει τις διαθέσιμες υπηρεσίες, άσχετα με το αν γνωρίζει ή όχι που βρίσκεται αυτός που του παρέχει την υπηρεσία. Παρόλη την εξάπλωση και την αναγνώριση που συναντά το www, οι τεχνολογίες γύρω από αυτό δεν παραμένουν στάσιμες. Για την ανάλυση, τον σχεδιασμό και την υλοποίηση κατανεμημένου συστήματος μεγάλης κλίμακας, χρειάζεται να ακολουθηθεί συγκεκριμένη μεθοδολογία, ώστε τα διάφορα μέρη του συστήματος, να μπορούν να συνεργάζονται αποδοτικά για την εκτέλεση της κάθε λειτουργίας. Επίσης, είναι απαραίτητη η ύπαρξη τεχνολογιών οι οποίες να επιτρέπουν την επικοινωνία των συστατικών μερών του συστήματος, και ακόμα περισσότερο την συνεργασία ετερογενών και ασύμβατων συστημάτων. Δεδομένου ότι σήμερα έχουν δοκιμαστεί και έχουν θεμελιωθεί τέτοιες τεχνολογίες, έχει εισαχθεί η έννοια μιας αρχιτεκτονικής που να έχει ως επίκεντρο τις υπηρεσίες που συναποτελούν το σύστημα. Η προσέγγιση του προβλήματος υλοποιώντας μια SOA (Service Oriented Architecture), μπορεί να μειώσει την πολυπλοκότητα του λογισμικού, να μειώσει τους χρόνους ανάπτυξης και ελέγχου, να διευκολύνει τη συντήρηση και τη διαχείριση, και τέλος να ενθαρρύνει την επαναχρησιμοποίηση κώδικα και παλαιότερων συστημάτων. Η αρχιτεκτονική αυτή δεν είναι συνδεδεμένη με μια συγκεκριμένη τεχνολογία και μπορεί να υλοποιηθεί με ένα ευρύ φάσμα των προτύπων διαλειτουργικότητας, συμπεριλαμβανομένων των RPC, DCOM, ORB, ή Web Services. 14

Από το όνομα και μόνο μπορεί να συναγάγει κάποιος ότι πρωτίστως είναι μια αρχιτεκτονική, ο ορισμός δηλαδή των διαφόρων κομματιών ενός πλήρους συστήματος, ο τρόπος χρήσης τους και ο τρόπος αλληλεπίδρασης τους προκειμένου να προσφέρουν την απαιτούμενη λειτουργικότητα. Σε αντίθεση με παλαιότερες προσπάθειες, τα κομμάτια δεν χαρακτηρίζονται από την τεχνολογική τους συνεισφορά στη λύση, αλλά από τη σημασία τους για την επιχείρηση. Μέρη της λύσης είναι τεχνικά κομμάτια, το σημαντικό όμως σε μια υλοποίηση 8ΘΛ είναι ο σωστός ορισμός των επιχειρησιακών υπηρεσιών, αυτών δηλαδή που είναι κατανοητές στους μη τεχνικούς υπευθύνους του οργανισμού. Αν τα παραπάνω είναι σωστά, τότε αρκεί η υλοποίηση της «κόλλας» που θα συνδέσει τα τεχνικά και επιχειρησιακά μέρη με σωστό τρόπο. Πρόκειται για την πιο συνηθισμένη διαδρομή: οι επιχειρησιακές διαδικασίες αυτοματοποιούνται και «δένονται» μεταξύ τους στον κώδικα της εφαρμογής. Δυστυχώς, όμως, απλές μεταβολές της συνολικής διαδικασίας απαιτούν πάλι μεταβολή του κώδικα και πρόσθετα έξοδα για την επιχείρηση. Όσο η τεχνολογία είναι σημαντική για λύσεις πληροφορικής, ικανές να ανταποκρίνονται στις σύγχρονες απαιτήσεις της επιχείρησης, περισσότερο σημαντική είναι η εμπλοκή των επιχειρησιακά υπευθύνων σε αυτές τις λύσεις. Αντίθετα με προηγούμενες λύσεις, με τις οποίες τα πληροφοριακά συστήματα γινόντουσαν απλώς «αποδεκτά» από τους υπευθύνους, στις σύγχρονες λύσεις απαιτείται αυτοί να συμμετέχουν ενεργά στον ορισμό και την υλοποίηση της λύσης. 15

1.3 ΔΟΜΗ ΤΗΣ ΠΤΥΧΙΑΚΗΣ Η πτυχιακή μου αναφέρεται στη SOA, μια άκρως ενδιαφέρουσα υπηρεσιοστρεφής αρχιτεκτονική, η οποία δεν είναι και τόσο διαδεδομένη στην Ελλάδα, ακόμη τουλάχιστον! Στο δεύτερο κεφάλαιο αναφέρονται τα web services, τα οποία ορίζονται από την W3C ως ένα σύστημα λογισμικού σχεδιασμένο για τη στήριξη διαλειτουργικών «μηχανών-σε-αλληλεπίδραση-μηχανών» πάνω από ένα δίκτυο. Χρησιμοποιείται ένα παράδειγμα για την καλύτερη κατανόηση αυτών. Αναφέρονται επίσης και τα επίπεδα στα οποία χωρίζονται τα web services. Στο επόμενο κεφάλαιο ορίζεται η SOA (Service Oriented Architecture), οι ρόλοι και οι λειτουργίες της όπως επίσης τα πλεονεκτήματα, τα σενάρια εφαρμογών και υλοποίησης της. Το τρίτο κεφάλαιο είναι αφιερωμένο στις γλώσσες όπως για παράδειγμα XML, WSDL, και BPEL, αλλά και στα πρωτόκολλα που χρησιμοποιεί η SOA, όπως SOAP, EDI, CORBA, και RMI. Το τελευταίο κεφάλαιο είναι ίσως το σημαντικότερο, και αναφέρεται στην ασφάλεια των διαδικτυακών εφαρμογών. Αναφέρεται στα προβλήματα, στα στοιχεία αλλά και στις βασικές μεθόδους ελέγχου ασφάλειας των διαδικτυακών εφαρμογών. Τέλος, αναφέρονται η αυθεντικοποίηση, η ασφάλεια συναλλαγών καθώς και το access control τα οποία είναι τα σημαντικότερα θέματα ασφαλείας στις αρχιτεκτονικές SOA. 16

1.4 ΣΥΝΕΙΣΦΟΡΑ ΤΗΣ ΕΡΓΑΣΙΑΣ Εδώ και αρκετά χρόνια, ο τομέας της δικτύωσης υπολογιστών και γενικότερα άλλων συσκευών, έχει βιώσει σημαντικές τεχνολογικές αλλαγές. Η συνεχής αύξηση στην ταχύτητα μετάδοσης δεδομένων, η ασταμάτητη εξάπλωση του παγκοσμίου Ιστού (Internet) σε κάθε γωνιά του πλανήτη (ενσύρματα και ασύρματα), έχουν δημιουργήσει νέες ανάγκες μιας και έχουν μεγαλώσει τις απαιτήσεις όσο αφορά την ασφάλεια, την αξιοπιστία και την ευστάθεια των συστημάτων. Η συνεχής αύξηση στην απαίτηση υπολογιστικής ισχύος στις σύγχρονες εφαρμογές, καθώς και ο γιγαντισμός που χαρακτηρίζει τα σημερινά πληροφοριακά συστήματα και δίκτυα έχουν οδηγήσει σε αποκεντρωμένες προσεγγίσεις ανάλυσης και σχεδιασμού συστημάτων, όπου ο φόρτος εργασίας, ή η ευθύνη επόπτευσης, κατανέμεται σε ένα σύνολο γεωγραφικά διασκορπισμένων υπολογιστών και συσκευών. Οι υπολογιστές αυτοί που επικοινωνούν μεταξύ τους μέσω δικτύου, χρειάζονται ευέλικτους μηχανισμούς συντονισμού των εργασιών που εκτελούν παράλληλα. Η πτυχιακή αυτή εργασία, εξετάζει κατά κύριο λόγο την SOA (Service Oriented Architecture), η οποία είναι μια αρχιτεκτονική που επιτρέπει τη δυναμική δημιουργία σύνθετων εφαρμογών και επιχειρηματικών διαδικασιών σε πραγματικό χρόνο με μοναδικά οφέλη. Βασίζεται στην απλή έννοια ενός εντελώς ανοιχτού περιβάλλοντος στο οποίο χρήστες υπηρεσιών ή πελάτες επικοινωνούν με εξυπηρετητές ή παρόχους υπηρεσιών προκειμένου να αποκτήσουν πρόσβαση σε ένα σύνολο υπηρεσιών. Επίσης, αναφέρονται οι web services οι οποίες είναι οι τρόποι για να χτιστεί μια SOA, είναι δηλαδή υπηρεσίες διαθέσιμες στο διαδίκτυο, οι οποίες χρησιμοποιούν ένα καθορισμένο σύστημα μηνυμάτων βασισμένο σε XML και δεν είναι δεμένες με κανένα λειτουργικό σύστημα ή γλώσσα προγραμματισμού. Αναφέρονται οι γλώσσες οι οποίες χρησιμοποιούνται από αυτήν την αρχιτεκτονική όπως XML και BPEL, αλλά και διάφορα πρωτόκολλα τα οποία συμβάλλουν στην άριστη λειτουργία της Service Oriented Architecture, όπως για παράδειγμα το SOAP, που είναι και το σημαντικότερο, EDI, CORBA, και άλλα. 17

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

ΚΕΦΑΛΑΙΟ 2 Web services Γενικά Συχνά γίνεται το λάθος να ταυτίζεται η SOA με τα web services. Κάτι τέτοιο δεν ισχύει αφού η SOA είναι μια μέθοδος να χτίζεις συστήματα τα οποία στηρίζονται σε υπηρεσίες ενώ web services είναι ένας τρόπος να χτίζεις μια SOA. Ίσως επειδή τα web services είναι ευρέως διαδομένα και κυριαρχούν στην υλοποίηση αυτής της αρχιτεκτονικής να γίνεται αυτή η σύγχυση. Τα Web Services είναι αυτόνομες, αυτοπεριγραφόμενες εφαρμογές που μπορούν να δημοσιοποιηθούν και να ενεργοποιηθούν πάνω από το web. Τα Web Services επιτρέπουν σε συστήματα να αποκτήσουν πρόσβαση στην πληροφορία άλλων συστημάτων. Παρακάτω παρουσιάζονται τα web services και οι σχετικές με αυτά τεχνολογίες. 2.1 Τι είναι τα web services Ο καθαρός ορισμός μιας υπηρεσίας διαδικτύου (web service) σύμφωνα με το World Wide Web Consortium είναι ότι αποτελεί μια εφαρμογή λογισμικού που αναγνωρίζεται από ένα URI, της οποίας το interface και τα bindings μπορούν να αναγνωριστούν, περιγραφούν και ανακαλυφθούν με τη βοήθεια της γλώσσας XML και επιπλέον υποστηρίζει απ ευθείας αλληλεπιδράσεις με άλλες λογισμικές εφαρμογές χρησιμοποιώντας μηνύματα βασισμένα σε XML μέσω πρωτοκόλλων βασισμένων στο Internet. Με πιο απλά λόγια μια web service είναι μια υπηρεσία διαθέσιμη στο διαδίκτυο, η οποία χρησιμοποιεί ένα καθορισμένο σύστημα μηνυμάτων βασισμένο σε XML και δεν είναι δεμένη με κανένα λειτουργικό σύστημα ή γλώσσα προγραμματισμού. 19

frflyhlftrfl Li;r>cij.>qc: i'w OjeHiinq sjjsim: MAidraiHOQQ * Ιψ Φ ΓΪ Lanψage la.a Dptrsi iq^tm. ϋϊιω Σχήμα 1: Μια απλή υπηρεσία διαδικτύου Επιπλέον είναι επιθυμητό, παρότι όχι υποχρεωτικό, μια web service να ικανοποιεί 2 επιπλέον ιδιότητες: 1. Μια web service πρέπει να είναι αυτο-περιγραφόμενη. Όταν δημοσιεύεις μια web service πρέπει να δημοσιεύεις επίσης και μια διεπαφή (interface) προς αυτήν, τουτέστιν μια περιγραφή αυτής, έτσι ώστε να μπορούν αυτοί που αναπτύσσουν ολοκληρωμένα συστήματα να την ενοποιήσουν μαζί με άλλες και να είναι εύκολα υλοποιήσιμη. Αν πρόκειται για SOAP service τότε η περιγραφή μπορεί να γίνει με τη βοήθεια XML γραμματικής και να καθοριστούν όλες οι δημόσιες μέθοδοι, τα ορίσματά τους και οι επιστρεφόμενες τιμές (public methods, method arguments, and return values). 2. Μια web service πρέπει να είναι ανακαλύψιμη. Όταν δημιουργείς μια web service τότε πρέπει να μπορείς να γνωστοποιήσεις αυτό το γεγονός. Πρέπει δηλαδή να μπορείς να δημοσιεύσεις ένα interface αυτής ώστε να είναι σε θέση οι ενδιαφερόμενοι να την βρουν και να την καλέσουν. 20

Συνοπτικά μια ολοκληρωμένη web service είναι μια υπηρεσία η οποία [1]: S Είναι διαθέσιμη στο διαδίκτυο ή σε ιδιωτικά δίκτυα S Χρησιμοποιεί ένα καθορισμένο σύστημα μηνυμάτων βασισμένο σε XML. S Δεν είναι δεμένη με κανένα λειτουργικό σύστημα ή γλώσσα προγραμματισμού. S Είναι αυτο-περιγραφόμενη μέσω κοινής XML γραμματικής. S Είναι ανακαλύψιμη μέσω μιας απλής διαδικασίας εύρεσης (find). 2.2 Ενα παράδειγμα web service Θεωρούμε το απλό παράδειγμα του παρακάτω σχήματος όπου ένας παροχέας υπηρεσιών ταξιδιωτικών κρατήσεων παρουσιάζει τις επιχειρηματικές εφαρμογές σαν web services που υποστηρίζουν πλήθος πελατών και των αιτήσεών τους. Αυτές οι επιχειρηματικές αιτήσεις παρέχονται από διαφορετικούς ταξιδιωτικούς οργανισμούς, που εδρεύουν σε διαφορετικά δίκτυα και γεωγραφικές θέσεις. Σχήμα 2: Ενα απλό σενάριο μιας Web Service 21

Το ακόλουθο είναι ένα τυπικό σενάριο: > Ο παροχέας ταξιδιωτικών υπηρεσιών αναπτύσσει τις δικές του web services εκθέτοντας τις επιχειρηματικές προτάσεις που εξασφάλισε από διάφορες ταξιδιωτικές επιχειρήσεις, όπως αυτές αερογραμμών, ενοικιάσεων αυτοκινήτων, διαμονής σε ξενοδοχεία, πληρωμής πιστωτικών καρτών και άλλα. > Ο παροχέας των υπηρεσιών καταχωρεί τις υπηρεσίες που διαθέτει μαζί με τις περιγραφές αυτών χρησιμοποιώντας ιδιωτική ή δημόσια καταχώρηση. Ο κατάλογος των καταχωρήσεων αποθηκεύει τις σχετικές με τις υπηρεσίες πληροφορίες που εξέθεσε ο παροχέας των υπηρεσιών. > Ο πελάτης ανακαλύπτει τις web services χρησιμοποιώντας μια μηχανή αναζήτησης ή εντοπίζοντάς αυτές απ ευθείας από τον κατάλογο και στην συνέχεια τις καλεί για να πραγματοποιήσει ταξιδιωτικές κρατήσεις και άλλες λειτουργίες στο Internet χρησιμοποιώντας οποιαδήποτε πλατφόρμα ή άλλη συσκευή. > Στην περίπτωση μεγάλων οργανισμών, οι επιχειρηματικές εφαρμογές χρησιμοποιούν αυτές τις web services για να προσφέρουν ταξιδιωτικές υπηρεσίες στους υπαλλήλους τους μέσω του εσωτερικού εταιρικού δικτύου. Το παραπάνω παράδειγμα παρέχει ένα απλό σενάριο για το πώς οι επιχειρηματικές λειτουργίες ενός οργανισμού μπορούν να παρουσιαστούν ως web services και να κληθούν από τους πελάτες του. 2.3 H τεχνολογία των web services Το στρώμα, όπως λέγεται, των web services κατηγοριοποιεί την τεχνολογία των web services σε ένα μοντέλο επιπέδων. Ξεκινώντας από το χαμηλότερο επίπεδο, το οποίο επιτρέπει τη μεταφορά δεδομένων από το ένα μηχάνημα στο άλλο, χτίζουμε τα ανώτερα επίπεδα βασιζόμενοι στα κατώτερα, κρύβοντας όμως τις πολλές λεπτομέρειες. 22

Web Services Technology Stack Layer Description Im plcm entation (s) Other C oncerns Standard Messaging Electronic Business X M L Initiative (ebxm L ) Service Composition Business Process Execution Service lor W et) Services (B P EL4 W S ) Service R e^stry U n ive rsa l D e scn ptio n, D isco v e ry and Integration (U D D I) e b X M L Registries Service Description Web Services Description Language (W S D L ) Service Messaging Simple Object Access Protocol (SOAP)iExtensible MaiXup Language (X M L ) 0 c fi ΐ a w ID2 8 z 91 3 9J a ID 3 J S e c u r i t y : < 8 ϋ 5 (D i 3Φ jj Service Transport H ypertext Transfer Protocol ( H T T P ) S im p le Mail Transfer Protocol (S M T P ) File Transfer Protocol (F TP ) Σχήμα 3: Στρώμα Υπηρεσίας Διαδικτύου Service Transport ( Επίπεδο Μεταφοράς) Η κυριότερη λειτουργία του επιπέδου μεταφοράς είναι να μεταφέρει δεδομένα από ένα μηχάνημα σε ένα άλλο. Αποτελεί το πρωτόκολλο για την μετάδοση δεδομένων των web services. Οι web services χρησιμοποιούν διάφορα πρωτόκολλα για να μεταφέρουν τα δεδομένα από υπηρεσία σε υπηρεσία, συμπεριλαμβανομένων των HTTP, SMTP, FTP, χωρίς όμως να περιορίζονται μόνο σε αυτά. Το ποιο διαδεδομένο πρωτόκολλο μέχρι στιγμής που χρησιμοποιούν οι web services είναι το HTTP. Χρησιμοποιείται περισσότερο γιατί δεν μπλοκάρεται από firewalls και είναι έτσι το πρότυπο για διαλειτουργικά συστήματα. Service Messaging (Επίπεδο Μηνυμάτων) Το επίπεδο μηνυμάτων περιγράφει σε τι μορφές θα είναι τα δεδομένα ώστε να μπορούν να μεταφερθούν από τη μια υπηρεσία στην άλλη. Η XML είναι η βασική μορφή που χρησιμοποιείται για τις web services. Τα δεδομένα που διαμορφώνονται με βάση την XML είναι σαν δέντρο (tree) με στοιχεία (elements) και ολόκληρη η 23

δενδρική μορφή καλείται έγγραφο (document). Η XML δεν έχει ξεχωριστή περιγραφή δεδομένων γιατί τα ίδια τα δεδομένα περιγράφουν τον εαυτό τους κι αυτό γιατί έχουν ειδικές ετικέτες που τους δίνουν ένα όνομα καθώς και την θέση τους μέσα στη δενδρική μορφή. Το SOAP (Simple Object Access Protocol) είναι μια προδιαγραφή που λέει στον καταναλωτή μιας υπηρεσίας και στον προμηθευτή αυτής πώς να διαμορφώσουν και να διαβάσουν ένα μήνυμα γραμμένο σε XML που χρησιμοποιείται από μια υπηρεσία. Ένα SOAP μήνυμα έχει τρεις περιοχές: τον φάκελο, την επικεφαλίδα και το σώμα. Service Description (Επίπεδο Περιγραφής) Το επίπεδο περιγραφής καθορίζει τρεις πλευρές μιας web service: 1. Μεθόδους τις οποίες μια web service κάνει διαθέσιμες. 2. Τα μηνύματα που δέχεται μια web service. 3. Το πρωτόκολλο το οποίο πρέπει να χρησιμοποιήσει ο πελάτης για να καλέσει τη web service. Οι υπηρεσίες διαδικτύου χρησιμοποιούν μια γλώσσα περιγραφής την WSDL (Web Services Description Language) για να καθορίσουν μια σύμβαση υπηρεσίας. Η σύμβαση υπηρεσίας είναι μια περιγραφή ενός συνόλου από τελικά σημεία (endpoints) στα οποία στέλνονται ή λαμβάνονται μηνύματα μαζί με μια προδιαγραφή για το πώς πρέπει να διαμορφωθεί ένα XML μήνυμα για να σταλεί στο τελικό σημείο. Το τελικό σημείο (endpoint) είναι μια διεύθυνση στο διαδίκτυο η οποία δέχεται μηνύματα ειδικά διαμορφωμένα σύμφωνα με τη προδιαγραφή που καθορίζεται στην WSDL. Η WSDL χρησιμοποιεί τον όρο «λιμάνι» (port) για να περιγράψει το τελικό σημείο το οποίο θα δεχτεί το μήνυμα. Η WSDL περιγράφει τη σύμβαση της υπηρεσίας σαν μια συλλογή από ports τα οποία η υπηρεσία έχει κάνει διαθέσιμα. Ο πελάτης μιας υπηρεσίας χρησιμοποιεί την περιγραφή αυτή με δύο τρόπους. Κατά την ώρα της ανάπτυξης της υπηρεσίας (development time), ο πελάτης μπορεί να δημιουργήσει ένα στέλεχος αυτής (stub) χρησιμοποιώντας την περιγραφή αυτής. 24