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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: Ανάπτυξη Συστήματος Βασισμένο στην BPEL Για την συγκέντρωση Πληροφοριών μέσω υπηρεσιών ιστού με βάση προκαθορισμένους κανόνες ΕΠΙΜΕΛΕΙΑ: ΗΛΙΑΣ ΦΥΛΑΚΤΟΥ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: Κος ΠΡΩΤΟΓΕΡΟΣ ΝΙΚΟΛΑΟΣ ΘΕΣΣΑΛΟΝΙΚΗ ΣΕΠΤΕΜΒΡΙΟΣ 2009

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

3 3 ΕΠΙΜΕΛΕΙΑ: ΔΡΑΓΑΝΗΣ ΒΑΣΙΛΕΙΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΡΑΓΙΩΡΓΟΣ ΘΕΟΦΑΝΗΣ ΕΠΙΜΕΛΕΙΑ: ΔΡΑΓΑΝΗΣ ΒΑΣΙΛΕΙΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΡΑΓΙΩΡΓΟΣ ΘΕΟΦΑΝΗΣ ΠΕΡΙΛΗΨΗ Αναφερόµενοι στα Web Services µιλάµε για υπηρεσίες οι οποίες βασίζονται σε πρότυπα Web (HTTP, XML) µε απώτερο σκοπό την επικοινωνία, µε τη βοήθεια µηνυµάτων µεταξύ client-servers ανεξαρτήτως προέλευσης. O client έχει την δυνατότητα να ενσωµατώσει µια υπηρεσία απλά διαβάζοντας ένα κείµενο WSDL, ώστε να διαβάσει τη δοµή των µηνυµάτων που απαιτεί η υπηρεσία και βάσει αυτής της πληροφορίας να στείλει τα κατάλληλα µηνύµατα µε SOAP. Στη παρούσα εργασία θα αναπτύξουµε υπηρεσίες ιστού µε την βοήθεια της c#, της Soa αρχιτεκτονικής και των επιχειρησιακών διαδικασιών BPEL έτσι ώστε συνδυάζοντας αυτές να έχουµε εύκολη πρόσβαση σε δηµόσια έγγραφα. Η εφαρµογή έχει σαν σκοπό την εύκολη απόκτηση ενός αντιγράφου πτυχίου από τις βάσεις των πανεπιστήµιων. Επιπρόσθετα αν αλλάξει ο ενδιαφερόµενος τα στοιχεία της ταυτότητας ενηµερώνονται και όλα τα πεδία που σχετίζονται µε τον ενδιαφερόµενο στις βάσεις των πανεπιστήµιων και συγκεκριµένα ο κωδικός της ταυτότητας. Τέλος υπάρχει η δυνατότητα αναζήτησης ανά τµήµα για την εύρεση των καλύτερων φοιτητών µε τη βοήθεια της BPEL. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ Service Oriented Architecture (SOA), Web Services, Web Service Description Language (WSDL), Simple Object Access Protocol (SOAP), Universal Description & Discovery Integration (UDDI), Internet Information Services (IIS), Visual studio, MS-sql, Business Process Execution Language (BPEL).

4 ABSTRACT ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ 4 Web Services refer to services that are based on Web-standards like (HTTP, XML) and aim to communicate using messages between client-servers from all sources. The clients have the ability to incorporate a service simply by reading a text based on WSDL structure of messages in order to read the structure of the message which is being required by the service and based on that information they send the appropriate message in SOA. In this project we develop web services with the help of c # and Soa in order to combine them and have easy access to public documents. The application can easily obtain a copy of a diploma in search of the bases of the universities. Furthermore if the student changes his id then there is the possibility that all the fields related with him in the data base system of the university will be updated. Finally we search and find the best students in a faculty with some help of the ΒPEL KEYWORDS Service Oriented Architecture (SOA), Web Services, Web Service Description Language (WSDL), Simple Object Access Protocol (SOAP), Universal Description & Discovery Integration (UDDI), Internet Information Services (IIS), Visual studio, MS-sql, Business Process Execution Language (BPEL).

5 5 Εικόνες Εικόνα 1: υπηρεσία διαδικτύου Εικόνα 2: Ένα απλό σενάριο µιας Web Service Εικόνα 3: Η hub-and-spoke τοπολογία Εικόνα 4: Σενάριο απλής υπηρεσίας Εικόνα 5: Σενάριο Σύνθετης Υπηρεσίας Εικόνα 6: Σενάριο Ενδιάµεσης Υπηρεσίας Εικόνα 7: Σενάριο ιαδρόµου υπηρεσιών Εικόνα 8: Επικοινωνία µέσω ΧΜL µηνυµάτων Εικόνα 9:Structure SOAP Εικόνα 10: Η αρχιτεκτονική της επικοινωνίας µε RPC µηνύµατα Εικόνα 11: Η ιδιότητα 'encoding Style' Εικόνα 12: SOAP λάθος Εικόνα 13: Ένα WS-Routing µήνυµα Εικόνα 14: Οι αιτήσεις SOAP αποστέλλονται στον HTTP εξυπηρετητή και οι απαντήσεις επιστρέφονται µέσω της HTTP σύνδεσης Εικόνα 15: HTTP αίτηση που περιέχει ένα µήνυµα SOAP Εικόνα 16: HTTP απάντηση που περιέχει ένα µήνυµα SOAP Εικόνα 17: οµή WSDL κειµένου Εικόνα 18: UDDI Model Εικόνα 19: BPEL ροή Εικόνα 20: partnerlinktype Εικόνα 21: ήλωση µεταβλητής στη BPEL Εικόνα 22: Στάδια εφαρµογής G2G Εικόνα 23: Είδη e-υπηρεσιών Εικόνα 24:αρχιτεκτονική Εικόνα 25: Π.χ ηµοσιευµένου web service µέσω vs Εικόνα 26:αναπαράσταση ροής Εικόνα 27:Bpel designer Εικόνα Εικόνα 29:BPEL ροή Εικόνα 30:περιγραφή του web service Εικόνα 31: Application Overview Εικόνα 32:Αναζήτηση φοιτητή Εικόνα 33:Επιστροφή αποτελεσµάτων Εικόνα 34:Εκτύπωση report (αντιγράφου πτυχίου) Εικόνα 35:Εκτύπωση βεβαίωσης σπουδών Εικόνα 36:Αναζήτηση κατόχου Αστυνοµικής ταυτότητας Εικόνα 37:επιστροφή στοιχείων ύστερα από αναζήτηση Εικόνα 38:Ανανέωση βάσεων Εικόνα 39:Επιστροφή αποτελεσµάτων µε τη βοήθεια της ροής BPEL... 81

6 Περιεχόμενα ΠΕΡΙΛΗΨΗ... 3 ABSTRACT... 4 Εικόνες... 5 Περιεχόμενα... 6 ΚΕΦΑΛΑΙΟ 1:... 8 ΕΙΣΑΓΩΓΗ... 8 ΚΕΦΑΛΑΙΟ Βιβλιογραφική και επιστηµονική επισκόπηση: Εισαγωγη: Ορισµός Των Web Services Eνα παράδειγµα web service Why Web Services Layers & Web Services Service Transport (Επίπεδο Μεταφοράς) Service Messaging (Επίπεδο Μηνυµάτων) Service Description (Επίπεδο Περιγραφής) Service Registry ( Κατάλογος Υπηρεσιών ) Service Composition - Σύνθεση Υπηρεσιών Εφαρµογές των Web Services Business-to-Business Enterprise Application Integration ΣΕΝΑΡΙΑ ΥΛΟΠΟΙΗΣΗΣ Απλή υπηρεσία Σύνθετη Υπηρεσία Ενδιάµεση Υπηρεσία ιάδροµος Υπηρεσιών SOA (Service oriented Architecture) SOAP (Simple Object Access Protocol) SOAP και XML Επικοινωνία µέσω XML µηνυµάτων RPC και EDI Κωδικοποίηση SOAP µηνύµατα Envelopes RPC messages Η ιδιότητα mustunderstand Στυλ κωδικοποίησης Λάθη SOAP Πρότυποι κωδικοί SOAP λαθών Το Μοντέλο Ανταλλαγής SOAP Μηνυµάτων Paths και Actors µηνυµάτων Το πρωτόκολλο της SOAP δροµολόγησης Χρησιµοποιώντας το SOAP για RPC-style Web Services Καλώντας µεθόδους SOAP µεταφορές SOAP πάνω από HTTP WSDL (Web Service Description Language) Η WSDL προδιαγραφή

7 2.9.2 UDDI (Universal Description & Discovery Integration) Οργάνωση του UDDI UDDi Model BusinessEntity BusinessService ΒindingTemplate ΤModel Ανακάλυψη Των web Services στο UDDI ηµοσίευση στο UDDI BPEL (Business Process Execution Language) Τι είναι µια ροή εργασίας Υλοποίηση της ροής εργασίας Activities Partners (συνέταιροι) : Αλληλεπιδρώντας µε άλλους ιαχείριση εδοµένων Ηλεκτρονική ιακυβέρνηση Εισαγωγή Σταδία Εφαρµογής G2G Είδη Υπηρεσιών Παραδείγµατα G2G ΚΕΦΑΛΑΙΟ Αρχιτεκτονική του προτεινόµενου συστήµατος: Αρχιτεκτονική Του Συστήµατος ΚΕΦΑΛΑΙΟ Υλοποίηση: Εισαγωγή:Υλοποίηση Εφαρµογής Πλατφόρµα και Εργαλεία Ανάπτυξης Λειτουργικό Σύστηµα Υλοποίηση των επιµέρους εφαρµογών κάθε επιχείρησης Υλοποίηση Υπηρεσιών Ιστού και Επιχειρησιακών ιαδικασιών Υλοποίηση Υπηρεσιών Ιστού Λειτουργία Της Εφαρµογής ΚΕΦΑΛΑΙΟ Συµπεράσµατα Εισαγωγή Συµπεράσµατα ΒΙΒΛΙΟΓΡΑΦΙΑ

8 8 ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ Στις µέρες µας, η ολοένα και αυξανόµενη ανάγκη για καλύτερη και ταχύτερη παροχή υπηρεσιών που παρατηρείται στο χώρο των δηµόσιων υπηρεσιών έχει καταστήσει επιτακτική την ανάγκη για αποτελεσµατικότερη επικοινωνία και ανταλλαγή πληροφοριών. Η αλµατώδης ανάπτυξη των τεχνολογιών της πληροφορικής και των επικοινωνιών συνέβαλε στην κάλυψη, σε µεγάλο βαθµό, των παραπάνω αναγκών, επιτρέποντας στους δηµόσιους φορείς να συνεργάζονται πιο αποδοτικότερα από ποτέ. Η αποδοτικότερη επικοινωνία και ανταλλαγή πληροφοριών συνεπάγεται και τη δυνατότητα του συστήµατος να καθορίζει το είδος και την ποσότητα της πληροφορίας που θα είναι διαθέσιµη αλλά και να µπορεί να την αλλάζει ανά πάσα στιγµή. Το πρώτο καιρό της διάδοσης της πληροφορικής αποτελούσε κοινή πεποίθηση ότι οι e-υπηρεσίες (ηλεκτρονικές υπηρεσίες ) των δηµόσιων οργανισµών αφορούσαν µόνο την δηµοσίευση πληροφοριών στο κυβερνοχώρο σχετικών µε το προφίλ του οργανισµού, το σκοπό λειτουργίας του και το έργο του. Σύντοµα όµως τα εµπόδια τα οποία υπήρξαν κατά την εφαρµογή των ηλεκτρονικών υπηρεσιών, αποκάλυψαν παραλείψεις οι οποίες καθιστούσαν δύσκολο τον επιτυχή εκσυγχρονισµό των δηµόσιων οργανισµών. Πέρα από τον τοµέα της πληροφορικής ο οποίος θα πρέπει απαραιτήτως να περιλαµβάνεται επιπλέον θα πρέπει να λαµβάνουµε υπόψη τη στρατηγική, τη κουλτούρα και τη δοµή του φορέα Έγινε, λοιπόν, αντιληπτό ότι για ολοκληρωµένη επικοινωνία µεταξύ δηµοσίων οργανισµών και πολιτών είναι αναγκαία η εισαγωγή νέων υπηρεσιών, οι οποίες θα παρέχουν ενιαίο τρόπο ανταλλαγής πληροφοριών ανεξάρτητα από τυχόν ιδιαιτερότητες των επιµέρους συστηµάτων καθώς και βελτιωµένα επίπεδα ασφαλείας, ώστε να επιτρέπεται η διασύνδεση των συστηµάτων µε τρόπο παρόµοιο µε αυτόν της διασύνδεσης υπολογιστών σε ένα Intranet. Οι Web Services (Υπηρεσίες Ιστού), που αναπτύχθηκαν σηµαντικά την τελευταία δεκαετία, αποτελούν ίσως την πιο ολοκληρωµένη λύση στο παραπάνω πρόβληµα. Ένα Web service περιγράφει ένα σύνολο λειτουργιών τις οποίες ο κάθε φορέας δηµοσιεύει στο διαδίκτυο µε σκοπό την εύκολη πρόσβαση σε αυτές από τρίτους. Επιπροσθέτως τα Web service (Υπηρεσίες Ιστού) µπορούν να εγγυηθούν µια αυτοµατοποιηµένη ολοκλήρωση επιχειρησιακών διαδικασιών, σε επίπεδο εφαρµογής, πατώντας πάνω στην ευρέως διαδεδοµένη δικτυακή υποδοµή του Internet και

9 αντικαθιστώντας τους ήδη υπάρχοντες διαφορετικούς τύπους δεδοµένων µε µια προτυποποιηµένη υποδοµή ανταλλαγής µηνυµάτων που αξιοποιεί την τεχνολογία XML. Τα Web services εστιάζουν στην ανταλλαγή µηνυµάτων µε τη βοήθεια των προτύπων WSDL και SOAP. Η WSDL (Web Services Description Language) χρησιµοποιείται για την περιγραφή µια υπηρεσίας ιστού µέσω των επαναχρησιµοποιούµενων συνδέσεων (bindings τα οποία περιγράφονται από το πρωτόκολλο SOAP για την διασύνδεση δύο σηµείων που επιθυµούν να επικοινωνήσουν µεταξύ τους),τους τύπους θύρας και τις διευθύνσεις. Οι επιχειρησιακές διαδικασίες καθιστούν για αναγκαία την ύπαρξη ενός διατυπωµένου µοντέλου διαδικασιών το οποίο ενορχηστρώνει το σύνολο των υπηρεσιών που αλληλεπιδρούν µεταξύ τους. Για αυτό το σκοπό αναπτύχτηκαν γλώσσες όπως η WSFL της IBM, η XLANG της Microsoft και πιο πρόσφατη η BPEL. Η µελέτη του προτύπου BPEL και των Web service, καθώς και ένα παράδειγµα εφαρµογής που αξιοποιεί τις αναφερθέντες τεχνολογίες για την ηλεκτρονική ανάκτηση δηµοσίων εγγράφων αποτελούν το αντικείµενο της παρούσας εργασίας. Αναλυτικότερα στις Ενότητες γίνεται εκτενής αναφορά στις υπηρεσίες ιστού και περιγράφεται το µοντέλο αρχιτεκτονικής SOA.Επίσης περιγράφονται οι τεχνολογίες των Web services και τα πρότυπα που χρησιµοποιούν σε κάθε επίπεδο. Στην Ενότητα 2.10, αναπτύσσονται οι έννοιες της Επιχειρησιακής ιαδικασίας, και των διάφορων µορφών που µπορεί να έχει, και της Ροής Εργασίας. Στην Ενότητα 2.11 περιγράφεται η έννοια e-government(ηλεκτρονική διακυβέρνηση ) και αναλύεται η υπάρχουσα κατάσταση στην Ελλάδα.Επιπλέον παρουσιάζονται κάποιες υπάρχουσες ηλεκτρονικές υπηρεσίες. Στην Ενότητα 3 αναλύεται η περιγραφή του συστήµατος, Συγκεκριµένα, περιγράφονται οι τεχνολογίες που χρησιµοποιήθηκαν για την υλοποίηση του συστήµατος, η αρχιτεκτονική του συστήµατος και τα επιµέρους τµήµατα που το αποτελούν. Στην Ενότητα 4 παρουσιάζεται το interface και η λειτουργία της εφαρµογής. Στην Ενότητα 5 παρουσιάζονται τα συµπεράσµατα σχετικά µε τις τεχνολογίες που χρησιµοποιήθηκαν και την εξέλιξη των πραγµάτων στην Ελλάδα. 9

10 10 ΚΕΦΑΛΑΙΟ 2 Βιβλιογραφική και επιστηµονική επισκόπηση: Εισαγωγη: Η έλευση των Υπηρεσιών Ιστού (Web Services) στο χώρο του ιαδικτύου, την τελευταία δεκαετία, υπόσχεται τη δηµιουργία ενός κατανεµηµένου διαλειτουργικού περιβάλλοντος, µέσα στο οποίο εφαρµογές ή τµήµατα εφαρµογών, ανεξαρτήτως πλατφόρµας ή γλώσσας υλοποίησης, θα µπορούν να επικοινωνούν απρόσκοπτα µεταξύ τους. Η διαλειτουργικότητα αυτή εισήγαγε και εδραίωσε την ετερογένεια (heterogeneity) στο χώρο των κατανεµηµένων συστηµάτων. Ο όρος «Υπηρεσίες Ιστού» αναφέρθηκε αρχικά ως το σύνολο των υπηρεσιών που είναι διαθέσιµες µέσω του Παγκόσµιου Ιστού. Η σηµερινή ερµηνεία του όρου, όµως, περιλαµβάνει πολύ περισσότερα όπως την αρχιτεκτονική, τα πρότυπα, την τεχνολογία και τα επιχειρηµατικά µοντέλα που απαιτούνται για να υλοποιηθούν οι Υπηρεσίες Ιστού. Ένας από τους πιο συχνά χρησιµοποιούµενους ορισµούς για την περιγραφή των Υπηρεσιών Ιστού είναι αυτός που έχει δοθεί από την IBM: Οι Υπηρεσίες Ιστού είναι µια νέα γενιά εφαρµογών ιστού. Είναι αυτόπεριγραφικές, ανεξάρτητες, αρθρωτές εφαρµογές που µπορούν να τοποθετούνται, να δηµοσιεύονται και να καλούνται µέσα από το ιαδίκτυο. Οι Υπηρεσίες Ιστού εκτελούν λειτουργίες που µπορεί να είναι οτιδήποτε, από ένα απλό αίτηµα έως µια πολύπλοκη επιχειρησιακή διαδικασία. Οι Υπηρεσίες Ιστού στηριζονται σε µια σειρα τεχνολογιων αρχιτερκτονικής όπως είναι η SOA,σε πρωτοκόλλα όπως το SOAP, σε γλωσσές περιγραφής όπως η wsdl, και σε µοντέλα σαν το UDDI.Για την ενορχήστρωση τους χρησιµοποιούνται γλωσσες όπως η ΒPEL.Όλα τα παραπάνω θα αναλυθούν στη παρούσα ενότητα

11 Ορισµός Των Web Services Σύµφωνα µε το World Wide Web Consortium ένα Web service αποτελεί µια εφαρµογή λογισµικού που αναγνωρίζεται από ένα URI, της οποίας το interface και τα bindings µπορούν να αναγνωριστούν, να περιγραφούν και να ανακαλυφθούν µε τη βοήθεια της γλώσσας ΧΜL. Επιπλέον υποστηρίζει απ ευθείας αλληλεπίδραση µε άλλες εφαρµογές λογισµικού χρησιµοποιώντας µηνύµατα βασισµένα σε XML µέσω πρωτοκόλλων Internet (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003). Σε µια πιo απλούστερη προσέγγιση ένα web service αναφέρεται σε µια υπηρεσία η οποία βρίσκεται στο ιστό αρκεί να καλέσουµε το κατάλληλο link,χρησιµοποίει καθορισµένους κανόνες ανταλλαγής µηνυµάτων µέσω XML και δεν απαιτεί την ύπαρξη κάποιου συγκεκριµένου λειτουργικού συστήµατος ή γλώσσας προγραµµατισµού. Εικόνα 1: υπηρεσία διαδικτύου υο είναι τα κυρίαρχα τα χαρακτηριστικά ενός web service: Ένα web service πρέπει να είναι αυτό-περιγραφόµενο. Όταν γίνεται publicing ένα web service πρέπει να δηµοσιεύει και µια περιγραφή αυτού, έτσι ώστε οι προγραµµατιστές που αναπτύσσουν µια εφαρµογή να µπορούν µε ευκολία να τη συµπεριλάβουν στο πρόγραµµα. Στην περίπτωση ενός SOAP service η συγκεκριµένη διαδικασία γίνεται µε τη βοήθεια της XML έτσι ώστε να καθοριστούν όλες οι µέθοδοι, τα ορίσµατά τους και οι επιστρεφόµενες τιµές.

12 Ένα web service πρέπει να είναι traceable. Αυτό γίνεται µε την δηµοσίευση της περιγραφής του έτσι ώστε να µπορούν να το βρουν µε ευκολία όσοι χρειαστούν να το χρησιµοποιήσουν. 12 Συνοψίζοντας τα παραπάνω µπορούµε να πούµε ότι ένα web service: Μπορεί να υπάρχει τόσο σε ιδιωτικά όσο και σε δηµόσια δίκτυα. Βασίζεται σε ανταλλαγή µηνυµάτων µέσω XML εν εξαρτάται από κανένα λειτουργικό και γλώσσα προγραµµατισµού Είναι αυτό-περιγραφόµενο Είναι traceable 2.2 Eνα παράδειγµα web service Θεωρούµε το απλό παράδειγµα του παρακάτω σχήµατος όπου ένας πάροχος υπηρεσιών ταξιδιωτικών κρατήσεων παρουσιάζει τις επιχειρηµατικές εφαρµογές σαν web services που υποστηρίζουν πλήθος πελατών και των αιτήσεών τους. Αυτές οι επιχειρηµατικές αιτήσεις παρέχονται από διαφορετικούς ταξιδιωτικούς οργανισµούς, που εδρεύουν σε διαφορετικά δίκτυα και γεωγραφικές θέσεις.

13 13 Εικόνα 2: Ένα απλό σενάριο µιας Web Service Το ακόλουθο είναι ένα τυπικό σενάριο: 1. Ο πάροχος ταξιδιωτικών υπηρεσιών αναπτύσσει τις δικές του web services εκθέτοντας τις επιχειρηµατικές προτάσεις που εξασφάλισε από διάφορες ταξιδιωτικές επιχειρήσεις, όπως αυτές αερογραµµών, ενοικιάσεων αυτοκινήτων, διαµονής σε ξενοδοχεία, πληρωµής πιστωτικών καρτών και άλλα. 2. Ο πάροχος των υπηρεσιών καταχωρεί τις υπηρεσίες που διαθέτει µαζί µε τις περιγραφές αυτών χρησιµοποιώντας ιδιωτική ή δηµόσια καταχώρηση. Ο κατάλογος των καταχωρήσεων αποθηκεύει τις σχετικές µε τις υπηρεσίες πληροφορίες που εξέθεσε ο πάροχος των υπηρεσιών. 3. Ο πελάτης ανακαλύπτει τις web services χρησιµοποιώντας µια µηχανή αναζήτησης ή εντοπίζοντάς αυτές απ ευθείας από τον κατάλογο και

14 στην συνέχεια τις καλεί για να πραγµατοποιήσει ταξιδιωτικές κρατήσεις και άλλες λειτουργίες στο Internet χρησιµοποιώντας οποιαδήποτε πλατφόρµα ή άλλη συσκευή. 4. Στην περίπτωση µεγάλων οργανισµών, οι επιχειρηµατικές εφαρµογές χρησιµοποιούν αυτές τις web services για να προσφέρουν ταξιδιωτικές υπηρεσίες στους υπαλλήλους τους µέσω του εσωτερικού εταιρικού δικτύου. 14 Το προηγούµενο παράδειγµα παρέχει ένα απλό σενάριο για το πώς οι επιχειρηµατικές λειτουργίες ενός οργανισµού µπορούν να παρουσιαστούν ως web services και να κληθούν από τους πελάτες του. 2.3 Why Web Services. Παραδοσιακά οι Web Εφαρµογές έδιναν την δυνατότητα αλληλεπίδρασης µεταξύ χρήστη και web site τώρα όµως µε την έλευση των web services έχουµε την δυνατότητα επικοινωνίας από εφαρµογή σε εφαρµογή. Τα παρακάτω στοιχεία που παρατίθενται αποτελούν τους βασικότερους λόγους επιλογής των web services έναντι των web εφαρµογών: Τα web services µπορούν να κληθούν µε τη βοήθεια RPC µηχανισµών βασισµένων στην ΧΜL χωρίς να εµποδίζονται από firewalls. Τα web services παρέχουν µια λύση που εφαρµόζεται σε όλες τις πλατφόρµες και γλώσσες και βασίζεται στην ανταλλαγή XML µηνυµάτων. Τα web services διευκολύνουν την υλοποίηση των εφαρµογών χρησιµοποιώντας µια υποδοµή που δεν επηρεάζει τη δυνατότητα κλιµάκωσης Τα web services καθιστούν δυνατή τη διαλειτουργικότητα µεταξύ ετερογενών εφαρµογών

15 2.4 Layers & Web Services. ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ 15 Τα web services κατηγοριοποιούνται σε ένα µοντέλο επιπέδων. Αναλύονται σε πέντε επίπεδα τα οποία είναι τα εξής: 1) το Service transport 2) το Service messaging 3) το Service description 4) το Service registry 5) Service Composition Παρακάτω παρουσιάζονται αναλυτικά τα πέντε επίπεδα Service Transport (Επίπεδο Μεταφοράς) Το επίπεδο µεταφοράς είναι υπεύθυνο για την µεταφορά των δεδοµένων από το ένα µηχάνηµα στο άλλο. Αποτελεί ουσιαστικά το πρωτόκολλο για τη µετάδοση δεδοµένων των web services.τα web services χρησιµοποιούν διάφορα πρωτοκόλλα για την µεταφορά των δεδοµένων από υπηρεσία σε υπηρεσία όπως των HTTP, SMTP, FTP χωρίς να περιορίζονται αποκλειστικά σε αυτά. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Το πιο ευρέως χρησιµοποιούµενο είναι το HTTP γιατί δεν µπλοκάρεται από firewalls Service Messaging (Επίπεδο Μηνυµάτων) Το επίπεδο µηνυµάτων µε την βοήθεια της XML περιγράφει σε τι µορφές θα είναι τα δεδοµένα ώστε να µπορούν να µεταφερθούν από τη µια υπηρεσία στην άλλη. Τα δεδοµένα διαµορφώνονται σαν δέντρο (tree) µε στοιχεία (elements) και ολόκληρη η δενδρική µορφή καλείται έγγραφο (document). Η XML δεν έχει ξεχωριστή περιγραφή δεδοµένων γιατί τα ίδια τα δεδοµένα περιγράφουν τον εαυτό τους κι αυτό συµβαίνει γιατί έχουν ειδικές ετικέτες.οι ετικέτες τους δίνουν ένα όνοµα καθώς και την θέση τους µέσα στη δενδρική µορφή.

16 Το SOAP (Simple Object Access Protocol) είναι µια προδιαγραφή η οποία ορίζει στον χρήστη µιας υπηρεσίας και στον πάροχο αυτής πώς να διαµορφώσουν και να διαβάσουν ένα µήνυµα γραµµένο σε XML το οποίο χρησιµοποιείται από µια υπηρεσία. Ένα SOAP µήνυµα χωρίζεται σε τρεις βασικές περιοχές: τον φάκελο, την επικεφαλίδα και το σώµα. Εκτενέστερη αναφορά θα υπάρξει στο κεφάλαιο SOAP. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Service Description (Επίπεδο Περιγραφής) Το service description καθορίζει εκείνα τα χαρακτηριστικά των web service τα οποία µας βοηθάνε να τα χρησιµοποιήσουµε.τα οποία είναι τα εξής: Μεθόδους τις οποίες δηµοσιεύει ένα web service Τα µηνύµατα που δέχεται Το απαραίτητο πρωτόκολλο µέσω του οποίου ο χρήστης θα συνδεθεί στην υπηρεσία. Οι υπηρεσίες διαδικτύου χρησιµοποιούν µια γλώσσα περιγραφής την WSDL (Web Services Description Language) για να καθορίσουν µια σύµβαση υπηρεσίας. Η σύµβαση υπηρεσίας είναι µια περιγραφή ενός συνόλου από τελικά σηµεία (endpoints) στα οποία στέλνονται ή λαµβάνονται µηνύµατα µαζί µε µια προδιαγραφή για το πώς πρέπει να διαµορφωθεί ένα XML µήνυµα. Το τελικό σηµείο (endpoint) είναι µια διεύθυνση στο διαδίκτυο η οποία δέχεται ειδικά διαµορφωµένα µηνύµατα σύµφωνα µε τη προδιαγραφή που καθορίζει η WSDL. Η WSDL χρησιµοποιεί τον όρο port για να περιγράψει το τελικό σηµείο το οποίο θα δεχτεί το µήνυµα. Η WSDL περιγράφει τη σύµβαση της υπηρεσίας σαν µια συλλογή από ports τα οποία η υπηρεσία ιστού έχει κάνει διαθέσιµα. Κατά την ώρα της ανάπτυξης της υπηρεσίας (development time), ο πελάτης µπορεί να δηµιουργήσει ένα στέλεχος αυτής (stub) χρησιµοποιώντας την περιγραφή της. Το στέλεχος (stub) είναι µια κλάση η οποία συµφωνεί µε την περιγραφή της

17 υπηρεσίας. Ο πελάτης συνδέεται µε το στέλεχος κατά την ώρα της σύνταξης (compile time). Αυτό καλείται αρχικό δέσιµο (early binding). 17 Οι υπηρεσίες διαδικτύου υποστηρίζουν επίσης και την ιδέα του late binding, ένα δέσιµο που γίνεται µόνο κατά την ώρα που εκτελείται µια υπηρεσία µεταξύ του πελάτη και του παροχέα της υπηρεσίας. Αυτό γίνεται χρησιµοποιώντας ένα δυναµικό πληρεξούσιο ( dynamic proxy) που διαµορφώνεται δυναµικά κατά την ώρα της εκτέλεσης χρησιµοποιώντας την WSDL περιγραφή της υπηρεσίας ιστού. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Service Registry ( Κατάλογος Υπηρεσιών ) Οι υπηρεσίες διαδικτύου υποστηρίζουν την ιδέα της δυναµικής εύρεσης υπηρεσιών. Ένας πελάτης χρησιµοποιεί την αποθήκη υπηρεσιών για να ανακαλύψει υπηρεσίες που τον ενδιαφέρουν. Το UDDI (Universal Description, Discovery and Integration) είναι ένα web service από µόνο του που υποστηρίζει ένα σύνολο υπηρεσιών οι οποίες επιτρέπουν σε ένα χρήστη µιας υπηρεσίας να ανακαλύψει δυναµικά και να ανακτήσει την περιγραφή µιας υπηρεσίας διαδικτύου. Οι UDDI αποθήκες είναι από µόνες τους υπηρεσίες διαδικτύου που εκθέτουν ένα API ως ένα σύνολο καλά διαµορφωµένων SOAP µηνυµάτων. Τόσο ο πάροχος µιας υπηρεσίας όσο και ο καταναλωτής αυτής χρησιµοποιούν το SOAP και το HTTP για να δηµοσιεύσουν µια υπηρεσία στην αποθήκη και να λάβουν πληροφορίες για όποιες άλλες ενδιαφέρονται. Οι δηµόσιες αποθήκες υπηρεσιών παρέχουν πληροφορίες για το σηµείο στο οποίο µπορείς να καλέσεις την υπηρεσία, τον ιδιοκτήτη της εταιρείας που παρέχει την υπηρεσία και κάποιες τεχνικές πληροφορίες για το web service. Το UDDI υποστηρίζει δύο τύπους συνοµιλίας: Ο πάροχος υπηρεσίας χρησιµοποιεί την UDDI αποθήκη για να δηµοσιεύσει πληροφορίες σχετικά µε τις υπηρεσίες που παρέχει.

18 Ο καταναλωτής µιας υπηρεσίας στέλνει XML µηνύµατα διαµορφωµένα σύµφωνα µε το SOAP προς την αποθήκη υπηρεσιών για να παραλάβει µια λίστα από υπηρεσίες που ταιριάζουν στα κριτήριά του. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Service Composition - Σύνθεση Υπηρεσιών Η σύνθεση υπηρεσιών αναφέρεται στη δυνατότητα να συνδυάζουµε υπηρεσίες σε µια ροή εργασίας. Αυτό αναφέρεται επίσης ως «ενορχήστρωση υπηρεσιών» ή ως «χορογραφία υπηρεσιών» (service orchestration ή service choreography). Η σύνθεση υπηρεσιών αναφέρεται στην ικανότητα να βάζεις σε µια λογική σειρά και να κατευθύνεις συνοµιλίες µεταξύ υπηρεσιών σε µια µεγαλύτερη συναλλαγή. Για παράδειγµα, µια συναλλαγή που προσθέτει έναν πελάτη σε µια υπηρεσία τραπεζικών λογαριασµών µπορεί κάλλιστα να δηµιουργήσει περαιτέρω λογαριασµούς µε το να παράσχει τις πληροφορίες του πελάτη στην υπηρεσία. Όλες αυτές οι αιτήσεις κατευθύνονται από ένα ευρύτερο επιχειρηµατικό διαδικαστικό διάγραµµα το οποίο ή ολοκληρώνεται µε επιτυχία ή αποτυγχάνει εξ ολοκλήρου. Υπάρχει πληθώρα προτεινόµενων γλωσσών για να περιγράψουν ένα επιχειρηµατικό διαδικαστικό διάγραµµα. Οι δύο περισσότερο γνωστές είναι οι WSFL και XLANG. Πρόσφατα οι εταιρείες IBM, Microsoft και BEA συνδύασαν τις δύο παραπάνω γλώσσες σε µία προδιαγραφή που ονοµάζεται BPEL4WS (Business Process Execution Language for Web Services). (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) 2.5 Εφαρµογές των Web Services Τα Web Services βρίσκουν εφαρµογή σε πολλούς τοµείς όπως των ηλεκτρονικών παιχνιδιών ή της υγείας. Ο τοµέας όµως ο οποίος µονοπωλεί το ενδιαφέρον είναι ο τοµέας των επιχειρήσεων.ο οποίος προβαίνει στην ανάπτυξη τόσο εµπορικών όσο και εσωτερικών εφαρµογών για την διευκόλυνση της επικοινωνίας.

19 Business-to-Business Στόχος εδώ είναι να παρέχουν µια ηλεκτρονική εργασία µε ένα καθορισµένο τρόπο µέσω της σύγκλισης του internet,των web services και των προτύπων. Οργανισµοί όπως ο OASIS δηµιουργούν κριτήρια για το ηλεκτρονικό εµπόριο. Το ebxml, ένα σύνολο προδιαγραφών για XML µηνύµατα στο ηλεκτρονικό εµπόριο. Προσφέρεται από τον OASIS µαζί µε τον UN/CEFACT. Τα web services από µόνα τους δεν παρέχουν συνεργατικές επιχειρηµατικές διαδικαστικές δυνατότητες. Κάποια πρότυπα όπως η ebxml παρέχουν µια βάση για περίπλοκες αλληλεπιδράσεις µε µηνύµατα µεταξύ των οργανισµών, διευκολύνοντας τους εµπορικούς συνεταίρους να συµµετέχουν σε ανοιχτές και περίπλοκες επιχειρηµατικές διαδικασίες. Matthew, 2003) (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Enterprise Application Integration Τα web services όπως αναφέραµε χρησιµοποιούνται περισσότερο σε επιχειρηµατικές ολοκληρωµένες εφαρµογές (ΕΟΕ). Οι ΕΟΕ ουσιαστικά είναι η απάντηση στο ερώτηµα πως µπορείς να κάνεις πολλές εφαρµογές να επικοινωνούν η µια µε την άλλη. Ουσιαστικά αυτό γίνεται τροποποιώντας τα πρωτόκολλα και τη µορφή των δεδοµένων ώστε να καθίσταται δυνατή η επικοινωνία µεταξύ των εφαρµογών. Οι Εφαρµογές οι οποίες δηµιουργούνται στοχεύουν στην επίλυση τριών βασικών προβληµάτων: Την επικοινωνία σε επίπεδο καλωδίου Τη µετατροπή των δεδοµένων για να µπορούν να γίνουν κατανοητά σε διαφορετικού είδους εφαρµογές

20 ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Τον καθορισµό της διαδροµής των µηνυµάτων µεταξύ των συστηµάτων 20 Τυπικά προϊόντα ΕΟΕ παρέχουν εργαλεία που βοηθούν να προσαρµόζεται ένα πρωτόκολλο σε ένα άλλο ή παρέχουν ένα πρότυπο για διαλειτουργικότητα. Η τυπική λύση ΕΟΕ, που φαίνεται στο παρακάτω σχήµα, ακολουθεί το "hub-and-spoke" µοντέλο για ολοκλήρωση εφαρµογών. Σύµφωνα µε αυτό, όλες οι εφαρµογές συνδέονται σε ένα κεντρικό σηµείο ΕΟΕ και κάθε εφαρµογή που θέλει να επικοινωνήσει µε µια άλλη πρέπει πρώτα να στείλει το µήνυµα στο κεντρικό σηµείο, το οποίο µετατρέπει και δροµολογεί το µήνυµα στον παραλήπτη εκ µέρους του αποστολέα. Εικόνα 3: Η hub-and-spoke τοπολογία Μερικά προϊόντα επιτρέπουν στον αποστολέα και στον παραλήπτη να χρησιµοποιούν διαφορετικά πρωτόκολλα όπως το IBM's MQSeries, για να επικοινωνήσει µε το κεντρικό σηµείο ΕΟΕ, ή µπορεί να χρησιµοποιήσει ένα διαφορετικό πρωτόκολλο όπως το HTTP. Το κεντρικό σηµείο ΕΟΕ θα δεχτεί το µήνυµα πάνω από διαφορετικά πρωτόκολλα, θα µετασχηµατίσει το µήνυµα σε µια κατανοητή δοµή και θα οδηγήσει το µήνυµα στο σύστηµα υποδοχής. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003)

21 2.6 ΣΕΝΑΡΙΑ ΥΛΟΠΟΙΗΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ 21 Αφού ένα web service µπορεί να αναπτυχθεί σε πολλές διαφορετικές πλατφόρµες, µπορεί και να ακολουθήσει πολλά µοντέλα υλοποίησης. Το µοντέλο υλοποίησης που χρησιµοποιεί εξαρτάται από το πρόβληµα που πρέπει να λυθεί και τις διαθέσιµες πλατφόρµες για την δηµιουργία του µοντέλου. Το µοντέλο για την ολοκλήρωση ενός web service µπορεί να κατηγοριοποιηθεί σε 4 τύπους: απλής υπηρεσίας, σύνθετης υπηρεσίας, ενδιάµεσης υπηρεσίας και ενός διαδρόµου υπηρεσιών Απλή υπηρεσία Μια απλή υπηρεσία, όπως φαίνεται στο παρακάτω σχήµα, είναι ένα servlet το οποίο έχει πρόσβαση σε µια βάση δεδοµένων ή άλλη πηγή άµεσα. Αν µια εταιρεία, για παράδειγµα, έχει ένα bean συνόδου χωρίς καταστάσεις το οποίο χειρίζεται την εγκυρότητα των πιστωτικών καρτών, το JAX-RPC µπορεί να χρησιµοποιηθεί για να προσφέρει µια web service διεπαφή. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Εικόνα 4: Σενάριο απλής υπηρεσίας Σύνθετη Υπηρεσία Μια σύνθετη υπηρεσία συγκεντρώνει άλλες απλές ή σύνθετες εφαρµογές. Για παράδειγµα, µια υπηρεσία εντολής-εισόδου θα ήταν µια σύνθετη υπηρεσία που

22 χρησιµοποιεί µια υπηρεσία εξουσιοδότησης πιστωτικής κάρτας, µια υπηρεσία πελατών και µια λειτουργία εντολής-εισόδου. Ο συνδυασµός των τριών αυτών λειτουργιών δίνει στον καταναλωτή της υπηρεσίας τη δυνατότητα να χρησιµοποιήσει κάθε λειτουργία ξεχωριστά ή το συνδυασµό τους µέσω µιας υπηρεσία εντολήςεισόδου. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) 22 Εικόνα 5: Σενάριο Σύνθετης Υπηρεσίας Ενδιάµεση Υπηρεσία Ένα web service που τοποθετεί αιτήσεις σε έναν ενδιάµεσο διάδροµο είναι ένα παράδειγµα υλοποίησης ενδιάµεση υπηρεσίας όπως φαίνεται στο παρακάτω σχήµα. Πολλοί οργανισµοί έχουν ήδη εγκατεστηµένα ενδιάµεσα συστήµατα προσανατολισµένα σε µηνύµατα. Ένα τέτοιο σύστηµα παρέχει µια έµµεση σύνδεση µεταξύ του αποστολέα και του παραλήπτη του µηνύµατος. Ο αποστολέας τοποθετεί το µήνυµα σε µια σειρά προτεραιότητας, η οποία στέλνει τα µηνύµατα σε ένα τελικό σηµείο, του οποίου η ακριβής τοποθεσία και υλοποίηση δεν είναι γνωστή από τον αποστολέα.(james McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003)

23 23 Εικόνα 6: Σενάριο Ενδιάµεσης Υπηρεσίας ιάδροµος Υπηρεσιών Ο διάδροµος υπηρεσιών όπως φαίνεται στο παρακάτω σχήµα είναι παρόµοιος µε τη λύση των ΕΟΕ για την ολοκλήρωση επιχειρηµατικών εφαρµογών. Επιτρέπει σε web services να επικοινωνούν µεταξύ τους µέσω τρίτων.(james McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Εικόνα 7: Σενάριο ιαδρόµου υπηρεσιών

24 2.7 SOA (Service oriented Architecture) 24 Τα web services βασίζονται στο σκεπτικό της service-oriented αρχιτεκτονικής (SOA).H SOA είναι η τελευταία εξέλιξη στο τοµέα των διανεµηµένων συστηµάτων υπολογισµού. ίνουν τη δυνατότητα σε κοµµάτια λογισµικού να παρουσιάζονται ως υπηρεσίες. Μέσω των SOA καθορίζονται οι ρόλοι και οι σχέσεις για τους παρόχους και τους χρήστες των web services. Αυτοί είναι : Ο service requestor ο οποίος θα χρησιµοποιήσει την υπηρεσία,ο service provider ο οποίος την παρέχει και o service registry ο όποιος παρέχει µια αναφορά µε τις διαθέσιµες υπηρεσίες. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) O πάροχος είναι υπεύθυνος για τις εξής ενέργειες: 1. δηµιουργία περιγραφής της υπηρεσίας, 2. δηµοσίευση της περιγραφής σε έναν ή περισσότερους καταλόγους υπηρεσιών Ο χρήστης είναι υπεύθυνος για τις εξής ενέργειες: 1. εντοπισµό της περιγραφής µιας υπηρεσίας 2. χρησιµοποίηση αυτών των περιγραφών έτσι ώστε να συνδέσει ή καλέσει web services που φιλοξενούνται από τους διάφορους παροχής. ενέργειες: Ο κατάλογος υπηρεσιών είναι υπεύθυνος για τις εξής

25 1. τη διαφήµιση των περιγραφών που έχουν δηµοσιευτεί σε αυτόν από διάφορους παρόχους 2. επιτρέπει στους χρήστες να αναζητούν συλλογές περιγραφών υπηρεσιών που περιέχονται στον κατάλογο. 3. κάνει το κατάλληλο ταίριασµα µεταξύ του αιτούντα µιας υπηρεσίας και του παροχέα αυτής. 25 Η SOA περιλαµβάνει ακόµη τρεις λειτουργίες: δηµοσίευση (publish), εύρεση (find) και σύνδεση (bind). Αυτές οι λειτουργίες καθορίζουν τις συµβάσεις µεταξύ των SOA ρόλων: Η δηµοσίευση είναι µια πράξη καταχώρησης µιας υπηρεσίας ή διαφήµισης αυτής. ρα σαν µια σύµβαση µεταξύ του καταλόγου υπηρεσιών και του παρόχου. Όταν ένας πάροχος δηµοσιεύει τη περιγραφή του web service σε ένα κατάλογο υπηρεσιών, τότε, αυτός ο κατάλογος, διαφηµίζει τις λεπτοµέρειες των web services σε µια κοινότητα χρηστών. Οι ακριβείς λεπτοµέρειες για το πώς γίνεται η δηµοσίευση εξαρτάται από την συγκεκριµένη υλοποίηση του καταλόγου. Σε µερικά σενάρια άµεσης δηµοσίευσης, το ίδιο το δίκτυο παίζει το ρόλο του καταλόγου υπηρεσιών, καθιστώντας τη δηµοσίευση µια απλή πράξη µεταφοράς της περιγραφής της υπηρεσίας σε µια δοµή ευρετηρίου ενός server web εφαρµογών. Άλλες υλοποιήσεις καταλόγων, όπως το UDDI, καθορίζουν µια πολύπλοκη υλοποίηση διαδικασίας δηµοσίευσης. Η διαδικασία εύρεσης είναι αντίθετη της δηµοσίευσης. Η διαδικασίας εύρεσης είναι το συµβόλαιο µεταξύ του αιτούντα µιας υπηρεσίας και του καταλόγου υπηρεσιών. Με την διαδικασία εύρεσης ο χρήστης δηλώνει κάποια χαρακτηριστικά, όπως τον τύπο της υπηρεσίας και την ποιότητα των εγγυήσεων που προσφέρει µια υπηρεσία. Ο κατάλογος υπηρεσιών κάνει ταίριασµα των κριτηρίων που θέτει ο αιτών και των δηµοσιευµένων περιγραφών. Το αποτέλεσµα της λειτουργίας εύρεσης είναι µια λίστα web service περιγραφών που πληρεί τα παραπάνω κριτήρια. Βέβαια, η διαδικασία εύρεσης ποικίλλει ανάλογα µε την υλοποίηση του καταλόγου υπηρεσιών. Από

26 τη µια µεριά, υπάρχουν απλοί κατάλογοι υπηρεσιών που παρέχουν διαδικασίες εύρεσης µε τίποτα παραπάνω από µια απλή, χωρίς παραµέτρους αίτηση HTTP GET. Αυτό βέβαια σηµαίνει ότι η διαδικασία της εύρεσης θα επιστρέφει πάντα όλες τις υπηρεσίες που έχουν καταχωρηθεί στον κατάλογο. Έτσι εναπόκειται στον χρήστη να βρει ποιες από αυτές πληρούν τις προϋποθέσεις του. Από την άλλη πλευρά, φυσικά, υπάρχουν πιο πολύπλοκοι κατάλογοι, όπως το UDDI, που προσφέρουν εξαιρετικές δυνατότητες εύρεσης. 26 Η διαδικασία σύνδεσης ενσαρκώνει το µοντέλο client-server µεταξύ του αιτούντα και του παροχέα υπηρεσιών. Η διαδικασία της σύνδεσης µπορεί να είναι αρκετά περίπλοκη και δυναµική, όπως η δυναµική δηµιουργία ενός πληρεξούσιου του client που βασίζεται στην περιγραφή της υπηρεσίας και χρησιµοποιείται για να καλέσει την υπηρεσία. Μπορεί, από την άλλη, να είναι στατική διαδικασία, όπου κάποιος µπορεί να γράψει σε κώδικα τον τρόπο µε τον οποίο η εφαρµογή του πελάτη θα καλέσει την web service. Το κλειδί στην SOA είναι η περιγραφή της υπηρεσίας. Γιατί η περιγραφή της υπηρεσίας είναι αυτή που δηµοσιεύεται από τον πάροχο στον κατάλογο υπηρεσιών. Η περιγραφή της υπηρεσίας είναι αυτή που ανακτάται από τον αιτούντα ως αποτέλεσµα µιας διαδικασίας εύρεσης. Επίσης είναι αυτή που παρέχει στον αιτούντα ό,τι πληροφορίες θέλει για να µπορέσει να συνδεθεί ε ή να καλέσει µε το web service. Τέλος, καθορίζει τι πληροφορία που επιστρέφεται στον αιτούντα ως αποτέλεσµα της κλήσης του web service.

27 2.8 SOAP (Simple Object Access Protocol) Το SOAP είναι πρωτόκολλο το οποίο πακετάρει τα µηνύµατα σε ένα φάκελο µε τη βοήθεια της XML που στέλνουν και λαµβάνουν οι εφαρµογές. Ο φάκελος αυτός περιέχει όλες εκείνες τις πληροφορίες καθώς και τους κανόνες για τη µετατροπή των διαφόρων τύπων δεδοµένων σε XML εκφράσεις. Αυτό που οδήγησε στην ευρεία χρίση του είναι ο σχεδιασµός που το καθιστά κατάλληλο για µια µεγάλη ποικιλία εφαρµογών που χρησιµοποιούν µηνύµατα για την επικοινωνία τους. Στη συνέχεια θα αναφερθούµε στο πρότυπο SOAP και συγκεκριµένα στα τµήµατα που το απαρτίζουν. Αναφορικά αυτά είναι: Η µορφή των µηνυµάτων, ο µηχανισµός αναφοράς των εξαιρέσεων και το σύστηµα κωδικοποίησης των τιµών σε XML SOAP και XML Το SOAP είναι XML. Αυτό σηµαίνει, ότι το SOAP είναι µια εφαρµογή της XML προδιαγραφής. O ορισµός και η λειτουργία της βασίζονται κυρίως στα πρότυπα της XML, όπως το XML Schema και τα XML Namespaces Επικοινωνία µέσω XML µηνυµάτων Η επικοινωνία µε XML αφορά κυρίως εφαρµογές οι οποίες ανταλλάσσουν πληροφορίες βασισµένες σε XML κείµενα, όπως φαίνεται και στο παρακάτω σχήµα. Ουσιαστικά αποτελεί τη βάση για το πρωτόκολλο SOAP παρέχοντας στις εφαρµογές ένα εύκολο τρόπο επικοινωνίας. Εικόνα 8: Επικοινωνία µέσω ΧΜL µηνυµάτων Η XML έχει το πλεονέκτηµα ότι δεν στηρίζεται σε λειτουργικά συστήµατα η γλώσσες προγραµµατισµού µε αποτέλεσµα να µπορεί να χρησιµοποιηθεί σε όλα τα περιβάλλοντα

28 Για παράδειγµα µια εφαρµογή η οποία προορίζεται για τα windows γραµµένη σε C# µπορεί να δηµιουργήσει ένα XML κείµενο το οποίο αντιπροσωπεύει ένα µήνυµα και να το στείλει σε ένα πρόγραµµα το οποίο τρέχει σε Unix και είναι γραµµένο σε Java χωρίς να δηµιουργηθεί κανένα πρόβληµα στην επικοινωνία των δυο προγραµµάτων. H όλη ιδέα είναι ότι δύο εφαρµογές, έχουν την δυνατότητα να επικοινωνήσουν µεταξύ τους, χωρίς να εξαρτώνται απόλυτα από το λειτουργικό σύστηµα, τη γλώσσα προγραµµατισµού ή άλλη τεχνική λεπτοµέρεια υλοποίησης, χρησιµοποιώντας µόνο ένα απλό µήνυµα. Το οποίο κωδικοποιείται µε τέτοιο τρόπο ώστε να γίνεται κατανοητό και από τις δυο εφαρµογές. Το SOAP παρέχει έναν πρότυπο για την κατασκευή XML µηνυµάτων RPC και EDI Η επικοινωνία µέσω XML µηνυµάτων και κατ επέκταση µέσω SOAP έχει δύο συγγενικές εφαρµογές: το RPC και την EDI. Το RPC (Remote Procedure Call) είναι η βάση του κατανεµηµένου προγραµµατισµού. Ορίζει τον τρόπο µε τον οποίο µια εφαρµογή µπορεί να καλέσει µια procedure (συνάρτηση ή µέθοδο) από ένα άλλο πρόγραµµα, στέλνοντας κάποια ορίσµατα αν αυτό απαιτείται και λαµβάνοντας τις επιστρεφόµενες τιµές. Η EDI (Electronic Document Interchange) προσπαθεί να αυτοµατοποιήσει τις επιχειρηµατικές συναλλαγές, καθορίζοντας πρότυπα και ερµηνεύοντας τα οικονοµικά και εµπορικά µηνύµατα. Για παράδειγµα αν χρησιµοποιούσαµε το SOAP για την ανταλλαγή µηνυµάτων σε εφαρµογές βασισµένες σε EDI, (γνωστό και ως "document-style" SOAP), η XML θα περιέγραφε παραγγελίες, κινήσεις λογαριασµών επιστροφές φόρων,κτλ. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003)

29 Κωδικοποίηση ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Για να µπορέσει ο client και ο server να επικοινωνήσουν επιτυχηµένα µεταξύ τους θα πρέπει να έχουµε κωδικοποιήσει τα δεδοµένα µας µε τρόπο τέτοιο ώστε να µπορούν και οι δύο να αναγνωρίζουν την κωδικοποίηση. Έτσι για να επιτύχουµε το επιθυµητό αποτέλεσµα πρέπει να ορίζονται: Οι τύποι των πληροφοριών που ανταλλάσσονται Ο τρόπος που οι πληροφορίες θα εκφράζονται στην XML Ο τρόπος διεξαγωγής της διαδικασίας αποστολής των πληροφοριών Χωρίς τα παραπάνω στοιχεία η επικοινωνία είναι ανέφικτη.(james McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) SOAP µηνύµατα Ένα SOAP µήνυµα αποτελείται από δύο µέρη: 1. Το φάκελο που περιέχει µια προαιρετική επικεφαλίδα 2. Το σώµα του µηνύµατος Η Επικεφαλίδα περιέχει όλες εκείνες τις πληροφορίες οι οποίες σχετίζονται µε τον τρόπο που θα επεξεργαστεί το µήνυµα. Οι πληροφορίες αυτές αφορούν: ρυθµίσεις δροµολόγησης και παραλαβής του µηνύµατος, πιστοποιήσεις γνησιότητας και εξουσιοδοτήσεων Το σώµα περιέχει το µήνυµα το οποίο θα σταλεί και θα επεξεργαστεί. Οτιδήποτε µπορεί να εκφραστεί µε XML µπορεί και να σταλεί µέσα στο σώµα ενός SOAP µηνύµατος. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003)

30 Εικόνα 9:Structure SOAP Η σύνταξη ενός SOAP µηνύµατος µε τη βοήθεια της XML βασίζεται στο namespace Envelopes Για τα στοιχεία Envelope ισχύουν µερικοί κανόνες: Κάθε στοιχείο Envelope πρέπει να απαρτίζεται τουλάχιστον από ένα σώµα. Το σώµα µπορεί να έχει όσα παιδιά θέλει. Το περιεχόµενο του, είναι ουσιαστικά το µήνυµα. Είναι τόσο καλά καθορισµένο ώστε να µπορεί να δέχεται οποιοδήποτε έγκυρο XML µήνυµα του οποίου τα στοιχεία προσδιορίζονται από κάποιο namespace και επίσης δεν περιέχει κάποιες οδηγίες επεξεργασίας ούτε αναφορές σε DTD (Document Type Definition). Ένας φάκελος µπορεί να περιέχει το πολύ µια επικεφαλίδα, η οποία πρέπει να εµφανίζεται ως το πρώτο του παιδί πριν το σώµα. Στην επικεφαλίδα, όπως και στο σώµα, µπορεί κανείς να προσθέσει οποιοδήποτε έγκυρο XML κοµµάτι του οποίου τα στοιχεία πρέπει να προσδιορίζονται από κάποιο namespace

31 Κάθε στοιχείο που συµπεριλαµβάνεται στην επικεφαλίδα καλείται κοµµάτι επικεφαλίδας. Σκοπός της είναι να µεταβιβάζει πληροφορίες σχετικές µε την επεξεργασία του SOAP µηνύµατος. (James McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) RPC messages ύο είναι οι ενέργειες σε ένα RPC µήνυµα, η αίτηση και η απάντηση. Κατά την διάρκεια της αίτησης ο πελάτης στέλνει παραµέτρους για να καλέσει µια µέθοδο.κατά την διάρκεια της απάντησης ο εξυπηρετητής επιστρέφει τις τιµές της µεθόδου. Εικόνα 10: Η αρχιτεκτονική της επικοινωνίας µε RPC µηνύµατα Η ιδιότητα mustunderstand Κατά τη διάρκεια της αποστολής ενός µηνύµατος από µια εφαρµογή σε µια άλλη θα πρέπει ο παραλήπτης να είναι σε θέση να κατανοήσει τόσο το µήνυµα όσο και τον τρόπο επεξεργασίας του. Στην περίπτωση που ο παραλήπτης δεν είναι σε θέση να κατανοήσει το µήνυµα θα πρέπει να το απορρίψει και να εξηγήσει στον αποστολέα τους λόγους. Το κοµµάτι της επικεφαλίδας δεν είναι πάντα ίδιο. Υπάρχει η περίπτωση όπου ο χρήστης µπορεί να κατανοήσει την επικεφαλίδα η και το αντίθετο, χωρίς όµως αυτό να τον περιορίζει να διαβάσει το υπόλοιπο µήνυµα. Για να µπορεί ο παραλήπτης να είναι σε θέση να κατανοήσει το µήνυµα θα πρέπει ο αποστολέας να θέσει σε αυτό την ιδιότητα mustunderstand σε true.στη περίπτωση όπου η ιδιότητα

32 mustunderstand είναι true και ο παραλήπτης δεν µπορεί να κατανοήσει το µήνυµα τότε θα πρέπει να απορριφθεί εντελώς. (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Στυλ κωδικοποίησης Το πρότυπο SOAP εισάγει ένα Στυλ κωδικοποίησης το οποίο αναφέρεται σε ένα σύνολο κανόνων οι οποίοι καθορίζουν πως οι εφαρµογές και οι τύποι δεδοµένων θα κωδικοποιηθούν µε τη βοήθεια της XML. To στυλ κωδικοποίησης καθορίζεται µε τη χρήση της ιδιότητας encodingstyle, η οποία µπορεί να τοποθετηθεί σε οποιοδήποτε στοιχείο µέσα στο κείµενο και εφαρµόζεται σε όλα τα παιδιά του. Εικόνα 11: Η ιδιότητα 'encoding Style' Αναφέρονται στον τρόπο µε τον οποίο οι εφαρµογές µοιράζονται πληροφορίες στις διάφορες πλατφόρµες, παρόλο που αυτές µπορεί να µην έχουν κοινούς τύπους δεδοµένων ή αναπαραστάσεις. Η αντιµετώπιση που παρέχει για την ανταλλαγή πληροφοριών είναι καλή, αλλά δεν µπορεί να εφαρµοστεί σε όλες τις περιπτώσεις. Για παράδειγµα, στην περίπτωση που ένα SOAP µήνυµα χρησιµοποιείται για την ανταλλαγή µιας παραγγελίας η οποία έχει ήδη συνταχθεί µε XML, δεν υπάρχει ανάγκη εφαρµογής των κανόνων του. Η παραγγελία απλώς θα ενσωµατωθεί στο σώµα του φακέλου του µηνύµατος SOAP όπως είναι

33 Λάθη SOAP ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Ένα SOAP λάθος είναι ένας ειδικός τύπος µηνυµάτων. Χρησιµοποιείται κάθε φορά που προκύπτει κάποιο σφάλµα κατά την διάρκεια επεξεργασίας των µηνυµάτων και έχει σα σκοπό την ανταλλαγή πληροφοριών σχετικών µε το σφάλµα.(steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Εικόνα 12: SOAP λάθος εξής: Η πληροφορία που µεταβιβάζεται σε ένα µήνυµα SOAP λάθους περιέχει τα Τον κωδικό λάθους Αναφέρεται σε µια αλγοριθµική τιµή η οποία αφορά το τύπο του λάθους. Η τιµή πρέπει να είναι ένα XML Qualified Name, που σηµαίνει ότι το όνοµα του κωδικού αποκτά νόηµα µόνο στα πλαίσια ενός καθορισµένου XML namespace

34 Το αλφαριθµητικό λάθους ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ. Αναφέρεται στα λάθη εκείνα τα όποια γίνονται αντιληπτά από τον άνθρωπο Τον δείκτη εντοπισµού λάθους Αναφέρεται σε ποιο στοιχείο σηµειώθηκε το λάθος κατά την επεξεργασία του µηνύµατος. Τις λεπτοµέρειες του λάθους Οι λεπτοµέρειες λάθους αναφέρονται στα σφάλµατα που προκύψαν µέσα στο σώµα του µηνύµατος Πρότυποι κωδικοί SOAP λαθών Το SOAP καθορίζει τέσσερις τύπους λαθών που ανήκουν στο namespace. Αυτοί περιγράφονται παρακάτω: VersionMismatch Ο φάκελος SOAP χρησιµοποιεί ένα µη έγκυρο namespace για το στοιχείο Element. MustUnderstand Το τµήµα της επικεφαλίδας περιείχε την ιδιότητα mustunderstand µε τιµή true, η οποία δεν έγινε κατανοητή από τον παραλήπτη του µηνύµατος. Server Ένα λάθος το οποίο δεν µπορεί άµεσα να συνδεθεί µε την επεξεργασία του µηνύµατος

35 Client Υπάρχει πρόβληµα στο µήνυµα. Για παράδειγµα το µήνυµα περιέχει µη έγκυρα κριτήρια αυθεντικότητας ή υπάρχει κάποια ακατάλληλη εφαρµογή των κανόνων κωδικοποίησης Το Μοντέλο Ανταλλαγής SOAP Μηνυµάτων Η επεξεργασία ενός µηνύµατος SOAP εµπλέκει την αποµόνωση ενός φακέλου και την επεξεργασία της πληροφορίας που αυτός περιέχει. Το SOAP καθορίζει ένα γενικό πλαίσιο γι αυτού του είδους την επεξεργασία. Γενικότερα όµως αφήνει τις ειδικές λεπτοµέρειες της επεξεργασίας να καθοριστούν από την εφαρµογή. Η προδιαγραφή SOAP περιέχει πληροφορίες κυρίως για τον τρόπο ανταλλαγής µηνυµάτων SOAP µεταξύ των εφαρµογών Paths και Actors µηνυµάτων Η βασική ιδέα είναι ότι ενώ ένα µήνυµα αφορά τη µετάδοση προς µια κατεύθυνση µεταξύ παραλήπτη και αποστολέα. Το µήνυµα µπορεί να περάσει από ενδιάµεσους σταθµούς επεξεργασίας. Αυτό είναι ανάλογο µε µια pipeline, όπου το αποτέλεσµα ενός προγράµµατος γίνεται είσοδος σε ένα άλλο.(steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Ένας SOAP µεσάζων είναι ένα web service το οποίο έχει σα σκοπό τη παρέµβαση µεταξύ client και server. Προσθέτει στις συναλλαγές τους αξία ή λειτουργικότητα. Ως path ορίζεται ο συνολικός αριθµός µεσαζόντων µέσα από τους οποίους διέρχεται το µήνυµα.κάθε µεσάζων κατά µήκος του µηνύµατος είναι γνωστός ως

36 actor.(steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Η κατασκευή ενός µονοπατιού δε καλύπτεται από τη SOAP προδιαγραφή. ιάφορες επεκτάσεις στο SOAP, όπως η Microsoft's SOAP Routing Protocol (WS- Routing), έχουν δηµιουργηθεί για να καλύψουν αυτό το κενό. Το SOAP καθορίζει ένα µηχανισµό αναγνώρισης των τµηµάτων που πρόκειται να επεξεργαστούν από συγκεκριµένους actors κατά µήκος του µονοπατιού. Ο συγκεκριµένος µηχανισµός αναφέρεται ως <<targeting >> και µπορεί να χρησιµοποιηθεί µόνο µε τα τµήµατα των κεφαλίδων του κόµβου. Ένα τµήµα επικεφαλίδας στοχεύει σε έναν συγκεκριµένο actor κατά µήκος ενός µονοπατιού µέσω της χρησιµοποίησης της ιδιότητας actor. Η τιµή της ιδιότητας actor είναι ο µοναδικός προσδιοριστής του µεσάζοντος που γίνεται <<targeting >>. Ο προσδιοριστής αυτός µπορεί να είναι το URL. Οι µεσάζοντες που δεν είναι συµβατοί µε την ιδιότητα actor πρέπει να αγνοούν το τµήµα της επικεφαλίδας Το πρωτόκολλο της SOAP δροµολόγησης Το SOAP Routing πρωτόκολλο (WS-Routing) είναι η πρόταση της Microsoft ώστε να επιλύσει το πρόβληµα της αναπαράστασης του µονοπατιού που ακολουθεί το SOAP µήνυµα µέχρι να φτάσει στον προορισµό του. Το WS-Routing καθορίζει ένα πρότυπο τµήµα SOAP επικεφαλίδας, όπως φαίνεται στο παρακάτω σχήµα, για να εκφράσει τις πληροφορίες της δροµολόγησης. Ο ρόλος του είναι να καθορίσει την ακριβή αλληλουχία µεσαζόντων διαµέσου των οποίων πρέπει να διέλθει το Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) µήνυµα. (Steve Graham, Simeon Simeonov, Toufic Boubez,

37 Εικόνα 13: Ένα WS-Routing µήνυµα Χρησιµοποιώντας το SOAP για RPC-style Web Services Αυτή τη στιγµή, η RPC είναι η πιο κοινή εφαρµογή του SOAP. Παρακάτω θα δούµε πώς οι κλήσεις µεθόδων και οι επιστρεφόµενες τιµές κωδικοποιούνται µέσα στα σώµατα των SOAP µηνυµάτων Καλώντας µεθόδους Οι κανόνες για να πακετάρεις µια αίτηση RPC σε ένα φάκελο SOAP είναι οι εξής: Η κλήση µεθόδου αναπαρίσταται σαν µια δοµή µε κάθε παράµετρο εισόδου ή εισόδου-εξόδου να απεικονίζεται ως ένα πεδίο σε αυτή τη δοµή. Τα ονόµατα και η φυσική σειρά αυτών των παραµέτρων πρέπει να ανταποκρίνονται στα ονόµατα και τη φυσική σειρά των παραµέτρων στη µέθοδο που καλείται

38 Οι SOAP RPC συµβάσεις δεν απαιτούν την χρησιµοποίηση του SOAP στυλ κωδικοποίησης και την τυποποίηση των δεδοµένων (xsi:type) SOAP µεταφορές Όπως αναφέραµε και στο στρώµα των web services, το SOAP είναι ένα πρότυπο πρωτόκολλο πακεταρίσµατος που βρίσκεται πάνω από τα επίπεδα δικτύου και µεταφοράς. Ως πρωτόκολλο πακεταρίσµατος δεν το ενδιαφέρει τι πρωτόκολλα µεταφοράς χρησιµοποιούνται για την ανταλλαγή µηνυµάτων γεγονός το οποίο το κάνει πολύ ευέλικτο SOAP πάνω από HTTP Λόγω της µεγάλης χρησιµοποίησής του στο Internet, ΗΤΤΡ είναι το πιο κοινό πρωτόκολλο για τη µεταφορά SOAP µηνυµάτων. To SOAP-over-HTTP ταιριάζει απόλυτα µε τις συµβάσεις του SOAP RPC (αίτηση-απάντηση), γιατί το HTTP είναι ένα πρωτόκολλο βασισµένο στο δίδυµο αίτηση-απάντηση. Το SOAP µήνυµα αίτησης αποστέλλεται στον εξυπηρετητή µαζί µε την αίτηση και ο εξυπηρετητής επιστρέφει το SOAP µήνυµα απάντησης.(james McGovern, Sameer Tyagi, Michael Stevens and Sunil Matthew, 2003) Εικόνα 14: Οι αιτήσεις SOAP αποστέλλονται στον HTTP εξυπηρετητή και οι απαντήσεις επιστρέφονται µέσω της HTTP σύνδεσης

39 Τα παρακάτω παραδείγµατα απεικονίζουν µηνύµατα αίτησης και απάντησης ΗΤΤΡ που περιέχουν ένα µήνυµα SOAP. Εικόνα 15: HTTP αίτηση που περιέχει ένα µήνυµα SOAP Εικόνα 16: HTTP απάντηση που περιέχει ένα µήνυµα SOAP Η SOAPAction ΗΤΤΡ επικεφαλίδα καθορίζεται από την SOAP προδιαγραφή και υποδεικνύει τον σκοπό της SOAP HTTP αίτησης. Η τιµή της είναι τελείως αυθαίρετη αλλά έχει ως στόχο να ενηµερώσει τον ΗΤΤΡ εξυπηρετητή για τις ενέργειες που θέλει να εκτελέσει το µήνυµα SOAP πριν ο ΗΤΤΡ εξυπηρετητής αποκωδικοποιήσει την XML. Η SOAPAction επικεφαλίδα χρησιµοποιείται στη συνέχεια από τους εξυπηρετητές για να φιλτράρουν µη αποδεκτές αιτήσεις. 2.9 WSDL (Web Service Description Language) Η WSDL είναι µια προδιαγραφή που καθορίζει τον τρόπο περιγραφής των web services σε XML. Η WSDL περιγράφει 4 σηµαντικά κοµµάτια δεδοµένων: Πληροφορίες για όλες τις δηµόσια διαθέσιµες λειτουργίες Πληροφορίες τύπων δεδοµένων για όλα τα µηνύµατα αίτησης και απάντησης Πληροφορίες σύνδεσης σχετικά µε τα πρωτόκολλα µεταφοράς

40 Πληροφορίες διευθύνσεων για τον εντοπισµό της συγκεκριµένης υπηρεσίας Χρησιµοποιώντας την WSDL ένας πελάτης µπορεί να εντοπίσει µια web service και να καλέσει οποιαδήποτε από τις δηµόσιες λειτουργίες της Η WSDL προδιαγραφή Η WSDL είναι µια XML γραµµατική για την περιγραφή των web services. Η δοµή του WSDL κειµένου είναι αυτή που φαίνεται παρακάτω: Εικόνα 17: οµή WSDL κειµένου

41 Η WSDL προδιαγραφή χωρίζεται σε 6 βασικά στοιχεία: Definitions 1. Αποτελεί τη ρίζα του δένδρου για κάθε WSDL αρχείο. 2. Καθορίζει το όνοµα της Web service. 3. ηλώνει τα πολλαπλά namespaces που χρησιµοποιούνται. 4. Περιέχει όλα τα υπόλοιπα στοιχεία της υπηρεσίας. Types 1. Περιγράφει όλους τους τύπους δεδοµένων 2. εν ακολουθεί αποκλειστικά ένα συγκεκριµένο σύστηµα δήλωσης τύπων, αλλά κάνει χρήση της W3C XML προδιαγραφής Message 1. Περιγράφει ένα µήνυµα µιας κατεύθυνσης είτε πρόκειται για µήνυµα response η request. 2. Καθορίζει το όνοµα του µηνύµατος 3. Περιέχει µηδέν ή περισσότερα στοιχεία, τα οποία αναφέρονται στις παραµέτρους ή στις επιστρεφόµενες τιµές. PortType 1. Συνδυάζει πολλαπλά στοιχεία message µε σκοπό τη σύνθεση µια απλής λειτουργίας είτε µιας αµφίδροµης. 2. Καθορίζει πολύπλοκες λειτουργίες. Binding Περιγράφει το τρόπο υλοποίησης της υπηρεσίας πάνω στο καλώδιο

42 Service Καθορίζει τη διεύθυνση για την κλήση του συγκεκριµένου service- υπηρεσίας Περιέχει το URL της υπηρεσίας UDDI (Universal Description & Discovery Integration) Το UDDI αποτελεί µια τεχνική προδιαγραφή η οποία αφορά την περιγραφή, ανακάλυψη και ολοκλήρωση των web services Οργάνωση του UDDI κατηγορίες: Τα web services που αποθηκεύονται µέσα στο UDDI χωρίζονται σε τρεις Λευκές σελίδες (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama) 1. Παρέχουν ένα ονοµαστικό ευρετήριο των επιχειρήσεων. 2. Περιέχουν πληροφορίες όπως το όνοµα της επιχείρησης κ.α. 3. Περιέχουν αναγνωριστικά των επιχειρήσεων. Κίτρινες σελίδες (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama) 1. Κατηγοριοποιούν τις επιχειρήσεις ή τις υπηρεσίες ανάλογα µε την κατηγορία στην οποία ανήκουν. Πράσινες σελίδες (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama) 2. Περιλαµβάνουν τις τεχνικές περιγραφές των web service. 3. Περιέχει ένα δίκτυ σε µια περιγραφή ενός service και µια διεύθυνση κλήσεως

43 UDDi Model ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Το UDDI περιέχει ένα XML σχήµα το οποίο έχει τη περιγραφή του τρόπου µε τον οποίο δοµούνται τα δεδοµένα στις παρακάτω κατηγορίες: Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) (Steve Graham, businessentity businessservice bindingtemplate tmodel BusinessEntity Εικόνα 18: UDDI Model Περιέχει πληροφορίες για το φορέα ο οποίος δηµοσιεύει τα service. Για παράδειγµα περιέχει το όνοµα της επιχείρησης, την περιγραφή, τη διεύθυνσή, πληροφορίες διασύνδεσης και µια συλλογή µε τις δηµοσιευµένες υπηρεσίες

44 Από τη στιγµή που θα γίνει η καταχώρηση για µια επιχείρηση η BusinessEntity παίρνει ένα κλειδί µε το οποίο ταυτοποιείται. Το κλειδί βοηθάει στη σύνδεση της επιχειρηµατικής οντότητας µε την υπηρεσία. (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Στο UDDI αναγνωρίζονται τρεις κατηγορίες σύµφωνα µε τις οποίες οµαδοποιούνται οι επιχειρήσεις : NAICS North American Industry Classification System: Αναφέρεται στην παροχή κατηγοριοποίησης των επιχειρήσεων. UNSPSC Universal Standard Products and Service Classification: Αναφέρεται στην παροχή κατηγοριοποίησης προϊόντων και υπηρεσιών. ISO 3166 International Organization for Standardization: ιατηρεί το ISO BusinessService Περιέχει όλες τις απαραίτητες πληροφορίες για µια υπηρεσία ή για ένα σύνολο υπηρεσιών οι οποίες σχετίζονται µεταξύ τους. (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) ΒindingTemplate Περιέχει τις απαραίτητες πληροφορίες για την προσπέλαση ενός web service. ε είναι απαραίτητο να αφορά υπηρεσίες οι οποίες εξαρτώνται αποκλειστικά από το HTTP, αλλά και υπηρεσίες , fax, ftp ή ακόµα και τηλεφωνικές υπηρεσίες.(steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001)

45 ΤModel Αναφέρονται στην τεχνική κάλυψη των υπηρεσιών µε σκοπό τη παροχή των δεικτών των εξωτερικών περιγραφών και υπηρεσιών. (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Ανακάλυψη Των web Services στο UDDI Ανακάλυψη µέσω web Υπάρχουν τρεις επιλογές για να ψάξεις στο UDDI: Με τη βοήθεια του Internet Explorer ο οποίος υποστηρίζει την ανακάλυψη των υπηρεσιών µε τη βοήθεια του RNKS(Real Names Keyword System) Από το site της Microsoft, στο Από το site της IBM, στο Ανακάλυψη µε το UDDI Inquiry API To UDDI API είναι ένα πρωτόκολλο το οποίο βασίζεται στο SOAP πρότυπο και έχει σα σκοπό την επικοινωνία µε το UDDI Business Registry. Το ΑΡΙ χωρίζεται σε δύο µέρη (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001): 1. το Inquiry API το οποίο αφορά την ανακάλυψη των services 2. και το Publisher API το οποίο εχει σα σκοπό τη δηµοσίευση και ενηµέρωση αυτών. Ο πίνακας παρουσιάζει τις λειτουργίες ανακάλυψης, οι οποίες κατηγοριοποιούνται ως εξής: Τις find_method οι οποίες παρέχουν εύρεση υπηρεσιών

46 και τις get_method λειτουργίες, όπου τις ανακτούν Όνοµα λειτουργίας find_ method λειτουργίες find_binding find_business find_service find_tmodel get_ method λειτουργίες get_bindingdetail get_businessdetail get_servicedetail get_tmodeldetail UDDI INQUIRY API Περιγραφή Ψάχνει για bindings σχετικά µε µια υπηρεσία Ψάχνει για businesses που πληρούν κάποια κριτήρια Ψάχνει για services που ανήκουν σε κάποια επιχείρηση Ψάχνει για tmodels που πληρούν κάποια κριτήρια Ανακτά µια εγγραφή bindingtemplate Ανακτά µια εγγραφή businessentity Ανακτά µια εγγραφή nusinessservice Ανακτά µια εγγραφή tmodel Για να καλέσεις αυτές τις συναρτήσεις µπορείς να στείλεις ένα SOAP µήνυµα απ ευθείας στα παρακάτω URLs: Microsoft: IBM: ηµοσίευση στο UDDI υο είναι οι τρόποι για την δηµοσίευση των services: µέσω web ή µε το Publisher API. Ασφάλεια και Πιστοποίηση Χρήστη Oι εισαγωγές και οι ενηµερώσεις απαιτούν την πιστοποίηση χρήστη και πρέπει να µεταφερθούν µέσω SSL

47 ηµοσίευση µέσω του web ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Μπορείς να δηµοσιεύσεις τις υπηρεσίες σε δύο πειραµατικούς καταλόγους, που βρίσκονται στα ακόλουθα URLs: Microsoft: IBM: Για δηµοσίευση στους πειραµατικούς καταλόγους, χρησιµοποιούµε τους επόµενους συνδέσµους: Microsoft: IBM: Για δηµοσίευση στους εµπορικούς καταλόγους, χρησιµοποιούµε τους επόµενους συνδέσµους: Microsoft: IBM: Ο παρακάτω πίνακας περιέχει τις λειτουργίες δηµοσίευσης. Το Publishing API διαιρείται σε τρεις υποκατηγορίες: 1. πιστοποίηση χρηστών, 2. σώσιµο δεδοµένων 3. και διαγραφή δεδοµένων. (Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama,2001) Όνοµα λειτουργίας Λειτουργίες πιστοποίησης get_authtoken discard_authtoken save_method functions save_binding save_business save_service UDDI PUBLISHING API Περιγραφή Ζητά ένα τεκµήριο πιστοποίησης, που χρειάζεται για όλες τις επόµενες λειτουργίες σωσίµατος και διαγραφής. Ζητά να ακυρωθεί το τεκµήριο πιστοποίησης και να καταστραφεί. Εισάγει ή ενηµερώνει µια bindingtemplate εγγραφή Εισάγει ή ενηµερώνει µια businessentity εγγραφή Εισάγει ή ενηµερώνει µια businessservice εγγραφή

48 save_tmodel delete_method functions delete_binding delete_business delete_service delete_tmodel Εισάγει ή ενηµερώνει µια tmodel εγγραφή ιαγράφει µια bindingtemplate εγγραφή που καθορίζεται από το bindingkey κλειδί της. ιαγράφει µια businessεntity εγγραφή που καθορίζεται από το businesskey κλειδί της ιαγράφει µια businessservice εγγραφή που καθορίζεται από το servicekey κλειδί της Αποσυσχετίζει το tmodel που καθορίζεται από το tmodelkey από µια εγγραφή. Μια άλλη εγγραφή µπορεί να αναφέρεται στο συγκεκριµένο tmodel. Οι εγγραφές των tmodels δεν µπορούν να διαγραφούν

49 2.10 BPEL (Business Process Execution Language) Τι είναι µια ροή εργασίας Τα web services είναι εφαρµογές οι οποίες περιγράφονται µε τη βοήθεια της WSDL, δηµοσιεύονται και ανακαλύπτονται µέσου του UDDI,επικοινωνούν ανταλλάσοντας µηνύµατα µε τη βοήθεια του πρωτοκόλλου SOAP διευκολύνοντας στη σύνδεση διαφορετικών εργασιών διαµέσου επιχειρησιακών µονάδων χωρίς να βασίζεται σε κάποια πλατφόρµα η γλώσσα προγραµµατισµού. Τα παραπάνω πρότυπα δεν δίνουν τη δυνατότητα καθορισµού µιας περιγραφής η οποία θα είχε ως σκοπό τον συσχετισµό των web services µεταξύ τους. Έτσι,µέσω της BPEL µας δίνεται η δυνατότητα να καθορίσουµε τον τρόπο µε τον οποίο ανεξάρτητα web services µπορούν να συνδυαστούν µεταξύ τους και να δηµιουργήσουν µια πιο πολύπλοκη ροή εργασίας (business process). (Matjaz B juric,2006) Μια ροή εργασίας (business process) καθορίζει: Το µοντέλο και τη γραµµατική για την περιγραφή µιας ροής εργασίας. Τη σειρά µε την οποία εκτελούνται οι λειτουργιές σε µια συλλογή από web services, τα δεδοµένα που ανταλλάσσονται µεταξύ τους, Τους actors που παίρνουν µέρος. ιευθετεί τις αλληλεπιδράσεις µεταξύ actor και υπηρεσιών για την επίτευξη ενός στόχου. Εισάγει όλους του απαραίτητους µηχανισµούς για τον έλεγχο και την επεξεργασία των λαθών Εισάγει έναν µηχανισµό επανόρθωσης όταν συµβεί µια εξαίρεση ή όταν ο actor ζητήσει αναίρεση των ενεργειών. 49

50 Η ΒΡΕL µε το συνδυασµό της Web Services Flow Language της ΙΒΜ και της XLANG της Microsoft δηµιουργεί µια καινούργια προδιαγραφή βασισµένη στις δύο προηγούµενες. Ουσιαστικά καθορίζει ένα νέο web service συνδυάζοντας διαφορετικές υπηρεσίες ιστού. Η σύνθεση περιγράφεται από ένα σύνολο WSDL porttypes, όπως κάθε άλλη web service, και ονοµάζεται ροή (process). Εικόνα 19: BPEL ροή Υλοποίηση της ροής εργασίας Αντίθετα µε την παραδοσιακή γλώσσα υλοποίησης µιας WSDL υπηρεσίας, κάθε operation ενός porttype δεν αντιστοιχεί σε ξεχωριστό κοµµάτι λογικής στην BPEL. Αντιθέτως, όλο το σύνολο των PortTypes της υπηρεσίας υλοποιείται από µια µοναδική BPEL διαδικασία. Έτσι, συγκεκριµένα σηµεία εισόδου, µε τα οποία µπορούν οι χρήστες εξωτερικά να καλούν operations της διαδικασίας, υποδεικνύονται µέσα στη ροή. Σε αυτά τα σηµεία εισέρχονται ή εξέρχονται τα διάφορα µηνύµατα των αντίστοιχων λειτουργιών µόνο-εισόδου ή εισόδου-εξόδου. Οι λειτουργίες µόνο- 50

51 εξόδου (notification) και εξόδου-εισόδου(solicit-response) δεν απαιτούνται και δεν υποστηρίζονται Activities Ουσιαστικά πρόκειται για ένα διάγραµµα ροής. Τα βήµατα στη διαδικασία υλοποίησης ονοµάζονται activities. Υπάρχουν κάποια βασικά, όπως: <invoke> : αφορά τη κλήση ενός service <receive> : αναµονή για την λήψη ενός µηνύµατος <reply> : αποστολή της απάντησης από µια λειτουργία εισόδου-εξόδου <wait> : αναµονή για κάποιο χρονικό όριο <assign> : αντιγραφή δεδοµένων από ένα σηµείο σε ένα άλλο <throw> : σε περίπτωση που συνέβη κάποιο σφάλµα κατά την εκτελέσει <terminate>: τερµατισµός της ροής <empty> : δεν κάνει καµία ενέργεια. <switch> : επιλογή ακριβώς ενός κλάδου από ένα σύνολο δυνατών επιλογών. <while> : επιτρέπει την επαναλαµβανόµενη εκτέλεση µιας σειράς λειτουργιών για όσο χρονικό διάστηµα ισχύει η συνθήκη. <pick> : επιτρέπει τη διαδικασία να αναµείνει µέχρι την άφιξη κατάλληλου µηνύµατος. <flow> : επιτρέπει την ταυτόχρονη εκτέλεση πολλών λειτουργιών (παράλληλη λειτουργία <scope> : επιτρέπει τον προσδιορισµό µιας ένθετης λειτουργίας (nested activity). <compensate>: ενεργοποιεί µια λειτουργία αποκατάστασης (compensation) για κάποιο τµήµα της διαδικασίας που έχει ήδη ολοκληρωθεί φυσιολογικά. (Matjaz B juric,2006) 51

52 Partners (συνέταιροι) : Αλληλεπιδρώντας µε άλλους Η BPEL περιέχει τη δυνατότητα αλληλεπίδρασης τόσο µε clients όσο και µε servers (παρόχους). Η αλληλεπίδραση µε τους παρόχους γίνεται µε τη βοήθεια του <invoke> όπου καλείται ένα web service και επικοινωνεί µε τους clients µέσω του <receive>. Τα services τα οποία αλληλεπιδρούν σε µια ροή εργασίας λέγονται partners. Για την ρεαλιστική µοντελοποίηση των διαδικασιών σε αυτό το περιβάλλον, σηµαντική απαίτηση είναι η ικανότητα να µοντελοποιηθεί η απαιτούµενη σχέση µε την διαδικασία ενός συνεργάτη. Η σχέση αυτή είναι συνήθως peer-to-peer, απαιτώντας µια αµφίδροµη εξάρτηση σε επίπεδο υπηρεσίας.(matjaz B juric,2006) Έτσι, ένας partner µπορεί να είναι ένα από τα παρακάτω Services: Services τα οποία καλούνται από την ροή Services τα οποία καλούν µια ροή Services τα οποία καλεί η ροή και τα οποία καλούν τη ροή Εικόνα 20: partnerlinktype ιαχείριση εδοµένων Για να µπορέσουµε να αναπαραστήσουµε µια κατάσταση(state) µιας επιχειρησιακής διαδικασίας θα χρειαστεί να χρησιµοποιήσουµε µεταβλητές κατάστασης. Τα δεδοµένα θα πρέπει να συνδυάζονται µε τέτοιο τρόπο ώστε να ελέγχεται η συµπεριφορά της διαδικασίας µέσω κατάλληλων τελεστών έκφρασης. Τέλος, για να είναι συνεχώς ενηµερωµένη η διαδικασία θα πρέπει να χρησιµοποιούνται κατάλληλοι τελεστές εκφράσεις. (assignment). 52

53 Τα είδη των τελεστών έκφρασης (expressions) που χρησιµοποιεί η BPEL συνοψίζονται στα παρακάτω: (Boolean-valued expressions) (Deadline-valued expressions) (Duration-valued expressions) Ο καθορισµός της γλώσσας που χρησιµοποιείται για τις παραπάνω εκφράσεις βρίσκεται στην αρχή της περιγραφής µιας BPEL διαδικασίας, στην παράµετρο expressionlanguage. Η τυπική γλώσσα που χρησιµοποιείται είναι η XPath 1.0. Με τη βοήθεια των µεταβλητών στη BPEL καταφέρνουµε να διατηρήσουµε τη διαδικασία. Τα µηνύµατα χωρίζονται σε τρείς κατηγορίες: µηνύµατα που λαµβάνονται από συνεργάτες, που αποστέλλονται προς αυτούς, δεδοµένα που απαιτούνται για τη διατήρηση της κατάστασης. Οι τύποι των µεταβλητών της BPEL µπορεί να είναι: 1. ένας τύπος µηνύµατος της WSDL, 2. ένας απλός τύπος του XML Schema (XML Schema simple type) 3. ή ένα στοιχείο XML (XML Schema element). H δήλωση µεταβλητής δίνεται παρακάτω: Εικόνα 21: ήλωση µεταβλητής στη BPEL Για να µπορέσουµε να εκχωρήσουµε η να ενηµερώσουµε τη τιµή µιας διαδικασίας χρησιµοποιούµε τη λειτουργία assign. Με τη βοήθεια της assign µπορούµε: 53

54 Είτε να αντιγράψουµε δεδοµένα από µια µεταβλητή σε µια άλλη Είτε για την εισαγωγή δεδοµένων σε µια µεταβλητή µε τη χρήση κατάλληλων εκφράσεων. Με τον τρόπο αυτό επιτυγχάνεται η υλοποίηση απλών υπολογισµών (όπως αύξηση της τιµής δεικτών σε εκφράσεις επανάληψης). ιαχείριση Σφαλµάτων και Αποκατάσταση Η ΒPEL προσφέρει τη δυνατότητα διαχείρισης των σφαλµάτων. Σαν διαχείριση σφάλµατος ορίζουµε την κατάσταση κατά την οποία τµήµα της διαδικασίας δεν εκτελέστηκε σωστά και αντί αυτού εκτελείται άλλο τµήµα. Η τυπική αυτή ενέργεια ορίζεται ως ενέργεια τύπου <try> <catch> και χαρακτηρίζεται µοναδικά από το όνοµα και τη µεταβλητή του σφάλµατος µε το οποίο συνδέεται. Μια πιθανή αιτία σφάλµατος, σε µια επιχειρησιακή διαδικασία, είναι ένα ανεπιθύµητο µήνυµα που επιστρέφεται µετά την κλήση µιας λειτουργίας <invoke>, π.χ. κατά την κλήση µιας υπηρεσίας ιστού. Μια επιπρόσθετη λειτουργία είναι αύτη της αποκατάστασης (compensation handling). Η λειτουργία της αποκατάστασης επιτρέπει σε µια επιχειρησιακή διαδικασία να ορίσει µια ενέργεια, µέσα σε κάποιο τµήµα της, που εκτελείται ώστε να αναιρέσει µια προηγούµενη ενέργεια που είχε ολοκληρωθεί επιτυχώς. 54

55 2.11 Ηλεκτρονική ιακυβέρνηση Εισαγωγή Οραµατιστείτε έναν κόσµο όπου η επαφή σας µε τις δηµόσιες υπηρεσίες δεν θα ήταν µακρύτερα από ένα κλικ. Αιτήσεις, πιστοποιητικά, άδειες οικοδοµής, πληρωµές προστίµων, διαβατήρια, ταυτότητες. Όλα στα χέρια σας χωρίς ταλαιπωρία χωρίς αναµονή στις ουρές, χωρίς εκνευρισµούς, χωρίς ανεπανόρθωτες βλάβες στο νευρικό σας σύστηµα. Αυτός είναι ο κόσµος της ηλεκτρονικής διακυβέρνησης. Στα πρωταρχικά σταδία της ηλεκτρονικής διακυβέρνησης όλοι µιλούσαν για συστήµατα, τεχνολογίες, δίκτυα και λογισµικ. Στη πορεία όµως των εξελίξεων έγινε κατανοητό ότι η τεχνολογία δεν είναι ο αυτοσκοπός αλλά το µέσο µέσου του οποίου θα οδηγηθούµε στην αλλαγή των πραγµάτων. Συνεπώς, γίνεται κατανοητό πως αν δεν το χρησιµοποιεί κανείς, χάνει κάθε αξία Έτσι Σήµερα, η πλειονότητα των φορέων δηµόσιας διοίκησης αναγνωρίζει την ανάγκη αλλαγής στις οργανωτικές δοµές του δηµόσιου τοµέα, στην εκπαίδευση των δηµόσιων υπαλλήλων, στην δηµιουργία ψηφιακής και τεχνολογικής κουλτούρας στον πολίτη, και πάνω από όλα ενηµέρωση προς όλες τις πλευρές για την επίτευξη του στόχου. 55

56 Σταδία Εφαρµογής G2G ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ H ιστορία έχει δείξει ότι η αλλαγή δεν έρχεται από την µια µέρα στην άλλη στο τοµέα των υπηρεσιών των δηµόσιων οργανισµών αλλά απαιτεί σταδιακή εξέλιξη. Η ενοποίηση όλων των υπηρεσιών δηµοσίου θα επέλθει αφού πρώτα πρέπει να ακολουθηθούν κάποια βασικά σταδία εξέλιξης. Αυτά είναι τα εξής: Εικόνα 22: Στάδια εφαρµογής G2G 56

57 1. Καταχώρηση: ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Κατά το στάδιο αυτό οι οργανισµοί δηµοσιεύουν στο κυβερνοχώρο όλες εκείνες τις πληροφορίες οι οποίες αφορούν την λειτουργία τους και τη δοµή τους. Ο σηµαντικότερος στόχος της διοίκησης είναι η διαχείριση του περιεχοµένου που δηµοσιεύεται στο Internet. Μέσω της ενεργούς πρόσβασης σε επιλεγµένες πληροφορίες από διάφορους οργανισµούς, οι οργανισµοί µπορούν να κερδίσουν χρόνο, χρήµατα και έγγραφα. 2. Συναλλαγή: Εδώ αρχίζει να αναπτύσσεται εκατέρωθεν επικοινωνία µεταξύ πολιτών και κυβέρνησης..οι online φόρµες, το ηλεκτρονικό ταχυδροµείο και η διαχείριση σχέσεων πελατών (CRM) αντικαθιστούν σταδιακά την παραδοσιακή εργασία που γίνεται στα γραφεία. Ένα χαρακτηριστικό παράδειγµα αυτού του σταδίου είναι η online εγγραφή στο Εθνικό Κτηµατολόγιο. 3. Κάθετη ολοκλήρωση: Η απλή αυτοµατοποίηση των κυβερνητικών υπηρεσιών δεν είναι αρκετή. Η ανάγκη για µηχανοργάνωση υποχρεώνει τη δηµόσια διοίκηση να εκσυγχρονίσει τις διαδικασίες και τις υπηρεσίες της. Η κάθετη ολοκλήρωση επαναπροσδιορίζει την έννοια της κυβέρνησης. Ο στόχος αυτού του εκσυγχρονισµού είναι να ενσωµατωθούν οι κεντρικές αντιπροσωπείες µε τα περιφερειακά και τοπικά γραφεία χρησιµοποιώντας παρόµοιες λειτουργίες. Ένα πρακτικό παράδειγµα είναι η ελβετική δικτυακή πύλη Zefix. Αυτή η η-υπηρεσία οµαδοποιεί τους εµπορικούς καταλόγους σε µια ενιαία υπηρεσία, προσιτή µέσω του Internet, και επιτρέπει την άµεση αναζήτησή τους. χωρίς χάσιµο χρόνου. 4. Οριζόντια ολοκλήρωση: Στο στάδιο αυτό στόχος είναι η ενσωµάτωση των διαφορετικών λειτουργιών και των υπηρεσιών µέσα στη δηµόσια διοίκηση. Πλέον µια συναλλαγή σε ένα δηµόσιο οργανισµό µπορεί να οδηγήσει σε αυτόµατους ελέγχους στα δεδοµένα άλλων οργανισµών. Η έκβαση της οριζόντιας ολοκλήρωσης είναι αυτοµατοποιηµένη και προσανατολισµένη προς τη διαδικασία οργάνωσης back-office, ικανή να αλληλεπιδράσει µέσα στα διαφορετικά γραφεία που βρίσκονται σε διαφορετικές περιοχές και χώρες, και να µοιραστεί τους πόρους. 57

58 Είδη Υπηρεσιών ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ Μέσω της ηλεκτρονικής διακυβέρνησης καθορίζονται οι αλληλεπιδράσεις µεταξύ των κύριων δραστών της, δηλαδή τους πολίτες, τις ιδιωτικές επιχειρήσεις και τους δηµόσιους οργανισµούς (κυβέρνηση). Ο παρακάτω πίνακας παρουσιάζει εννέα αλληλεπιδράσεις µεταξύ του παρόχου και του παραλήπτη της υπηρεσίας. Η δηµόσια διοίκηση παρέχει ενεργά τις e- υπηρεσίες της σε τρεις από τις εννέα σχέσεις, και έτσι έχουµε τις εξής κατηγορίες: Κυβέρνηση-προς-Κυβέρνηση (G2G): διαδικασίες που αφορούν στις σχέσεις αλληλεπίδρασης µεταξύ των δηµόσιων οργανισµών. Κυβέρνηση-προς-Πολίτες (G2C): κάθε αλληλεπίδραση µεταξύ των δηµόσιων οργανισµών και των πολιτών. Κυβέρνηση-προς-Επιχειρήσεις (G2B): σχέση µεταξύ των δηµόσιων οργανισµών και των ιδιωτικών επιχειρήσεων Παραδείγµατα G2G Εικόνα 23: Είδη e-υπηρεσιών Στις σηµαντικότερες πρωτοβουλίες στο χώρο της ηλεκτρονικής διακυβέρνησης συναντάµε: τη δηµιουργία των ΚΕΠ µέσω του προγράµµατος Αριάδνη, τις προκηρύξεις των δυο µεγάλων έργων ηλεκτρονικής διακυβέρνησης Σύζευξις και Police Online, το TAXISnet, 58

59 τη δηµιουργία του επιχειρησιακού προγράµµατος Πολιτεία, που είχε σχεδιαστεί για να καλύψει e-ανάγκες που δεν ήταν επιλέξιµες από την ΚτΠ, µια προσπάθεια που δεν ολοκληρώθηκε για τη δηµιουργία της νέας δοµής της δηµόσιας διοίκησης µέσω σχετικού νοµοσχεδίου, τη δηµιουργία της ΚτΠ ΑΕ - µιας εταιρίας που δηµιουργήθηκε για να βοηθήσει τους φορείς του δηµοσίου στην υλοποίηση των e-έργων τους -, τον σχεδιασµό των ΠεΣΥΠ, τη δηµιουργία του πλαισίου διαλειτουργικότητας πληροφοριακών συστηµάτων του δηµόσιου τοµέα, τα "crash" προγράµµατα επιτάχυνσης στα οποία συµµετείχαν οι γενικές γραµµατείες των υπουργείων και στελέχη των περιφερειών και βέβαια το σχεδιασµό, την ένταξη και την προκήρυξη πολλών σχετικών έργων που, δυστυχώς όµως, δεν ακολούθησαν σε σηµαντικό ποσοστό και το δρόµο της κατακύρωσης. Παρακάτω παρουσιάζονται συνοπτικά το taxis net και το ΙΚΑ: Taxis net: Το TAXIS net είναι η υπηρεσία που παρέχει στους φορολογούµενους τη δυνατότητα να διευθετούν τις εκκρεµότητές τους µε τις ΟΥ µέσω Internet, χωρίς ουρές, ταλαιπωρία και σπατάλη πολύτιµου χρόνου. Αναφορικά µερικές από τις προσφερόµενες υπηρεσίες είναι : Υπηρεσία υποβολής σηµειωµάτων περαίωσης ανέλεγκτων φορολογικών υποθέσεων Υποβολή δήλωσης ΚΑ Υποβολή δηλώσεων ακινήτων Υποβολή δηλώσεων Φ.Π.Α. και V.I.E.S. Υποβολή δηλώσεων ΚΒΣ ΙΚΑ Το ΙΚΑ, ο µεγαλύτερος ασφαλιστικός φορέας της χώρας, ανταποκρινόµενος στις σύγχρονες κοινωνικοοικονοµικές συνθήκες, υλοποιεί ένα πρόγραµµα εκσυγχρονισµού της οργάνωσης και των διαδικασιών του υιοθετώντας τα επιτεύγµατα της σύγχρονης τεχνολογίας, µε στόχο την βέλτιστη εξυπηρέτηση του πολίτη." Αναφορικά µερικές από τις προσφερόµενες υπηρεσίες είναι : Αίτηση - ήλωση Απογραφής Εργοδότη Αναγγελία Απασχόλησης Προσωπικού σε Οικία Αίτηση - ήλωση Απογραφής Εργοδότη 59

60 Έντυπο Αίτησης - ήλωσης Απογραφής Εργοδότη (Απασχόληση Προσωπικού σε Οικία) Έντυπο Αίτησης - ήλωσης Απογραφής Οικοδοµοτεχνικού Έργου Αίτηση - ήλωση Απογραφής Οικοδοµοτεχνικού Έργου ήλωση Μεταβολής Στοιχείων Εργοδότη ήλωση Μεταβολής Στοιχείων Εργοδότη - Απασχόλησης Ασφάλισης (Απασχόληση Προσωπικού σε Οικία) Αίτηση - ήλωση Μεταβολών Οικοδοµοτεχνικού Έργου ήλωση Μεταβολών Οικοδοµοτεχνικού Έργου Βεβαίωση Εργοδότη Αίτηση Επανέκδοσης Ατοµικού Λογαριασµού Ασφάλισης ήλωση ιαφωνίας επί των Ασφαλιστικών Στοιχείων Αίτηση για Χορήγηση Βεβαίωσης Αίτηση για Χορήγηση Βεβαίωσης ηµόσιου Έργου Αίτηση για Χορήγηση Βεβαίωσης Μη Οφειλής (µε fax) Έντυπο ήλωσης Υποβολής ΑΠ και Καταβολής Εισφορών Αίτηση Απογραφής Άµεσα Ασφαλισµένου ήλωση Μεταβολής Στοιχείων Ασφαλισµένου Αιτήσεις Συνταξιοδότησης κ.ά. 60

61 ΚΕΦΑΛΑΙΟ 3 Αρχιτεκτονική του προτεινόµενου συστήµατος: 3.1 Αρχιτεκτονική Του Συστήµατος Μια σχηµατική απεικόνιση του συστήµατος που υλοποιήθηκε φαίνεται παρακάτω. Εικόνα 24:αρχιτεκτονική Όπως φαίνεται και από το παραπάνω σχήµα η υλοποίηση αποτελείται από πολλά επιµέρους τµήµατα, ανεξάρτητες οντότητες που αλληλεπιδρούν µε συγκεκριµένο τρόπο. Η κεντρική εφαρµογή των ΚΕΠ συνδέεται µέσω web services µε τις βάσεις των πανεπιστήµιων (Αιγαίου, Αριστοτελείου και ηµοκρίτειου )µε σκοπό την αναζήτηση των στοιχείων των φοιτητών. Μετά τα την ανάκτηση των στοιχείων του 61

62 ενδιαφεροµένου ο υπάλληλος εκτυπώνει ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ βεβαιώση σπουδών ανάλογα µε το status του φοιτητή είτε ένα αντιγραφου πτυχίου είτε µια Η εφαρµογή της αστυνοµίας ενηµερώνει τις βάσεις των πανεπιστηµίων και συγκεκριµένα τον αριθµό Αστυνοµικής ταυτότητας µε την βοήθεια των υπηρεσιών ιστού που δηµοσιεύουν τα πανεπιστήµια. Η ενέργει αύτη εκτελείτε κάθε φορά όπου ο φοιτητής θα προβεί σε αλλαγή ταυτότητας. Τέλος υπάρχει µια διαδικασία η οποία προβαίνει σε αναζήτηση των καλύτερων φοιτητών σε µια σχολή σε περίπτωση που κάποιος επιχειρηµατίας θα ήθελε να αναζητήσει έναν υπάλληλο για την εταιρία του. Έχουν αναπτυχθεί δύο interfaces(windows application) των ΚΕΠ και της Αστυνοµία. ΚΕΦΑΛΑΙΟ 4 Υλοποίηση: Εισαγωγή:Υλοποίηση Εφαρµογής Η εφαρµογή ανάκτησης δηµοσίων εγγράφων αναπτύχθηκε µε τη βοήθεια των web services, της c# και του προτύπου επιχειρησιακών διαδικασιών BPEL. Για κάθε µια από τις επιµέρους εφαρµογές µέσα στο δίκτυο των πανεπιστηµίων δηµιουργείται η κατάλληλη Υπηρεσία Ιστού. Οι Υπηρεσίες αυτές υλοποιούν ενέργειες αναζήτησης και ενηµέρωσης στις βάσεις δεδοµένων των πανεπιστηµίων (για την εφαρµογή ενδεικτικά χρησιµοποιήθηκαν το ηµοκρίτειο,το Αριστοτέλειο και το πανεπιστήµιο Αιγαίου ) µε σκοπό την εξαγωγή αντίγραφων πτυχίων και βεβαιώσεων σπουδών. Με τι βοήθεια της c# καταφέρνουµε να ενορχηστρώσουµε κατάλληλα τις παραπάνω υπηρεσίες δίνοντας στο χρηστή τη δυνατότητα να πραγµατοποιεί 62

63 αναζητήσεις σε πολλαπλές βάσεις δεδοµένων χρησιµοποιώντας ένα ενιαίο περιβάλλον αναζήτησης. Στη συνέχεια περιγράφονται τα εργαλεία ανάπτυξης που χρησιµοποιήθηκαν για την υλοποίηση του συστήµατος ηλεκτρονικών κρατήσεων. 4.1 Πλατφόρµα και Εργαλεία Ανάπτυξης Στην ενότητα αυτή περιγράφονται τα χαρακτηριστικά της συγκεκριµένης υλοποίησης, όπως η πλατφόρµα ανάπτυξης και εκτέλεσης, τα προγραµµατιστικά εργαλεία και οι απαιτήσεις της εφαρµογής Λειτουργικό Σύστηµα Όσον αφορά το λειτουργικό σύστηµα, πάνω στο οποίο υλοποιήθηκε και δοκιµάστηκε η εφαρµογή, επιλέχθηκαν τα Windows XP της εταιρίας Microsoft λόγω της συµβατότητας που προσφέρουν, αλλά και του µεγάλου πλήθους προγραµµάτων για ανάπτυξη κώδικα Υλοποίηση των επιµέρους εφαρµογών κάθε επιχείρησης Στη παρούσα εργασία για τη υλοποίηση των βάσεων τόσο των πανεπιστηµίων όσο και της αστυνοµίας χρησιµοποιήθηκε ο ms-sql server 2005 της Microsoft o οποίος παρέχεται δωρεάν παρόλο που είναι εµπορικό προϊόν.υπάρχει βέβαια ενας µικρός περιορισµός στο µέγεθος της βάσης και στον αριθµό των cpu που θα χρησιµοποιεί. Επιπλέον παρέχει ένα από τα καλύτερα και πιο εύχρηστα προγράµµατα για την διαχείριση της βάσης το οποίο είναι ο sql server management studio express. Για την ανάπτυξη των κεντρικών εφαρµογών της αστυνοµίας και των πανεπιστηµίων καθώς και των web services που επικοινωνούν µε τις βάσεις και εκτελούν τα διάφορα ερωτήµατα(ενηµέρωση,αναζήτηση, ανάκτηση και εκτύπωση ) επιλέχτηκε η γλώσσα προγραµµατισµού c#. 63

64 Ο βασικός λόγος για τον οποίο επιλέχτηκε είναι ότι µε τη βοήθεια του visual studio µπορούµε πολύ εύκολα να φτιάξουµε και να δηµοσιεύσουµε υπηρεσίες ιστού. Επιπλέον η σχεδίαση των windows forms για τις εφαρµογές του ΚΕΠ και της αστυνοµίας γίνεται παιχνιδάκι Υλοποίηση Υπηρεσιών Ιστού και Επιχειρησιακών ιαδικασιών Στην ενότητα αυτή θα παρουσιαστεί ο τρόπος Υλοποίησης µέσω Υπηρεσιών Ιστού και Επιχειρησιακών ιαδικασιών. Λύση: Με βάση εργαλεία της Microsoft Ας δούµε αναλυτικότερα τα εργαλεία που χρησιµοποιήθηκαν. IIS server (έκδοση 7 ): Πρόκειται για ένα από τους πιο διαδεδοµένους server και διατίθεται µέσω του cd των windows σαν έξτρα module. Σε αντίθεση µε έναν απλό web server, ο IIS διαθέτει πρόσθετα χαρακτηριστικά που τον κάνουν µια ιδιαίτερα εύχρηστη πλατφόρµα για υλοποίηση δικτυακών εφαρµογών και υπηρεσιών ιστού. Visual studio (έκδοση 2008): Αποτελεί ένα εργαλείο για την ανάπτυξη εφαρµογών σε c#,visual basic, c++ και στην παρούσα εφαρµογή χρησιµοποιείται για την ανάπτυξη των web service.μέσω του visual studio αρκεί να δηµιουργηθεί ένα project web service και από εκεί και πέρα όλα τα υπόλοιπα τα αναλαµβάνει το ίδιο το πρόγραµµα Εικόνα 25: Π.χ ηµοσιευµένου web service µέσω vs

65 Βiztalk server (έκδοση 2009): O biztalk δίνει τη δυνατότητα διασύνδεσης ποικίλων προγραµµάτων. ιαχειρίζεται τα δεδοµένα µε τη βοήθεια λογικων διαγραµµάτων και παρέχει υποστήριξη σε bpel επιχειρησιακές διαδικασίες. Εικόνα 26:αναπαράσταση ροής Bpel designer: Πρόκειται για ένα γραφικό περιβάλλον για τη δηµιουργία, δοκιµή και ανάπτυξη επιχειρησιακών διαδικασιών βασισµένων στο πρότυπο BPEL. Ο χρήστης απαλλάσσεται από το φόρτο της συγγραφής κώδικα XML για µια BPEL διαδικασία. ιαβάζει ορισµούς BPEL διαδικασιών καθώς και WSDL αρχεία και δηµιουργεί αναπαραστάσεις BPEL. Εικόνα 27:Bpel designer 65

66 Συνοπτικά θα µπορούσαµε να πούµε ότι ο τρόπος µε τον οποίο υλοποιήθηκε η εργασία διευκόλυνε πάρα πολύ την ανάπτυξη των web service και αυτό γιατί η ανάπτυξη(δηµιουργούσε πολύ µεγάλα τµήµατα αυτοµατοποιηµένου κώδικα) τους,ο έλεγχος καθώς και η δηµοσίευση τους ηταν παρα πολύ ευκολη.από την άλλη πλευρά η ανάπτυξη των BPEL work flows εξαιτίας του γεγονότος ότι η Microsoft δεν υποστηρίζει σε τόσο µεγάλο βαθµό το πρότυπο BPEL ήταν δυσκολότερη Υλοποίηση Υπηρεσιών Ιστού Μια Υπηρεσία Ιστού (Web Service) µπορεί να δηµιουργηθεί εύκολα από µια εφαρµογή µε τη χρήση κατάλληλων εργαλείων. Στην παρούσα διπλωµατική χρησιµοποιήθηκε η γλώσσα προγραµµατισµού c#. Για τη δηµιουργία υπηρεσιών ιστού από κλάσεις c#, χρησιµοποιήθηκε το εργαλείο visual studio Ένα παράδειγµα υλοποίησης υπηρεσιών ιστού δίνεται στη συνέχεια για µια εφαρµογή που διαχειρίζεται τα δεδοµένα ενός πανεπιστηµίου. Η κλάση c# βρίσκεται στο πακέτο του κώδικα της εργασίας µε τίτλο Αigiaou.sln. Οι µέθοδοι που περιέχονται στην κλάση Service1.asmx.cs είναι οι: public DataSet getdata(string code) public DataSet getdatall(string id, string idn) public void UpdateFoithths(string idpersonold, string idpersonew) public List<Foithths> select(string college,int grade) H πρώτη µέθοδος έχει σαν σκοπό να ανακτήσει δεδοµένα τα οποία θα πουν στην εφαρµογή τι τύπο εγγράφου θα εκτυπώσει. ηλαδή αν θα ο φοιτητής έχει αποφοιτήσει τότε θα ανακτηθεί ένα αντίγραφο πτυχίου ενώ αν δεν έχει τότε µια βεβαίωση σπουδών. Για να αναζητήσουµε τα στοιχεία του ενδιαφερόµενου δίνουµε ως παράµετρο τον αριθµό αστυνοµικής ταυτότητας. Μια επιτυχηµένη αναζήτηση θα µας επιστρέψει το id το όποιο αναφέρεται στο κλειδί της εγγραφής, τον αριθµό της ταυτότητας για να µπορεί να γίνει επιβεβαίωση,τον όνοµα, το επίθετο και τέλος το status( αν έχει πάρει πτυχίο ο φοιτητής η όχι). 66

67 Η getdatall έχει ως σκοπό χρησιµοποιώντας ως παράµετρο το id της εγγραφής και τον αριθµό αστυνοµικής ταυτότητας να επιστρέψει όλα τα απαραίτητα στοιχεία για την συµπλήρωση του αντίγραφο πτυχίου. Η UpdateFoithths δέχεται ως παράµετρο το παλιό αριθµό αστυνοµικής ταυτότητας και το νέο. Έτσι µέσω αυτών ενηµερώνει τόσο τη βάση της αστυνοµίας για την αλλαγή όσο και τις βάσεις των πανεπιστηµίων αναζητώντας µε βάση το παλιο αριθµό. Η Select δέχεται ως παράµετρο το τµήµα και το βαθµό και µας επιστρέφει τους φοιτητές εκείνους που βρίσκονται στο συγκεκριµένο τµήµα και έχουν βαθµό µεγαλύτερο από αυτό που δόθηκε στη παράµετρο. Ενδεικτικά ακλουθεί ο κώδικας της UpdateFoithths τόσο σε C# όσο και σε wsdl. C# [WebMethod] public void UpdateFoithths(string idpersonold, string idpersonew) { SqlConnection con = new SqlConnection("server=ws003\\SQLEXPRESS;database=Dhmokriteio;Integrat ed Security=SSPI;"); string update = "select * from dbo.foithths order by Taut"; SqlDataAdapter da = new SqlDataAdapter(update, con); DataSet test = new DataSet(); SqlCommand DAUpdateCmd; DAUpdateCmd = new SqlCommand("update Taut set Taut=@idpersoNew where Taut=@idpersonold", da.selectcommand.connection); DAUpdateCmd.Parameters.Add(new SqlParameter("@idpersoNew", SqlDbType.Text)); DAUpdateCmd.Parameters["@idpersoNew"].SourceVersion = DataRowVersion.Current; DAUpdateCmd.Parameters["@idpersoNew"].SourceColumn = "Taut"; DAUpdateCmd.Parameters.Add(new SqlParameter("@pCustId", SqlDbType.Int)); DAUpdateCmd.Parameters["@idpersonold"].SourceVersion = DataRowVersion.Original; DAUpdateCmd.Parameters["@idpersonold"].SourceColumn = "Taut"; da.updatecommand = DAUpdateCmd; 67

68 da.fill(test, "dbo.foithths"); test.tables["dbo.foithths"].rows[0]["taut"] = "ΑΕ990163"; } da.update(test, "dbo.foithths"); WSDL <?xml version="1.0" encoding="utf-8"?> - <wsdl:definitions xmlns:soap=" xmlns:tm=" xmlns:soapenc=" xmlns:mime=" xmlns:tns=" xmlns:s=" xmlns:soap12=" xmlns:http=" targetnamespace=" xmlns:wsdl=" - <wsdl:types> - <s:schema elementformdefault="qualified" targetnamespace=" - <s:element name="getdata"> - <s:complextype> - <s:sequence> <s:element minoccurs="0" maxoccurs="1" name="code" type="s:string" /> </s:sequence> </s:complextype> </s:element> - <s:element name="getdataresponse"> - <s:complextype> - <s:sequence> - <s:element minoccurs="0" maxoccurs="1" name="getdataresult"> - <s:complextype> - <s:sequence> <s:element ref="s:schema" /> <s:any /> </s:sequence> </s:complextype> </s:element> </s:sequence> </s:complextype> </s:element> - <s:element name="getdatall"> - <s:complextype> - <s:sequence> <s:element minoccurs="0" maxoccurs="1" name="id" type="s:string" /> <s:element minoccurs="0" maxoccurs="1" name="idn" type="s:string" /> </s:sequence> </s:complextype> </s:element> - <s:element name="getdatallresponse"> 68

69 - <s:complextype> - <s:sequence> - <s:element minoccurs="0" maxoccurs="1" name="getdatallresult"> - <s:complextype> - <s:sequence> <s:element ref="s:schema" /> <s:any /> </s:sequence> </s:complextype> </s:element> </s:sequence> </s:complextype> </s:element> - <s:element name="getlogo"> <s:complextype /> </s:element> - <s:element name="getlogoresponse"> - <s:complextype> - <s:sequence> - <s:element minoccurs="0" maxoccurs="1" name="getlogoresult"> - <s:complextype> - <s:sequence> <s:element ref="s:schema" /> <s:any /> </s:sequence> </s:complextype> </s:element> </s:sequence> </s:complextype> </s:element> - <s:element name="updatefoithths"> - <s:complextype> - <s:sequence> <s:element minoccurs="0" maxoccurs="1" name="idpersonold" type="s:string" /> <s:element minoccurs="0" maxoccurs="1" name="idpersonew" type="s:string" /> </s:sequence> </s:complextype> </s:element> - <s:element name="updatefoiththsresponse"> <s:complextype /> </s:element> - <s:element name="aigaiou"> <s:complextype /> </s:element> - <s:element name="aigaiouresponse"> <s:complextype /> </s:element> </s:schema> </wsdl:types> - <wsdl:message name="getdatasoapin"> <wsdl:part name="parameters" element="tns:getdata" /> </wsdl:message> - <wsdl:message name="getdatasoapout"> 69

70 <wsdl:part name="parameters" element="tns:getdataresponse" /> </wsdl:message> - <wsdl:message name="getdatallsoapin"> <wsdl:part name="parameters" element="tns:getdatall" /> </wsdl:message> - <wsdl:message name="getdatallsoapout"> <wsdl:part name="parameters" element="tns:getdatallresponse" /> </wsdl:message> - <wsdl:message name="getlogosoapin"> <wsdl:part name="parameters" element="tns:getlogo" /> </wsdl:message> - <wsdl:message name="getlogosoapout"> <wsdl:part name="parameters" element="tns:getlogoresponse" /> </wsdl:message> - <wsdl:message name="updatefoiththssoapin"> <wsdl:part name="parameters" element="tns:updatefoithths" /> </wsdl:message> - <wsdl:message name="updatefoiththssoapout"> <wsdl:part name="parameters" element="tns:updatefoiththsresponse" /> </wsdl:message> - <wsdl:message name="aigaiousoapin"> <wsdl:part name="parameters" element="tns:aigaiou" /> </wsdl:message> - <wsdl:message name="aigaiousoapout"> <wsdl:part name="parameters" element="tns:aigaiouresponse" /> </wsdl:message> - <wsdl:porttype name="service1soap"> - <wsdl:operation name="getdata"> <wsdl:input message="tns:getdatasoapin" /> <wsdl:output message="tns:getdatasoapout" /> </wsdl:operation> - <wsdl:operation name="getdatall"> <wsdl:input message="tns:getdatallsoapin" /> <wsdl:output message="tns:getdatallsoapout" /> </wsdl:operation> - <wsdl:operation name="getlogo"> <wsdl:input message="tns:getlogosoapin" /> <wsdl:output message="tns:getlogosoapout" /> </wsdl:operation> - <wsdl:operation name="updatefoithths"> <wsdl:input message="tns:updatefoiththssoapin" /> <wsdl:output message="tns:updatefoiththssoapout" /> </wsdl:operation> - <wsdl:operation name="aigaiou"> <wsdl:input message="tns:aigaiousoapin" /> <wsdl:output message="tns:aigaiousoapout" /> </wsdl:operation> </wsdl:porttype> - <wsdl:binding name="service1soap" type="tns:service1soap"> <soap:binding transport=" /> - <wsdl:operation name="getdata"> <soap:operation soapaction=" style="document" /> - <wsdl:input> <soap:body use="literal" /> 70

71 </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="getdatall"> <soap:operation soapaction=" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="getlogo"> <soap:operation soapaction=" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="updatefoithths"> <soap:operation soapaction=" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="aigaiou"> <soap:operation soapaction=" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:binding name="service1soap12" type="tns:service1soap"> <soap12:binding transport=" /> - <wsdl:operation name="getdata"> <soap12:operation soapaction=" style="document" /> - <wsdl:input> <soap12:body use="literal" /> </wsdl:input> - <wsdl:output> <soap12:body use="literal" /> </wsdl:output> 71

72 </wsdl:operation> - <wsdl:operation name="getdatall"> <soap12:operation soapaction=" style="document" /> - <wsdl:input> <soap12:body use="literal" /> </wsdl:input> - <wsdl:output> <soap12:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="getlogo"> <soap12:operation soapaction=" style="document" /> - <wsdl:input> <soap12:body use="literal" /> </wsdl:input> - <wsdl:output> <soap12:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="updatefoithths"> <soap12:operation soapaction=" style="document" /> - <wsdl:input> <soap12:body use="literal" /> </wsdl:input> - <wsdl:output> <soap12:body use="literal" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="aigaiou"> <soap12:operation soapaction=" style="document" /> - <wsdl:input> <soap12:body use="literal" /> </wsdl:input> - <wsdl:output> <soap12:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="service1"> - <wsdl:port name="service1soap" binding="tns:service1soap"> <soap:address location=" /> </wsdl:port> - <wsdl:port name="service1soap12" binding="tns:service1soap12"> <soap12:address location=" /> </wsdl:port> </wsdl:service> </wsdl:definitions> 72

73 Tα web service που ευθύνονται για την ενηµέρωση και την ανάκτηση δεδοµένων είναι τα εξής: Aigaiou.asmx Aristoteleio.asmx Dhmokriteio.asmx Εικονα 29:web services εφαρµογής To web service 2 µας βοηθά στη συνένωση των web service και συγκεκριµενα καλεί τη µέθοδο select των πανεπιστήµιων για την επιλογή των καλύτερων φοιτητών σε ένα τµήµα το οποίο στη συνεχεία ενσωµατώνεται στην επιχειρησιακή δοµή ΒPEL. [WebMethod] public List<WebService22.localhost.Foithth> select(string vathmos,string college) { WebService22.localhost.Service1 a1 = new WebService22.localhost.Service1(); WebService22.dhmokrit.Service1 a2 = new WebService22.dhmokrit.Service1(); List<WebService22.dhmokrit.Foithth> s = a2.select("a").tolist(); List<WebService22.localhost.Foithth> d= a1.select(college).tolist(); 73

74 List<WebService22.localhost.Foithth> w=new List<WebService22.localhost.Foithth>(); // w.insertrange(w.count, s); return d; } Στη συνέχεια ενσωµατώνουµε στην επιχειρησιακή ροή BPEL το web service όπως φαίνεται στο σχήµα.στο πρώτο κόµβο στέλνουµε το µήνυµα ενεργοποιώντας την ροή στη συνέχεια λαµβάνουµε το web_service µε την βοήθεια του invoke_web_service,έπειτα µε τη βοήθεια του decide Node βλέπουµε αν είναι πάνω από µια τιµή η όχι και επιστρέφουµε το αντίστοιχο αποτέλεσµα. Εικόνα 29:BPEL ροή 74

75 Εικόνα 30:περιγραφή του web service Λειτουργία Της Εφαρµογής Η παρούσα εφαρµογή έχει σα σκοπό την απόκτηση ενός αντιγράφου πτυχίου η µιας βεβαίωσης σπουδών χωρίς την αναµονή από την γραµµατεία. Η υπηρεσία αυτή παρουσιάζεται ενσωµατωµένη στις υπηρεσίες των ΚΕΠ. Ο τελικός αποδέκτης επισκεπτόµενος τα ΚΕΠ και έχοντας την ταυτότητα µαζί του θα µπορούσε να αποκτήσει άµεσα ένα αντίγραφο πτυχίου. Ο υπάλληλος πληκτρολογώντας των αριθµό αστυνοµικής ταυτότητας θα µπορούσε να δει σε ποια πανεπιστήµια έχει φοιτήσει ο ενδιαφερόµενος. Έπειτα επιλέγοντας αυτό που τον ενδιαφέρει και πατώντας εκτύπωση παίρνει ένα report το όποιο είναι το αντίγραφο πτυχίου του ενδιαφεροµένου. 75

76 Εικόνα 31: Application Overview Βήµατα λειτουργιάς εφαρµογής: Παρουσιάζεται ενδεικτικά βήµα προς βήµα η υπηρεσία που αφορά την ανάκτηση των αντιγράφων πτυχίου. 1. Ο χρήστης συνδέεται στην εφαρµογή 2. Ο χρήστης γράφει τον αριθµό αστυνοµικής ταυτότητας στη φόρµα υποβολής πατώντας το κουµπί αναζήτηση. 3. Ο αριθµό αστυνοµικής ταυτότητας περνά σα παράµετρος στο aristoleio web service,στο dhmokriteio web service και στο makedonias για περαιτέρω επεξεργασία. Τα web service αναζητούν αν υπάρχει ο εν λόγο φοιτητής στη βάση τους. 4. Αν βρεθεί ο εν λόγο φοιτητής σε κάποια από τις βάσεις επιστρέφονται στην εφαρµογή όλα τα απαραίτητα στοιχειά(όνοµα,επίθετο,πατρώνυµο,ηµεροµηνία εισαγωγής, ηµεροµηνία αποφοίτησης, πανεπιστήµιο, τµήµα ) για την έκδοση του αντιγράφου µέσω του web service. H Εφαρµογή αναλύει τα στοιχειά και καλεί (invokes)τα web services 5. Επειδή το query µπορεί να επιστρέψει παραπάνω από ένα αποτελέσµατα επειδή ο ενδιαφερόµενος µπορεί να έχει φοιτήσει σε παραπάνω του ενός 76

77 τµήµατα δίνεται η δυνατότητα στο χρήστη επιλέγοντας ένα από τα επιστρεφόµενα αποτελέσµατα να διαλέξει το επιθυµητό. Έτσι η εφαρµογή κρατεί το ID της επιλογής για να το χρησιµοποιήσει ως κριτήριο αναζήτησης ώστε να καλέσει το κατάλληλο web service όταν έρθει η ώρα η της εκτύπωσης. 6. Πατώντας την εκτύπωση κάνει invoke το web service ποu έχει επιλέξει επιστρέφοντας του τα απαραίτητα στοιχειά για το report. Αναζήτηση Ενός Φοιτητή Ο χρήστης καταχωρώντας τον αριθµό αστυνοµικής ταυτότητας µπορεί να αναζητήσει ένα φοιτητή πατώντας το κουµπί αναζήτηση. Εικόνα 32:Αναζήτηση φοιτητή 77

78 Με την αναζήτηση επιστρέφονται τα απαραίτητα στοιχεία και εµφανίζονται στο datagrid.εδώ βλέπουµε ότι έχει φοιτήσει σε δυο πανεπιστήµια εκ των οποίων το στο ένα φοιτά ακόµα. Αυτό το καταλαβαίνουµε από το πεδίο κατάσταση το οποίο είναι κενό. Εικόνα 33:Επιστροφή αποτελεσµάτων Επιλέγοντας το πρώτο και πατώντας εκτύπωση θα µα παράγει το report το όποιο αφορά το αντίστοιχο αντίγραφο πτυχίου. Εικόνα 34:Εκτύπωση report (αντιγράφου πτυχίου) 78

79 Σε περίπτωση όπου ο φοιτητής δεν έχει αποφοιτήσει έχει την δυνατότητα να πάρει ένα αντίγραφο σπουδών. Εικόνα 35:Εκτύπωση βεβαίωσης σπουδών Στη παρακάτω εικόνα βλέπουµε τη δεύτερη φόρµα η οποία µας βοηθάει στην αναζήτηση του κάτοχου µιας αστυνοµικής ταυτότητας και στην ανανέωση τόσο των στοιχείων στη τοπική βάση όσο και στις βάσεις των πανεπιστηµίων. Εικόνα 36:Αναζήτηση κατόχου Αστυνοµικής ταυτότητας 79

80 Ο αστυνοµικός αφού εισάγει τον αριθµό της ταυτότητας του κάτοχου και πατώντας το κουµπί της αναζήτησης παίρνει στη παρακάτω φόρµα µε όλα τα στοιχεία της ταυτότητας. Εικόνα 37:επιστροφή στοιχείων ύστερα από αναζήτηση 80

81 Τέλος ο αστυνοµικός πατώντας το κουµπί ανανέωση ενηµερώνει τη τοπική βάση της αστυνοµίας και τις βάσεις των πανεπιστηµίων µε το καινούργιο αριθµό της ταυτότητας που φαίνεται στο κόκκινο πλαίσιο έχοντας ως κριτήριο αναζήτησης το παλαιό που βρίσκεται στο µπλε πλαίσιο. Εικόνα 38:Ανανέωση βάσεων Στη παρακάτω εικόνα φαίνονται τα αποτελέσµατα µέσω της ροής ΒPEL ύστερα από αναζήτηση µε κριτήρια φοιτητές που βρίσκονται στο τµήµα πληροφορικής και µε βαθµό µεγαλύτερο από 6. Εικόνα 39:Επιστροφή αποτελεσµάτων µε τη βοήθεια της ροής BPEL 81

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

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

Διαβάστε περισσότερα

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Ορισμός των Web Services

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Περιεχόμενα Εισαγωγή στις Υπηρεσίες Ιστού Ορισμοί Παραδείγματα Σύγκριση με άλλες τεχνολογίες Πρωτόκολλα Υπηρεσιών Ιστού SOAP

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

* Enterprise Resource Planning ** Customer Relationship Management

* Enterprise Resource Planning ** Customer Relationship Management Υπηρεσιοστρεφείς Επιχειρησιακές ιαδικασίες ιαµοιρασµός και Επαναχρησιµοποίηση Αποτελούν βασικές απαιτήσειςκατά το σχεδιασµό και την ολοκλήρωση (integration) επιχειρησιακών διαδικασιών ιαµοιρασµός: πολλοί

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

Διαβάστε περισσότερα

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

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

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

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

7.2 Τεχνολογία TCP/IP 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Πώς χρησιµοποιείται σήµερα ο όρος TCP/IP; ε ποια πρωτόκολλα αναφέρεται και γιατί έχει επικρατήσει αυτή η ονοµασία; 2. Ποια ανάγκη οδήγησε στην επικράτηση της τεχνολογίας

Διαβάστε περισσότερα

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

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

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

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.11 Πρωτόκολλα Εφαρµογής 104. Αναφέρετε ονοµαστικά τις πιο χαρακτηριστικές εφαρµογές που υποστηρίζει η τεχνολογία TCP/IP οι οποίες είναι διαθέσιµες στο ιαδίκτυο 1. Ηλεκτρονικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΙΑ ΙΚΤΥΑΚΗ ΛΕΙΤΟΥΡΓΙΑ (Kεφ. 16) ΠΡΩΤΟΚΟΛΛΑ ΡΟΜΟΛΟΓΗΣΗΣ Αυτόνοµα Συστήµατα Πρωτόκολλο Συνοριακών Πυλών OSPF ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ (ISA) Κίνηση ιαδικτύου Προσέγγιση

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

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

Συστήματα ηλεκτρονικής μάθησης με χρήση υπηρεσιών ιστού και ροών εργασίας ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΔΙΔΑΚΤΙΚΗΣ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΤΕΥΘΥΝΣΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΜΑΘΗΣΗΣ Συστήματα ηλεκτρονικής μάθησης με χρήση υπηρεσιών ιστού και ροών εργασίας Διπλωματική εργασία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

Διαβάστε περισσότερα

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

Ανάπτυξη Συστήματος Σύνθεσης Υπηρεσιών Ιστού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ανάπτυξη Συστήματος Σύνθεσης Υπηρεσιών Ιστού Διπλωματική Εργασία του Σιδηρόπουλου Ανέστη (ΑΕΜ: 1537) Επιβλέπων Καθηγητής:

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ. ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 2016 Γ Τάξη Ε.Π.Α.Λ. ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα το γράµµα Σ, αν είναι σωστή, ή το γράµµα

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

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

Ανάπτυξηλογισμικού υλοποίησης του ανοικτού πρότυπου EPCALEv1.1 για εφαρμογές RFID ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ- ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, Ανάπτυξηλογισμικού υλοποίησης του ανοικτού πρότυπου EPCALEv1.1 για εφαρμογές RFID ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ Marie-Aurélie

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Για να διεκπεραιωθεί η μεταφορά των πακέτων από την πηγή στον προορισμό μεταξύ των κόμβων του επικοινωνιακού υποδικτύου απαιτείται η

Διαβάστε περισσότερα

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

Τεχνικές Προδιαγραφές ιαλειτουργικότητας ΤΕΧΝΙΚΕΣ ΠΡΟ ΙΑΓΡΑΦΕΣ ΕΙΓΜΑ ΠΑΡΑΡΤΗΜΑΤΟΣ ΙΑΓΩΝΙΣΜΟΥ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «Κοινωνία της Πληροφορίας» http://www.infosociety.gr Μάιος 2003 Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Διαβάστε περισσότερα

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

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

Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Ορισμός Δίκτυο Υπολογιστών = Mία ομάδα από 2 ή περισσότερους υπολογιστές που είναι συνδεδεμένοι μεταξύ τους. Ο κύριος σκοπός είναι να ανταλλάσσουν

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

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

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

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

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Ελένη Καλδούδη Τμήμα Ιατρικής Δημοκρίτειο Πανεπιστήμιο Θράκης 2003 θέματα το χθές, το σήμερα και το αύριο για τα PACS απαιτήσεις από

Διαβάστε περισσότερα

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

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

6.2 Υπηρεσίες Διαδικτύου 6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3.

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3. Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET Εφαρµογές - Ιούλιος 09 1 Εισαγωγή στην τεχνολογία TCP/IP Τεχνολογία TCP/IP TCP/IP Πρωτόκολλα TCP/IP ή τεχνολογία TCP/IP ή τεχνολογία ιαδικτύου (Internet)( ιαδίκτυο

Διαβάστε περισσότερα

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

7.11 Πρωτόκολλα εφαρµογής 7.11 Πρωτόκολλα εφαρµογής Ερωτήσεις 1. Ποιος ο ρόλος των πρωτοκόλλων εφαρµογής και πώς χειρίζονται τις συνδέσεις δικτύου; 2. Γιατί κάθε πρωτόκολλο εφαρµογής ορίζει συγκεκριµένο τρόπο παρουσίασης των δεδοµένων;

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

Διαβάστε περισσότερα

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 ιαφορετική αρχιτεκτονική: Κοινή βάση δεδοµένων, υνατότητες διασύνδεσης διαφορετικών συστηµάτων Η ανάγκη για την βελτίωση της ποιότητας των

Διαβάστε περισσότερα

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,

Διαβάστε περισσότερα

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

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

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

Συστήματα Διοίκησης ΕΙΣΑΓΩΓΗ. Ηλεκτρονικές Συναλλαγές. Καθηγητής Δ. Ασκούνης, Δ. Πανόπουλος ΕΙΣΑΓΩΓΗ Ηλεκτρονικές Συναλλαγές Καθηγητής Δ. Ασκούνης, Δ. Πανόπουλος Ηλεκτρονικές Συναλλαγές 2017 Ορισμοί «Ηλεκτρονική Συναλλαγή» είναι οποιαδήποτε μορφή συναλλαγής που υποστηρίζεται σημαντικά από Τεχνολογίες

Διαβάστε περισσότερα

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

PayByBank RESTful API GUIDE

PayByBank RESTful API GUIDE PayByBank RESTful API GUIDE Α. PayByBank API Documentation Για να χρησιμοποιήσετε το PayByBank API περιβάλλον (Documentation/PLAYGROUND), χρειάζεται να δημιουργήσετε ένα λογαριασμό, καταχωρώντας ένα έγκυρο

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

Τεχνολογίες ιαδικτύου

Τεχνολογίες ιαδικτύου Τεχνολογίες ιαδικτύου Εισαγωγή Αρχιτεκτονική, Πρωτόκολλα και Πρότυπα Βασικών Υπηρεσιών Ιστορικά Στοιχεία ARPANET Ο «παππούς» των δικτύων Αναπτύχθηκε από την DARPA στα τέλη του 60 Το 83 διασπάται σε MILNET

Διαβάστε περισσότερα

Paybybank RESTful API GUIDE

Paybybank RESTful API GUIDE Paybybank RESTful API GUIDE Α. Paybybank API Documentation Για να χρησιμοποιήσετε το Paybybank API περιβάλλον (Documentation/PLAYGROUND), χρειάζεται να δημιουργήσετε ένα λογαριασμό, καταχωρώντας ένα έγκυρο

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 6: Δρομολόγηση (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Οδηγίες Ηλεκτρονικής Υποβολής Προτάσεων

Οδηγίες Ηλεκτρονικής Υποβολής Προτάσεων ΥΠΟΥΡΓΕΊΟ ΑΝΑΠΤΥΞΗΣ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΒΙΟΜΗΧΑΝΙΑΣ /ΝΣΗ ΜΜΕ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ» 2007 2013 ΠΡΟΓΡΑΜΜΑΤΑ «ΕΝΙΣΧΥΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑΣ ΝΕΩΝ» «ΕΝΙΣΧΥΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑΣ

Διαβάστε περισσότερα

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

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

Διαβάστε περισσότερα

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

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

Διαβάστε περισσότερα

Network Address Translation (NAT)

Network Address Translation (NAT) HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

χρήστες και υπηρεσίες

χρήστες και υπηρεσίες ιδακτικό υλικό µαθητή χρήστες και υπηρεσίες Από όσα αναφέρθηκαν, γίνεται αντιληπτό ότι όποιος έχει τον κατάλληλο εξοπλισµό και έχει εξασφαλίσει τον τρόπο σύνδεσής του µε το ιαδίκτυο, µπορεί να το χρησιµοποιήσει.

Διαβάστε περισσότερα

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

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Ουρανία Χατζή raniah@hua.gr Χαροκόπειο Πανεπιστήμιο 29 Νοεμβρίου 2007 Outline Web Service Overview Standards & Model Syntactic vs Semantic

Διαβάστε περισσότερα

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. WSDLBook: ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ WSDLBook: Web 2.0 εφαρμογή για WSDL Περιγραφές Υπηρεσιών Ιστού (Web Services) Διπλωματική Εργασία του Γεωργακάκη Νικολάου

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ηυιοθέτησητης τεχνολογίαςκαι αρχιτεκτονικής TCP/IP δεν έρχεται σε σύγκρουσηµε το µοντέλο του OSI και αυτό γιατί και τα δυο συστήµατααναπτύχθηκαν συγχρόνως. Παρόλα αυτά, υπάρχουν ορισµένες ουσιώδεις διαφορές

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

Διαβάστε περισσότερα

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

Διαβάστε περισσότερα

Λογισµικό (Software SW) Γλώσσες

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. DICOM Επικοινωνία Γενικά

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. DICOM Επικοινωνία Γενικά Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. DICOM Επικοινωνία Γενικά Το πρότυπο DICOM δεν καθορίζει μόνο τον μορφότυπο (format) ενός αρχείου που περιέχει μία ιατρική

Διαβάστε περισσότερα

ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2

ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2 ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2 1 ΠΕΡΙΕΧΟΜΕΝΑ Πρωτόκολο http εντολών έκδοση 1.0 Σελ:2...περιεχόμενα Σελ:3...τι θα βρείτε σε αυτό το βιβλίο Σελ:3...γενικά τεχνικά χαρακτηριστικά Σελ:4-5...πως

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Introduction to JAX-WS. Φοιτητής : ηµόπουλος Κωνσταντίνος Introduction to JAX-WS Φοιτητής : ηµόπουλος Κωνσταντίνος οµή Παρουσίασης Introduction to JAX-WS About Web Services Πρωτόκολλα WS Περιγραφή λειτουργίας WS JAX-WS Server/Client side Τα πλεονεκτήµατα του

Διαβάστε περισσότερα

ιαχείριση Τηλεφωνικών Κλήσεων

ιαχείριση Τηλεφωνικών Κλήσεων ιαχείριση Τηλεφωνικών Κλήσεων 1 Διαχει ριση Τηλεφωνικω ν Κλη σεων ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ... 3 ΔΟΜΗ ΧΡΗΣΤΩΝ ΚΑΙ ΔΙΚΑΙΩΜΑΤΑ ΕΠΙ ΤΩΝ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ... 3 ΣΧΗΜΑΤΙΚΗ ΑΠΕΙΚΟΝΙΣΗ... 4 ΕΙΣΕΡΧΟΜΕΝΕΣ ΚΛΗΣΕΙΣ... 5

Διαβάστε περισσότερα

FROM TESTOTA.REGISTRY

FROM TESTOTA.REGISTRY ΟΤΑ Επιχειρησιακή Νοηµοσύνη Ενότητα: Βc1.1.3 Επιχειρησιακή Νοηµοσύνη και Τεχνολογίες της Πληροφορικής και των Επικοινωνιών (BI & IT) Πρακτική Άσκηση (επίπεδο 1): Στόχος της άσκησης είναι η εµβάθυνση στην

Διαβάστε περισσότερα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

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

SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου 1. SGA Διαχείριση Πρωτοκόλλου... 2 1.1. Καινοτομία του προσφερόμενου προϊόντος... 2 1.2. Γενικές αρχές του προσφερόμενου συστήματος... 2 1.3. Ευκολία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Διαβάστε περισσότερα

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

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Ηλεκτρονικού Πρωτοκόλλου Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 10/1/2011 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289

Διαβάστε περισσότερα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

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

Πίνακας Εικόνων. 22/04/2014 Έκδοση 3.0.1 Προδιαγραφές για Προγραμματιστές Διαδικτυακής Υπηρεσίας «Βασικά στοιχεία μητρώου για νομικά πρόσωπα, νομικές οντότητες, και φυσικά πρόσωπα με εισόδημα από επιχειρηματική δραστηριότητα». Πίνακας Περιεχομένων

Διαβάστε περισσότερα

το ιαδίκτυο συνδέει εκατοµµύρια χρήστες αποτελώντας την µεγαλύτερη πηγή πληροφοριών και ανταλλαγής µηνυµάτων στον πλανήτη.

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

Διαβάστε περισσότερα