Google's Google App Engine and Google's Datastore API Andreas Manoli.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

Δημιουργία Ιστοσελίδων σε HTML και FrontPage Πρόγραμμα Αναμόρφωσης Προπτυχιακών Σπουδών Κεντρικό Γραφείο Υποστήριξης Εκπαιδευτικού Έργου Αλέξανδρος Λεκατσάς.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Client Access Internet Explorer. Εισαγωγή aXes Terminal Server είναι ένα πρωτοποριακό προϊόν το οποίο μετατρέπει μεταφέρει άμεσα τις οθόνες του iSeries.
WORDPRESS. Self-Hosting Wordpress • Απαιτείται δικό μας domain, και δικιά μας Web Hosting Υπηρεσία (κατόπιν πληρωμής) • Το λογισμικό του Wordpress κατεβαίνει.
Jetspeed Open Source Εργαλείο για την Δημιουργία Information Portals Πανεπιστήμιο Αιγαίου Βιορρές Νίκος.
Scripting Language Python
Joomla.
Επικοινωνία Ανθρώπου Μηχανής Εαρινό Εξάμηνο 2007 Web Interfaces Εργαλεία παραγωγής κώδικα συμβατού με ASP Γαλούσης Θεόδωρος Α.Μ 630 Δρομπίλας Δημήτριος.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Συστήματα Διαχείρισης Βάσεων Δεδομένων Τίμος Σελλής, Καθηγητής ΕΜΠ, Διευθυντής ΙΠΣΥΠ, Ε.K. “Αθηνά”
Αντωνίου Δεσποιάνα Κωνστάμπεης Τιμόθεος Κυριάκου Παναγιώτης Χριστοφόρου Βάκης.
MySQL + Γλώσσα Προγραμματισμού
ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ – ΜΗΧΑΝΗΣ Εαρινό Εξάμηνο 2007 Παρουσίαση Εργαλείου Ανάπτυξης JBuilder Τσουρού Σταυρούλα, ΑΜ 708 Μαδεμλής Ιωάννης, ΑΜ 669.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
Σχεδιασμός μιας σελίδας HTML
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ Jena API
Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring Παναγιώτης Σφέτσος, PhD
Μέλη ομάδας Μαρία Στυλιανού Νίκος Οδυσσέως Γεωργία Χριστοδουλίδου
JAVA και SQL Δαμιανός Χατζηαντωνίου
Java A Crash Course in (Προσέγγιση μέσω UML)
Microsoft ASP.NET Browser Web 2.0 CSS JavaScript Server Client Clients Κατσιώτης Ιωάννης Οικονομικό Πανεπιστήμιο Αθηνών
> Καλπάκη Ελένη Καρυπίδης Φώτιος Α.Μ. : 2027 Α.Μ.: 1837 Επιβλέπων Καθηγητής Δρ. Σπυρίδων Α. Καζαρλής.
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Θέμα: Διοίκηση ανάπτυξης μη-κερδοσκοπικού ιστόπεδου (ιστόπεδου Δήμου Αγ.Παρασκευής)
Open Source από την μεριά του ΙΤ provider Μάνος Μαργαρίτης CTO EXODUS AE.
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Πανεπιστημιακό κέντρο εκπαίδευσης επιμορφωτών Δυτικής Ελλάδας Πανεπιστήμιο Πατρών, ΤΕΕΑΠΗ - Πανεπιστήμιο Πελοποννήσου, ΤΚΕΠ Εκπαίδευση Επιμορφωτών Β΄Επιπέδου.
Εισαγωγή σε Android Δομή αρχείων σε Android Projects
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο. Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο.
Επικοινωνία Ανθρώπου Μηχανής Καρακίτσος Ηλίας ΑΜ 614 Ιωάννου Ελένη ΑΜ 647.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Διασύνδεση Java Εφαρμογών με ΒΔ Π. Φιτσιλής 1.
JSPs - Servlets Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ /4/2010Δικτυακός.
Εγκατάσταση του joomla σε τοπικό υπολογιστή Νταλούκας Βασίλης Υπεύθυνος ΚΕ.ΠΛΗ.ΝΕ.Τ. 1 ου Γραφείου Δ.Ε. Ν.Ηλείας.
Επιλογή θέματος δικτυακού τόπου Σχεδίαση δικτυακού τόπου Συλλογή – ανάπτυξη – επεξεργασία παρεχόμενης πληροφορίας Υλοποίηση πολυμεσικής εφαρμογής στο περιβάλλον.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
Data Mining software Weka. Εισαγωγή Weka: Wekato Environment for knowledge Analysis Η weka είναι ένα software για εξόρυξη δεδομένων γραμμένο σε JAVA το.
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
Παρουσίαση εργαλείου Microsoft Silverlight Βερβέρης Παναγιώτης Α.Μ.888 Παπαθανασίου Αθανάσιος Α.Μ.958 1Παρουσίαση τεχνολογίας Silverlight.
Εφαρμογές Πολυμέσων: Εισαγωγή στην HTML (1)
1. 1.Δημιουργία Νέου Αρχείου Επιλέγουμε καρτέλα File, πατούμε στην εντολή New και μετα αφου διαλέξουμε τον τύπo αρχείου (π.χ Blank Document), πατούμε.
Ο Επαγγελματίας Αγρότης Πτυχιακή Εργασία των σπουδαστών: Δεσπότη Παναγιώτη Κυριαζόπουλου Παναγιώτη.
ΔΙΑΔΙΚΤΥΑΚΗ ΣΟΥΙΤΑ ΠΡΟΓΡΑΜΜΑΤΩΝ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΛΛΑΣ ΑΝΑΣΤΑΣΙΟΣ / ΦΕΒΡ ΚΕΦΑΛΑΙΟ 2 ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ.
Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Κεφάλαιο 7.
ΔΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙΔΩΝ Ένας Συνοπτικός Οδηγός Καμήλαλη Δέσποινα Μαθηματικός, MSc Πληροφορικής, Υποψήφια Διδάκτωρ Χαροκοπείου Πανεπιστημίου Αθηνών.
Εξέλιξη Farm Manager iOS για δυνατότητα λογικής ομαδοποίησης, επισκόπησης εργασιών που εκκρεμούν και αναφορές Μπούρας Βασίλειος 2702 Επιβλέπων: Δρ. Λάντζος.
Web Services στη C# Εργαστήριο 5
Windows Programming Web Forms.
Πανεπιστήμιο Πελοποννήσου
Ιωάννης Πρίγγουρης Java Server Pages Ιωάννης Πρίγγουρης
Software Engineering for Web Applications
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ιωάννης Πρίγγουρης Εργαστήριο Διάχυτου Υπολογισμού Παν. Αθηνών
Κεφάλαιο 6o. Επίπεδο εφαρμογής
Κεφαλαιο 11 ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML.
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
Γυμνάσιο Νέας Κυδωνίας
Web Services στη C# Εργαστήριο 3
Εισαγωγή Ζούμε σε μια online εποχή όπου τα περισσότερα γίνωνται με τη χρήση Η/Υ. Με την διάδοση του internet έχουν δημιουργηθεί νέες τεχνολογίες και.
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Google's Google App Engine and Google's Datastore API Andreas Manoli

Ιστορική Αναδρομή για το App Engine Η πρώτη έκδοση εμφανίστηκε στις 7 Απρίλιου του 2008 Υλοποιήθηκε από τη Google είναι συμβατό με όλα τα λειτουργικά Η επίσημη ιστοσελίδα του είναι appengine.google.com appengine.google.com Επιπλέον υποστηρίζει τις γλώσσες προγραμματισμού Java και Python

Πλεονεκτήματα Ο προγραμματιστής δεν χρειάζεται να ανησυχεί για το υλικό που θα χρησιμοποιηθεί Το πρόγραμμα γίνεται scalable από μόνο του Ο προγραμματιστής δεν χρειάζεται να ανησυχεί ούτε για το λειτουργικό Δε χρειάζεται maintenance το υλικό Δωρεάν για μερική χρήση

Μειονεκτήματα Υποστηρίζει μόνο προγράμματα γραμμένα σε Python και java Είναι ακόμα σε αρχικά στάδια και δεν λειτουργούν όλα τα components ορθά.

Εγκατάσταση Για να χρησιμοποιήσουμε την Python απαραίτητα θα πρέπει να εγκαταστήσουμε: Python 2.5 App Engine SDK Για να χρησιμοποιήσουμε Java είναι απαραίτητο να διαθέτουμε το Java SE Development Kit (JDK).Java SE Development Kit (JDK)

Hello World στη Python Δημιουργία ενός directory με την ονομασία helloworld 1. helloworld.py print 'Content-Type: text/plain' print '' print 'Hello, world!‘ 2. app.yaml application: helloworld  ID του application που πρέπει να είναι μοναδικό version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py

Hello World στη Python Για να ελέγξουμε τα αποτελέσματα μπορούμε να το τρέξουμε τοπικά δημιουργώντας ένα server με την εντολή google_appengine/dev_appserver.py helloworld/ Τα αποτελέσματα μπορούμε να τα δούμε μέσω του web browser στο Url Τέλος μπορείς να το κάνεις upload στο server χρησιμοποιώvτας την εντολή appcfg.py update helloworld/ και η εφαρμογή θα βρίσκεται στο Url

Hello World στη Java Δημιουργία των πιο κάτω directory helloworld / src/...Java source code... META-INF/...other configuration... war/...JSPs, images, data files... WEB-INF/...app configuration... lib/...JARs for libraries... classes/...compiled classes...

Hello World στη Java 1. src/helloworld/helloworldServlet.java package helloworld; import java.io.IOException; import javax.servlet.http.*; public class helloworldServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter(). println("Hello, world"); } } 2. war/WEB-INF/ appengine-web.xml  ID του application και πρέπει να είναι μοναδικό 1

Hello World στη Java 3. war/WEB-INF/ web.xml helloworld helloworld. ΗelloworldServlet helloworld /helloworld index.html

Hello World στη Java Για να ελέγξουμε τα αποτελέσματα μπορούμε να το τρέξουμε τοπικά δημιουργώντας ένα server με την εντολή ant runserver Τα αποτελέσματα μπορούμε να τα δούμε μέσω του web browser στο Url Τέλος μπορείς να το κάνεις upload στο server χρησιμοποιώvτας την εντολή \appengine-java- sdk\bin\appcfg.cmd update war και η εφαρμογή θα βρίσκεται στο Url

Εγκατάσταση PLUG-IN στο Eclipse Για την δημιουργία app engine μπορεί να γίνει μέσω ενός plug-in στο eclipse. Εγκατάσταση plug-in στο Eclipse 1. Help menu > Software Updates 2. Available Software 3. Add Site Eclipse 3.3 (Europa) Eclipse 3.4 (Ganymede)

Hello World στη Java με χρήση του eclipse Επιλέγουμε το εικονίδιο και συμπληρώνουμε το ‘Project name’ και το ‘Package’ Επιλέγουμε Debug As > Web Application για να δημιουργηθεί ο Server Τα αποτελέσματα μπορούμε να τα δούμε μέσω του web browser στο Url Τέλος μπορείς να το κάνεις upload στο server επιλέγοντας το εικονίδιο και εφόσον συμπληρώσουμε τα απαραίτητα στοιχεία. Η εφαρμογή θα βρίσκεται στο Url

Τη είναι app engine To App Engine είναι πλατφόρμα για host web applications. Το μόνο που πρέπει να κάνουμε είναι να γίνουμε μέλος στη Google και να κάνουμε upload την εφαρμογή μας στον Web Server. 500 Mb για αποθήκευση δεδομένων αρκετό CPU για 5 εκατομμύρια επισκέψεις τον μήνα

Υπηρεσίες που προσφέρει το app engine Mail URL Fetch Memcache Image Manipulation Datastore

Δυνατότητες του app engine Το app engine υποστηρίζει στατικές σελίδες σε html Η google για την εφαρμογή app engine έχει υλοποιήσει δικό της πρωτόκολλο για υλοποίηση βάσεων δεδομένων. Η GQL είναι βασισμένη στη SQL και έχει τις ίδιες δυνατότητες.

Δημιουργία πίνακα σε GQL Για τη δημιουργία ενός πίνακα, απαραίτητα πρέπει να καλέσουμε τη πιο κάτω βιβλιοθήκη: from google.appengine.ext import db Ο πίνακας Student δηλώνεται όπως πιο κάτω: class Student(db.Model): name = db.StringProperty() surname = db.StringProperty() age = db.IntegerProperty() phone= db.StringProperty()

Εκτέλεση Query σε GQL GqlQuery(): Χρησιμοποιείται για την εκτέλεση Query. π.χ student = db.GqlQuery("SELECT * FROM Student") student = db.GqlQuery("SELECT * FROM Student WHERE age> :1",20) ή student = db.GqlQuery("SELECT * FROM Student WHERE age> 20")

Filter και Order στη GQL FILTER π.χ: student = db.GqlQuery("SELECT * FROM Student") student. filter(‘age >', 20). ORDER π.χ: student. order(‘-age ').

Δημιουργία Indexes στη GQL Στο directory που δημιουργήσαμε με ονομασία helloworld δημιουργούμε ένα νέο αρχείο με την ονομασία «index.yaml». Το πιο πάνω αρχείο πρέπει να είναι δομημένο με το πιο κάτω τρόπο: indexes: - kind: Student properties: - name: name - name: surname - name: age - name: phone

Εξερεύνηση του Δίπλα παρουσιάζετε το παράθυρο από το οποίο ο χρήστης μπορεί να επιλέξει την εφαρμογή που θέλει να επιβλέψει

Εξερεύνηση του Ο χρήστης μπορεί να εντοπίσει πληροφορίες για τις επισκέψεις στην εφαρμογή του.

Εξερεύνηση του Ο χρήστης μπορεί να ελέγξει τα indexes στη βάση δεδομένων του.

Εξερεύνηση του Ο χρήστης μπορεί να ελέγξει τα δεδομένα στη βάση δεδομένων του. Επιπλέων μπορεί να εκτελέσει Query για να πάρει τα αποτελέσματα που θέλει.

Εξερεύνηση του Ο χρήστης μπορεί να εντοπίσει όλα τα version που έκανε upload για τη συγκεκριμένη εφαρμογή και να ορίσει default version.

Υλοποίηση στο app engine Η πιο κάτω εφαρμογή είναι υλοποιημένη σε app engine. Με την επιλογή Add new Person εισάγουμε τα στοιχειά ενός νέου ατόμου. Με την επιλογή See All παίρνουμε τα άτομα Με την επιλογή age > 20 παίρνουμε όλα τα άτομα με ηλικία > 20 ετών.

Υλοποίηση στο app engine Εδώ παρουσιάζονται τα αποτελέσματα της επιλογής age>20

Υλοποίηση στο app engine Εδώ παρουσιάζονται τα αποτελέσματα της επιλογής See All

Συμπεράσματα Αξιόλογη ιδέα με πάρα πολλές εφαρμογές Εύκολη υλοποίηση Web Application Χρειάζεται μερικές βελτιστοποιήσεις (Eclipse) Απαλλάσει τον developer από βασικά προβλήματα. Υποστήριξη επιπλέων γλωσσών προγραμματισμού.

Βιβλιογραφία store/

Ευχαριστώ για το χρόνο σας Ερωτήσεις??