160 likes | 266 Views
Συντονισμός Εργασιών και Διεκπεραίωση Συναλλαγών Η.Ε. σε περιβάλλον Web Services. Κώστας Κωτσοκάλης ckotso@cslab.ece.ntua.gr. Περίγραμμα παρουσίασης. Εισαγωγή WS-C/ΑΤ+ΒΑ (BEA, IBM, MS) WS-Coordination WS-AtomicTransaction WS-BusinessActivity Business Transaction Protocol (BTP) (OASIS)
E N D
Συντονισμός Εργασιών και Διεκπεραίωση Συναλλαγών Η.Ε. σε περιβάλλον Web Services Κώστας Κωτσοκάλης ckotso@cslab.ece.ntua.gr
Περίγραμμα παρουσίασης • Εισαγωγή • WS-C/ΑΤ+ΒΑ (BEA, IBM, MS) • WS-Coordination • WS-AtomicTransaction • WS-BusinessActivity • Business Transaction Protocol (BTP) (OASIS) • Συμπεράσματα Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
Εισαγωγή (1) • Διεκπεραίωση συναλλαγών • Διατήρηση ορθής κατάστασης, σύστημα σε ισορροπία, όχι λανθασμένες παραδοχές... • Short-lived transactions • ACID (Atomicity, Consistency, Isolation, Durability) • Π.χ. ΒΔ • Long-lived transactions • Business processes • Π.χ. Supply chains Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
Εισαγωγή (2) • Διαχείριση Ροής Εργασιών • Εφαρμογή σε Business Processes • Διαδοχή γεγονότων, συνήθως χρονική • Ακυκλικός γράφος • Συστήματα διαχείρισης ενορχηστρώνουν την εκτέλεση • Η.Ε.: Εγγενές πρόβλημα η συμμετοχή διαφορετικών administrative domains • Συμφωνία για κοινά αποδεκτό ενορχηστρωτή Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
Εισαγωγή (3) • SOA & WS • «Things should be made as simple as possible, but no simpler.» • ...Ιδανικό επίπεδο απλότητας • Μονάδες εκτέλεσης μοντελοποιούνται ως ανεξάρτητες υπηρεσίες • Εφαρμογή σε συστήματα χαλαρής διασύνδεσης • Ελαχιστοποίηση τεχνητών εξαρτήσεων • WS: Βασικό πλεονέκτημα η χρήση διαθέσιμων, ανοικτών και δοκιμασμένων πρωτοκόλλων & εργαλείων • IP • HTTP, SMTP • XML Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
WS-Coordination (1) • Επεκτάσιμο πλαίσιο με υποστήριξη πρωτοκόλλων για συντονισμό κατανεμημένων εφαρμογών • Δημιουργία περιβάλλοντος για μετάδοση κατανεμημένων δραστηριοτήτων • Δεν λειτουργεί αυτοτελώς • Υπηρεσίες • Ενεργοποίησης • Δημιουργεί περιβάλλον συντονισμού για κοινή χρήση από συμμετέχοντες • Εγγραφής • Δημιουργία συνδρομών για συμμετοχή σε περιβάλλοντα & πρωτόκολλα συντονισμού • Πρωτοκόλλων • Στοιχείο επέκτασης του WS-Coordination • Διαφορετικά πρωτόκολλα για διαφορετικές ανάγκες συντονισμού Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
WS-Coordination (2) Σενάριο 2 εφαρμογών με δικούς τους συντονιστές Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
WS-AtomicTransaction • 3 πρωτόκολλα για short-lived transactions με χρήση εντός του WS-Coordination • Completion • Αρχικοποίηση commit ή abort • Ακολουθεί Volatile 2PC και Durable 2PC • Volatile 2PC • Για μεταβατικούς πόρους (π.χ. cache mem) • Προηγείται του Durable 2PC • Δεν υπάρχει εγγύηση ότι τα μέλη θα λάβουν το αποτέλεσμα της συναλλαγής • Durable 2PC • Για δεδομένα διαρκείας (π.χ. ΒΔ) • Τα μέλη μπορούν να εγγραφούν σε περισσότερα του ενός πρωτόκολλα. Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
WS-BusinessActivity (1) • Πρωτόκολλα για Business Activities εντός του WS-Coordination • Business Activities • Κατανάλωση πολλών διαφορετικών πόρων σε μεγάλο χρονικό διάστημα • Ενδεχομένως περιλαμβάνει πολλές ατομικές συναλλαγές • Απομονωμένες δράσεις εντός της δραστηριότητας είναι ίσως ορατές πριν το τέλος αυτής • Η απάντηση σε μία αίτηση μπορεί να καθυστερήσει σημαντικά • Ορίζονται αντισταθμιστικές δραστηριότητες. • Ενδεχομένως διαφορετικά trust domains για τα μέλη Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
WS-BusinessActivity (2) • Από χαρακτηριστικά BAs προκύπτουν σχεδιαστικές επιλογές: • Ακριβής καταγραφή αλλαγών κατάστασης συστήματος • Επιβεβαίωση λήψης ειδοποίησης για κάθε τύπο ειδοποίησης • Κάθε ειδοποίηση ξεχωριστό μήνυμα • Το μοντέλο παρέχει τις εξής ευκολίες: • Αναδρομική χρήση συλλογών από WS • Δυναμική λίστα συμμετεχόντων στο συντονισμό • Δυνατή η ανακοίνωση αποτελέσματος από τα μέλη πριν ερωτηθούν (χρήση πιθανόν από exception handlers) • Επιτρέπεται στα μέλη η εκτέλεση «αβέβαιων» εργασιών (πολλές ανεξάρτητες δράσεις & υπηρεσίες) Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
WS-BusinessActivity (3) • BusinessAgreementWithParticipantCompletion • Το μέλος υποχρεούται να γνωρίζει πότε ολοκλήρωσε την εργασία του • BusinessAgreementWithCoordinatorCompletion • Το μέλος εξαρτάται από τον συντονιστή για να μάθει πότε ολοκλήρωσε την εργασία του • Και στις δύο περιπτώσεις ο συντονιστής διαχειρίζεται το μέλος εντός της ομάδας συμμετεχόντων Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
BTP (1) • Δεν έχει σχεδιαστεί για WS • Μηνύματα XML, binding SOAP over HTTP μπορεί να συνδυαστεί • Thin layer μεταξύ TPS και WS stacks, με επεκτάσεις για workflows • Προσαρμοσμένο σε ρεαλιστικές ανάγκες της αγοράς • Π.χ. Δεν περιέχει ορισμούς για δέσμευση πόρων από τους συμμετέχοντες στη δραστηριότητα • Δεν περιγράφει μοντέλο ασφαλείας • Θεωρεί ότι οι συμμετέχοντες βρίσκονται εντός έμπιστου περιβάλλοντος Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
BTP (2) • Σχεδιαστικοί στόχοι • Μοντέλο για συναλλαγές πάνω από το Internet με διαφορετικούς οργανισμούς • Σύνθεση και συντονισμός έμπιστων αποτελεσμάτων πάνω από αναξιόπιστη υποδομή • Διαχείριση lifecycle • Υποστήριξη ασύγχρονων, loosely coupled συστημάτων • Υποστήριξη business processes • Συντονισμό συσχετισμένων αλληλεπιδράσεων • Πλαίσιο για WfM & job execution Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
BTP (3) • Πρωτόκολλα • Atom • Transactional task με εγγυημένη ατομικότητα αλλά χωρίς εγγυήσεις isolation & consistency • Αφήνονται ως υποχρέωση των υποκείμενων TPS • Cohesion • Συνάθροιση από atoms για τη μοντελοποίηση διεργασιών μακράς διαρκείας Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
BTP (4) • Βελτιστοποιήσεις • Παραίτηση συμμετέχοντος • Αντίστοιχο του μηνύματος «read-only» στα TPS • Αυτόνομες αποφάσεις συμμετεχόντων • Δομές που επιτρέπουν βελτίωση επίδοσης μέσω υποστήριξης λειτουργικότητας των TPS για αυτόνομες αποφάσεις βάσει ευριστικών • Βελτιστοποιήσεις φέροντος • Συνδυασμός πολλαπλών μηνυμάτων σε ένα • Μονή φάση • Ένα μέλος όταν ζητείται επιβεβαίωση από το συντονιστή commit χωρίς prepare Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.
Συμπεράσματα • Αρκετές εννοιολογικές ομοιότητες μεταξύ των δύο • BTP πιο ρεαλιστικό για τον εμπορικό κόσμο (πλην μοντέλου ασφαλείας), WS-C/AT+BA πιο πλήρες σε περιβάλλον WS • Το WS-C/AT+BA μεταφέρει πιο πιστά τις έννοιες των κλασσικών TPS • Λόγω σχεδίασης, το WS-C/AT+BA συνδυάζεται καλύτερα με άλλα WS specs (WS-Addressing, WS-Policy, WS-Security, κλπ) Δίκτυα Προστιθέμενης Αξίας EDI & Εφαρμογές Η.Ε.