ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Πληροφορικής και Επικοινωνιών ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Ανάπτυξη ενιαίας web-based εφαρμογής σε αρχιτεκτονική τριών βαθμίδων για ολοκληρωμένη διαχείριση εταιρικών δεδομένων και υπηρεσιών με ASP και XML στον SQL Server» Επιβλέπων Καθηγητής Δρ. Κόκκινος Ιωάννης Σπουδαστές Χρησταντωνίου Γεώργιος Λουλόπουλος Φίλων - Δημήτριος Μάιος 2007
Σκοπός Σκοπός της πτυχιακής εργασίας είναι η ανάπτυξη εφαρμογής, η οποία θα προσφέρει δικτυακά, μέσω της αρχιτεκτονικής τριών βαθμιδών, λειτουργίες επεξεργασίας δεδομένων (όπως εισαγωγή, τροποποίηση, διαγραφή, εμφάνιση, αναζήτηση και αποθήκευση) σε συνεργασία με μια βάση δεδομένων. Τα παραπάνω θα επιτευχθούν με τη χρήση τεχνολογιών και γλωσσών προγραμματισμού όπως ASP, ADO, XML και VB-Script.
Active Server Pages Η γλώσσα προγραμματισμού ASP (Active Server Pages) έχει το ιδιαίτερο χαρακτηριστικό ότι ο κώδικας της πρώτα μεταγλωττίζεται στον Server και μετά φορτώνεται σαν ένα κανονικό html έγγραφο, χωρίς ο χρήστης να είναι σε θέση να δει τον αρχικό κώδικα. Με την τεχνολογία της ASP μπορούμε να δημιουργήσουμε δυναμικές ιστοσελίδες (dynamic web pages). Ανταγωνιστικές τεχνολογίες της ASP είναι η τεχνολογία PHP (Hyper Text PreProcessor) καθώς και η τεχνολογία CFML (ColdFusion MarkUp Language). Ένα αρχείο ASP είναι ακριβώς το ίδιο όπως ένα αρχείο html. Ένα αρχείο ASP μπορεί να περιέχει κείμενο, html tags και scripts. Τα scripts σε ένα αρχείο ASP εκτελούνται στον Server. Ένα αρχείο ASP έχει την επέκταση .asp.
Τι μπορεί να κάνει η ASP για μας… Active Server Pages Τι μπορεί να κάνει η ASP για μας… Να τροποποιήσει δυναμικά το περιεχόμενο μιας ιστοσελίδας. Να απαντά σε ερωτήσεις χρήστη ή σε δεδομένα που υποβάλλονται από φόρμες html. Να έχει πρόσβαση σε δεδομένα ή σε βάσεις δεδομένων και να επιστρέφει τα αποτελέσματα σε έναν browser. Να προσαρμόζει μια ιστοσελίδα ώστε να την κάνει πιο χρήσιμη στους χρήστες. Τα πλεονεκτήματα από τη χρήση της ASP αντί για την CGI και την Pearl είναι η απλότητα και η ταχύτητα. Παρέχει ασφάλεια εφόσον ο ASP κώδικας μας δεν μπορεί να ιδωθεί από τον browser. Εφόσον τα αρχεία ASP επιστρέφονται σαν απλοί html μπορούν να ιδωθούν από οποιονδήποτε browser. Ο έξυπνος ASP προγραμματισμός μπορεί να ελαχιστοποιήσει την κυκλοφορία στο δίκτυο (network traffic)
Ένα απλό παράδειγμα σε VBScript είναι το εξής : Όπως υπονοεί και το όνομα της, η VBScript (Visual Basic Script) είναι μια γλωσσά συγγραφής σεναρίων (scripting language) που χρησιμοποιείται για να προσθέσει εφέ και διαλογικότητα (interactivity) στις ιστοσελίδες μας και που μοιάζει πολύ με την γνωστή γλώσσα προγραμματισμού Visual Basic. Η VBScript ενσωματώνεται μέσα στον κώδικα της html και ο κώδικας της μπορεί να εκτελεστεί αμέσως ή όταν λαμβάνει χώρα ένα συμβάν (event). Ένα απλό παράδειγμα σε VBScript είναι το εξής : <html> <body> <script type="text/vbscript"> document.write("Hello from Serres") </script> </body> </html> Γράφουμε τον κώδικα της VBScript ανάμεσα στις ετικέτες (tags) <script> και </script>, όπου στην πρώτη ετικέτα χρησιμοποιούμε την ιδιότητα (attribute) type="text/vbscript" ή language="VBScript" για να προσδιορίσουμε την γλώσσα scripting. Το παραπάνω σενάριο θα εμφανίσει ένα κείμενο μέσα στην ιστοσελίδα χρησιμοποιώντας τη συνάρτηση (μέθοδο) write() του αντικειμένου document.
Αρχιτεκτονική Τριών Βαθμίδων Αρχικά υπήρχαν οι απλές Μονολιθικές εφαρμογές που βρίσκονταν σε έναν υπολογιστή. Έπειτα εμφανίστηκε το μοντέλο Πελάτη-Εξυπηρετητή (2 βαθμίδες) και οι παραλλαγές αυτού. Τέλος, ήρθαν οι εφαρμογές 3 βαθμίδων στις οποίες η λειτουργικότητα του προγράμματος (business logic) είναι απομονωμένη από τις δυνατότητες παρουσίασης και υπάρχουν υιοθετημένοι στόχοι σχεδίασης όπως κλιμάκωση, διαθεσιμότητα, διαχειρησιμότητα.
Αρχιτεκτονική Τριών Βαθμίδων Πλεονεκτήματα των εφαρμογών 3-βαθμίδων Απομονωμένη Business Logic Κλιμακωτή σχεδίαση Υποστήριξη για πολλαπλές γλώσσες προγραμματισμού ανάμεσα στις βαθμίδες και τα συστατικά Προαιρετική κεντρική και απλοποιημένη διαχείριση με τη χρήση component servers Εξισορρόπηση φόρτου με την ανάπτυξη πολλών Servers Καλύτερη και αποτελεσματικότερη πρόσβαση στα δεδομένα Μοντέλο εμπλουτισμένης ασφάλειας (Περιορισμοί πρόσβασης στο επίπεδο συστατικών) Απλοποιημένη πρόσβαση σε εξωτερικές εφαρμογές
ActiveX Data Objects Το ADO είναι μια τεχνολογία της Microsoft. ADO σημαίνει ActiveX Data Objects Το ADO είναι ένα συστατικό του Microsoft Active-X. Το ADO εγκαθίσταται αυτομάτως με τον Microsoft IIS Το ADO είναι ένα προγραμματιστική διεπαφή για την προσπέλαση δεδομένων σε μια βάση δεδομένων
ActiveX Data Objects Προσπέλαση Μιας Βάσης Δεδομένων Από Μια Σελίδα ASP Ο πιο συνήθης τρόπος για την προσπέλαση μιας Βάσης Δεδομένων μέσα από μια σελίδα ASP είναι να : Δημιουργήσουμε μια σύνδεση ADO σε μια Βάση Δεδομένων. Ανοίξουμε την σύνδεση με τη Βάση. Δημιουργήσουμε ένα ADO recordset Ανοίξουμε το recordset Εξάγουμε τα δεδομένα που χρειαζόμαστε από το recordset Κλείσουμε το recordset Κλείσουμε την σύνδεση Το Αντικείμενο Recordset Το αντικείμενο ADO Recordset χρησιμοποιείται για να κρατά ένα πακέτο από εγγραφές ενός πίνακα μιας Βάσης Δεδομένων. Το αντικείμενο Recordset object αποτελείται από εγγραφές και στήλες (πεδία). Στην ADO, αυτό το αντικείμενο είναι το πιο σημαντικό και το πιο τακτικά χρησιμοποιούμενο για να τη διαχείριση δεδομένων από μια Βάση.
eΧtensible Markup Language Η γλώσσα XML (eXtensible Markup Language) είναι μία μετα-γλώσσα. Δημιουργεί έγγραφα με ιεραρχική δομή, με αποτέλεσμα τα δεδομένα μέσα σε αυτά να μπορούν να χρησιμοποιηθούν άμεσα καθότι δεν κρατούνται μόνο τα δεδομένα, αλλά και η δομή και οι κατηγορίες (μετα-δεδομένα) αυτών μέσα στο αρχείο XML. Η XML μπορεί να αναπαραστήσει δεδομένα βάσεων δεδομένων, όπως επίσης πολλά άλλα είδη δομημένων δεδομένων που χρησιμοποιούνται σε επαγγελματικές εφαρμογές. Είναι πολύ χρήσιμη για την ανταλλαγή μορφοποιημένων δεδομένων ως XML αρχεία όταν μια εφαρμογή πρέπει να επικοινωνεί με μια άλλη εφαρμογή, ή για την ενοποίηση πληροφοριών από διάφορες εφαρμογές. Για την οικογένεια των γλωσσών σήμανσης που περιλαμβάνουν τις HTML, SGML και XML, η σήμανση παίρνει την μορφή ετικετών (tag) που περικλείονται σε γωνιώδεις αγκύλες, <>. Οι ετικέτες χρησιμοποιούνται σε ζευγάρια, με την <tag> και την </tag> για να χωρίζουν την αρχή και το τέλος του τμήματος του εγγράφου στο οποίο αναφέρεται η ετικέτα. Για παράδειγμα, ο τίτλος: <title>ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ</title>
eΧtensible Markup Language Όλα τα XML έγγραφα πρέπει να έχουν τα εξής χαρακτηριστικά : Να ορίζουν τα δεδομένα με μια δομημένη μορφή, σύμφωνα με το εξής στυλ: <tag> δεδομένα </tag>. Να έχουν επέκταση αρχείου .xml. Να μπορούν να δημιουργηθούν μ' έναν κειμενογράφο ή μ' έναν XML επεξεργαστή. Να μεταφέρονται από τον Web server στον Web client μέσω του πρωτοκόλλου HTTP. Να αποτελούν απαραίτητο στοιχείο μιας XML εφαρμογής, η οποία περιλαμβάνει επιπλέον ένα προαιρετικό DTD, έναν XML αναλυτή (parser) και μια λογική παρουσίασης/επεξεργασίας. Ένα παράδειγμα XML εγγράφου είναι το εξής : <?xml version="1.0"?> <GREETING> Hello from Serres </GREETING> Περιέχει ένα XML στοιχείο με μια ετικέτα αρχής και μια ετικέτα τέλους και ένα κείμενο σαν περιεχόμενο. Η ιδιότητα version δηλώνει την έκδοση (τυποποίηση) της XML που χρησιμοποιούμε, που εδώ είναι η 1.0.
SQL Server Ο Microsoft® SQL Server™ 2000 είναι σχεδιασμένος για να δουλεύει αποτελεσματικά σαν: Μια κεντρική βάση δεδομένων πάνω σε έναν server μοιραζόμενη από πολλούς χρήστες οι οποίοι συνδέονται σ’ αυτόν μέσω ενός δικτύου. Ο αριθμός των χρηστών ποικίλλει από τον αριθμό των δακτύλων ενός χεριού σε ένα workgroup, μέχρι χιλιάδες εργαζομένων σε μια μεγάλη εταιρεία ή εκατοντάδες χιλιάδες χρηστών του Web. Μια βάση δεδομένων σε έναν υπολογιστή που εξυπηρετεί μόνο εφαρμογές που τρέχουν στον αυτό υπολογιστή
Πλεονεκτήματα Του SQL Server 2000 Ως Ενός Database Server Ο Microsoft SQL Server 2000 είναι ικανός να παρέχει στην βάση δεδομένων υπηρεσίες που είναι αναγκαίες σε πολύ μεγάλα συστήματα. Οι υπερβολικά μεγάλες τοποθεσίες Ιnternet μπορούν να μοιράσουν τα δεδομένα τους σε πολλούς servers, απλώνοντας τον φόρτο επεξεργασίας σε πολλούς υπολογιστές και επιτρέποντας στο site να εξυπηρετεί χιλιάδες ταυτόχρονων χρηστών. Πολλά στιγμιότυπα του SQL Server 2000 μπορούν να εκτελεστούν σε έναν υπολογιστή. Οι εφαρμογές SQL Server 2000 μπορούν να τρέχουν στον ίδιο υπολογιστή με τον SQL Server 2000.
Εισαγωγή στην εφαρμογή Η εφαρμογή αναπτύχθηκε στο Microsoft Visual Studio InterDev και χρησιμοποιήθηκαν οι τεχνολογίες και γλώσσες προγραμματισμού HTML, ASP, VBScript, ADO, XML και CSS. Για την υλοποίηση της αρχιτεκτονικής τριών βαθμίδων χρησιμοποιήθηκε ο Microsoft IIS Server ο οποίος μπορεί να τρέχει σελίδες ASP. Η βάση δεδομένων που χρησιμοποιήθηκε είναι η Northwind η οποία βρίσκεται στον Microsoft SQL Server 2000.
Ακολουθεί η παρουσίαση της εφαρμογής…