Κωδικός Μαθήματος

ΠΠΣ-120

Εξάμηνο Μαθήματος

1ου Εξαμήνου

Πιστωτικές Μονάδες

7,5

Ηλεκτρονικό Υλικό

https://evdoxos.ds.unipi.gr/courses/DSERV103

Κατηγορία Μαθήματος

Υποχρεωτικό

Υπηρεσιοστρεφείς Αρχιτεκτονικές

Στόχος

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

Περιεχόμενα

Ολοκλήρωση πληροφοριακών υποδομών

Ανάλυση του προβλήματος της ολοκλήρωσης των πληροφοριακών αρχιτεκτονικών, αρχές υπηρεσιοστρεφών αρχιτεκτονικών (ΥΑ), αρχιτεκτονικό υπόδειγμα, κανόνες κατασκευής υπηρεσιοστρεφών αρχιτεκτονικών, βέλτιστες πρακτικές, δομικά συστατικά.

Σχεδιασμός υπηρεσιοστρεφών αρχιτεκτονικών

Κύκλος ζωής υπηρεσιοστρεφών εφαρμογών, τεχνικές και μεθοδολογίες ανάπτυξης, μεθοδολογία από πάνω προς κάτω (top down), μεθοδολογία από κάτω προς τα πάνω (bottom up), μεθοδολογία από το κέντρο προς τα έξω (middle out), σύγκριση και αξιολόγηση μεθοδολογιών, βέλτιστες πρακτικές.

Web services

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

Εργαστήριο 1 – XML

Βασική δομή XML εγγράφων, δημιουργία έγκυρων XML εγγράφων, εισαγωγή στις γλώσσες σχημάτων, Document Type Definition (DTD), δομή του DTD, παρουσίαση του XML Schema, η γλώσσα XPath, παραδείγματα επερώτησης XPath, η γλώσσα XQuery, σύνταξη της XQuery, παραδείγματα XQuery.

Εργαστήριο 2 – XML

Ανάπτυξη δυναμικά διαμορφωμένων ιστοσελίδων με XSL, η γλώσσα μετασχηματισμών XSLT, τρόπος επεξεργασίας της XSLT, ανάπτυξη διαδικτυακών εφαρμογών με χρήση XML συστήματος αποθήκευσης δεδομένων, αποθήκευση XML σε σχεσιακές βάσεις δεδομένων, αποθήκευση σε native XML συστήματα.

SOAP, REST, WSDL και UDDI

Κόμβος SOAP, δομή μηνύματος SOAP, συνδέσεις SOAP, REST, δομή μηνυμάτων REST, εφαρμογές REST, διαφορές μεταξύ REST και SOAP, WSDL, τύποι, μήνυμα WSDL, λειτουργία, θύρα, τύπος θύρας, σύνδεση, UDDI, ορισμός δεδομένων, τύποι δεδομένων, διεπαφές προγραμματισμού εφαρμογών, SOAP και UDDI, WSDL και UDDI.

Ποιότητα υπήρεσίας (QoS)

Ορισμός ποιότητας υπηρεσίας (Quality of Service – QoS), απαιτήσεις υπηρεσιών και προσδιορισμός απαιτήσεων χρηστών, (domain independent, domain depended), πάροχοι υπηρεσιών και QoS, απαιτήσεις ασφαλείας, επιλογή και αντιστοίχιση υπηρεσιών ιστού ανάλογα με τις απαιτήσεις ποιότητας της εφαρμογής πελάτη, προσδιορισμός παραγόντων που επηρεάζουν την ποιότητα υπηρεσίας, τιμολογιακή πολιτική και QoS.

Εργαστήριο 3 – προγραμματισμός web services

Εξοικείωση με το πακέτο Visual Studio .Net της Microsoft, η γλώσσα C#, δημιουργία web services, δημιουργία διεπαφών υπηρεσιών, δημιουργία διεπαφής χρήστη, επικοινωνία και σύνδεση υπηρεσιών με βάσεις δεδομένων ή με εξωτερικές εφαρμογές ή υπηρεσίες, παραδείγματα και ασκήσεις.

Ενορχήστρωση και χορογραφία

Βασικές αρχές και ορισμοί, ενορχήστρωση, περιπτώσεις ενορχήστρωσης, χορογραφία, διαφορές μεταξύ χορογραφίας και ενορχήστρωσης, δομή BPEL, ροή μηνύματος, έλεγχος ροής, ροή δεδομένων, χειρισμός δεδομένων, διαχείριση σφαλμάτων, διεργασίες (activities), παραδείγματα, και ασκήσεις.

Ασφάλεια υπηρεσιοστρεφών αρχιτεκτονικών

Πιθανές πηγές προβλημάτων ασφάλειας, απειλές, χαρακτηριστικά ασφάλειας, ιδιωτικότητα, πιστοποίηση, άδεια πρόσβασης, έλεγχος πρόσβασης, έλεγχος, ακεραιότητα, μη λειτουργικά χαρακτηριστικά ασφάλειας, διαλειτουργικότητα, διαχείριση, ευκολία υλοποίησης, νέες προσεγγίσεις ασφάλειας για υπηρεσιοστρεφείς αρχιτεκτονικές, ασφάλεια σε επίπεδο μηνύματος, η ασφάλεια ως υπηρεσία, ασφάλεια σε soap, ws-security, πολιτικές ασφάλειας, firewalls, πρότυπα για την υλοποίηση της ασφάλειας ως υπηρεσία, πλαίσιο ασφάλειας υπηρεσιών ιστού.

Προτεινόμενα Συγγράμματα

  • Μαρίνος Θεμιστοκλέους και Βασιλική Μαντζάνα (2010): Υπηρεσίες Παγκόσμιου Ιστού και Υπηρεσιοστρεφείς Αρχιτεκτονικές, Αυτοέκδοση, Αθήνα, ISBN: 9789609323819.
  • Sanjiva Weerawarana, Francisco Curbera, Frank Leymann and Tony Storey (2005): Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More, Prentice Hall, New York, ISBN: 0131488740.
  • Michael Papazoglou (2008): Web Services: Principles and Technology’, Pearson, Prentice Hall, New York, ISBN: 0321155556.
  • Thomas Erl (2009): SOA Design Patterns, The Prentice Hall Service-Oriented Computing Series, Prentice Hall, London, ISBN: 0136135161.
  • David Linthicum, (2009), Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide, Addison-Wesley Professional, New York, ISBN 0136009220.

Πρόσθετα Συγγράμματα

  • Marc Fiammante, (2009): Dynamic SOA and BPM: Best Practices for Business Process Management and SOA Agility. IBM Press, ISBN: 0137018916.
  • Paul Brown (2007). ‘Succeeding with SOA: Realizing Business Value Through Total Architecture’, Addison-Wesley Professional.
  • Nicolai Josuttis, (2007): SOA in Practice: The Art of Distributed System Design (Theory in Practice), Paris, ISBN 0596529554.
  • Thomas Erl (2005): Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice Hall, London, ISBN: 0131858580.
  • Eric Marks, (2008): Service-Oriented Architecture (SOA) Governance for the Services Driven Enterprise, John, Wiley and Sons Inc, New York, ISBN: 0470171251.