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

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

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

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

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

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

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

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

Η Γλώσσα WS-BPEL 2.0. Εργαστήριο Ανάλυσης Συστημάτων και Τεχνολογίας Λογισμικού. S3Laboratory

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

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

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

* Enterprise Resource Planning ** Customer Relationship Management

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

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

TECHNICAL REPORT. No. TR TRHP SOA Architecture. and Web Services. Αρχιτεκτονική SOA. και Υπήρεσι ες Ιστού. Παρασκεύή Τσού τσα.

Σηµασιολογικές Υπηρεσίες Ιστού

ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ

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

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

Κεφάλαιο 29. Τεχνητή Νοημοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου

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

Μηχανή εκτέλεσης ροών εργασίας για συστήματα χαμηλών προδιαγραφών

Πανεπιστήμιο Πειραιώς Τμ ή μα Ψήφιακώή ν Συστήμαή τών

Ανάπτυξη Συστήματος Σύνθεσης Υπηρεσιών Ιστού

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

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

Πίνακας Εικόνων. 22/04/2014 Έκδοση 3.0.1

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

Web Services. και SOAP

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

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

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

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

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

ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. «Εξαγωγή Γνώσης από Αποθήκες Υπηρεσιών Παγκόσμιου Ιστού»

Ανάπτυξη Γραφικού Περιβάλλοντος Σύνθεσης Υπηρεσιών Ιστού

Introduction to JAX-WS. Φοιτητής : ηµόπουλος Κωνσταντίνος

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

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

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

LGAF Business Process Modeling Framework

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές Διαχείρισης Δικτύων (Ι) Υλοποιήσεις Client Server Το Πρωτόκολλο SNMP Δομή SNMP Agent - MIB

ασθενών με χρήση XML Web Services και BPEL

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

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

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

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

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

Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ιαχείριση ικτύων ρ.αρίστη Γαλάνη Ακαδημαϊκό Έτος

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

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

Η Διαλειτουργικότητα στην Υπηρεσία του Πολίτη

Η Γλώσσα WS-BPEL 2.0. Εργαστήριο Ανάλυσης Συστημάτων και Τεχνολογίας Λογισμικού. S3Laboratory

Ανάπτυξηλογισμικού υλοποίησης του ανοικτού πρότυπου EPCALEv1.1 για εφαρμογές RFID

Η Γλώσσα WS-BPEL 2.0. Εργαστήριο Ανάλυσης Συστημάτων και Τεχνολογίας Λογισμικού. S3Laboratory

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

JAX-RPC (Web Services) ΕΠΛ 425: Τεχνολογίες ιαδικτύου Μιχάλης Έλληνας

Περιεχόμενα. Πρόλογος... xiii

Ταχύτητα, Απλότητα & Αξιοπιστία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

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

Δικτυοκεντρικά Πληροφοριακά Συστήματα

Κεφάλαιο 9: Τεχνολογία Υπηρεσιών Ιστού και Ηλεκτρονικό Εμπόριο

Η εφαρµογή των αρχιτεκτονικών Service Oriented Architectures σε οργανισµούς και επιχειρήσεις

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός

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

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

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

Β ΙΒ ΛΙΟ Θ Η ΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΙΩΑΝΝΙΝΑΝ

«Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους» Semantic Matching of Web Services Capabilities

Η Γλώσσα WS-BPEL 2.0. Εργαστήριο Ανάλυσης Συστημάτων και Τεχνολογίας Λογισμικού. S3Laboratory

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

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

Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

ΟΔΗΓΟΣ ΔΙΑΣΥΝΔΕΣΗΣ για το Έργο «Ανάπτυξη Πλατφόρμας Παροχής Υπηρεσιών Αποστολής και Λήψης Σύντομων Μηνυμάτων»

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

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

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

Διαχείριση Πληροφοριακών Συστημάτων

Ευχαριστίες. Σελίδα 3

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13

Τεχνολογία Λογισμικού

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

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές Διαχείρισης Δικτύων (ΙI) SNMP MIB - Αντικείμενα & Ορισμοί Πινάκων NETCONF (Network Configuration Protocol)

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές Διαχείρισης Δικτύων SNMP MIB - Αντικείμενα & Ορισμοί Πινάκων (επανάληψη) NETCONF (Network Configuration Protocol)

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ. ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. ιπλωµατική Εργασία Μεταπτυχιακού ιπλώµατος Ειδίκευσης

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

Διαχείριση Δικτύων με τη χρήση SNMP (5η άσκηση) Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9 ο Εξάμηνο,

"Ανάπτυξη προηγμένης εφαρμογής απεικόνισης και ενσωμάτωσης Υπηρεσιών Καταλόγου (LDAP) με τη χρήση των τεχνολογιών Web 2.0"

Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Ακαδημαϊκό έτος Πτυχιακή εργασία

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

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

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

Περιγραφή Διαδικασίας Υποβολής Συναλλαγών από τις ΕΠΕΥ. Transaction Reporting System (TRS)

Ηλεκτρονική Διακυβέρνηση & Ηλεκτρονικές Υπηρεσίες Μοντέλα και πρότυπα

Transcript:

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

Περιεχόμενα Εισαγωγή στις Υπηρεσίες Ιστού Ορισμοί Παραδείγματα Σύγκριση με άλλες τεχνολογίες Πρωτόκολλα Υπηρεσιών Ιστού SOAP WSDL UDDI 2

Συνοπτικός (αλλά περιεκτικός) ορισμός Οι υπηρεσίες ιστού είναι αυτόνομες, αρθρωτές (modular) εφαρμογές, που μπορούν να δημοσιευθούν, να εντοπισθούν και να κληθούν μέσω του Διαδικτύου, με τη χρήση κοινώς αποδεκτών προτύπων όπως XML, HTTP, WSDL, UDDI και SOAP 3

Παραδείγματα (1/2) Απλές υπηρεσίες ιστού: απαντούν σε απλές ερωτήσεις για πληροφορία ή επιτελούν κάποιες λειτουργίες, όπως π.χ. Ενημέρωση για την τρέχουσα τιμή μιας χρηματιστηριακής μετοχής Ενημέρωση για τον καιρό σε μια περιοχή Μετατροπή από ένα νόμισμα σε ένα άλλο 4

Παραδείγματα (2/2) Σύνθετες υπηρεσίες ιστού: συνδυάζουν πληροφορίες και λειτουργικότητα που προέρχεται από πολλές υπηρεσίες ιστού, προκειμένου να διεκπεραιώσουν μια συγκεκριμένη επιχειρησιακή διεργασία (business process), όπως π.χ. Χρέωση για μια παραγγελία Customer Relationship Management (CRM) 5

Πλεονέκτημα Υπηρεσιών Ιστού Αυτό που κυρίως διαφοροποιεί τις Υπηρεσίες Ιστού από αντίστοιχες τεχνολογίες είναι η χρήση κοινά αποδεκτών προτύπων Χρήση HTTP για τη μεταφορά δεδομένων firewall-friendly Χρήση XML για την περιγραφή δεδομένων γενικού σκοπού πιο κατανοητή (βέβαια, τίθεται το θέμα της απόδοσης) Χρήση της έννοιας του URL για την ταυτοποίηση των υπηρεσιών ιστού ευρέως διαδεδομένη 6

ΠΡΩΤΟΚΟΛΛΑ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 7

Κύκλος Ζωής Υπηρεσιών Ιστού Basic Layer Create Describe Publish Discover Invoke Unpublish Value- Added Layer Composition Security Brokering Transaction Handling Billing Reliability Monitoring Contracting 8

Γιατί χρειαζόμαστε πρωτόκολλα; Για να ξέρουμε τι μεταδίδεται «πάνω στο καλώδιο» και τι περιγράφει αυτό που μεταδίδεται «πάνω στο καλώδιο» Για να βρίσκουμε τις περιγραφές υπηρεσιών Για να μπορούμε να χρησιμοποιούμε τις περιγραφές των υπηρεσιών για να τις καλέσουμε (invoke) και να τις συνθέσουμε (compose) 9

WSDL, SOAP, UDDI: Αλληλεπιδράσεις Service Provider 1 Service Broker WSDL docs Δηµιουργία/Δηµοσίευση Οργανισµού ή Υπηρεσίας UDDI Registry 2 Ανάκτηση WSDL doc Αναζήτηση Οργανισµού ή Υπηρεσίας Κλήση Υπηρεσίας 5 6 23 7 8 Application utilizing Web Services 4 SOAP Message Service Requester 10

Πρωτόκολλα για Υπηρεσίες Ιστού WSDL - Web Service Description Language SOAP - Simple Object Access Protocol UDDI Universal Description, Discovery, and Integration 11

WSDL Web Services Description Language

Τι είναι η WSDL (1/2) Πρωτόκολλο περιγραφής Υπηρεσιών Ιστού Οι περιγραφές είναι XML documents που περιγράφουν τα interfaces των υπηρεσιών. Συγκεκριμένα περιγράφουν τις λειτουργίες που προσφέρονται τους μηχανισμούς πρόσβασης (διότι δεν είναι σε μια συγκεκριμένη πλατφόρμα) τη θέση που ειναι διαθέσιμη η υπηρεσία 13

Τι είναι η WSDL (2/2) To WSDL document περιλαμβάνει μια συλλογή από διάφορους τρόπους αλληλεπίδρασης (interaction paradigms), με τη δυνατότητα να συνδυάζονται λειτουργίες ή ομάδες λειτουργιών σε ένα interface Ο διαχωρισμός των interfaces, bindings and protocols δημιουργούν την ανάγκη για σπονδυλωτές προδιαγραφές Μπορεί να έχουμε διαφορετικές υπηρεσίες που να υλοποιούν το ίδιο interface αλλά να προσφέρουν την υπηρεσία σε διαφορετικές διευθύνσεις και να αλληλεπιδρούν με διαφορετικά πρωτόκολλα Η επικοινωνία μεταξύ πελάτη και υπηρεσίας είναι ασύγχρονη 14

Δομή ενός εγγράφου WSDL Abstract περιγραφή -> περιγράφει τα interfaces αντίστοιχα με τα παραδοσιακά middleware IDL Concrete περιγραφή -> protocol bindings και άλλες πληροφορίες 15

Δομή ενός εγγράφου WSDL Abstract περιγραφή Abstract περιγραφή Ορισμούς των port types Kάθε port type είναι μια λογική ομαδοποίηση λειτουργιών Κάθε λειτουργία περιγράφει απλή ανταλλαγή μηνυμάτων Ένα μήνυμα είναι μια μονάδα επικοινωνίας με μια υπηρεσία που αναπαριστά τα δεδομένα που ανταλλάσσονται σε μια μοναδική λογική συναλλαγή (single logical transaction) - Τα port types είναι το πιο σημαντικό στοιχείο στο WSDL. Περιγράφει ένα web service, τις λειτουργίες που προσφέρει και τα μηνύματα. Μπορεί να συγκριθεί με μια function library (ή μια κλάση ή ένα module) σε μια γλώσσα προγραμματισμού ή με τα interfaces στις παραδοσιακές middleware IDLs 16

Δομή ενός εγγράφου WSDL Abstract περιγραφή Port Types Τα port types είναι το πιο σημαντικό στοιχείο στο WSDL. Περιγράφει ένα web service, τις λειτουργίες που προσφέρει και τα μηνύματα που ανταλλάσσονται. Μπορεί να συγκριθεί με μια function library (ή μια κλάση ή ένα module) σε μια γλώσσα προγραμματισμού ή με τα interfaces στις παραδοσιακές middleware IDLs 17

Δομή ενός εγγράφου WSDL Σχηματικά WSDL definitions abstract part types messages port types operations concrete part bindings services and ports or endpoints 18

Δομή ενός εγγράφου WSDL Βήματα ορισμού της abstract περιγραφής (1/2) 1. Ορισμός του συστήματος τύπων δεδομένων που χρησιμοποιείται για την περιγραφή των μηνυμάτων (βασίζεται στο XML Schema) ώστε και οι δύο πλευρές να μεταφράζουν σωστά τα δεδομένα που ανταλλάσσονται. Σημειώστε ότι αυτό είναι διαφορεικό από τα IDLs σε conventional middleware, όπου το σύστημα τύπων επιβάλλεται από την πλατφόρμα (π.χ. CORBA ή J2EE) Τα σχήματα XML έχουν built-in βασικούς τύπους και μπορούν οι χρήστες να ορίζουν πιο σύνθετους τύπους. Επομένως, το πρώτο βήμα στον ορισμό ενός WSDL interface είναι να οριστούν όλοι οι τύποι δεδομένων που θα ανταλλάσονται ως μέρος των μηνυμάτων μεταξύ των εφαρμογών 2. Ορισμός μηνυμάτων που χρησιμοποιούν αυτούς τους τύπους δεδομένων Κάθε μήνυμα αποτελείται από μέρη που αφορούν στους τύπους δεδομένων εισόδου και εξόδου 19

Δομή ενός εγγράφου WSDL Βήματα ορισμού της abstract περιγραφής (2/2) 3. Ορισμός λειτουργιών ή ορισμός αλληλεπιδράσεων (transmission primitives) 4 βασικές λειτουργίες: one-way, request-response, notification, solicit-response Σύγχρονες αλληλεπιδράσεις ->request-response, solicit-response Ασύγχρονες αλληλεπιδράσεις -> one-way, notification http://www.roguewave.com/portals/0/products/hydraexpress/docs/4.3.0 /html/rwsfexpwsfabricationug/9-2.html 4. Ομαδοποίηση λειτουργιών σε port types Tα ports μπορούν να επεκτείνουν άλλα ports 20

Δομή ενός εγγράφου WSDL Γιατί χρειαζόμαστε την concrete περιγραφή (1/2) Οι προηγούμενοι ορισμοί είναι abstract διότι δεν περιέχουν κάποιο concrete binding ή encoding ή ορισμό της υπηρεσίας που υλοποιεί κάποια port types Για τον ορισμό μιας πραγματικής υπηρεσίας χρειάζεται να οριστούν τα συγκεκριμένα port types που υλοποιεί τα transport bindings που τα υλοποιούν και οι διευθύνσεις αυτών των υλοποιήσεων 21

Δομή ενός εγγράφου WSDL Γιατί χρειαζόμαστε την concrete περιγραφή (2/2) Το ίδιο port type μπορεί να υλοποιηθεί με πολλά bindings να συνδυαστεί με άλλες υλοποιήσεις port types και να σχηματίσει διαφορετικές υπηρεσίες Τα μηνύματα είναι abstract γιατί λείπει πληροφορία για το XML encoding που έχουν και το protocol binding. Ο ίδιος τύπος δεδομένων μπορεί να γίνει encoded σ ένα μήνυμα με διαφορετικούς κανόνες και το ίδιο μήνυμα μπορεί να ανταλλαγεί με διαφορετικά protocol bindings 22

Δομή ενός εγγράφου WSDL Concrete περιγραφή Αποτελείται από 3 μέρη Interface Bindings: περιγράφουν τη σύνδεση (binding) της διεπαφής (interface) με το πρωτόκολλο μεταφοράς (transport protocol) Ports: ορίζουν το endpoint ή την διεύθυνση δικτύου (network address) μίας σύνδεσης Services: ορίζουν την υπηρεσία, ως συλλογή όλων των συνδέσεων (bindings) μιας διεπαφής 23

Δομή ενός εγγράφου WSDL Concrete περιγραφή - Interface Bindings Interface Bindings περιγράφουν τη σύνδεση (binding) της διεπαφής (interface) με το πρωτόκολλο μεταφοράς (transport protocol) για όλα τα μηνύματα που περιγράφονται σ ένα port type. Για παράδειγμα, μπορεί να ορίζουν RPC-style operation (οπότε τα input/output είναι οι παράμετροι του procedure call) ή document-style operation (όπου τα input/output μηνύματα μεταφέρουν documents) Πως μεταφέρονται τα μηνύματα: με SOAP protocol και ΗΤΤP transport bindings (ή SMTP) Κανόνες κωδικοποίησης (Encoding rules) e.g. Κωδικοποίηση κατά γράμμα (literal encoding) για document style interactions, SOAP encoding για RPC-style interactions 24

Δομή ενός εγγράφου WSDL Concrete περιγραφή - Ports or Endpoints Ports ή Εndpoints Συνδυάζουν την πληροφορία που υπάρχει στο Interface Bindings με μια διεύθυνση δικτύου (με ένα URI) όπου μπορεί κάποιος να έχει πρόσβαση στο port type Αυτό δεν χρειάζεται στα παραδοσιακά middleware λόγω της κεντρικοποιημένης υποδομής που διαχειρίζεται τις διευθύνσεις 25

Services Δομή ενός εγγράφου WSDL Concrete περιγραφή - Services Λογικές ομαδοποιήσεις των ports Θεωρητικά ένα Web service μπορεί να είναι διαθέσιμο σε διαφορετικά URIs, και μπορεί να συνδυάζει τελείως διαφορετικά είδη ports. Στην πράξη, συνήθως ένα έγγραφο WSDL ομαδοποιεί σχετικά ports που είναι διαθέσιμα στην ίδια διεύθυνση Μια άλλη ομαδοποίηση είναι εκείνη όπου τα διάφορα ports αναπαριστούν διαφορετικά bindings των ίδιων port types. Αυτό επιτρέπει κάποιος να έχει πρόσβαση στην ίδια λειτουργικότητα με διαφορετικά transport protocols και interaction sytles 26

Δομή ενός εγγράφου WSDL Σχηματικά WSDL definitions abstract part types messages port types operations concrete part bindings services and ports or endpoints 27

Στοιχεία ενός εγγράφου WSDL WSDL document Types (type information for the document, e.g., XML Schema) Message 1 Message 2 Message 3 Message 4 Operation 1 Operation 2 Operation 3 Interface (abstract service) Message 5 Message 6 Abstract description of the service binding 1 endpoint 1 binding 2 endpoint 2 binding 3 endpoint 3 Service (the interface in all its available implementations) binding 4 endpoint 4 Concrete description of the service 28

WSDL Παράδειγμα <?xml version="1.0"?> <definitions name="procurement" targetnamespace=http://example.com/procurement/definitions xmlns:tns="http://example.com/procurement/definitions" xmlns:xs=http://www.w3.org/2001/xmlschema xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/ xmlns="http://schemas.xmlsoap.org/wsdl/" > <message name="ordermsg"> <part name="productname" type="xs:string"/> <part name="quantity" type="xs:integer"/> </message> abstract part messages <porttype name="procurementporttype"> <operation name="ordergoods"> <input message = "OrderMsg"/> </operation> </porttype> operation and port type <binding name="procurementsoapbinding" type="tns:procurementporttype"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="ordergoods"> <soap:operation soapaction="http://example.com/ordergoods"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="procurementservice"> <port name="procurementport" binding="tns:procurementsoapbinding"> <soap:address location="http://example.com/procurement"/> </port> </service> </definitions> concrete part binding port and service 29

Χρήση ενός εγγράφου WSDL Ως συμβόλαιο που περιγράφει Πως μπορείς να κάνεις interact με την υπηρεσία Τι δεδομένα χρειάζεται να στείλεις και τι να περιμένεις Ποιές λειτουργίες εκτελούνται Το format και τα πρωτόκολλα κλήσης της υπηρεσίας Επιτρέπει σε εργαλεία να παράγουν client και server stubs και τις πληροφορίες που χρειάζονται για την κλήση της υπηρεσίας Επιτρέπει τη δημιουργία σημασιολογίας από τις διάφορες εταιρείες Επιτρέπει δημοσίευση των περιγραφών και επιτρέπει αναζήτηση (σε συνδυασμό με το UDDI) και binding με τις κατάλληλες υπηρεσίες 30

Χρήση της WSDL 31

Χρήσιμοι Ιστότοποι SOAP - http://www.w3.org/tr/soap12-part0/ WSDL 2.0 - http://www.w3.org/tr/wsdl20-primer WSDL 1.1 - http://www.w3.org/tr/wsdl UDDI - http://uddi.xml.org/ Πληροφορίες σχετικά με Υπηρεσίες Ιστού http://www.webservicesarchitect.com/ http://www.w3schools.com/webservices/default.a sp 32