Web based εφαρµογή δυναµικής διαχείρισης πωλήσεων επιχείρησης βασισµένη στις τεχνολογίες ASP.NET, AJAX, CSS & SQL Server

handsomechannelSoftware and s/w Development

Jul 2, 2012 (4 years and 11 months ago)

2,114 views




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

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

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


«Web based εφαρµογή δυναµικής διαχείρισης πωλήσεων επιχείρησης
βασισµένη στις τεχνολογίες ASP.NET, AJAX, CSS & SQL Server»


ΣΠΟΥ∆ΑΣΤΗΣ: ∆ελβινιώτη Ευγενία

ΕΠΙΒΛΕΠΩΝ: ∆ρ. Γκαράνη Γεωργία,
Επίκουρος Καθηγήτρια,
PhD University of London, U.K

ΛΑΡΙΣΑ 2011




Εγκρίθηκε από την τριµελή εξεταστική επιτροπή
Τόπος…………………………………………… Ηµεροµηνία…………………………............
ΕΠΙΤΡΟΠΗ ΑΞΙΟΛΟΓΗΣΗΣ
1. Ονοµατεπώνυµο…………………………………………... Υπογραφή……………......
2. Ονοµατεπώνυµο…………………………………………... Υπογραφή……………......
3. Ονοµατεπώνυµο…………………………………………... Υπογραφή……………......




i
Στόχος της παρούσας πτυχιακής εργασίας είναι να γίνει ορθή
απεικόνιση ενός on-line συστήµατος δυναµικής διαχείρισης
πωλήσεων για µια επιχείρηση. Συγκεκριµένα στην περίπτωσή
µας επιλέχθηκε µια επιχείρηση που παράγει και εµπορεύεται
αφίσες και πίνακες. Για την επίτευξη του στόχου δηµιουργήθηκε µια ιστοσελίδα που παρέχει
την δυνατότητα µέσω του φιλικού περιβάλλοντος στους πελάτες και στην επιχείρηση την
εύκολη αγορά, διαχείριση και πώληση των προϊόντων.
Πιο αναλυτικά, οι πελάτες µπορούν να αναζητήσουν, να επιλέξουν και να τροποποιήσουν το
προϊόν που επιθυµούν µε βάση τις πολλές επιλογές που παρέχονται µέχρι το τελικό στάδιο
της παραγγελίας, όπου έχουν την δυνατότητα να παρακολουθούν και να ενηµερώνονται για
την εξέλιξη της παραγγελίας τους. Από την άλλη πλευρά, η επιχείρηση, µέσα από το
περιβάλλον διαχείρισης της ιστοσελίδας, µπορεί να εισάγει και να τροποποιεί τα προϊόντα και
να χειρίζεται τις παραγγελίες. Το περιβάλλον διαχείρισης είναι σχεδιασµένο έτσι ώστε να
µπορούν να το χειρίζονται παραπάνω από ένας εργαζόµενοι της επιχείρησης µε σκοπό τον
διαµοιρασµό καθηκόντων για την καλύτερη και οµαλότερη λειτουργία της διαδικασίας
παραγωγής και πώλησης. Για το λόγο αυτό εφαρµόστηκε σύστηµα µε επίπεδα πρόσβασης. Σε
κάθε εργαζόµενο που χειρίζεται το περιβάλλον διαχείρισης αντιστοιχείται επίπεδο το οποίο
προσδιορίζει σε ποιες λειτουργίες έχει πρόσβαση. Με τα επίπεδα πρόσβασης επίσης
επιτυγχάνεται η ασφαλής και ελεγχόµενη διαχείριση δεδοµένων από τους χρήστες.
Στο θεωρητικό µέρος της η εργασίας ξεκινάει αναλύοντας την σχέση του σηµερινού
ανθρώπου µε το διαδίκτυο και τον ρόλο που παίζει στην καθηµερινότητά µας. Ο ρόλος αυτός
δεν περιορίζεται µόνο στην ενηµέρωση και την διασκέδαση που µας παρέχει αλλά πλέον
αποτελεί σηµαντικό κοµµάτι του κλάδου του εµπορίου. Αναλύοντας στην συνέχεια την
έννοια του ηλεκτρονικού εµπορίου θα δούµε τα πλεονεκτήµατα αλλά και τα µειονεκτήµατά
του. Έπειτα γίνεται ανάλυση των τεχνολογιών που χρησιµοποιήθηκαν για την ανάπτυξή της
και παράθεση της βάσης δεδοµένων της εφαρµογής. Τέλος, γίνεται η αναλυτική παρουσίαση
της ιστοσελίδας και παρατίθεται ο πηγαίος κώδικάς της.
Τελικά, παρ’ όλο που η λύση που δίνεται στην παρούσα πτυχιακή εργασία είναι
συγκεκριµένη, εύκολα θα διαπιστώσει κανείς πως η θεωρητική αλλά και η πρακτική
προσέγγιση που ακολουθεί δεν περιορίζει την λύση µόνο για το συγκεκριµένο είδος
προϊόντων. Με ελάχιστες έως και µηδενικές αλλαγές στον πηγαίο κώδικα µπορεί να γίνει
προσαρµογή και επέκταση και σε άλλου είδους προϊόντα.

ΠΕΡΙΛΗΨΗ
ii

Ευχαριστίες

Θα ήθελα να ευχαριστήσω θερµά την επιβλέπουσα της παρούσας πτυχιακής εργασίας ∆ρ.
Γκαράνη Γεωργία για την στήριξη και την βοήθεια που µου πρόσφερε όπως και για την
εµπιστοσύνη που µου έδειξε. Ως ένδειξη της εκτίµησής µου και του σεβασµού µου, θα ήθελα να
αναφέρω πως είναι το άτοµο που όχι µόνο µου προσέφερε πολύτιµες γνώσεις κατά της διάρκεια
της φοίτησής µου αλλά και τις πρώτες γνώσεις µου στην γνωριµία µου µε τον προγραµµατισµό
στο σχολείο τα οποία αποτέλεσαν πηγή έµπνευσης να επιλέξω να ακολουθήσω τον
επαγγελµατικό κλάδο της Πληροφορικής.
Ένα µεγάλο ευχαριστώ στον Τσάτο Οδυσσέα, τον υπεύθυνο της πρακτικής µου άσκησης, για την
επιµονή και την υποµονή του να µου δείξει και να µου διδάξει τις τεράστιες δυνατότητες του
προγραµµατισµού καθώς και για την εµπιστοσύνη και την πίστη που µου έδειξε.
Τέλος, θα ήθελα να ευχαριστήσω την οικογένειά µου και τους φίλους µου που είναι πάντα στο
πλευρό µου και στηρίζουν τις επιλογές µου.
iii


1. ΕΙΣΑΓΩΓΗ ...................................................................................................... 1
1.1 ∆ιαδίκτυο (Ιντερνετ) .................................................................................... 1
1.2 Το Ιντερνετ στην ζωή µας ........................................................................... 2
1.3 Το Ιντερνετ στην Ελλάδα ............................................................................ 3
1.4 Πηγές Κεφαλαίου 1 ..................................................................................... 6
2. ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ........................................................................ 7
2.1 Τι είναι το Ηλεκτρονικό Εµπόριο................................................................ 7
2.2 Είδη Ηλεκτρονικού Εµπορίου ..................................................................... 8
2.3 Τεχνολογίες Ηλεκτρονικού Εµπορίου ......................................................... 9
2.4 Πλεονεκτήµατα και µειονεκτήµατα Ηλεκτρονικού Εµπορίου ................. 11
2.4.1 Για τις επιχειρήσεις ............................................................................. 11
2.4.2 Για τους καταναλωτές ........................................................................ 12
2.5 Το Ηλεκτρονικό Εµπόριο στην Ελλάδα .................................................... 14
2.5.1 Ελληνικές Υπηρεσίες Ιντερνετ ........................................................... 15
2.5.2 Έρευνα για το Ηλεκτρονικό Εµπόριο στην Ελλάδα .......................... 15
2.6 Πηγές Κεφαλαίου 2 ................................................................................... 19
3. ΙΣΤΟΣΕΛΙ∆ΕΣ .............................................................................................. 20
3.1 Στατικές Ιστοσελίδες ................................................................................. 20
3.2 ∆υναµικές Ιστοσελίδες .............................................................................. 21
3.3 Πλεονεκτήµατα και Μειονεκτήµατα ......................................................... 21
3.3.1 Στατικές ιστοσελίδες........................................................................... 22
3.3.2 ∆υναµικές ιστοσελίδες........................................................................ 23
3.4 Πηγές Κεφαλαίου 3 ................................................................................... 25

ΠΕΡΙΕΧΟΜΕΝΑ


iv
4. ΒΑΣΕΙΣ ∆Ε∆ΟΜΕΝΩΝ ............................................................................... 26
4.1 Βάσεις ∆εδοµένων ..................................................................................... 26
4.2 Κατηγορίες χρηστών ................................................................................. 27
4.3 Γλώσσες Βάσεων ∆εδοµένων ................................................................... 28
4.3.1 Γλώσσα Ορισµού ∆εδοµένων............................................................. 29
4.3.2 Γλώσσα Χειρισµού ∆εδοµένων .......................................................... 29
4.3.3 Γλώσσες Τέταρτης Γενιάς .................................................................. 30
4.4 Μοντέλο Οντοτήτων Συσχετίσεων ............................................................ 30
4.5 Σχεσιακό Μοντέλο ∆εδοµένων ................................................................. 31
4.6 Πηγές Κεφαλαίου 4 ................................................................................... 32
5. ΤΕΧΝΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΗΣ ..................................... 33
5.1 ASP.NET ................................................................................................... 33
5.1.1 Ιστορική αναδροµή ............................................................................. 33
5.1.2 Χαρακτηριστικά .................................................................................. 35
5.1.3 Επίδοση ............................................................................................... 40
5.1.4 Σύγκριση ASP µε ASP.NET ............................................................... 40
5.2 XHTML ..................................................................................................... 41
5.2.1 ∆ιαφορές ανάµεσα στην XHTML και την HTML ............................. 42
5.2.2 Η σύνταξη της XHTML ..................................................................... 44
5.3 Η γλώσσα προγραµµατισµού C# ............................................................... 46
5.3.1 Χαρακτηριστικά .................................................................................. 46
5.4 CSS ............................................................................................................ 48
5.4.1 Η αλληλουχία εφαρµογής των φύλλων στυλ ..................................... 48
5.4.2 Εκδόσεις CSS ..................................................................................... 50
5.4.2 Πλεονεκτήµατα του CSS .................................................................... 51
5.5 jQuery ........................................................................................................ 53
5.5.1 Πλεονεκτήµατα της jQuery ................................................................ 53
5.6 AJAX ......................................................................................................... 54
v

5.6.1 Τεχνολογίες που χρησιµοποιεί το AJAX ........................................... 55
5.7 Πηγές Κεφαλαίου 5 ................................................................................... 56
6. ΠΑΡΟΥΣΙΑΣΗ ΕΦΑΡΜΟΓΗΣ .................................................................. 57
6.1 Βάση ∆εδοµένων της εφαρµογής .............................................................. 57
6.1.1 ∆ιάγραµµα .......................................................................................... 57
6.1.2 Ανάλυση πινάκων της Βάσης ∆εδοµένων .......................................... 62
6.2 Εφαρµογή .................................................................................................. 84
6.2.1 ∆οµή της ιστοσελίδας ......................................................................... 84
6.2.2 Οι σελίδες της ιστοσελίδας και η κατηγοριοποίησή τους .................. 86
6.2.3 Σελίδες προσβάσιµες από όλους ........................................................ 86
6.2.3.1 Αρχική Σελίδα .............................................................................. 86
6.2.3.2 Μετάφραση .................................................................................. 87
6.2.3.3 Εταιρία ......................................................................................... 89
6.2.3.4 Προϊόντα ...................................................................................... 89
6.2.3.4 Λεπτοµέρειες προϊόντος .............................................................. 92
6.2.3.5 Επικοινωνία ................................................................................. 93
6.2.3.6 Εγγραφή χρήστη .......................................................................... 95
6.2.3.7 Είσοδος χρήστη ............................................................................ 97
6.2.4 Σελίδες προσβάσιµες µόνο από τους πελάτες .................................... 99
6.2.4.1 Προσαρµογή προϊόντος ............................................................. 100
6.2.4.2 Καλάθι πελάτη ........................................................................... 103
6.2.4.3 Παραγγελίες πελάτη .................................................................. 106
6.2.5 Σελίδες προσβάσιµες µόνο από τους διαχειριστές ........................... 107
6.2.5.1 ∆ιαχείριση παραγγελιών ............................................................ 109
6.2.5.2 Προσθήκη προϊόντος ................................................................. 113
6.2.5.3 ∆ιαχείριση προϊόντων ................................................................ 119
6.2.5.4 Προσθήκη χρήστη ...................................................................... 124
6.2.5.5 ∆ιαχείριση χρηστών ................................................................... 126
6.2.6 Σελίδες προσβάσιµες από πελάτες και διαχειριστές ........................ 130
6.2.6.1 Ρύθµιση λογαριασµού χρήστη ................................................... 130

vi
7. ΣΥΜΠΕΡΑΣΜΑΤΑ .................................................................................... 134
ΣΥΝΤΟΜΟΓΡΑΦΙΕΣ .................................................................................... 138
ΒΙΒΛΙΟΓΡΑΦΙΑ ............................................................................................. 140
ΠΑΡΑΡΤΗΜΑ Α - ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ .................................................. 142
ΠΑΡΑΡΤΗΜΑ Β - ΠΗΓΑΙΟΣ ΚΩ∆ΙΚΑΣ ................................................... 146
Κώδικας sql (Views)...................................................................................... 146
Classes (αρχεία Class.cs) ............................................................................... 148
BasePage.cs ................................................................................................ 148
Culture.cs ................................................................................................... 148
Global.cs .................................................................................................... 148
DBConnection.cs ....................................................................................... 149
DBProduct.cs ............................................................................................. 151
DBUser.cs .................................................................................................. 155
Images.cs .................................................................................................... 159
Security.cs .................................................................................................. 161
SendEmail.cs .............................................................................................. 161
Style Sheets (αρχεία StyleSheet.css) ............................................................. 163
__forms.css ................................................................................................ 163
__GridView.css .......................................................................................... 166
__masterPage.css ....................................................................................... 166
__menu.css ................................................................................................. 167
__slideshow.css .......................................................................................... 167
Web User Controls (αρχεία WebUserControl.ascx) ..................................... 168
_basket.ascx ............................................................................................... 168
_basket.ascx.cs ........................................................................................... 168
_languageMenu.ascx.................................................................................. 168
_languageMenu.ascx.cs ............................................................................. 169
_login.ascx ................................................................................................. 169
_login.ascx.cs ............................................................................................. 169
vii
_menu.ascx ................................................................................................ 170
_menu.ascx.cs ............................................................................................ 171
_processing.ascx ........................................................................................ 173
_processing.ascx.cs .................................................................................... 173
_welcomeNote.ascx ................................................................................... 173
_welcomeNote.ascx.cs ............................................................................... 173
Master Page (αρχείο MasterPage.master) ..................................................... 174
MasterPage.master ..................................................................................... 174
MasterPage.master.cs................................................................................. 175
Web Forms (αρχεία Default.aspx) ................................................................. 175
AddProduct.aspx ........................................................................................ 175
AddProduct.aspx.cs ................................................................................... 178
AddUser.aspx ............................................................................................. 180
AddUser.aspx.cs ........................................................................................ 182
Basket.aspx ................................................................................................ 184
Basket.aspx.cs ............................................................................................ 187
Company.aspx ............................................................................................ 189
Company.aspx.cs ....................................................................................... 189
Contact.aspx ............................................................................................... 189
Contact.aspx.cs .......................................................................................... 190
CustomerOrders.aspx ................................................................................. 191
CustomerOrders.aspx.cs ............................................................................ 193
CustomizeProduct.aspx ............................................................................. 194
CustomizeProduct.aspx.cs ......................................................................... 197
EditOrder.aspx ........................................................................................... 201
EditOrder.aspx.cs ....................................................................................... 203
EditProduct.aspx ........................................................................................ 205
EditProduct.aspx.cs .................................................................................... 208
EditUser.aspx ............................................................................................. 211
EditUser.aspx.cs ......................................................................................... 214
Index.aspx .................................................................................................. 216
viii

Index.aspx.cs .............................................................................................. 219
Login.aspx .................................................................................................. 220
Login.aspx.cs ............................................................................................. 222
Main.aspx ................................................................................................... 224
Main.aspx.cs .............................................................................................. 224
ProductDetails.aspx ................................................................................... 224
ProductDetails.aspx.cs ............................................................................... 226
Products.aspx ............................................................................................. 227
Products.aspx.cs ......................................................................................... 228
Register.aspx .............................................................................................. 230
Register.aspx.cs ......................................................................................... 232
UserInfo.aspx ............................................................................................. 233
UserInfo.aspx.cs ......................................................................................... 235
Handler (αρχείο Handler.ashx) ...................................................................... 237
Global (αρχείο Global.asax) .......................................................................... 238
Configuration (αρχείο web.config)................................................................ 238

1


1. ΕΙΣΑΓΩΓΗ

1.1 ∆ιαδίκτυο (Ιντερνετ)
Το ∆ιαδίκτυο, γνωστό µε την αγγλική άκλιτη ονοµασία Internet, είναι ένα µέσο µαζικής
επικοινωνίας (ΜΜΕ), όπως είναι για παράδειγµα η τηλεόραση και το ραδιόφωνο αν και τα
τελευταία έχουν πολύ περιορισµένο αµφίδροµο χαρακτήρα. Αποτελεί ένα «φαινόµενο» της
σηµερινής πραγµατικότητας υπό την έννοια της συνεχούς διείσδυσής του στην καθηµερινή
µας ζωή. Σήµερα δεν υπάρχει µέσο, έντυπο ή ηλεκτρονικό, που να µην αναφέρεται στο
διαδίκτυο. Τεράστιες ποσότητες εµπορικών συναλλαγών διενεργούνται µέσα απ’ αυτό, ενώ
όλες οι ειδήσεις διακινούνται καθηµερινά και φτάνουν στους χρήστες του. Επιστηµονικά
άρθρα, αλλά και ολόκληρα βιβλία, βρίσκονται «αρχειοθετηµένα» στους ανά τον κόσµο
διασυνδεµένους υπολογιστές που το αποτελούν .
Παρ’ όλο που στη χώρα µας το ∆ιαδίκτυο έκανε αισθητή την παρουσία του τα τελευταία
χρόνια, εντούτοις η ιστορία του είναι ήδη αρκετά µεγάλη. Η ιδέα, όπως συνέβη και µε τις
περισσότερες ιδέες που σήµερα διευκολύνουν τη ζωή µας, ξεκίνησε µε σκοπό να βοηθηθούν
οι στρατιωτικές επιχειρήσεις. Και ήταν απλή: ηλεκτρονικοί υπολογιστές που να
«συνεννοούνται» µε άλλους ηλεκτρονικούς υπολογιστές. Βέβαια, δεν αναφερόµαστε σε
υπολογιστές όπως τους γνωρίζουµε στην παρούσα µορφή τους αλλά σε µηχανήµατα που
καταλάµβαναν ένα ολόκληρο δωµάτιο, ζύγιζαν τόνους και η αποθηκευτική τους δυνατότητα
ήταν αντιστρόφως ανάλογη του όγκου τους.
Στις 29 Οκτωβρίου του 1969 και αφού το πρώτο στάδιο είχε πετύχει, οι επιστήµονες του
ARPA (Advanced Research Projects Agency), της υπηρεσίας προηγµένων ερευνητικών
σχεδίων, αποφάσισαν να πάνε τη ιδέα ένα βήµα παραπέρα: να στείλουν ένα µήνυµα µέσω του
δικτύου Arpanet (της πρώτης στρατιωτικής εκδοχής του Ιντερνετ), από υπολογιστή που
βρισκόταν στο UCLA (πανεπιστήµιο που βρίσκεται στο Λος Άντζελες) στο Ερευνητικό
Ινστιτούτο του Stanford της Καλιφόρνιας. Η απόπειρα κατέληξε σε κρασάρισµα του
συστήµατος. Ωστόσο δύο γράµµατα από το µήνυµα, το «l» και το «0» πρόλαβαν και
«ταξίδεψαν» προτού καταρρεύσει το σύστηµα. Από τότε ξεκίνησαν η ανάπτυξη και η εξέλιξή
του και η 29
η
Οκτωβρίου θεωρείται η γενέθλια ηµέρα του διαδικτύου.

ΚΕΦΑΛΑΙΟ 1
2

Στην παρακάτω εικόνα (Εικόνα 1.1) µπορούµε να παρατηρήσουµε την εξέλιξη των
κοµβικών υπολογιστών (hosts) από τη δηµιουργία του πρώτου δικτύου (ARPAnet) µε
τέσσερις κόµβους, έναν σε κάθε πανεπιστήµιο, µέχρι τα µέσα του 1997 που έφτασαν τους
19.540.000 κόµβους.
3

Οι νέες αυτές επικοινωνιακές δυνατότητες δηµιουργούν έναν νέου τύπου «πολίτη», του
«δικτυακού πολίτη» (Netizen). Χαρακτηριστικό στοιχείο του Netizen είναι ότι χωρίς τη
φυσική του παρουσία, αλλά από το σπίτι του, συµµετέχει σε νέου τύπου κοινότητες, τις
εικονικές κοινότητες (Virtual Communities), χρησιµοποιεί βιβλιοθήκες, κάνει αγορές.
Προσφέρει άµεση δηµοκρατία αφού τεχνολογικά παρέχει στα άτοµα τις δυνατότητες
έκφρασης της προσωπικής άποψης για όλα τα πολιτικά ζητήµατα και στις κυβερνήσεις τη
δυνατότητα επεξεργασίας όλων αυτών των απόψεων.
Καταργεί τις αποστάσεις, καταρρίπτει τα εθνικά σύνορα και προσφέρει σε κάθε άτοµο,
κοινοτική ή εθνική οµάδα, ανεξαρτήτως χρώµατος, φύλου, εθνότητας ή άλλων
χαρακτηριστικών, ίσες ευκαιρίες πρόσβασης και συµµετοχής στον Κυβερνοχώρο. Φέρνει σε
επαφή πολλές οµάδες µε διαφορετικές συνήθειες και κουλτούρες κι έτσι ανάγεται σε
σηµαντικότατο πολυπολιτισµικό φορέα της εποχής µας. Ταυτοχρόνως δηµιουργεί ένα νέο
είδος κουλτούρας, την «Κυβερνοκουλτούρα» που έχει δηµιουργήσει νέους όρους, αρχές και
τρόπους συµπεριφοράς (netiquette) στο δίκτυο.
Στην εκπαίδευση παρουσιάζονται νέες ευκαιρίες για εµπλουτισµό της διδακτικής διαδικασίας
και την ενεργητική µάθηση. ∆ιευκολύνεται η εξ’ αποστάσεως εκπαίδευση και παρέχονται οι
τεχνικές δυνατότητες για µια δια βίου εκπαίδευση. Άρχισαν να εµφανίζονται Πανεπιστήµια
που παρέχουν µέσα από το Ιντερνετ πτυχιακές σπουδές. Η υπάρχουσα γνώση δεν παραµένει
αµετάβλητη τόσο από πλευράς ποσότητας όσο και ταχύτητας. Οι γνώσεις διανέµονται πλέον
αστραπιαία σε κάθε γωνιά του πλανήτη, µε αποτέλεσµα να πολλαπλασιάζονται ετησίως.
Τελικά το Ιντερνετ είναι ένα τεχνολογικό µέσο που προσφέρει πάρα πολλές νέες δυνατότητες
στους χρήστες του, καθένας από τους οποίους καθορίζει τον τρόπο µε τον οποίο θα τις
αξιοποιήσει.
1.3 Το Ιντερνετ στην Ελλάδα
Η χώρα µας, αν και υστερεί έναντι των υπολοίπων χωρών της Ευρώπης όσον αφορά την
διείσδυση νέων τεχνολογιών, αρχίζει να παρουσιάζει σηµεία ανάπτυξης. Το συµπέρασµα
αυτό προκύπτει από την πρώτη ολοκληρωµένη µέτρηση για την διείσδυση νέων τεχνολογιών
στην Ελλάδα µε βάση την κοινή ευρωπαϊκή προσέγγιση (δείκτες eEurope), που
παρουσιάστηκε από το Παρατηρητήριο για την Κοινωνία της Πληροφορίας.
4

Σύµφωνα µε τα στοιχεία της έρευνας το 2010, 1 στους 2 Έλληνες δήλωσαν ότι
χρησιµοποιούν Η/Υ και ένα 44% ότι έκανε χρήση του διαδικτύου. Συγκριτικά µε
προηγούµενες έρευνες που έχουν διεξαχθεί, εµφανίζεται σηµαντική αύξηση της χρήσης του
διαδικτύου στην χώρα µας, όπως φαίνεται και στο παρακάτω διάγραµµα.

Εικόνα 1.2 – Χρήστες διαδικτύου ως ποσοστό του πληθυσµού

Όσον αφορά τους λόγους χρήσης του διαδικτύου, παράλληλα µε τις «παραδοσιακές»
δραστηριότητες ενός χρήστη του, όπως είναι η αναζήτηση πληροφοριών και η αποστολή/
λήψη email, οι Έλληνες χρήστες φαίνεται να στρέφονται πλέον και να αξιοποιούν τις νέες
δυνατότητες επικοινωνίας και ψυχαγωγίας που προσφέρονται µέσω διαδικτύου.
Σηµαντική µεταβολή σε σχέση µε τα προηγούµενα έτη έχει σηµειωθεί στο ποσοστό των
Ελλήνων που χρησιµοποιούν το διαδίκτυο για να διαβάσουν ηλεκτρονικές εφηµερίδες και
περιοδικά (45%). Η ακρόαση ραδιοφώνου και η παρακολούθηση τηλεόρασης µέσω του
διαδικτύου αξιοποιείται από το 44% των χρηστών παρουσιάζοντας επίσης µεγάλη αύξηση σε
σχέση µε το 2007 (28%).
Περίπου 4 στους 10 χρήστες του διαδικτύου το αξιοποιούν για χρήση υπηρεσιών σχετικά µε
ταξίδια, 3 στους 10 για την απόκτηση λογισµικού και περίπου 2 στους 10 χρήστες για την
πραγµατοποίηση τηλεφωνικών κλήσεων µέσω διαδικτύου και αναζήτηση εργασίας.
Στην τελευταία θέση της κατάταξης έρχονται οι υπηρεσίες ηλεκτρονικής τραπεζικής µε
διείσδυση µόλις 12%, παρόλο που αποτελούν έναν ιδιαίτερα προσιτό και αποτελεσµατικό
5

τρόπο για την πραγµατοποίηση ηλεκτρονικών συναλλαγών µε τράπεζες και σειρά λοιπών
φορέων. Καθώς πρόκειται για τη µοναδική κατηγορία (Εικόνα 1.3) που περιλαµβάνει
χρηµατικές συναλλαγές, η κατάταξη στην τελευταία θέση είναι ενδεικτική της έλλειψης
εµπιστοσύνης των χρηστών στο διαδίκτυο σχετικά µε την ασφάλεια των συναλλαγών.
Επιπλέον, δεδοµένου ότι ο αντίστοιχος ευρωπαϊκός µέσος όρος διαµορφώνεται στο κατά
πολύ υψηλότερο 47%, γίνεται φανερό ότι πρέπει να εντατικοποιηθούν οι προσπάθειες
πλήρους και ορθής ενηµέρωσης των Ελλήνων σχετικά µε τη διεξαγωγή ηλεκτρονικών
συναλλαγών, ενδεχοµένως και σε συνδυασµό µε παροχή κινήτρων για τη χρήση τους έναντι
των παραδοσιακών συναλλαγών.

Εικόνα 1.3 – Λόγοι χρήσης ∆ιαδικτύου

Σύµφωνα µε µια άλλη έρευνα το 78,3% χρησιµοποιούν το Ιντερνετ σε µόνιµη ή πολύ συχνή
βάση ενώ το 7,9% δήλωσε ότι χρησιµοποιεί τις υπηρεσίες του Ιντερνετ σπάνια ή σχεδόν
ποτέ. Οι κύριοι λόγοι για τους οποίους οι ελληνικές επιχειρήσεις χρησιµοποιούν το Ιντερνετ
δεν αποτελούν έκπληξη, αντίθετα βρίσκονται σε απόλυτη συµφωνία µε τα αντίστοιχα
ευρήµατα της διεθνούς βιβλιογραφίας. Πληροφόρηση (94,6%) και Επικοινωνία (91,6%).
Εξαιρετικά ενδιαφέρον είναι το γεγονός ότι το 71,9% δήλωσε ότι χρησιµοποιεί το Ιντερνετ
για την Εξυπηρέτηση των Πελατών του. Επίσης, το 32,9% των επιχειρήσεων σηµείωσε ότι τα
στελέχη τους χρησιµοποιούν το Ιντερνετ - µεταξύ άλλων - και για ψυχαγωγία/διασκέδαση.
Η καταλυτική παρουσία του Ιντερνετ στις σύγχρονες επιχειρήσεις και η µεγάλη του σηµασία
φαίνεται από το γεγονός ότι πλέον χρησιµοποιείται από όλους τους εργαζοµένους,
ανεξαρτήτως ειδικότητας και καθηκόντων. ∆εν έχουµε φτάσει βέβαια σε τέτοιο επίπεδο
6

όπου όλα τα στελέχη σε όλες τις επιχειρήσεις θα έχουν πρόσβαση στο Ιντερνετ. Σε σχέση,
όµως, µε τα αποτελέσµατα προηγούµενης έρευνας, η χρήση του έχει επεκταθεί σηµαντικά σε
όλα τα τµήµατα των ελληνικών επιχειρήσεων.
1.4 Πηγές Κεφαλαίου 1
http://el.wikipedia.org/wiki/∆ιαδίκτυο
http://virtualschool.web.auth.gr/1.2/praxis/TheInternet/1.html
http://www.infosoc.gr/infosoc/el-GR/grafeiotypou/news/opis_news/general/e_europe.htm
http://www.observatory.gr
http://www.technowatch.aueb.gr/ereyna/ereyna00-01/ereyna53.htm
http://www.google.gr/

7


2. ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ

2.1 Τι είναι το Ηλεκτρονικό Εµπόριο
Ως Ηλεκτρονικό Εµπόριο (ΗΕ) ορίζεται το εµπόριο παροχής αγαθών και υπηρεσιών που
πραγµατοποιείται εξ’ αποστάσεως µε ηλεκτρονικά µέσα, βασιζόµενο δηλαδή στην
ηλεκτρονική µετάδοση δεδοµένων, χωρίς να καθίσταται αναγκαία η φυσική παρουσία των
συµβαλλοµένων µερών, πωλητή - αγοραστή.
Θα µπορούσαµε να πούµε πως είναι η αγοραπωλησία (συναλλαγή) προϊόντων και υπηρεσιών
µέσω του Ιντερνετ. Για την πραγµατοποίηση µιας τέτοιας συναλλαγής χρησιµοποιούνται
πολύπλοκοι προγραµµατιστικοί µηχανισµοί και το κατάλληλο λογισµικό το οποίο επιτρέπει
την Ηλεκτρονική Ανταλλαγή ∆εδοµένων (Electronic Data Interchange - EDI) ανάµεσα στις
δύο πλευρές (µεταξύ επιχειρήσεων αλλά και µεταξύ επιχειρήσεων και καταναλωτών) που
εµπλέκονται στη συγκεκριµένη συναλλαγή. Με άλλα λόγια, η συγκεκριµένη µορφή
συναλλαγής πραγµατοποιείται µόνο µέσω υπολογιστών, παρακάµπτοντας τον ανθρώπινο
παράγοντα και ελαχιστοποιώντας ταυτόχρονα την πιθανότητα λάθους και την κακόβουλη
χρήση στοιχείων.
Το ΗΕ περιλαµβάνει την ψηφιοποίηση των αγορών: αγορά προϊόντων ή υπηρεσιών µέσω
ηλεκτρονικών συστηµάτων, όπως είναι το ∆ιαδίκτυο. Περιλαµβάνει, εκτός από τις τυπικές
αγορές µέσω του Παγκόσµιου Ιστού, και όλη τη βιοµηχανία που υποστηρίζει αυτές τις
αγορές: οn-line επεξεργασία δοσοληψιών (για τράπεζες κυρίως), διαχείριση αλυσίδας
παροχών, ανταλλαγή ηλεκτρονικών δεδοµένων, κ.ά.
Το ΗΕ έχει αλλάξει σηµαντικά τον τρόπο µε τον οποίο πραγµατοποιούνται οι αγορές στις
επιχειρήσεις αλλά και στον τελικό πελάτη. Εµφανίζονται πολλές αγοραστικές ευκαιρίες στο
∆ιαδίκτυο, προσφέροντας αγαθά από ψηφιακά CD µέχρι βιβλία, αυτοκίνητα, ως και σπίτια.
Το ηλεκτρονικό εµπόριο έχει αυξηθεί σηµαντικά τα τελευταία χρόνια, περιλαµβάνοντας
ειδικές κάρτες αγορών για την πραγµατοποίησή του.


ΚΕΦΑΛΑΙΟ 2
8

2.2 Είδη Ηλεκτρονικού Εµπορίου
Το Ηλεκτρονικό Εµπόριο διακρίνεται σε τέσσερεις κατηγορίες, οι οποίες διαµορφώνονται
ανάλογα µε τα συναλλασσόµενα µέρη όπως φαίνεται και στην Εικόνα 2.1.
1. Επιχείρησης προς επιχείρηση (Business to Business – B2B)
2. Επιχείρηση προς καταναλωτή (Business to Consumer – B2C)
3. Επιχείρηση προς ∆ηµόσια ∆ιοίκηση (Business to Government – B2G)
4. Καταναλωτή προς ∆ηµόσια ∆ιοίκηση (Consumer to Government – C2G)

Εικόνα 2.1 – Τα είδη του ηλεκτρονικού εµπορίου

Επιχείρησης προς επιχείρηση (Business to Business – B2B)
Πρόκειται για µια επιχείρηση που χρησιµοποιεί ένα δίκτυο για τις παραγγελίες της από
προµηθευτές, που λαµβάνει τιµολόγια και κάνει πληρωµές. Αυτή η κατηγορία έχει
κατοχυρωθεί αρκετά χρόνια, ειδικά µε την χρησιµοποίηση του EDI σε κλειστά ή διεθνή
δίκτυα.
Επιχείρηση προς καταναλωτή (Business to Consumer – B2C)
Εξοµοιώνεται µε την ηλεκτρονική λιανική πώληση. Αυτή η κατηγορία έχει αναπτυχθεί µε την
εκτόξευση του World Wide Web. Οι καταναλωτές µαθαίνουν για τα προϊόντα µέσα από
ηλεκτρονικές εκδόσεις, αγοράζουν προϊόντα µε «ψηφιακό» χρήµα και άλλα ασφαλή
συστήµατα πληρωµής. Σήµερα υπάρχουν «καταστήµατα» στο Ιντερνετ, που προσφέρουν
κάθε είδος προϊόντων, από κέικ και κρασιά µέχρι Η/Υ και αυτοκίνητα.
9

Επιχείρηση προς ∆ηµόσια ∆ιοίκηση (Business to Convergent – B2G)
Αυτή η κατηγορία καλύπτει όλες τις συναλλαγές µεταξύ επιχειρήσεων και δηµόσιων
οργανισµών. Προς το παρόν βρίσκεται σε χαµηλό στάδιο, αλλά µπορεί να αναπτυχθεί
ραγδαία όσο οι κυβερνήσεις χρησιµοποιούν τις δικές τους λειτουργίες για να προωθήσουν
την αντίληψη τους για το Ηλεκτρονικό Εµπόριο. Επιπλέον, οι διοικήσεις πρέπει να παρέχουν
την ευκαιρία ηλεκτρονικών συναλλαγών για καταστάσεις όπως επιστροφές ΦΠΑ και
δασµών.
Καταναλωτή προς ∆ηµόσια ∆ιοίκηση (Consumer to Convergent – C2G)
Η κατηγορία αυτή δεν έχει αναπτυχθεί αρκετά αλλά χαρακτηριστικό παράδειγµα χρήσης της
είναι η υποβολή φορολογικής δήλωσης ηλεκτρονικά.
2.3 Τεχνολογίες Ηλεκτρονικού Εµπορίου
Ηλεκτρονική Ανταλλαγή ∆εδοµένων (EDI - Electronic Data Interchange)
Η EDI είναι µια κοινή δοµή αρχείων που σχεδιάστηκε ώστε να επιτρέψει σε µεγάλους
οργανισµούς να µεταδίδουν πληροφορίες µέσα από µεγάλα ιδιωτικά δίκτυα. Πρόκειται για
την ηλεκτρονική ανταλλαγή εµπορικών και διοικητικών δεδοµένων από υπολογιστή σε
υπολογιστή, µε την ελάχιστη παρέµβαση χειρόγραφων διαδικασιών. Τα δεδοµένα αυτά είναι
οργανωµένα σε αυτοτελή µηνύµατα (τιµολόγια, παραγγελίες, τιµοκατάλογοι, φορτωτικές
κλπ.), το περιεχόµενο και η δοµή των οποίων καθορίζονται από κάποιο κοινώς αποδεκτό
πρότυπο. Τα πρότυπα που χρησιµοποιούνται σε παγκόσµιο επίπεδο προέρχονται από τον
Οργανισµό Ηνωµένων Εθνών και καλύπτουν ένα ευρύ φάσµα επικοινωνιακών αναγκών των
εµπορικών εταιριών. Το πρότυπο αυτό είναι το EDIFACT (EDI For Administration,
Commerce and Transportation).
Επίπεδο Ασφαλών Συνδέσεων (SSL - Secure Sockets Layer)
Το πρωτόκολλο αυτό σχεδιάστηκε προκειµένου να πραγµατοποιεί ασφαλή σύνδεση µε τον
εξυπηρετητή (server). Το SSL χρησιµοποιεί «κλειδί» δηµόσιας κρυπτογράφησης µε σκοπό να
προστατεύει τα δεδοµένα καθώς «ταξιδεύουν» µέσα στο Ιντερνετ.

10
Ασφαλείς Ηλεκτρονικές Συναλλαγές (SET - Secure Electronic Transactions)
Το SET κωδικοποιεί τους αριθµούς της πιστωτικής κάρτας που αποθηκεύονται στον
εξυπηρετητή του εµπόρου. Το πρότυπο αυτό, που δηµιουργήθηκε από τη Visa και τη
MasterCard, απολαµβάνει µεγάλης αποδοχής από την τραπεζική κοινότητα.

Γραµµωτός κώδικας (Barcode)
Η τεχνολογία του γραµµωτού κώδικα αποτελεί τµήµα του γενικότερου τοµέα των
τεχνολογιών αυτόµατης αναγνώρισης (Auto ID Technologies). Είναι ένα σύγχρονο εργαλείο,
το οποίο βοηθά καταλυτικά στην οµαλή διακίνηση και διαχείριση (logistics) προϊόντων και
υπηρεσιών.
Η ανάπτυξη της τεχνολογίας του γραµµωτού κώδικα ξεκίνησε στις αρχές της δεκαετίας του
1960 µε σκοπό να εξυπηρετήσει την πληρωµή προϊόντων στα καταστήµατα τροφίµων. Οι
πρώτες εφαρµογές σε βιοµηχανικό περιβάλλον εµφανίστηκαν στα τέλη της ίδιας δεκαετίας σε
µεγάλες αυτοκινητοβιοµηχανίες, για τον περιορισµό του κόστους εργασίας που σχετιζόταν µε
την παραγωγή. Εκτεταµένη χρήση παρουσιάστηκε µετά την ανάπτυξη των πρώτων προτύπων
(λόγω των πιέσεων των αρκετών πλέον χρηστών - προµηθευτών, κατασκευαστών των
µεγάλων βιοµηχανιών) στα τέλη της δεκαετίας του 1970. Κατά τη δεκαετία του 1980 υπήρξε
αλµατώδης ανάπτυξη του εξοπλισµού, κατ’ επέκταση και των τρόπων χρήσης της
τεχνολογίας γραµµωτού κώδικα.
Έξυπνες κάρτες (Smart Cards)
Οι «έξυπνες κάρτες» αποτελούν εξέλιξη των καρτών µαγνητικής λωρίδας (παθητικό µέσο
αποθήκευσης, τα περιεχόµενα του οποίου µπορούν να διαβαστούν και να αλλαχθούν). Οι
έξυπνες κάρτες µπορούν να αποθηκεύσουν µεγάλη ποσότητα δεδοµένων και παρέχουν
δυνατότητες κρυπτογράφησης και χειρισµού ηλεκτρονικών υπογραφών για την ασφάλεια των
περιεχοµένων τους. Η ιδέα της έξυπνης κάρτας ξεκίνησε στη Γαλλία το 1974. Το 1975 τα
δικαιώµατα ανάπτυξης πέρασαν σε µεγάλες εταιρίες ηλεκτρονικού εξοπλισµού. Η νέα αυτή
τεχνολογία παρουσιάστηκε στο κοινό το 1981. Μια σειρά από αρχικά σχέδια ξεκίνησε
αµέσως και το 1984 µε µια συλλογική αξιολόγησή τους εκδόθηκαν νέες ολοκληρωµένες
προδιαγραφές.
Σήµερα επικρατεί η λανθασµένη εντύπωση ότι οι Smart Cards είναι τραπεζικές ή πιστωτικές
κάρτες, µε αποτέλεσµα να µην αναγνωρίζεται το µεγάλο εύρος των δυνατοτήτων τους. Η
15
και ηλεκτρονικές συσκευές που δεν απαιτούν κάποιου είδους δοκιµή (test drive),
προγράµµατα software & hardware, καινούρια αυτοκίνητα κλπ.
2.5.1 Ελληνικές Υπηρεσίες Ιντερνετ
Το ΗΕ στην Ελλάδα δηµιουργεί τεράστιες προοπτικές ανάπτυξης για τις σύγχρονες
Ελληνικές επιχειρήσεις. Βελτιώνει τους τρόπους πρόσβασης στις αγορές, εξοικονοµώντας
χρόνο και µηδενίζοντας τις αποστάσεις. Το επιχειρηµατικό σκηνικό βελτιώνεται σηµαντικά
γιατί αλλάζει και η έννοια της ίδιας της αγοράς. Τώρα πια δεν περιορίζεται στην «γειτονιά»
µας, αλλά µπορεί να επεκταθεί σε ολόκληρο τον πλανήτη.
Οι Ελληνικές Υπηρεσίες Ιντερνετ αναπτύσσουν ολοκληρωµένες εφαρµογές Ηλεκτρονικού
Εµπορίου για την πώληση προϊόντων στην παγκόσµια αγορά µέσω Ιντερνετ, λαµβάνοντας
κάθε φορά υπόψη τις ιδιαίτερες ανάγκες και τις επιθυµίες των συνεργατών της.
Για τις ανάγκες των µικρών και µικροµεσαίων επιχειρήσεων, οι Ελληνικές Υπηρεσίες
Ιντερνετ ανέπτυξαν το eshops, ένα από τα µεγαλύτερα Ηλεκτρονικά Εµπορικά κέντρα στην
Ελλάδα που δραστηριοποιούνται µέσα στο Ιντερνετ. Το eshops φιλοξενεί πολλά on-line
ηλεκτρονικά καταστήµατα και λειτουργεί µε την µορφή «shop in shop». Κάθε επαγγελµατίας
που θέλει να πουλήσει τα προϊόντα του µέσω Ιντερνετ σε όλο τον κόσµο µπορεί να ανοίξει
εύκολα και γρήγορα το ηλεκτρονικό του κατάστηµα στο eshops. Μέσα στο δίκτυο του eshops
µπορεί να εκµεταλλευτεί την διαφηµιστική προώθηση, την κεντρική διαχείριση και την
απόδοση που προσφέρει.
2.5.2 Έρευνα για το Ηλεκτρονικό Εµπόριο στην Ελλάδα

Η ποσοτική έρευνα του Εργαστηρίου Ηλεκτρονικού Εµπορίου (ELTRUN) του
Οικονοµικού Πανεπιστηµίου Αθηνών διεξήχθη την περίοδο Σεπτέµβριος – Οκτώβριος
2010 σε 1106 on-line Έλληνες. Ο τυπικός Έλληνας on-line καταναλωτής είναι «βαρύς»
χρήστης του Internet αφού το 37% το χρησιµοποιεί πάνω από 30 ώρες την εβδοµάδα. Πέρα
από τους γνωστούς λόγους χρήσης του Internet (e-mail, αναζήτηση ειδήσεων κλπ) αρχίζουν
να αναδεικνύονται και άλλες ενδιαφέρουσες χρήσεις για τους on-line καταναλωτές που
σχετίζονται µε τα µέσα κοινωνικής δικτύωσης όπως facebook (42%), ανάρτηση / ανάγνωση
blogs (31%), chat / instant messaging (21%), συµµετοχή σε On-line συζητήσεις / forums
(23%) όπως δείχνει και η παρακάτω εικόνα..
16

Εικόνα 2.2 – Λόγοι χρήσης Ιντερνετ των on-line καταναλωτών
Όσον αφορά τις on-line αγορές επιβεβαιώθηκαν οι γνωστές top κατηγορίες όπου οι on-line
καταναλωτές αγοράζουν συχνά: hardware / software (63%), Ηλεκτρονικά είδη (50%),
εισιτήρια ταξιδιών (42%), κρατήσεις ξενοδοχείων (32%), βιβλία (32%). Αναδεικνύονται
όµως και νέες ενδιαφέρουσες κατηγορίες προϊόντων όπως είδη σπιτιού και ηλεκτρικές
συσκευές (26%), ένδυση και υπόδηση (21%), καλλυντικά (10%).

Εικόνα 2.3 – On-line αγορές
17
Οι σηµαντικότεροι παράγοντες για να αγοράσει ένας καταναλωτής από ηλεκτρονικό
κατάστηµα είναι ευχρηστία (76%), πολλοί και ασφαλείς τρόποι πληρωµής (69%) και µεγάλη
γκάµα προϊόντων (65%). Έκπληξη είναι τα χαµηλά ποσοστά του να βρίσκεται το
ηλεκτρονικό κατάστηµα στην πρώτη σελίδα των µηχανών αναζήτησης (14%) και οι µεγάλες
διαφηµιστικές καµπάνιες (10%), ίσως γιατί η προσφορά είναι ακόµη περιορισµένη. Βέβαια το
38% θα αγόραζε σίγουρα από ένα ηλεκτρονικό κατάστηµα ακόµη και αν δεν κάλυπτε
κάποιους από τους παραπάνω σηµαντικούς παράγοντες αν είχε καλές τιµές ή/ και προσφορές,
που καταδεικνύει την µεγάλη αξία που έχει πλέον η τιµή στα προϊόντα.


Εικόνα 2.4 – Παράγοντες για να αγοράσει ένας καταναλωτής από ηλεκτρονικό κατάστηµα

Παρά την σοβαρή χρήση των µέσων κοινωνικής δικτύωσης οι Έλληνες on-line καταναλωτές
είναι επιφυλακτικοί / καχύποπτοι για το τι γράφεται σε αυτά αφού µόνο το 18% θεωρεί ότι
βελτιώνεται η εικόνα µιας εταιρίας που συµµετέχει ενεργά στα social-media και µόνο το 10%
επηρεάζεται από διαφηµίσεις εταιριών ή από «φίλους» στα κοινωνικά δίκτυα πριν
πραγµατοποιήσει µια on-line αγορά.
18

Εικόνα 2.5 – Καχυποψία για τα sites κοινωνικής δικτύωσης

Η εµπιστοσύνη για τα ηλεκτρονικά καταστήµατα (ιδιαίτερα σηµαντικό στοιχείο για την
ανάπτυξη του ηλεκτρονικού εµπορίου) βασίζεται κυρίως στην πιστοποίηση τους από
αξιόπιστο ανεξάρτητο φορέα, στα θετικά σχόλια από φίλους και στην θετική αξιολόγηση από
άλλους on-line αγοραστές.

Εικόνα 2.6 – Εµπιστοσύνη για το ∆ιαδίκτυο και τα ηλεκτρονικά καταστήµατα
19
Για τους χρήστες του Internet που δεν κάνουν on-line αγορές οι κύριοι λόγοι είναι:
εµπιστοσύνη (85%), συνήθεια (56%) και πιστωτική κάρτα (30%). Παρ’ όλα αυτά το 12%
αναµένεται ότι σίγουρα θα ξεκινήσουν on-line αγορές το επόµενο χρόνο.

Εικόνα 2.7 – Λόγοι µη πραγµατοποίησης αγορών από το Ιντερνετ

2.6 Πηγές Κεφαλαίου 2
http://el.wikipedia.org/wiki/Ηλεκτρονικό_εµπόριο
http://www.tee.gr/online/news/2000/2132/
http://www.etl.uom.gr/greek/projects/e_c/chapter1.htm
http://www.internetservices.gr/ecommerce1_k.htm
http://www.eltrun.gr/index.php/eltrun-home/eltrun-news/436.html
http://www.eltrun.gr/aksiab2chlektremporio.pdf
http://www.google.gr/

20

3. ΙΣΤΟΣΕΛΙ∆ΕΣ

Με την παγκόσµια άνθηση του διαδικτύου, τη χρήση του από όλο και περισσότερους
ανθρώπους ως βασικό µέσο µαζικής επικοινωνίας, είναι πλέον προφανές ότι το κάθε νοµικό ή
φυσικό πρόσωπο επιβάλλεται να έχει παρουσία σε αυτό. Ο συνηθέστερος τρόπος
παρουσίασης των προϊόντων µιας επιχείρησης ή η προβολή ιδεών ενός ατόµου είναι µέσω
µιας ιστοσελίδας. Τα είδη µιας ιστοσελίδας ποικίλουν, ανάλογα µε τις ανάγκες του καθενός.
Οι δυο µεγαλύτερες και βασικότερες κατηγορίες ιστοσελίδων είναι οι στατικές (static) και οι
δυναµικές (dynamic). Όσον αφορά την όψη/εµφάνισή τους, δεν έχουν µεγάλες διαφορές
µεταξύ τους, αλλά όσον αφορά την λειτουργία και τις δυνατότητές τους οι διαφορές είναι
πολλές και ουσιαστικές.
3.1 Στατικές Ιστοσελίδες
Στατική ιστοσελίδα είναι αυτή της οποίας το περιεχόµενο και οι εικόνες είναι οι ίδιες για
κάθε επισκέπτη και δεν αλλάζουν µέσω κάποιας αλληλεπίδρασης του επισκέπτη µε τον
ιστότοπο. Είναι κατάλληλες κυρίως για την δηµιουργία «µόνιµων/στατικών παρουσιάσεων»,
όπου δεν υπάρχει συχνά η ανάγκη να τροποποιείται το περιεχόµενό τους. ∆ηλαδή, θα
µπορούσε να χρησιµοποιηθεί µια στατική ιστοσελίδα για την γενική παρουσίαση µιας
επιχείρησης και των προϊόντων ή υπηρεσιών της.
Η πρώτες ιστοσελίδες πλησιάζουν περισσότερο τις σηµερινές στατικές, παρά
τις δυναµικές, που εφευρέθηκαν αργότερα. Ο βρετανός Τιµ-Μπέρνες Λι, εφευρέτης
του Ιντερνετ ή του world wide web το 1989, δηµοσίευσε τον Αύγουστο του 1991 αυτό που
θεωρούµε σήµερα ως την πρώτη ιστοσελίδα η οποία ήταν γραµµένη σε html, δηλαδή στη
γλώσσα που γράφονται οι στατικές ιστοσελίδες. Πολλοί υποστηρίζουν ότι οι στατικές
ιστοσελίδες είναι παλαιού τύπου και τεχνολογίας. Αυτό όµως είναι µια λανθασµένη
εντύπωση που έχει δηµιουργηθεί. Μερικές από τις πιο «µοντέρνες» ιστοσελίδες σήµερα είναι
στατικές.
Οι στατικές ιστοσελίδες είναι ουσιαστικά απλά ηλεκτρονικά «έγγραφα». Μπορούν να
περιέχουν κείµενα, φωτογραφίες, συνδέσµους (links), αρχεία για download, κινούµενα σχέδια

ΚΕΦΑΛΑΙΟ 3
21
(animated graphics). Είναι κατάλληλες κυρίως για την δηµιουργία «µόνιµων/στατικών
παρουσιάσεων», όπου δεν υπάρχει συχνά η ανάγκη να τροποποιείται το περιεχόµενό τους.
∆ηλαδή, µια στατική ιστοσελίδα θα µπορούσε να χρησιµοποιηθεί για την γενική παρουσίαση
µιας επιχείρησης και των προϊόντων ή υπηρεσιών της.
3.2 ∆υναµικές Ιστοσελίδες
Οι δυναµικές ιστοσελίδες µπορεί στην εµφάνιση, σε πολλές περιπτώσεις, να µην έχουν
µεγάλη διαφορά µε τις στατικές όµως οι δυνατότητές τους είναι πολύ περισσότερες, από
πολλές πλευρές, καθώς στην περίπτωση αυτή ουσιαστικά πρόκειται για µία εφαρµογή
(πρόγραµµα) και όχι ένα απλό ηλεκτρονικό έγγραφο.
Συνήθως οι δυναµικές ιστοσελίδες χρησιµοποιούν κάποια βάση δεδοµένων (database) όπου
αποθηκεύουν πληροφορίες και απ’ όπου αντλούν το περιεχόµενό τους ανάλογα µε το τι
ζητάει ο χρήστης/επισκέπτης σε κάθε του «κλικ». Η χρήση των βάσεων δεδοµένων είναι
αυτή που επιτρέπει την εύκολη προσθαφαίρεση περιεχοµένου στις δυναµικές ιστοσελίδες
καθώς δεν απαιτείται να επεξεργάζεται κανείς κάθε φορά την ίδια την ιστοσελίδα αλλά απλά
να διαχειρίζεται έµµεσα το περιεχόµενο στην βάση δεδοµένων και οι υπόλοιπες διαδικασίες
γίνονται αυτοµατοποιηµένα από τον «µηχανισµό» της ιστοσελίδας.

3.3 Πλεονεκτήµατα και Μειονεκτήµατα
Η κατασκευή ιστοσελίδων (Web development-design) από τους σχεδιαστές (web designers-
developers) είναι η διαδικασία δηµιουργίας παρουσιάσεων περιεχοµένου (συνήθως
υπερκειµένου ή πολυµέσων), οι οποίες προβάλλονται στον τελικό χρήστη του ∆ιαδικτύου
µέσω ενός προγράµµατος περιήγησης (browser). Όλες οι ιστοσελίδες είναι ένα ηλεκτρονικό
αρχείο ή ένα σύνολο από ηλεκτρονικά αρχεία αποθηκευµένα σε σκληρούς δίσκους που
λέγονται servers. Τα ηλεκτρονικά αρχεία µπορεί να είναι εικόνες (.jpeg, .gif, .png, .bmp) τα
οποία τοποθετούνται στη σελίδα µας µε τη χρήση των κατάλληλων κωδικών σήµανσης
(html/xhtml/xml), ώστε να αναγνωρίζονται από τον περιηγητή µας ο οποίος µε τη σειρά του
θα µας τα απεικονίσει στην οθόνη µας.
Βέβαια σήµερα τα πράγµατα δεν είναι τόσο απλά. Έχουν εξελιχθεί σε µεγάλο βαθµό. Η απλή
γλώσσα σήµανσης html έχει συνδυαστεί µε εφαρµογές JavaScript και µε CSS, και έτσι τα
πράγµατα έχουν γίνει πολύ πιο περίπλοκα. Πάντως σε γενικές γραµµές, οι browsers
22
ακολουθούν τα ενιαία πρότυπα και προδιαγραφές που έχει θέσει το W3C. Κι οι browsers
σήµερα ενσωµατώνουν πάνω τους τα πρόσθετα (plug-ins), που άλλοτε θα έπρεπε να τα
εγκαταστήσουν οι χρήστες ξεχωριστά.
Η στατική ιστοσελίδα έχει πλεονεκτήµατα που δεν έχουν οι δυναµικές και το αντίθετο. Γι’
αυτό δεν µπορούµε να πούµε ότι η µία είναι καλύτερη από την άλλη. Αυτό το λάθος το
κάνουν πολλοί, που λένε ότι οι δυναµικές είναι καλύτερες από τις στατικές, ίσως επειδή
έχουν πιο πολλά πλεονεκτήµατα. Η βασική διαφορά είναι ότι οι στατικές ιστοσελίδες δεν
αλληλεπιδρούν µε τον επισκέπτη, πράγµα που κάνουν οι δυναµικές.

3.3.1 Στατικές ιστοσελίδες
Οι στατικές ιστοσελίδες χαρακτηρίζονται από την µονιµότητα του περιεχοµένου τους και της
διάταξής τους (layout), τα οποία µπορούν να αλλάξουν/να τροποποιηθούν µόνο µε αίτηµα για
αναβάθµιση (update) από τον προγραµµατιστή/διαχειριστή της σελίδας αυτής. Μια απλή
σελίδα html (έγγραφο html) που περιλαµβάνει για παράδειγµα κείµενο, συνδέσµους και
φωτογραφίες, είναι ένα απλό παράδειγµα στατικής σελίδας. Τα δεδοµένα σε µια στατική
ιστοσελίδα δεν αλλάζουν δυναµικά. Έχουν σταθερό, αµετάβλητο περιεχόµενο.
Στα υπέρ της στατικής σελίδας είναι το χαµηλό κόστος κατασκευής και συντήρησης, γιατί
µια στατική σελίδα, δεν απαιτεί µεγάλο χώρο σε φιλοξενία από webserver. Μια στατική
σελίδα αναπτύσσεται/σχεδιάζεται γρηγορότερα από ότι µια δυναµική. Επίσης οι στατικές
σελίδες φορτώνουν πιο γρήγορα από ότι οι δυναµικές.
Μεγάλο πλεονέκτηµα των στατικών ιστοσελίδων έναντι των δυναµικών είναι επίσης ότι είναι
πιο SEO friendly. To SEO σηµαίνει Search engine optimization και στα ελληνικά
«Βελτιστοποίηση Σελίδας για τις µηχανές αναζήτησης». Οι στατικές σελίδες, λοιπόν, είναι
πιο φιλικές προς τις µηχανές αναζήτησης. Αυτό συµβαίνει γιατί στις στατικές ιστοσελίδες
υπάρχει δυνατότητα τοποθέτησης στον κώδικα html, των meta tags τα οποία αναγνωρίζουν οι
µηχανές αναζήτησης και κατατάσσουν την στατική σελίδα πάνω από µια δυναµική που δεν
έχει ακριβώς αυτή την δυνατότητα. Αυτό είναι πολύ ισχυρό πλεονέκτηµα των στατικών
ιστοσελίδων, γιατί έχει άµεση σχέση µε την επισκεψιµότητά τους. Και η επισκεψιµότητα σε
έναν ιστότοπο µπορεί να µεταφραστεί σε κέρδος. Και όπως είναι γνωστό, οι µηχανές
αναζήτησης είναι αυτές που παραπέµπουν τους χρήστες στις ιστοσελίδες. Οπότε όσο
καλύτερα καταταγµένη είναι η σελίδα στις µηχανές αναζήτησης σε διάφορες λέξεις-κλειδιά,
τόσο µεγαλύτερο πλεονέκτηµα έχει έναντι των ανταγωνιστών της. Στην αγορά γίνεται
23
σκληρή µάχη ανάµεσα στους SEO experts για διάφορες λέξεις-κλειδιά. Είναι αξιοσηµείωτο,
ότι µόνο στην ελληνική αγορά για λέξεις-κλειδιά όπως (fashion, gadgets, ρούχα), για να
επιτευχθεί η πρώτη θέση στις µηχανές αναζήτησης, δαπανούνται µέχρι και 20 χιλιάδες ευρώ.
Γι’ αυτές τις φράσεις στην παγκόσµια αγορά τα ποσά εκτοξεύονται στα ύψη.
Στα κατά µιας στατικής ιστοσελίδας είναι ότι χρήστης πρέπει να έχει γνώσεις
προγραµµατισµού, για να µπορεί να ανανεώσει το περιεχόµενο της σελίδας. Κι αυτό γιατί θα
πρέπει να επεµβαίνει στον κώδικα. Σε µια στατική ιστοσελίδα ο χρήστης δεν έχει κανένα
είδους αλληλεπίδραση µε τη σελίδα και όποια άλλα µειονεκτήµατα συνεπάγονται σε αυτό.
Η κατασκευή µιας στατικής ιστοσελίδας από τους web designers έχουν χαµηλότερο κόστος,
σε σχέση µε τις δυναµικές, και αυτό είναι λογικό γιατί είναι πιο απλή η κατασκευή τους.

3.3.2 ∆υναµικές ιστοσελίδες
Οι δυναµικές ιστοσελίδες προσαρµόζουν το περιεχόµενο τους και την εµφάνισή τους
σύµφωνα µε την καταχώρηση/αλληλεπίδραση ή τις αλλαγές του τελικού χρήστη στο
περιβάλλον προγραµµατισµού (χρήστης, ώρα, τροποποιήσεις στη βάση δεδοµένων κτλ.). Το
περιεχόµενο µπορεί να αλλάζει στον υπολογιστή του τελικού χρήστη µε τη χρήση των
γλωσσών προγραµµατισµού που εκτελούνται στον υπολογιστή του χρήστη (JavaScript,
VBScript, Actionscript, etc.). Το περιεχόµενο στις δυναµικές σελίδες συχνά µεταφράζεται
στον εξυπηρετητή (server), που εκεί αποστέλλεται µέσω του διακοµιστή (Apache), µέσω
γλωσσών προγραµµατισµού που εκτελούνται στον εξυπηρετητή (Perl, PHP, ASP, JSP,
ColdFusion, .NET κτλ). Πίσω από δυναµικά websites κρύβονται πάντα βάσεις δεδοµένων
(databases) όπου εκεί αποθηκεύονται δεδοµένα και πληροφορίες του εν λόγω website. Και µε
εντολή του χρήστη το website επικοινωνεί µε την database από όπου θα αντλήσει το
περιεχόµενο που απαίτησε να δει ο χρήστης. Λόγω των databases καθίσταται εύκολη η
προσθαφαίρεση περιεχοµένου στις δυναµικές ιστοσελίδες, ακόµα και από τον χρήστη
επισκέπτη της σελίδας που έχει έλλειψη σε γνώσεις προγραµµατισµού.
∆ιότι σε µια στατική σελίδα για να αλλάξει ή να τροποποιήσει κανείς το περιεχόµενο της
σελίδας θα πρέπει να επέµβει στον κώδικα. Άρα, πρέπει να ξέρει προγραµµατισµό. Ενώ σε
µια δυναµική σελίδα απλά πρέπει να ξέρει πως να διαχειρίζεται το περιεχόµενο στη βάση
δεδοµένων και όλα τα υπόλοιπα γίνονται αυτοµατοποιηµένα από το πρόγραµµα. Όπως είπαµε
οι στατικές σελίδες είναι απλά html έγγραφα. Οι δυναµικές ιστοσελίδες είναι εφαρµογές-
προγράµµατα. Για την δηµιουργία ενός δυναµικού site χρειάζονται πολλές-πολλές γραµµές
24
κώδικα προγραµµατισµού. Παρόλο όµως που είναι σχετικά δύσκολο να κατασκευαστεί ένα
δυναµικό site, είναι εύκολο να διαχειριστεί και να ανανεωθεί. Εδώ είναι και το µεγάλο
πλεονέκτηµα, έναντι των στατικών. Για να µπορεί ένας απλός χρήστης επισκέπτης να
διαχειρίζεται (να αλλάζει, να τροποποιεί ή να διαγράφει) το περιεχόµενο µιας δυναµικής
σελίδας εύκολα, χωρίς γνώσεις προγραµµατισµού, υπάρχουν τα CMS. Τα CMS (Content
Management System) είναι εύχρηστοι µηχανισµοί διαχείρισης περιεχοµένου. Έτσι, στην
περιοχή διαχείρισης της σελίδας, µπορούν να διαχειριστούν το περιεχόµενό της απλά µέλη,
συντάκτες, διαχειριστές κ.α. Ο καθένας έχει τον δικό του κωδικό πρόσβασης και το τι
προνόµια έχει καθώς και το κατά πόσο µπορεί να αλλάξει το περιεχόµενο της σελίδας, το
ορίζει ο υπερδιαχειριστής της σελίδας.
Κάποιος θα επιλέξει µια δυναµική ιστοσελίδα αν θέλει να έχει µια δυναµική παρουσία στο
διαδίκτυο. Αν έχει σκοπό να ανανεώνει συχνά το περιεχόµενό της και να θέλει να έχει
απεριόριστο αριθµό διαφορετικών σελίδων. Στα υπέρ είναι ότι το περιεχόµενό της µπορεί να
ανανεωθεί και να τροποποιηθεί από ανθρώπους που δεν γνωρίζουν προγραµµατισµό, σε
αντίθεση µε τις στατικές, όπου αυτό καθίσταται αδύνατον. Επίσης σε µια δυναµική
ιστοσελίδα είναι πολύ εύκολη η διαχείριση χρηστών, διαχειριστών και µελών της
ιστοσελίδας.
Στα κατά ενός δυναµικού site είναι αναµφίβολα το κατά πολύ υψηλότερο κόστος κατασκευής
αλλά και συντήρησης, καθώς λόγω των µεγαλύτερων απαιτήσεων, απαιτεί πολύ µεγαλύτερο
χώρο φιλοξενίας σε webserver. Συνήθως φορτώνει πιο αργά από µια στατική σελίδα και για
να κατασκευασθεί µια δυναµική σελίδα από κάποιον web designer ή από κάποιον
προγραµµατιστή απαιτείται πολύς χρόνος, γιατί απαιτούνται πολλές σειρές κώδικα.
Ενδείκνυνται για µεγάλες επιχειρήσεις που θέλουν να φτιάξουν ηλεκτρονικό κατάστηµα (e-
shop), όπου θα διαθέτουν προς πώληση τα προϊόντα τους, για ξενοδοχεία τα οποία θέλουν ο
επισκέπτης να κάνει ηλεκτρονικές κρατήσεις των δωµατίων τους και γενικότερα για µεγάλα
ειδησεογραφικά portals τα οποία ανανεώνουν συχνά το περιεχόµενό τους και θέλουν ο
χρήστης επισκέπτης να γίνεται µέλος στη σελίδα, να αφήνει σχόλια, να λαµβάνει newsletter
και γενικότερα να αλληλεπιδρά µε την σελίδα.
Η εφεύρεση των δυναµικών ιστοσελίδων αποτέλεσε σταθµό στη πορεία του internet. Με την
ανακάλυψη αυτή, πλέον ο χρήστης από απλός αναγνώστης θα µπορούσε να γίνει µέλος σε
µια σελίδα, να την προσαρµόσει στα µέτρα του, να προσθέσει τις δικές του πληροφορίες σε
αυτή και γενικώς µε τις δυναµικές ιστοσελίδες δηµιουργήθηκαν τα µεγαλύτερα σε
επισκεψιµότητα σηµερινά sites. Αυτή η ανακάλυψη είχε σηµαντικότατες επιπτώσεις σε
25
διάφορους τοµείς. Πλέον πολλοί σύλλογοι και οµάδες έχουν µόνο διαδικτυακή παρουσία.
Ιδίως οι άνθρωποι µε αναπηρίες µπορούν να κάνουν πράγµατα, που δεν θα µπορούσαν να τα
κάνουν µε άλλον τρόπο.
3.4 Πηγές Κεφαλαίου 3
http://www.bloggertips.gr/2011/03/blog-post_05.html
http://www.netrino.gr/reloaded/blog-post.php?bp_id=798
http://www.w3schools.com/

26

4. ΒΑΣΕΙΣ ∆Ε∆ΟΜΕΝΩΝ

4.1 Βάσεις ∆εδοµένων
Το βασικό χαρακτηριστικό των σύγχρονων εφαρµογών είναι η απαίτηση για την
αποτελεσµατική και αποδοτική διαχείριση της αποθηκευµένης πληροφορίας. Αρχικά, η
διαχείριση της πληροφορίας γινόταν από τις ίδιες τις εφαρµογές χρησιµοποιώντας το
σύστηµα αρχείων (file system) του λειτουργικού συστήµατος, ενώ οι µέθοδοι επεξεργασίας
και ανάκτησης των δεδοµένων ήταν ενσωµατωµένες στον κώδικα της εκάστοτε εφαρµογής.
Ο τρόπος αυτός διαχείρισης αν και δίνει στον προγραµµατιστή την ευελιξία να υλοποιήσει τις
µεθόδους επεξεργασίας που αυτός επιθυµεί, ωστόσο δηµιουργεί προβλήµατα καθώς
αυξάνεται ο όγκος των δεδοµένων και η πολυπλοκότητα της πληροφορίας.
Ένα Σύστηµα Βάσης ∆εδοµένων (database system) αναλαµβάνει αποκλειστικά την
αποθήκευση, προστασία και επεξεργασία των δεδοµένων, παρέχοντας εξελιγµένους
µηχανισµούς πρόσβασης, δικαιωµάτων και ενηµέρωσης των δεδοµένων. Ένα Σύστηµα
Βάσης ∆εδοµένων αποτελείται από τα εξής:
Τη Βάση ∆εδοµένων (database), η οποία αποτελεί µία συλλογή στοιχείων σχετικών µεταξύ
τους, που είναι δοµηµένα και καταχωρισµένα µε κατάλληλο τρόπο, και
το Σύστηµα ∆ιαχείρισης (ή ∆ιοίκησης) Βάσης ∆εδοµένων (database management system),
το οποίο είναι ένα λογισµικό σύστηµα που υλοποιεί όλες τις λειτουργίες που πρέπει να
υποστηριχτούν, όπως αναζήτηση, εισαγωγή, διαγραφή, συγχρονισµός προσπελάσεων,
προστασία και πολλές ακόµη. Σηµειώνεται ότι το Σύστηµα ∆ιαχείρισης Βάσης ∆εδοµένων
(Σ∆Β∆) είναι σε θέση να διαχειρίζεται πολλές Βάσεις ∆εδοµένων (Β∆) ταυτόχρονα,
αναλόγως µε τις απαιτήσεις των χρηστών.
Στην Εικόνα 4.1 παρουσιάζεται η σχέση µεταξύ της Β∆ και του Σ∆Β∆. Παρατηρούµε ότι οι
χρήστες δεν έχουν άµεση πρόσβαση στα δεδοµένα. Η προσπέλαση των δεδοµένων
επιτυγχάνεται µέσω των µηχανισµών που έχουν υλοποιηθεί στο Σ∆Β∆. Με τον τρόπο αυτόν,
ο έλεγχος των δεδοµένων ανήκει στο Σ∆Β∆ και µόνο αυτό είναι υπεύθυνο για τη διαχείριση
και την προστασία τους.

ΚΕΦΑΛΑΙΟ 4
27

Εικόνα 4.1 – Βάση ∆εδοµένων και Σύστηµα ∆ιαχείρισης

4.2 Κατηγορίες χρηστών
Οι δυνατότητες του Σ∆Β∆ αξιοποιούνται από διάφορες κατηγορίες χρηστών. Οι κατηγορίες
αυτές έχουν ως εξής:
Απλοί Χρήστες (naive users). Στην κατηγορία αυτή ανήκουν οι χρήστες που χρησιµοποιούν
κάποιο πρόγραµµα εφαρµογής για να αποκτήσουν πρόσβαση στα δεδοµένα της βάσης. Τα
δικαιώµατα των απλών χρηστών είναι περιορισµένα. ενώ οι λειτουργίες που επιτρέπεται να
πραγµατοποιήσουν είναι προκαθορισµένες και ρυθµίζονται αναλόγως µε τη λειτουργία του
συστήµατος. Για παράδειγµα. ένας χρήστης του φορολογικού συστήµατος TAXIS, ο οποίος
έχει υποβάλλει ηλεκτρονικά τη φορολογική του δήλωση, µπορεί να διαβάσει και να
τροποποιήσει µόνο τα δικά του δεδοµένα και όχι άλλων χρηστών. Οι απλοί χρήστες τις
περισσότερες φορές αγνοούν την ύπαρξη του Σ∆Β∆.
Προχωρηµένοι Χρήστες (casual users). Στην κατηγορία αυτή ανήκουν οι χρήστες που έχουν
επίγνωση της ύπαρξης του Σ∆Β∆ καθώς και της δοµής της βάσης. 'Έχουν τη δυνατότητα να
χρησιµοποιούν τη ∆οµηµένη Γλώσσα ερωτηµάτων (SQL) για να επικοινωνούν µε τη βάση,
ενώ σε πολλές περιπτώσεις γράφουν τα δικά τους προγράµµατα εφαρµογής.
28
Προγραµµατιστές Εφαρµογών (application programmers). Ο προγραµµατιστής εφαρµογών
καλείται να υλοποιήσει τµήµατα λογισµικού, τα οποία επικοινωνούν µε το Σ∆Β∆ για
προσπέλαση και ενηµέρωση δεδοµένων. Οι εφαρµογές αυτές συνήθως χρησιµοποιούν κάποιο
API (Application Programming Interface) που δίνεται από τον κατασκευαστή του Σ∆Β∆ και
το οποίο περιγράφει λεπτοµερώς τους κανόνες προσπέλασης των δεδοµένων από τις
εφαρµογές. Οι εφαρµογές υλοποιούνται χρησιµοποιώντας µια γλώσσα προγραµµατισµού (πχ,
C++, Java) ή χρησιµοποιώντας κάποιο περιβάλλον ανάπτυξης εφαρµογών, το οποίο παρέχει ο
κατασκευαστής του Σ∆Β∆.
Σχεδιαστές Βάσεων ∆εδοµένων (database designers). Η αναπαράσταση του πραγµατικού
κόσµου απαιτεί την προσεκτική σχεδίαση της Βάσης ∆εδοµένων. Αρχικά θα πρέπει να
προσδιοριστούν οι απαραίτητες οντότητες και οι συσχετίσεις που υπάρχουν µεταξύ τους. Στη
συνέχεια, η πληροφορία αυτή χρησιµοποιείται για την κατασκευή της εσωτερικής
αναπαράστασης της πληροφορίας στη Βάση ∆εδοµένων του συστήµατος. Η διαδικασία αυτή
εκτελείται από εξειδικευµένους αναλυτές και σχεδιαστές Βάσεων ∆εδοµένων, οι οποίοι
καλούνται να περιγράψουν τα αντικείµενα του πραγµατικού κόσµου µε αντικείµενα της
Βάσης ∆εδοµένων. Οι σχεδιαστές έχουν στη διάθεσή τους εργαλεία λογισµικού µε τα οποία
αυτοµατοποιείται η διαδικασία περιγραφής των δεδοµένων.
∆ιαχειριστές Βάσεων ∆εδοµένων (database administrators, DBA). Στην κατηγορία αυτή
ανήκουν οι χρήστες που έχουν επιπλέον δικαιώµατα που αφορούν τον τρόπο οργάνωσης των
δεδοµένων, τον τρόπο λειτουργίας του Σ∆Β∆, τη διαχείριση των χρηστών και την
αποκατάσταση των δεδοµένων σε περιπτώσεις απώλειας δεδοµένων λόγω βλαβών του υλικού
του συστήµατος. Οι διαχειριστές έχουν στη διάθεσή τους εξειδικευµένες εφαρµογές µε τις
οποίες ελέγχουν την ορθότητα των δεδοµένων και φροντίζουν για τη βέλτιστη λειτουργία του
συστήµατος.
4.3 Γλώσσες Βάσεων ∆εδοµένων
Μία γλώσσα Βάσεων ∆εδοµένων αποτελείται από δύο τµήµατα που είναι σχεδιασµένα για
διαφορετικούς σκοπούς. Η γλώσσα ορισµού δεδοµένων (Data Definition Language, DDL)
χρησιµοποιείται για τον ορισµό των οντοτήτων και των µεταξύ τους σχέσεων. Με τη γλώσσα
αυτή δηλώνουµε τα χαρακτηριστικά που έχει κάθε οντότητα και τους αντίστοιχους τύπους
δεδοµένων (πχ, ακέραιος αριθµός, σειρά χαρακτήρων). Η γλώσσα χειρισµού δεδοµένων
(Data Manipulation Language, DML) χρησιµοποιείται για την επεξεργασία, την ενηµέρωση,
29
την εισαγωγή και τη διαγραφή δεδοµένων. Αξίζει να σηµειωθεί ότι µία γλώσσα Βάσεων
∆εδοµένων έχει τεράστια διαφορά από µια γλώσσα προγραµµατισµού. Γενικά, µία γλώσσα
προγραµµατισµού είναι ενισχυµένη µε πολλές δυνατότητες για τη διευκόλυνση του
προγραµµατιστή εφαρµογών. Αντιθέτως, µια γλώσσα Βάσεων ∆εδοµένων είναι απλούστερη
στη σύνταξή της και κατά κύριο λόγο είναι δηλωτική (declarative). Αυτό σηµαίνει ότι δεν
προσδιορίζουµε τον τρόπο εκτέλεσης µίας εργασίας, αλλά απλώς δηλώνουµε τι θέλουµε στην
απάντηση. Η µετάφραση, αξιολόγηση και επεξεργασία των ερωτηµάτων είναι ευθύνη του
Σ∆Β∆.
4.3.1 Γλώσσα Ορισµού ∆εδοµένων
Το πρώτο βήµα στο σχεδιασµό µίας Β∆ είναι ο προσδιορισµός των οντοτήτων που θα
χρησιµοποιηθούν για να αναπαραστήσουν τα αντικείµενα του πραγµατικού κόσµου. Στη
συνέχεια. προσδιορίζονται οι ιδιότητες της κάθε οντότητας και περιγράφονται οι σχέσεις
µεταξύ των οντοτήτων. Επίσης. πρέπει να προσδιορισθούν οι περιορισµοί που υπάρχουν στα
δεδοµένα. Όλα τα προηγούµενα στοιχεία συνθέτουν το σχήµα της Β∆. Υπεύθυνος για την
κατασκευή του σχήµατος είναι ο διαχειριστής. που πρέπει να έχει στη διάθεσή του τα
κατάλληλα εργαλεία για να θέσει τα θεµέλια της Β∆. ώστε να χρησιµοποιηθεί στη συνέχεια
από τους χρήστες. 'Ένα από τα εργαλεία αυτά είναι η γλώσσα ορισµού δεδοµένων.
Το αποτέλεσµα της µετάφρασης των εντολών της γλώσσας ορισµού δεδοµένων αποθηκεύεται
σε ειδικό αρχείο που καλείται λεξικό δεδοµένων (data dictionary) ή κατάλογος δεδοµένων
(data directory) ή κατάλογος συστήµατος (system catalog). Το αρχείο αυτό περιέχει µετα-
δεδοµένα (metadata), δηλαδή πληροφορίες που αφορούν τα ίδια τα αποθηκευόµενα
δεδοµένα. Επειδή υπάρχουν τρία διαφορετικά σχήµατα (εξωτερικό, εννοιολογικό, εσωτερικό)
θα έπρεπε να υπάρχουν και διαφορετικές γλώσσες ορισµού δεδοµένων. Ωστόσο, τα
περισσότερα Σ∆Β∆ παρέχουν µία µόνο γλώσσα ορισµού δεδοµένων, ή οποία χρησιµοποιείται
για τον προσδιορισµό του εξωτερικού και του εννοιολογικού σχήµατος τουλάχιστον.

4.3.2 Γλώσσα Χειρισµού ∆εδοµένων
Οι χρήστες της Β∆ πρέπει να έχουν στη διάθεσή τους τρόπους προσπέλασης των δεδοµένων.
Η ευκολία χειρισµού των δεδοµένων είναι ένας πολύ σηµαντικός παράγοντας. Τα
προσφερόµενα εργαλεία πρέπει να δίνουν τη δυνατότητα α) εισαγωγής νέων δεδοµένων, β)
ενηµέρωσης των αποθηκευµένων δεδοµένων, γ) προσπέλασης των δεδοµένων και δ)
30
διαγραφής των δεδοµένων (εφ’ όσον υπάρχουν τα αντίστοιχα δικαιώµατα). Η γλώσσα
χειρισµού δεδοµένων προσφέρει στους χρήστες όλες τις προηγούµενες δυνατότητες και λόγω
της απλότητάς της ο χειρισµός των δεδοµένων πραγµατοποιείται σχετικά εύκολα. Το τµήµα
της γλώσσας χειρισµού δεδοµένων που χρησιµοποιείται µόνο για προσπέλαση (ανάγνωση)
των δεδοµένων καλείται γλώσσα ερωτηµάτων (query language).
Η γλώσσα χειρισµού δεδοµένων µπορεί να είναι είτε διεργασιακή (procedural) είτε µη-
διεργασιακή (non-procedural). Μία διεργασιακή γλώσσα χειρισµού δεδοµένων δίνει στο
χρήστη τη δυνατότητα να αναζητήσει δεδοµένα από τη Β∆ µε συγκεκριµένο τρόπο, δηλαδή
δηλώνοντας τον τρόπο πραγµατοποίησης της προσπέλασης των δεδοµένων. Συνήθως, µία
εφαρµογή που είναι βασισµένη σε διεργασιακή γλώσσα χειρισµού διαβάζει τµήµατα
δεδοµένων χρησιµοποιώντας ειδικές συναρτήσεις, και στη συνέχεια χρησιµοποιώντας
εντολές ελέγχου (δηλαδή, if – then - else, κλπ.) και εντολές (όπως for, while, repeat)
προβαίνει σε επιπλέον ενέργειες. Αντιθέτως σε µία µη-διεργασιακή γλώσσα χειρισµού
δεδοµένων ο χρήστης δηλώνει µόνο τα δεδοµένα που χρειάζεται να διαβασθούν και τους
περιορισµούς που έχουν τα δεδοµένα (πχ, ιπποδύναµη > 110). 'Έτσι, ο χρήστης
αποδεσµεύεται από τις λεπτοµέρειες που σχετίζονται µε τον τρόπο προσπέλασης των
δεδοµένων, οπότε ο τρόπος πραγµατοποίησης της επεξεργασίας του ερωτήµατος
προσδιορίζεται από το Σ∆Β∆. Χαρακτηριστικά παραδείγµατα µη-διεργασιακών γλωσσών
χειρισµού δεδοµένων είναι η SQL (Structured Query Language) και η QBE (Query By
Example). Πολλά Σ∆Β∆ παρέχουν και διεργασιακές γλώσσες χειρισµού δεδοµένων, όπως η
Transact-SQL στο σύστηµα Microsoft SQL Server και η PL/SQL στο σύστηµα Oracle.

4.3.3 Γλώσσες Τέταρτης Γενιάς
Οι µη-διεργασιακές γλώσσες ανήκουν στις γλώσσες τέταρτης γενιάς (4
th
generation
languages, 4GL), οι οποίες είναι γλώσσες υψηλού επιπέδου και αποδεσµεύουν το χρήστη ή
τον προγραµµατιστή εφαρµογών από λεπτοµέρειες υλοποίησης. Επίσης, η µη-διεργασιακή
φύση των γλωσσών αυτών επιτρέπει την εύκολη διατύπωση ερωτηµάτων από τους χρήστες,
απλουστεύοντας τον τρόπο επικοινωνίας µεταξύ χρήστη και συστήµατος.

4.4 Μοντέλο Οντοτήτων Συσχετίσεων
Το µοντέλο οντοτήτων – συσχετίσεων (ΟΣ) βασίζεται στη θεώρηση ότι ο πραγµατικός
κόσµος αποτελείται από οντότητες µε χαρακτηριστικά, ενώ µεταξύ των οντοτήτων
33

5. ΤΕΧΝΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ
ΕΦΑΡΜΟΓΗΣ

5.1 ASP.NET
Το ASP.NET είναι ένα πλαίσιο web εφαρµογής που έχει αναπτυχθεί και διατίθενται στο
εµπόριο από τη Microsoft και επιτρέπει στους προγραµµατιστές την δηµιουργία δυναµικών
ιστοσελίδων, εφαρµογών και υπηρεσιών web. Κυκλοφόρησε για πρώτη φορά τον Ιανουάριο
του 2002 µε την έκδοση 1.0 του .NET Framework, και είναι ο διάδοχος της τεχνολογίας
Active Server Pages (ASP) της Microsoft. Το ASP.NET είναι «χτισµένο» µε την γλώσσα
Common Language Runtime (CLR), επιτρέποντας στους προγραµµατιστές να γράψουν
κώδικα ASP.NET χρησιµοποιώντας οποιαδήποτε γλώσσα υποστηρίζεται από το .NET. Το
ASP.NET SOAP πλαίσιο επέκτασης επιτρέπει στα συστατικά του ASP.NET να
επεξεργάζονται τα µηνύµατα SOAP.
5.1.1 Ιστορική αναδροµή
Μετά την κυκλοφορία του Internet Information Services 4.0 το 1997, η Microsoft άρχισε να
ερευνά τις δυνατότητες για ένα νέο µοντέλο web εφαρµογής που θα έλυνε κοινά προβλήµατα
σχετικά µε την ASP, ιδίως σε σχέση µε το διαχωρισµό της παρουσίασης και του
περιεχοµένου και να είναι σε θέση να γράψει «καθαρό» κώδικα. Στον Mark Anders, που ήταν
ένας διευθυντής από την οµάδα του IIS, και στον Scott Guthrie, ο οποίος είχε ενταχθεί στη
Microsoft το 1997 µετά την αποφοίτησή του από το Πανεπιστήµιο Duke, είχε ανατεθεί να
καθορίσουν πως θα έµοιαζε αυτό το µοντέλο. Ο αρχικός σχεδιασµός αναπτύχθηκε κατά τη
διάρκεια δύο µηνών από τον Anders και τον Guthrie, και ο Guthrie κωδικοποίησε τα αρχικά
πρότυπα κατά τη διάρκεια των Χριστουγέννων το 1997.
Το αρχικό πρότυπο ονοµάστηκε "XSP". Ο Guthrie εξήγησε σε µια συνέντευξη το 2007 ότι,
«Οι άνθρωποι πάντα θα ρωτάνε τι αντιπροσωπεύει το Χ». Εκείνο τον καιρό πραγµατικά δεν
αντιπροσώπευε τίποτα. Το XML ξεκινάει µε αυτό. Το XSLT ξεκινάει µε αυτό. Οτιδήποτε νέο
φάνηκε να ξεκινήσει µε ένα Χ, έτσι ώστε να είναι αυτό που ονοµάστηκε αρχικά. Το αρχικό
πρωτότυπο του XSP είχε γίνει µε τη χρήση της Java, αλλά σύντοµα αποφασίστηκε να χτιστεί

ΚΕΦΑΛΑΙΟ 5
34
νέα πλατφόρµα µε την χρήση της γλώσσας Common Language Runtime (CLR), δεδοµένου
ότι προσφέρει ένα αντικειµενοστραφές περιβάλλον προγραµµατισµού, συλλογή των
«απορριµµάτων» και άλλα χαρακτηριστικά που θεωρήθηκαν ως επιθυµητά χαρακτηριστικά
που η πλατφόρµα της Microsoft Component Object Model δεν υποστήριζε. Ο Guthrie
περιγράφει την απόφαση αυτή ως ένα «τεράστιο κίνδυνο», καθώς η επιτυχία της νέας
πλατφόρµας ανάπτυξης ιστοσελίδων τους θα συνδέεται µε την επιτυχία της CLR, η οποία,
όπως το XSP, ήταν ακόµα στα πρώιµα στάδια της ανάπτυξης, σε τέτοιο βαθµό που η οµάδα
του XSP ήταν η πρώτη οµάδα της Microsoft να στοχεύει την CLR.
Με την κίνηση προς το χρόνο εκτέλεσης της γλώσσας Common Language, το XSP είχε ξανά
υλοποιηθεί σε C # (γνωστό εσωτερικά ως "Project Cool", αλλά είχε κρατηθεί µυστικό από το
κοινό), και το όνοµα άλλαξε σε ASP +, και από αυτό το σηµείο η νέα πλατφόρµα θεωρήθηκε
ως ο διάδοχος του Active Server Pages, και η πρόθεση ήταν να παρέχει έναν εύκολο δρόµο
µετάβασης για τους ASP προγραµµατιστές.
Ο Mark Anders παρουσίασε πρώτος την ASP + στο συνέδριο ASP Connections στο Φοίνιξ
της Αριζόνα στις 2 Μαΐου το 2000. Οι επιδείξεις στο ευρύ κοινό και η αρχική έκδοση beta
του ASP + (και το υπόλοιπο του. NET Framework), ήρθαν στην διάσκεψη Professional
Developers Conference στις 11 Ιουλίου 2000 στο Ορλάντο της Φλόριντα. Κατά τη διάρκεια
της οµιλίας παρουσίασης του Bill Gates, η Fujitsu έδειξε την ASP + να χρησιµοποιείται σε
συνδυασµό µε COBOL και ανακοίνωσε την υποστήριξη για µια ποικιλία άλλων γλωσσών,
συµπεριλαµβανοµένων των νέων γλωσσών της Microsoft Visual Basic .NET και C#.
Μόλις αποφασίστηκε η «.NET» επωνυµία κατά το δεύτερο εξάµηνο του 2000, αποφασίστηκε
η µετονοµασία της ASP + σε ASP.NET. Ο Mark Anders εξήγησε σε µια εµφάνιση στο «The
Show MSDN» τη χρονιά εκείνη, «Η πρωτοβουλία του .NET έγινε πραγµατικά για αριθµό
παραγόντων, έχει να κάνει µε την παροχή του λογισµικού ως µια υπηρεσία δηµιουργίας
συνδέσεων, είναι σχετική µε την XML και υπηρεσίες web και πραγµατικά την ενίσχυση του
∆ιαδικτύου από την άποψη του τι µπορεί να κάνει ... πραγµατικά θέλαµε να αντιστοιχεί το
όνοµά του περισσότερο µε τα υπόλοιπα κοµµάτια πλατφόρµας που συνθέτουν το .NET
framework».
Μετά από τέσσερα χρόνια ανάπτυξης, καθώς και µια σειρά από εκδόσεις beta, το 2000 και το
2001, το ASP.NET 1.0 κυκλοφόρησε στις 5 Ιανουαρίου 2002 ως µέρος της έκδοσης 1.0 του
.NET Framework. Ακόµη και πριν από την κυκλοφορία δεκάδες βιβλία είχαν γραφτεί για
ASP.NET και η Microsoft το προώθησε σε µεγάλο βαθµό ως µέρος της πλατφόρµας τους για
35
τις διαδικτυακές υπηρεσίες. Ο Guthrie έγινε ο διευθυντής µονάδα προϊόντος για το ASP.NET,
και η ανάπτυξη συνεχίστηκε µε εντατικούς ρυθµούς µε την έκδοση 1.1 που κυκλοφόρησε
στις 24 Απριλίου 2003 ως µέρος του Windows Server 2003. Αυτή η έκδοση εστιάζεται στη
βελτίωση υποστήριξης του ASP.NET για κινητές συσκευές.
5.1.2 Χαρακτηριστικά
Σελίδες
Οι ASP.NET σελίδες, που είναι γνωστά ως «Web Forms», είναι τα κύρια δοµικά στοιχεία για
την ανάπτυξη εφαρµογών. Τα Web Forms περιέχονται σε αρχεία µε επέκταση «.aspx». Τα
αρχεία αυτά περιέχουν την στατική (X)HTML σήµανση, καθώς και σήµανση για τον
καθορισµό στην πλευρά του διακοµιστή (server-side), τα Web Controls και τα User Controls,
όπου οι προγραµµατιστές τοποθετούν όλα τα απαιτούµενα στατικά και δυναµικά περιεχόµενα
για την ιστοσελίδα. Επιπλέον, ο δυναµικός κώδικας που τρέχει στον server µπορεί να
τοποθετηθεί σε µια σελίδα µέσα σε ένα µπλοκ <% - δυναµικός κώδικας -%>, και είναι
παρόµοια µε άλλες τεχνολογίες ανάπτυξης ιστοσελίδων όπως PHP, JSP και ASP. Με το
ASP.NET Framework 2.0, η Microsoft εισήγαγε ένα νέο «code-behind» µοντέλο το οποίο
επιτρέπει στο στατικό κώδικα να παραµείνει στην .aspx σελίδα, ενώ ο δυναµικός κώδικας να
παραµένει σε ένα .aspx.vb ή .aspx.cs ή .aspx.fs αρχείο (ανάλογα µε τη γλώσσα
προγραµµατισµού που χρησιµοποιείται).
«Code-behind» µοντέλο
Η Microsoft συνιστά την αντιµετώπιση του δυναµικού κώδικα του προγράµµατος µε τη
χρήση του «code-behind» µοντέλου, το οποίο τοποθετεί αυτόν τον κώδικα σε ξεχωριστό
αρχείο ή σε µια ειδικά διαµορφωµένη script ετικέτα. Τα «code-behind» αρχεία έχουν
συνήθως ονόµατα όπως MyPage.aspx.cs ή MyPage.aspx.vb ενώ το αρχείο σελίδας είναι
MyPage.aspx (ίδιο όνοµα αρχείου µε το αρχείο της σελίδας (ASPX), αλλά µε την τελευταία
επέκταση που δηλώνει τη γλώσσα της σελίδας). Η πρακτική αυτή είναι αυτόµατη στο
Microsoft Visual Studio και άλλα IDEs. Όταν χρησιµοποιείτε αυτό το είδος του
προγραµµατισµού, ο προγραµµατιστής γράφει κώδικα για να αντιµετωπίσει τις διάφορες
εκδηλώσεις, όπως όταν η σελίδα φορτώνεται, ή ένα στοιχείο ελέγχου που έκανε κλικ, αντί για
ένα διαδικαστικό πέρασµα του εγγράφου.
36
Οδηγίες (Directives)
Πρόκειται για ειδικές οδηγίες για το πώς θα πρέπει η ASP.NET να επεξεργαστεί την σελίδα.
Η πιο κοινή οδηγία είναι <%@ Page %> που µπορεί να καθορίσει πολλά πράγµατα, όπως η
γλώσσα προγραµµατισµού που χρησιµοποιείται για τον κώδικα στην πλευρά του διακοµιστή
(server-side).
Έλεγχοι Χρήστη (User Controls)
Οι έλεγχοι χρήστη είναι τµήµατα των σελίδων που έχουν καταχωρηθεί και χρησιµοποιούνται
ως στοιχεία ελέγχου στην ASP.NET. Τα στοιχεία ελέγχου χρήστη δηµιουργούνται ως ASCX
αρχεία σήµανσης. Τα αρχεία αυτά περιέχουν συνήθως στατική (X)HTML σήµανση, καθώς
και σήµανση που καθορίζει τους web ελέγχους στην πλευρά του διακοµιστή. Είναι οι θέσεις
όπου ο προγραµµατιστής µπορεί να τοποθετήσει το απαιτούµενο στατικό και δυναµικό
περιεχόµενο. Ένα στοιχείο ελέγχου χρήστη µεταγλωττίζεται όταν το περιεχόµενο της σελίδα
του έχει ζητηθεί και αποθηκεύεται στη µνήµη για τις επόµενες αιτήσεις. Οι έλεγχοι χρήστη
έχουν τα δικά του συµβάντα (events) τα οποία αντιµετωπίζονται κατά τη διάρκεια ζωής των
ASP.NET αιτηµάτων. Ένας µηχανισµός παρέχει τη δυνατότητα να περάσει ένα συµβάν
(event) που τροφοδοτείται από τον έλεγχο χρήστη στην περιεχόµενη σελίδα του. Σε αντίθεση
µε µια σελίδα ASP.NET, ένα στοιχείο ελέγχου χρήστη δεν µπορεί να ζητηθεί ανεξάρτητα.

Προσαρµοσµένα στοιχεία ελέγχου (Custom Controls)
Οι προγραµµατιστές µπορούν επίσης να χτίσουν προσαρµοσµένα στοιχεία ελέγχου για
εφαρµογές ASP.NET. Σε αντίθεση µε τους ελέγχους χρηστών, οι έλεγχοι αυτοί δεν έχουν
αρχείο ASCX σήµανσης, αφού όλος ο κώδικας τους συγκεντρώνονται σε µια βιβλιοθήκη
δυναµικής σύνδεσης (DLL). Τέτοια προσαρµοσµένα στοιχεία ελέγχου µπορεί να
χρησιµοποιηθούν σε πολλαπλές εφαρµογές Web και Visual Studio εργασίες.

Άλλα αρχεία
Άλλες επεκτάσεις αρχείων που σχετίζονται µε τις διαφορετικές εκδόσεις του ASP.NET
περιλαµβάνουν:
37
Επέκταση

Αρχείου
Απαιτούµενη

Έκδοση
Περιγραφή
asax 1.0 Αυτό είναι global αρχείο εφαρµογής. Μπορεί να χρησιµοποιηθεί
για να καθορίσει την global µεταβλητή (µεταβλητή που µπορεί να
προσπελαστεί από οποιαδήποτε ιστοσελίδα στην web εφαρµογή).
Χρησιµοποιείται ως επί το πλείστον για να καθορίσει τα γενικά
συµβάντα της εφαρµογής που σχετίζονται µε την εφαρµογή και
το session object.
ascx 2.0 Έλεγχος Χρήστη (User Control)
ashx 1.0 Προσαρµοσµένοι χειριστές http. ∆εν διαθέτουν περιβάλλον
χρήστη.
asmx 1.0 Σελίδες web υπηρεσιών. Από την έκδοση 2.0, η «code-behind»
σελίδα ενός αρχείου asmx τοποθετείται στο φάκελο app_code.
axd 1.0 Όταν ενεργοποιηθεί στο web.config ζητώντας trace.axd εξόδους
στην ανίχνευση στο επίπεδο εφαρµογών.
browser 2.0 Αρχεία περιηγητή που αποθηκεύονται σε µορφή XML. Έχουν
εισαχθεί στην έκδοση 2.0. ASP.NET, η οποία περιλαµβάνει
πολλά από αυτά από προεπιλογή για να υποστηρίξει κοινά
προγράµµατα περιήγησης στο Web. Αυτά καθορίζουν ποιες
δυνατότητες έχει ο κάθε περιηγητής, ώστε να µπορεί αυτόµατα να
προσαρµόσουν και να βελτιστοποιήσουν την έξοδό τους
ανάλογα.
config 1.0 Το web.config είναι µοναδικό αρχείο σε µια συγκεκριµένη web
εφαρµογή για να χρησιµοποιηθεί η επέκταση αυτή από
προεπιλογή (machine.config επηρεάζει εξίσου το σύνολο του
Web server και όλες τις εφαρµογές σε αυτό), ωστόσο η ASP.NET
παρέχει ευκολίες για την δηµιουργία και την χρησιµοποίηση
άλλων config αρχείων. Αυτά αποθηκεύονται σε µορφή XML.
38
cs/vb 1.0 Αρχεία κώδικα (cs δηλώνει C#, vb δηλώνει Visual Basic, fs
δηλώνει F#). «Code-behind» αρχεία έχουν κατά κύριο λόγο την
επέκταση ".aspx.cs" ή ".aspx.vb" για τις δύο πιο κοινές γλώσσες.
Άλλα αρχεία κώδικα (συχνά περιέχουν κοινής «βιβλιοθήκης»
τάξεις) µπορεί επίσης να υπάρχουν στους web φακέλους µε cs/vb
επέκταση. Στο ASP.NET 2, αυτά θα πρέπει να τοποθετούνται
µέσα στο φάκελο App_Code όπου µεταγλωττίζονται δυναµικά
και διατίθενται σε ολόκληρη την εφαρµογή.
cshtml Views (ανάµεικτα C# και HTML χρησιµοποιώντας Razor
σύνταξη)
master 2.0 Αρχείο κύρια σελίδας. Προεπιλεγµένο όνοµα αρχείου είναι
MasterPage.master
resx 1.0 Αρχεία προέλευσης για τη «διεθνοποίηση» και τοπική
προσαρµογή. Τα αρχεία προέλευσης µπορεί να είναι
«παγκόσµια» (global) (π.χ. µηνύµατα) ή «τοπικά», που σηµαίνει
συγκεκριµένα για ένα aspx ή ascx αρχείο.
sitemap 2.0 Αρχεία ρυθµίσεων χάρτη ιστοσελίδας. Προεπιλεγµένο όνοµα
αρχείου είναι web.sitemap
skin 2.0 Αρχεία µε θέµατα.
vbhtml Views (ανάµεικτα VB και HTML χρησιµοποιώντας Razor
σύνταξη)

∆οµή καταλόγου
Σε γενικές γραµµές, η δοµή του καταλόγου της ASP.NET µπορεί να καθοριστεί από τις
προτιµήσεις του προγραµµατιστή. Εκτός από µερικά δεσµευµένα ονόµατα καταλόγου, η
περιοχή µπορεί να εκτείνεται σε απεριόριστο αριθµό καταλόγων. Η δοµή είναι συνήθως σε
άµεση εξάρτηση από τις διευθύνσεις URL. Παρά το γεγονός ότι η ASP.NET παρέχει τα µέσα
για παρακολούθηση αίτησης σε οποιοδήποτε σηµείο κατά τη διάρκεια της επεξεργασίας, ο
39
προγραµµατιστής δεν αναγκάζεται να διοχετεύσει τα αιτήµατα µέσω µιας κεντρικής
εφαρµογής ή «µπροστινού» ελεγκτή.
Το ειδικά ονόµατα καταλόγου (από το ASP.NET 2.0 και µετά) είναι:
App_Code
Είναι ο κατάλογος «ακατέργαστου κώδικα». Ο διακοµιστής της ASP.NET
µεταγλωττίζει αυτόµατα τα αρχεία (και φακέλους) σε αυτόν το φάκελο σε ένα σύνολο
το οποίο είναι προσβάσιµο στον κώδικα κάθε σελίδας του site. Το App_Code τυπικά
θα χρησιµοποιείται για πρόσβαση δεδοµένων αφαιρετικού κώδικα, κώδικα προτύπου
και κώδικα επιχειρήσεων.
App_Data
Προεπιλεγµένος κατάλογος για βάσεις δεδοµένων, όπως τα Access mdb αρχεία και
SQL Server mdf αρχεία. Αυτός ο κατάλογος είναι συνήθως ο µόνος µε την πρόσβαση
εγγραφής για την εφαρµογή.
App_LocalResources
Π.χ. ένα αρχείο µε όνοµα CheckOut.aspx.fr-FR.resx περιέχει µεταφρασµένους πόρους
για τη γαλλική έκδοση του CheckOut.aspx σελίδα. Όταν η κουλτούρα UI έχει οριστεί
στα γαλλικά, η ASP.NET θα βρει αυτόµατα και θα χρησιµοποιήσει αυτό το αρχείο για
τοπική προσαρµογή.
App_GlobalResources
Συγκρατεί τα αρχεία resx µε τοπικούς διαθέσιµους πόρους σε κάθε σελίδα του site.
Αυτό είναι όπου ο προγραµµατιστής της ASP.NET θα αποθηκεύει µεταφρασµένα
µηνύµατα κλπ. τα οποία χρησιµοποιούνται σε περισσότερες από µία σελίδες.
App_Themes
Προσθέτει ένα φάκελο που διατηρεί αρχεία που σχετίζονται µε θέµατα τα οποία είναι
µια νέα δυνατότητα της ASP.NET, η οποία βοηθά στο να διασφαλιστεί µια
οµοιόµορφη εµφάνιση σε µια τοποθεσία Web και το καθιστά ευκολότερο το να
αλλάξει την εµφάνιση της τοποθεσίας Web, όταν είναι απαραίτητο.
App_WebReferences
Περιέχει discovery αρχεία και WSDL αρχεία για αναφορές σε διαδικτυακές υπηρεσίες
που θα χρησιµοποιούνται στην περιοχή.
43
Η διαφορά είναι ότι έχουµε τοποθετήσει ένα tag </li> µετά από το tag </ul> στο σωστό
παράδειγµα.
Τα έγγραφα πρέπει να είναι σωστά µορφοποιηµένα (well-formed)
Όλα τα στοιχεία της XHTML πρέπει να είναι φωλιασµένα µέσα στο αρχικό (root) στοιχείο
<html> και όλα τα άλλα στοιχεία µπορούν να έχουν στοιχεία παιδιά (children elements), τα
οποία πρέπει να είναι σε ζευγάρια και σωστά φωλιασµένα µέσα στο πατρικό τους στοιχείο
(parent element). Η βασική δοµή του εγγράφου είναι η εξής :
<html>
<head> ... </head>
<body> ... </body>
</html>
Τα ονόµατα των tags πρέπει να γράφονται µε πεζά γράµµατα
Αυτό ισχύει επειδή τα έγγραφα της XHTML αποτελούν εφαρµογές της XML και η XML
ξεχωρίζει τους πεζούς από τους κεφαλαίους χαρακτήρες (case-sensitive). Αυτό σηµαίνει ότι
tags όπως τα <br> και <BR> αντιµετωπίζονται σαν διαφορετικά tags.
Αυτό είναι λάθος :
<BODY>
<P> This is a paragraph </P>
</BODY>
Αυτό είναι σωστό :
<body>
<p> This is a paragraph </p>
</body>
Όλα τα στοιχεία της XHTML πρέπει να είναι κλειστά
Τα µη κενά στοιχεία πρέπει να έχουν ένα τελικό tag.
Αυτό είναι λάθος:
<p> This is a paragraph
<p> This is another paragraph
Αυτό είναι σωστό:
<p> This is a paragraph </p>
<p> This is another paragraph </p>

Τα κενά στοιχεία πρέπει επίσης να είναι κλειστά
Τα κενά στοιχεία πρέπει είτε να έχουν ένα τελικό tag ή το αρχικό tag πρέπει να τελειώνει µε
τους χαρακτήρες />.
45
∆εν επιτρέπεται η ελαχιστοποίηση των χαρακτηριστικών
Αυτό είναι λάθος :
<dl compact>
<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>
Αυτό είναι σωστό :
<dl compact="compact">
<input checked="checked">
<input readonly="readonly">
<input disabled="disabled">
<option selected="selected">
<frame noresize="noresize">
Το χαρακτηριστικό id αντικαθιστά το χαρακτηριστικό name
Η HTML 4.01 ορίζει το χαρακτηριστικό (attribute) name για τα στοιχεία a, applet, frame,
iframe, img και map. Στην XHTML το χαρακτηριστικό name δεν χρησιµοποιείται και
χρησιµοποιούµε αντί αυτού το id.
Αυτό είναι λάθος:
<img src="picture.gif" name="picture1" />
Αυτό είναι σωστό:
<img src="picture.gif" id="picture1" />
Για να υπάρχει συµβατότητα µε τους παλαιότερους φυλλοµετρητές, πρέπει να
χρησιµοποιούµε και το name και το id, µε τις ίδιες τιµές χαρακτηριστικών, ως εξής :
<img src="picture.gif" id="picture1" name="picture1" />
Το χαρακτηριστικό Lang
Το χαρακτηριστικό lang εφαρµόζεται σχεδόν σε κάθε στοιχείο της XHTML και καθορίζει τη
γλώσσα του περιεχοµένου (content) µέσα σ’ ένα στοιχείο.
Αν χρησιµοποιούµε το χαρακτηριστικό lang σ’ ένα στοιχείο, πρέπει να προσθέσουµε το
χαρακτηριστικό xml:lang, ως εξής :
<div lang="en" xml:lang="no"> Hallo from Florina </div>
51
H έκδοση 2.1 της CSS διορθώνει προβλήµατα που εντοπίστηκαν στην έκδοση 2, διακόπτει
την υποστήριξη κάποιων χαρακτηριστικών που δεν υποστηρίζονται πλέον από τους
περιηγητές και τέλος προσθέτει στα χαρακτηριστικά της γλώσσας κάποια στοιχεία που
υποστηριζόταν µέχρι τώρα από επεκτάσεις (extensions) των περιηγητών. Ενώ η έκδοση αυτή
ήταν η πρόταση του οργανισµού W3C για πολλούς µήνες, το Ιούνιο του 2005 µετατράπηκε
σε ένα project το οποίο θα επεξεργαζόταν περισσότερο. Τέλος, ορίστηκε ως υποψήφια
πρόταση τις 19 Ιουλίου του 2007.
CSS level 3:
Η CSS επιπέδου 3 βρίσκεται υπό ανάπτυξη από τις 15 ∆εκεµβρίου του 2005. Ο οργανισµός
W3C διατηρεί συνεχώς µια αναφορά που περιέχει πληροφορίες για τη διαδικασία της
ανάπτυξης προκειµένου να την µελετούν οι σχεδιαστές. Η CSS επιπέδου 3 αποτελείται από
διάφορα κοµµάτια (modules) και έχουν κατατεθεί για αυτή ένα σύνολο ξεχωριστών
προτάσεων για την εξέλιξή της.
5.4.2 Πλεονεκτήµατα του CSS
Το CSS λύνει ένα κοινό πρόβληµα
Τα tags της HTML σχεδιάσθηκαν αρχικά για να ορίσουν το περιεχόµενο ενός εγγράφου. Η
δουλειά τους ήταν να έλεγαν "Αυτή είναι µια επικεφαλίδα", "Αυτή είναι µια παράγραφος",
"Αυτός είναι ένας πίνακας", χρησιµοποιώντας tags όπως <h1>, <p>, <table> κοκ. Η διάταξη
(layout) του εγγράφου ήταν υπόθεση του φυλλοµετρητή χωρίς τη χρήση tags µορφοποίησης
(formatting tags).
Καθώς οι δύο κύριοι φυλλοµετρητές, ο Netscape και ο Internet Explorer, συνέχισαν να
προσθέτουν νέα HTML tags και χαρακτηριστικά (attributes), όπως το tag <font> και το
attribute color στις αρχικές προδιαγραφές της HTML, γινόταν ολοένα και δυσκολότερη η
δηµιουργία Web sites όπου το περιεχόµενο των εγγράφων HTML να µπορεί να ξεχωρίζει
καθαρά από τη διάταξη παρουσίασης του εγγράφου.
Για να µπορέσει να λύσει αυτό το πρόβληµα, το World Wide Web Consortium (W3C) – το
µη κερδοσκοπικό consortium ορισµού στάνταρτ που είναι υπεύθυνο για την
στανταρτατοποίηση της HTML – δηµιούργησε τα ΣΤΥΛ (STYLES) σαν προσθήκη στην
HTML 4.0.
54
jQuery, οι ενδιαφερόµενοι µπορούν να ανατρέξουν και στην σελίδα του Visual jQuery όπου
µπορούν να βρουν µία εναλλακτική αλλά πολύ βολική, από άποψη δοµής, τεκµηρίωση.
Υποστηρίζεται από µία πάρα πολύ ενεργή κοινότητα: Όπως για τα περισσότερα open
source έργα λογισµικού, έτσι και για το jQuery η ύπαρξη µιας, κατά το µέγιστο δυνατό,
ενεργής κοινότητας αποτελεί τον ακρογωνιαίο λίθο για την ανάπτυξη και ευηµερία του.
Μικρό µέγεθος: Το γεγονός ότι το βασικό πακέτο της jQuery είναι µόλις 20Kb, αφενός
επιβεβαιώνει την πρώτη παρατήρηση, ότι δηλαδή η φιλοσοφία της έγκειται στην απλότητα
και αφετέρου κάνει πολύ εύκολη την κατανόηση της αρχιτεκτονικής της.
Ποικιλία χαρακτηριστικών: Η jQuery δίνει τη δυνατότητα στον χρήστη να χρησιµοποιήσει
σχεδόν το σύνολο των δυνατοτήτων που προσφέρει η γλώσσα JavaScript. Από απλά
χαρακτηριστικά που σχετίζονται µε βασικές λειτουργίες εµφάνισης / απόκρυψης, ως AJAX
κλήσεις και σύνθετα εφέ.
Επεκτασιµότητα: Η λογική µε την οποία είναι φτιαγµένη η jQuery είναι απλή, πράγµα που
αντικατοπτρίζεται και στον ίδιο της τον κώδικα. Αυτό κάνει πολύ εύκολη την επέκτασή της /
τροποποίησή της.
5.6 AJAX
Ο όρος AJAX προέρχεται από τα αρχικά γράµµατα των λέξεων Asynchronous Javascript And
XML και αναφέρεται σε µία τεχνική προγραµµατισµού µε Javascript η οποία επιτρέπει την
µεταφορά δεδοµένων από και προς τον web server χωρίς να χρειάζεται να αλλάξει ή να
ανανεωθεί η ιστοσελίδα.
Για να γίνει περισσότερο κατανοητό ας δούµε ένα παράδειγµα. Υποθέτουµε ότι είµαστε σε
µία ιστοσελίδα ξενοδοχείου και ψάχνουµε να βρούµε διαθέσιµη ηµεροµηνία για να κάνουµε
κράτηση δωµατίου. Συµπληρώνουµε τα σχετικά πεδία και πατάµε το κουµπί υποβολής. Αν η
σελίδα έχει κατασκευαστεί µε τον κλασικό τρόπο, τότε, είτε θα ξαναφορτωθεί είτε θα ανοίξει
νέα ιστοσελίδα παρουσιάζοντας τα αποτελέσµατα της αναζήτησης. Με κάθε περαιτέρω
αλλαγή και υποβολή των αρχικών επιλογών η διαδικασία επαναλαµβάνεται.
Αν όµως η ιστοσελίδα έχει κατασκευαστεί µε την τεχνική της AJAX, η αναζήτηση και η
παρουσίαση των αποτελεσµάτων γίνεται χωρίς να χρειάζεται να γίνει ανανέωση ή φόρτωση
της ιστοσελίδας.
56
5.7 Πηγές Κεφαλαίου 5
http://en.wikipedia.org/wiki/ASP.NET
http://en.wikipedia.org/wiki/XHTML
http://www.w3schools.com/html/html_xhtml.asp
http://en.wikipedia.org/wiki/C_Sharp_(programming_language)
http://el.wikipedia.org/wiki/CSS
http://en.wikipedia.org/wiki/Cascading_Style_Sheets
http://www.w3schools.com/css/css_intro.asp
http://dide.flo.sch.gr/Plinet/Tutorials/Tutorials-CSS.html
http://pages.cs.aueb.gr/courses/epl131/files/CSS_notes.pdf
http://www.idesigner.gr/εισαγωγή-στην-jquery/
http://www.webjournal.gr/ajax_and_jquery/
http://en.wikipedia.org/wiki/Ajax_(programming)
57

6. ΠΑΡΟΥΣΙΑΣΗ ΕΦΑΡΜΟΓΗΣ

6.1 Βάση ∆εδοµένων της εφαρµογής
Στην ενότητα αυτή θα παρουσιαστεί αναλυτικά η Βάση ∆εδοµένων της εφαρµογής που
δηµιουργήθηκε κατά την εκπόνηση της πτυχιακής εργασίας. Για την δηµιουργία της
χρησιµοποιήθηκε το λογισµικό Microsoft SQL Server 2000.
6.1.1 ∆ιάγραµµα
Το διάγραµµα οντοτήτων συσχετίσεων (ER Diagram) για µια βάση δεδοµένων είναι µια
γραφική αναπαράσταση των καταστάσεων που είναι πιθανές (και επιτρεπτές) στον υπό
µοντελοποίηση κόσµο. Παρακάτω παρουσιάζεται το διάγραµµα Βάσης ∆εδοµένων της
εφαρµογής όπως δηµιουργήθηκε στο εργαλείο Enterprise Manager του SQL Server 2000.

Εικόνα 6.1 – ∆ιάγραµµα Βάσης ∆εδοµένων της εφαρµογής µας


ΚΕΦΑΛΑΙΟ 6
58
Μία βάση δεδοµένων µοντελοποιείται ως µία συλλογή από οντότητες και τις συσχετίσεις
ανάµεσα στις οντότητες αυτές. Στο παραπάνω διάγραµµα κάθε πίνακας αντιπροσωπεύει και
µία οντότητα. Παρακάτω παρουσιάζονται αναλυτικά οι συσχετίσεις και οι πολλαπλότητες
µεταξύ των πινάκων του διαγράµµατός µας.
Συσχέτιση TProductCategory – TPosterCategory
Οντότητες:

ΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ (TProductCategory)
ΥΠΟΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ 1 (TPosterCategory)

Πολλαπλότητες:
Μία «κατηγορία προϊόντος» έχει από 1 έως πολλές «υποκατηγορίες προϊόντος 1» (1..Ν) ενώ
µία «υποκατηγορία προϊόντος 1» ανήκει σε 1 και µόνο 1 «κατηγορία προϊόντος» (1..1).
Συσχέτιση TProductCategory - TPaintingCategory
Οντότητες:

ΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ (TProductCategory)
ΥΠΟΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ 2 (TPaintingCategory)

Πολλαπλότητες:
Μία «κατηγορία προϊόντος» έχει από 1 έως πολλές «υποκατηγορίες προϊόντος 2» (1..Ν) ενώ
µία «υποκατηγορία προϊόντος 2» ανήκει σε 1 και µόνο 1 «κατηγορία προϊόντος» (1..1).
Συσχέτιση TProductCategory - TProduct
Οντότητες:

ΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ (TProductCategory)

ΠΡΟΙΟΝ (TProduct)
Πολλαπλότητες:
Μία «κατηγορία προϊόντος» αντιστοιχεί σε 1 έως πολλά «προϊόντα» (1..Ν) ενώ ένα «προϊόν»
ανήκει σε 1 και µόνο 1 «κατηγορία προϊόντος» (1..1).
Συσχέτιση TPosterCategory - TProduct
Οντότητες:

ΥΠΟΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ 1 (TPosterCategory)

ΠΡΟΙΟΝ (TProduct)
59
Πολλαπλότητες:
Μία «υποκατηγορία προϊόντος 1» αντιστοιχεί σε 1 έως πολλά «προϊόντα» (1..Ν) ενώ ένα
«προϊόν» ανήκει σε 1 και µόνο 1 «υποκατηγορία προϊόντος 1» (1..1).
Συσχέτιση TPaintingCategory - TProduct
Οντότητες:

ΥΠΟΚΑΤΗΓΟΡΙΑ ΠΡΟΙΟΝΤΟΣ 2 (TPaintingCategory)

ΠΡΟΙΟΝ (TProduct)
Πολλαπλότητες:
Μία «υποκατηγορία προϊόντος 2» αντιστοιχεί σε 1 έως πολλά «προϊόντα» (1..Ν) ενώ ένα
«προϊόν» ανήκει σε 1 και µόνο 1 «υποκατηγορία προϊόντος 2» (1..1).
Συσχέτιση TProduct - TCreateProduct
Οντότητες:

ΠΡΟΙΟΝ (TProduct)
ΠΡΟΣΑΡΜΟΣΜΕΝΟ ΠΡΟΙΟΝ (TCreateProduct)

Πολλαπλότητες:
Ένα «προϊόν» αντιστοιχεί σε 1 έως πολλά «προσαρµοσµένα προϊόντα» (1..Ν) ενώ ένα
«προσαρµοσµένο προϊόν» ανήκει σε 1 και µόνο 1 «προϊόν» (1..1).
Συσχέτιση TProductFrame - TProductFrameColor
Οντότητες:

ΚΟΡΝΙΖΑ (TProductFrame)
ΧΡΩΜΑ ΚΟΡΝΙΖΑΣ (TProductFrameColor)

Πολλαπλότητες:
Μία «κορνίζα» έχει 1 έως πολλά «χρώµατα κορνίζας» (1..Ν) ενώ ένα «χρώµα κορνίζας»
αντιστοιχεί σε 1 και µόνο 1 «κορνίζα» (1..1).
Συσχέτιση TProductFrameColor - TCreateProduct
Οντότητες:

ΧΡΩΜΑ ΚΟΡΝΙΖΑΣ (TProductFrameColor)
ΠΡΟΣΑΡΜΟΣΜΕΝΟ ΠΡΟΙΟΝ (TCreateProduct)

Πολλαπλότητες:
Ένα «χρώµα κορνίζας» αντιστοιχεί σε 0 έως πολλά «προσαρµοσµένα προϊόντα» (0..Ν) ενώ
ένα «προσαρµοσµένο προϊόν» έχει από 0 έως 1 «χρώµα κορνίζας» (0..1).
60
Συσχέτιση TProductSize - TCreateProduct
Οντότητες:

ΜΕΓΕΘΟΣ ΠΡΟΙΟΝΤΟΣ (TProductSize)
ΠΡΟΣΑΡΜΟΣΜΕΝΟ ΠΡΟΙΟΝ (TCreateProduct)

Πολλαπλότητες:
Ένα «µέγεθος προϊόντος» αντιστοιχεί σε 1 έως πολλά «προσαρµοσµένα προϊόντα» (1..Ν) ενώ
ένα «προσαρµοσµένο προϊόν» έχει 1 και µόνο 1 «µέγεθος προϊόντος» (1..1).
Συσχέτιση TProductGlass - TCreateProduct