Τεχνολογίες που χρησιµοποιήθηκαν για την υλοποίηση του συστήµατος

Σχετικά έγγραφα
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΑΗΡΟΦΟΡΙΚΗΣ ΚΑΒΑΑΑ

Τεχνικός Εφαρμογών Πληροφορικής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

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

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

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

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

Στρατηγικό Σχέδιο Για τη Βιώσιµη Ανάπτυξη της Θεσσαλονίκης (ΣΣΒΑΘ) 1 η Ενδιάµεση Έκθεση 3. ηµιουργία και Λειτουργία Web site

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

Σύστημα διαχείρισης περιεχομένου (Content Management System)

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα:

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ ΕΠΙΚΟΙΝΩΝΙΑ... 23

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

PHP/MySQL και Project

Σχεδίαση και ανάπτυξη ιστοχώρου του εργαστηρίου Μηχανικής Λογισμικού. Παληόπουλος Αποστόλης-Παπαναγιώτου Παναγιώτης

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης

Ελεύθερο Λογισμικό. Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι)

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός,

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

1. ΕΙΣΑΓΩΓΗ 2. ΠΕΡΙΓΡΑΦΗ

Παραδοτέο Π5.3: Έντυπο και ψηφιακό υλικό (Web site) προβολής των δράσεων έργου

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

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Social Network : Programming on FACEBOOK

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: Στόχος Σκοπός μαθήματος

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Τ.Ε.Ι. ΚΑΒΑΛΑΣ. Μπόιτσιου Γεωργία ΟΚΤΩΒΡΙΟΣ ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Βασίλειος Χατζής

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

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

Αγροτική Ανάπτυξη Περιβάλλον

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Εφαρµογές WebGIS Open Source

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία. AtYourService CY : Create a REST API. Δημήτρης Χριστοδούλου

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

Hardware System Integration & It Services Internet Business Solutions e-commerce Web Applications & On Line Databases

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

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

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

ΒΙΟΓΡΑΦΙΚΟ ΣΗΜΕΙΩΜΑ ΠΡΟΣΩΠΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

Διαχείριση Πολιτισμικών Δεδομένων

ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ. Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ. Πτυχιακή Εργασία

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Το λειτουργικό σύστημα. Προγραμματισμός II 1

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

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

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο


Προγράμματα Η /Υ / Εφαρμογές σε συστ ήματα Π ό οι τητας Αριστομένης Μακρής

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

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr)

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Παρουσίαση δικτυακής εφαρµογής

Περιεχόμενα. Visio / White paper 1

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

Vodafone Business Connect

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

Don t hire us if you want average. We only do exceptional.

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

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

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

«Εμπειρία ανάπτυξης συστημάτων βιβλιοθηκών Συνεργασίες με βιβλιοθήκες ββ Εξέλιξη ξη ΑΒΕΚΤ»

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

Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης

ΑΡΧΕς ΛΕΙΤΟΥΡΓΙΑς CMS (Content Management System) ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥς ςε ΜΙΚΡΟΜΕςΑΙΕς ΕΠΙΧΕΙΡΗςΕΙς

Έρευνα χρήσης της υπηρεσίας φιλοξενίας ιστοσελίδων του ΠΣ στα σχολεία της Αν. Μακεδονίας και Θράκης - Προτάσεις Βελτίωσης

Στρατηγική ανάπτυξη δικτυακού κόμβου

Εισαγωγή στα Συστήματα Βάσεων εδομένων

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

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

17PROC

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Transcript:

Τεχνολογίες που χρησιµοποιήθηκαν για την υλοποίηση του συστήµατος Οι τεχνολογίες που χρησιµοποιήθηκαν είναι οι εξής : 1. PHP 2. MySQL 3. APACHE Server PHP/FI PHP Η PHP είναι διάδοχος µιας παλαιότερης γλώσσας, γνωστή ως PHP/FI. Η PHP/FI δηµιουργήθηκε από τον Rasmus Lerdorf το 1995, αρχικά ως ένα απλό σετ από αρχεία Perl (Perl scripts) για να έχει πρόσβαση στο on-line βιογραφικό του. Ονόµασε το σετ «Εργαλεία Προσωπικών Ιστοσελίδων» (Personal Home Page Tools). Με την πάροδο του χρόνου, η ανάγκη για λειτουργικότητα των scripts αυξήθηκε και ο Rasmus έγραψε ένα µεγαλύτερο C implementation, το οποίο ήταν ικανό να επικοινωνεί µε βάσεις δεδοµένων και επέτρεπε στους προγραµµατιστές να αναπτύξουν απλές δυναµικές Ιστοσελίδες και διαδικτυακές εφαρµογές. Στην συνέχεια ο Rasmus αποφάσισε να κοινοποιήσει τον πηγαίο κώδικα για την PHP/FI, έτσι ώστε ο καθένας να την χρησιµοποιήσει, να διορθώσει τυχόν παραλείψεις/δυσλειτουργίες του ιδίου και αν µπορέσει να την αναβαθµίσει. Η PHP/FI, που τα αρχικά της σηµαίνουν Personal Home Page / Forms Intepreter (Προσωπική Ιστοσελίδα / ιερµηνέας Φορµών), συµπεριλάµβανε κάποια από τα βασικά λειτουργικά στοιχεία της PHP, έτσι όπως τα ξέρουµε σήµερα. Έχει µεταβλητές όπως η Perl, αυτόµατη διερµηνεία των µεταβλητών των φορµών και συνυφασµένη HTML σύνταξη. Η σύνταξη ήταν παρόµοια µε την σύνταξη της Perl, αλλά σαφώς πιο περιορισµένη, απλή και λιγότερο αξιόπιστη. Το 1997, η PHP/FI 2.0, η δεύτερη έκδοση της PHP, είχε µερικές χιλιάδες οπαδούς ανά τον κόσµο, µε περίπου µόλις 50.000 domains να την χρησιµοποιούν (1% του συνολικού Internet). Αν και είχαν συµβάλει πολλοί στη ανάπτυξη και διάδοση της γλώσσας, ήταν ακόµα µια προσωπική δουλειά του Rasmus. Η PHP/FI είχε εκδοθεί επισήµως τον Νοέµβριο του 1997. Μετά από λίγο, οι πρώτες εκδόσεις (alpha versions) της PHP 3.0 διαδέχθηκαν την PHP/FI 2.0. PHP 3 Η PHP 3.0 ήταν η πρώτη έκδοση που άρχιζε να µοιάζει µε την σηµερινή µορφή της PHP. ηµιουργήθηκε από τον Andi Gutmans και τον Zeev Suraski το 1997 ξανά από την αρχή και όχι σαν αναβάθµιση της ήδη υπάρχουσας PHP/FI 2.0, λόγω της

αδυναµίας της εν λόγω γλώσσας να υποστηρίξει µια εφαρµογή ηλεκτρονικού εµπορίου για το Πανεπιστήµιο. Σε µια προσπάθεια τους να συνεργαστούν µε τους προγραµµατιστές της PHP/FI, ο Gutmans, Suraski και ο Lerdorf αποφάσισαν να ενώσουν τις δυνάµεις τους, ανακυρρήσοντας την PHP 3.0 ως τον επίσηµο διάδοχο της PHP/FI 2.0. Ένα από τα θετικότερα στοιχειά της νέας PHP 3.0 ήταν τα ευρέως επεκτάσιµα χαρακτηριστικά της. Εκτός από τις δυνατότητες της πάγιας εσωτερικής δοµής της σε σχέση µε τις βάσεις δεδοµένων, τα πρωτόκολλα και τις διαφορές βιβλιοθήκες γραφικών, η δυνατότητα προσθήκης user-made extensions (επεκτάσεων φτιαγµένων από χρήστες) ώθησε πολλούς προγραµµατιστές στην PHP 3.0. Αυτό στάθηκε ακρογωνιαίος λίθος στην επιτυχία της PHP 3.0. Άλλα πολύ σηµαντικά χαρακτηριστικά ήταν η προσθήκη αντικειµενοστραφούς σύνταξης αλλά και της αντικειµενοστραφούς προγραµµατιστικής θεώρησης. Η νέα γλώσσα εκδόθηκε µε ένα νέο όνοµα αφαιρώντας το στοιχειό FI από το όνοµα της που προσδιόριζε την περιορισµένη χρήση της για προσωπική εκµετάλλευση. Ονοµάστηκε PHP, που είναι η αναδροµική ακροστιχίδα του PHP: Hypertext Preprocessor. Μέχρι το τέλος του 1998, η PHP είχε δεκάδες χιλιάδες οπαδούς και εκατοντάδες χιλιάδες sites χρησιµοποιούσαν την γλώσσα (περίπου τότε το 10% του συνολικού Internet). Η PHP 3.0 εκδόθηκε επισήµως τον Ιούνιο του 1998, µετά από 9 µήνες public testing (ανοιχτής επαλήθευσης). PHP 4 Τον χειµώνα του 1998, λίγο µετά από την επίσηµη έκδοση της PHP, ο Andi Gutmans και ο Zeev Suraski είχαν ξεκινήσει να ξαναγράψουν τον πυρήνα της PHP. Σκοπός τους ήταν να βελτιώσουν τις επιδόσεις των συνθετών εφαρµογών, και να βελτιώσουν την αυτονοµία των επιµέρους λειτουργιών του πηγαίου κώδικα της PHP. Τέτοιες εφαρµογές υποστηρίζονταν από την PHP 3.0, δυστυχώς µε µη αποδοτικό τρόπο. Η νέα µηχανή, ονόµατει «µηχανή Zend» από τα αρχικά του Andi και του Zeev, υποστήριζε τους σκοπούς των δηµιουργών της και πρωτοπαρουσιάστηκε στα µισα του 1999. Η PHP 4, βασισµένη σε αυτή την µηχανή και µια προσθήκη κάποιων νέων χαρακτηριστικών, δόθηκε σε κυκλοφορία τον Μάιο του 2000, µετά από 2 χρονιά από την έκδοση του προγόνου της, της PHP 3.0. Επιπροσθέτως µε τις σαφώς βελτιωµένες επιδόσεις της νέας έκδοσης, πλέον υποστηριζόταν σαφώς περισσότερη ιαδικτυακοί Εξυπηρέτες (Web Servers), HTTP sessions, προσωρινή αποθήκευση ρευµάτων εξόδου (output buffering), ασφαλέστερη τρόποι µεταχείρισης των δεδοµένων εισόδου και µερικά νέα δοµήµατα (constructs). Σήµερα η PHP χρησιµοποιείται από εκατοντάδες χιλιάδες χρήστες και υπολογίζεται ότι έχουν εγκατεστηµένη PHP τεχνολογία εκατοµµύρια Ιστοσελίδες, που το αριθµητικό ανάλογο τους σε σχέση µε άλλες τεχνολογίες ξεπερνά το 20% του συνολικού διαδικτύου. Η οµάδα ανάπτυξης της PHP συµπεριλαµβάνει πολλούς ερευνητές που ασχολούνται µε διαφορά projects όπως το PEAR (PHP Extension and Application Repository) και το project τεκµηρίωσης. PHP 5

Η PHP 5 εκδόθηκε τον Ιούλιο του 2004 µετά από µια µεγάλη φάση ανάπτυξης και αρκετές προ-εκδόσεις (pre-releases). Το κύριο χαρακτηριστικό που παρουσίασε ήταν ο καινούριος πυρήνας της, Zend 2.0 µε µια προσθήκη πολλών νέων αντικειµενοστραφών µοντέλων και άλλων χαρακτηριστικών. 1.4.1. Η προ-mysql εποχή MySQL Πριν το 1994, έπρεπε κάποιος να επικαλεστεί την Θεά Τύχη εάν ήθελε να βρει ένα σύστηµα διαχείρισης βάσεων δεδοµένων βασισµένα σε SQL ερωτήµατα (SQL-based RDBMS) χωρίς να πληρώσει µεγάλα χρηµατικά ποσά. Οι κυρίαρχες εµπορικές SQL λύσεις της εποχής ήταν η Oracle, Sybase και η Informix. Αυτές οι µηχανές ήταν σχεδιασµένες να διαχειρίζονται τεράστια ποσά δεδοµένων µε πολυσύνθετες σχέσεις. Ήταν παρά πολύ δυνατές και είχαν µεγάλο εύρος χαρακτηριστικών, αλλά ήταν ακριβές και άκρως δαπανηρές σε υπολογιστικούς πόρους. Μεγάλες εταιρίες και γνωστά πανεπιστήµια φυσικά δεν είχαν κανένα απολύτως πρόβληµα να ξοδέψουν εκατοµµύρια δολάρια τον χρόνο σε Σ..Β.. (D.B.M.S.) ή/και σε ιαδικτυακούς Εξυπηρέτες (Web Servers). Φυσικά, οι µεµονωµένοι χρήστες και οι µικροί οργανισµοί έπρεπε να συµβιβαστούν µε ένα µικρό αδύναµο επιτραπέζιο (Desktop) σύστηµα. Υπήρχαν αρκετού φτηνές µηχανές βάσεων δεδοµένων τύπου πελάτη/εξηπηρέτη αλλά κανένας από αυτές δεν είχαν την SQL σαν γλώσσα ερωτηµάτων. Η πιο αξιοσηµείωτη βάση από αυτές ήταν η Postgres, ένα D.B.M.S. προερχόµενο από το εµπορικό Ingres RDBMS. H Postgres, δυστυχώς, είχε τις ίδιες ανάγκες για υπολογιστικούς πόρους που είχε και το εµπορικό ανάλογο της, χωρίς τις δυνατότητες της SQL σαν γλώσσα ερωτηµάτων. Εκείνο τον καιρό η Postgres χρησιµοποίησε µια παραλλαγή της γλώσσας QUEL, ονοµατει PostQUEL. 1.4.1.1. David Hughes Ο David Hughes, κάνοντας το Ph.D. του στο πανεπιστήµιο Bond της Αυστραλίας, ανέπτυσσε ένα σύστηµα παρακολούθησης και διαχείρισης πολλών συστηµάτων από αποµακρυσµένες τοποθεσίες. Το project λεγόταν Minerva Network Management System. Ένα σηµαντικό στοιχείο του Minerva ήταν ένα DMBS για να αποθηκεύει πληροφορίες για τα µηχανήµατα του δικτύου. Όντας πανεπιστηµιακός φοιτητής χωρίς απευθείας πρόσβαση σε µηχάνηµα που να τρέχει µια από τις µεγάλες εµπορικές σχεσιακές βάσεις δεδοµένων, ο Hughes στράφηκε στην Postgres για την ικανοποίηση των αναγκών του. Οι συνάδελφοι του Hughes αρχικά πρότειναν την SQL ως την σταθερή γλώσσα ερωτηµάτων για το Minerva. Εξάλλου, η SQL ήταν και είναι η πιο ευρέως διαδεδοµένη και αποδεκτή γλώσσα ερωτηµάτων παγκοσµίως. Με αυτή την κίνηση η Minerva θα µπορούσε να εξυπηρετήσει τις ανάγκες χιλιάδων ανθρώπων παγκοσµίως, αρκεί να διέθεταν κάποιο SQL DBMS σύστηµα. Η ταλάντωση µεταξύ της SQL standard και της πρόσβασης σε µια SQL βάση δεδοµένων ήταν πρόβληµα για τον Hughes. Άµα αποφάσιζε να βασίσει την γλωσσά ερωτηµάτων του Minerva στην SQL, δεν θα ειχε βάση δεδοµένων. Επειδή σαφέστατα η αγορά ενός RDBMS αξίας χιλιάδων δολαρίων δεν ήταν επιλογή, ο Hughes αποφάσισε να επιλέξει µια δηµιουργική οδό για την διεξαγωγή της λύσης του προβλήµατος του. Αποφάσισε να

δηµιουργήσει µια εφαρµογή που θα µετέτρεπε την SQL σε PostQUEL «on-the-fly». Αυτό το πρόγραµµα θα παρέµβαινε µεταξύ Minerva και όλων των SQL ερωτηµάτων, θα τα µετέτρεπε σε PostQUELκαι θα τα έστελνε στην Postgres. Η εφαρµογή αυτή ονοµάστηκε minisql ή msql. 1.4.1.2. Από τον PostQUEL µεταφραστή στο RDBMS Για λίγο καιρό, το σύστηµα αυτό ικανοποιούσε τις ανάγκες του Hughes. Το σύστηµα Minerva αδιαφορούσε για το ποιο DBMS χρησιµοποιούσε, αρκεί να καταλάβαινε SQL ερωτήµατα. Η Postgres καταλάβαινε SQL επειδή ο µεταφραστικός µεσάζοντας msql µετέφραζε τα SQL σε PostQUEL ερωτήµατα. υστυχώς µε την ανάπτυξη του Minerva, η διαδικασία µετάφρασης άρχισε να δαπανά σηµαντικό υπολογιστικό χρόνο. Μετά από λίγο ήταν ξεκάθαρο ότι η Postgres ή οποιοδήποτε άλλο µεγάλο RDBMS δεν ήταν ικανό να υποστηρίξει το σύστηµα Minerva µε τους περιορισµένους πόρους που διέθετε. Π.χ. το Minerva ήθελε ταυτόχρονες συνδέσεις στην ίδια βάση δεδοµένων. Για να το υποστηρίξει αυτό, η Postgres έπρεπε να τρέχει πολλαπλά οµότυπα της ίδιας διαδικασίας ταυτοχρόνως. Επιπροσθέτως, αρκετοί πιθανοί συνεισφέροντες δεν µπορούσαν να συµβάλουν στο Minerva Project, επειδή η Postgres δεν υποστήριζε τα συστήµατα τους και δεν ειχαν την επιλογή αγοράς ενός ακριβού SQL-DBMS. Μπροστά σε αυτά τα προβλήµατα, ο Hughes αναθεώρησε την απόφαση του να χρησιµοποιήσει Postgres. Τα περισσότερα ερωτήµατα του Minerva ήταν INSERT, DELETE και SELECT. Όλες οι άλλες δυνατότητες της Postgres, που δεν αξιοποιούνταν από το Minerva, απλώς δαπανούσαν υπολογιστική ισχύ. Ο Hughes ειχε ήδη το msql να µεταφράζει σε SQL. Το µόνο που χρειαζόταν ήταν να προσθέσει αποθηκευτικό χώρο και δυνατότητες ανάκτησης δεδοµένων και θα είχε στην διαθεση του την βάση δεδοµένων που θα ικανοποιούσε τις ανάγκες του. Αυτή η εξέλιξη οδήγηση την msql να πάρει την µορφή που ξέρουµε σήµερα. 1.4.2. Η γέννηση της MySQLζ Θα ήταν λαθος να χαρακτηρίζαµε την ΜySQL µια απλή διόρθωση των αδυναµιών και των λαθών της msql. Ο εφευρέτης της, Michael Widenius (Monty) δούλευε στη σουηδική εταιρία βάσεων δεδοµένων TcX από το 1979. Το 1979 ανέπτυξε το οικιακό εργαλείο UNIREG για διαχείριση βάσεων δεδοµένων. Μέχρι το 1979 το UNIREG ειχε γραφτεί σε πολλές γλώσσες προγραµµατισµού και είχε σχεδιαστεί για να µπορεί να διαχειρίζεται µεγάλες βάσεις δεδοµένων. Το 1994, η TcX άρχισε να αναπτύσσει εφαρµογές για το διαδίκτυο και χρησιµοποίησε το UNIREG για αυτούς τους σκοπούς. υστυχώς το UNIREG ήταν άκρως δαπανηρό σε υπολογιστικούς πόρους για να είναι αποτελεσµατικό σε δυναµικές ιστοσελίδες. Η TcX άρχισε να κοιτά την SQL και το msql. Τοτε το msql βρισκόταν στις αρχικές εκδόσεις (1.x) και οι επιδόσεις του msql ήταν ακόµα πολύ κατώτερες του UNIREG. Ο Widenius ήρθε σε επικοινωνία µε τον Hughes, για να δει αν ενδιαφερόταν να ενώσει το msql µε το UNIREG και ένα διαχειριστή ISAM (ISAM handler). Όµως ο Hughes ήδη βρισκόταν στα πρόθυρα της έκδοσης 2.0 του msql. Η TcX αποφασίζει να δηµιουργήσει µια βάση δεδοµένων που ήταν πιο συµβατή µε τις απαιτήσεις της. Το UNIREG, οντάς µια αρκετά ολοκληρωµένη βάση, χρησιµοποιήθηκε από την TcX. Στην συνέχεια προστέθηκαν

ένας µεγάλος αριθµός από εργαλεία (utilities) για την msql, συνθέτοντας ένα API (Application Programming Interface) σχεδόν ίδιο µε αυτό της msql. Οπότε ένας msql χρήστης θα χρειαζόταν µόνο ελάχιστες µετατροπές στον κώδικα του, εάν επιθυµούσε να αλλάξει στην νέα, σαφώς πιο εµπλουτισµένη βάση της TcX. Μέχρι τον Μάη του 1995, η TcX είχε δηµιουργήσει την βάση δεδοµένων που ικανοποιούσε τις ανάγκες τις την MySQL 1.0. Ένας επαγγελµατικός συνεργάτης της TcX, ο David Axmark της εταιρίας Detron HB, πίεζε για έκδοση της MySQL στο διαδίκτυο. Ο σκοπός της έκδοσης στο ιαδίκτυο, ήταν να χρησιµοποιηθεί ένα επαγγελµατικό µοντέλο, που είχε δηµιουργηθεί πρώτιστα από τον Aladdin Peter Deutsch. Το όνοµα της MySQL έχει δύο εκδοχές : η πρώτη είναι ότι η εταιρία TcX χρησιµοποιεί το πρόθεµα my για πολλές βιβλιοθήκες της και διαφορά εργαλεία της, ενώ η δεύτερη εκδοχή λέει ότι η MySQL πήρε το όνοµα της από την κόρη του Widenius, που λέγεται «My». Μέχρι και σήµερα παραµένει µυστήριο ο πραγµατικός λόγος που ονοµάστηκε έτσι η MySQL. Από την πρώτη έκδοση της MySQL στο διαδίκτυο, η διάσηµη βάση δεδοµένων είναι συµβατή µε UNIX, Win32 και OS/2. Η TcX υπολογίζει ότι παγκοσµίως τρέχουν περίπου 500.000 MySQL servers. Η MySQL είναι ίσως η ταχύτερα αναπτυσσοµένη βάση δεδοµένων στον κόσµο, εξαιτίας του «στρατού» εθελοντών που βοηθούν στην ενδυνάµωση της και στην παγιοποίηση της στο πληροφοριακό στερέωµα. Apache Web Server Τον Φεβρουάριο του 1995, το πιο διάσηµο λογισµικό Web Server που κυκλοφορούσε στο ιαδίκτυο ήταν ο «public domain HTTP daemon», µια εφαρµογή που αναπτύχθηκε από τον Rob McCool στο Εθνικό κέντρο για υπερυπολογιστικές εφαρµογές του πανεπιστηµίου του Illinois (NCSA). Η ανάπτυξη του httpd σταµάτησε µε την παραίτηση του McCool από το NCSA στα µέσα του 1994, και πολλοί webmasters είχαν ήδη δηµιουργήσει τις δικές τους προσθήκες που έχρηζαν κοινής δηµοσιοποίησης. Μια µικρή οµάδα, επικοινωνώντας µέσω ηλεκτρονικού ταχυδροµείου, κατάφερε να µαζέψουν τις δικές τους προσθήκες (σε patch µορφή). O Brian Behlendorf και ο Cliff Skolnick δηµιοργησαν µια mailing list, ένα χώρο αποθήκευσης πληροφοριών, και παροχή πρόσβασης σε όλους τους core developers, σε ένα µηχάνηµα στο California Bay Area, µε bandwidth δωρισµένο από την HotWired. Μέχρι το τέλος του Φεβρουαρίου, 8 προγραµµατιστές είχαν σχηµατίσει το αρχικό Apache Group : 1. Brian Behlendorf 2. Robert S. Thau 3. Roy T. Fielding 4. Rob Hartill 5. David Robinson 6. Cliff Skolnick 7. Randy Terbush 8. Andrew Wilson

Την οµάδα αυτή βοήθησαν οι : 1. Eric Hagberg 2. Frank Peters 3. Nicolas Pioch Χρησιµοποιώντας το NCSA httpd 1.3 σαν βάση, προστέθηκαν όλες οι προγραµµατιστικές διορθώσεις και όλες οι αξιόλογες προσθήκες που βρέθηκαν, αξιολογηθήκαν τα αποτελέσµατα και έγινε η πρώτη επίσηµη beta έκδοση (0.6.2) του Apache Server τον Απρίλιο του 1995. Κατά σύµπτωση, το NCSA ξαναξεκίνησε την δικιά του ανάπτυξη και ο Brandοn Long και η Beth Frank της οµάδας Ανάπτυξης Εξυπηρετών του NCSA στρατολογήθηκαν από το Apache Group σαν επιτιµά µέλη, µε απώτερο σκοπό την διαµοίραση ιδεών και επιδιορθώσεων στα δυο projects. Η αρχική έκδοση του Apache Server είχε µεγάλη επιτυχία, αλλά οι προγραµµατιστές του γνωρίζαν ότι η βάση του κώδικα χρειαζόταν επανασχεδιασµό. Κατά την διάρκεια του Μαιου- Ιουνιου του 1995, καθώς ο Rob Harthill και το υπολοιπον της οµάδας είχε εστιάσει στην εµφύτευση νέων χαρακτριστικών για την έκδοση 0.7.x και στην υποστηριξη της συνεχώς αυξανόµενης οµάδας των υποστηρικτών του Apache Server, ο Robert Thau σχεδίασε µια νέα αρχιτεκτονική (µε το κωδικό όνοµα Shambhala), που συµπεριλάµβανε τµηµατοποιηµένη δοµή και ένα API µε περισσότερη ευκολία επέκτασης, πράγµα που οδήγησε στην µεταπήδηση από τον 0.7.x στον 0.8.8 (και στα «παιδιά» του) τον Αύγουστο του 1995. Μετά από εκτεταµένο beta testing, καινούργια τεκµηρίωση (από τον David Robinson), και την προσθήκη νέων λειτουργιών, ο Apache 1.0 εκδόθηκε στις 1 εκέµβρη του 1995. Σε λιγτότερο από ένα χρονο από την στιγή δηµιουργίας του, ο Apache server ξεπέρασε το NCSA s http, που εώς τότε ήταν ο #1 Web Server στο διαδίκτυο, και σύµφωνα µε την έρευνα της Netcraft, διατηρεί ακόµα τα πρωτεία µέχρι και σήµερα. Το 1999, µέλη του Apache Group σχηµάτισαν το Apache Software Foundation (ASF) για να παρέχει νοµιµη οργανωσιακή και χρηµατική υποστήριξη στην ανάπτυξη του Apache HHTP Server. Το ΑSF τοποθέτησε τον Apache σε σταθερούς ρυθµούς ανάπτυξης και επέκτεινε σε πολύ µεγάλο βαθµό τον αριθµό των Open Source software projects.