Cloud Computing Database with Amazon SimpleDB

Σχετικά έγγραφα
Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Ηλεκτρονικός Ιατρικός Φάκελος: Νέες Τάσεις, Κατανεµηµένες Αρχιτεκτονικές και Κινητές

Εισαγωγή στις Σελίδες Εξυπηρετητή Java Java Server Pages (JSP)

Περιγραφή της εργασίας

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 8 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Java Server Pages (JSP)

Υπολογιστική Νέφους: Εργαστήριο ΙI Υπηρεσία αποθήκευσης και Ανάπτυξη διαδικτυακής εφαρμογής

Υπολογιστική Νέφους Cloud computing

Κατανεµηµένα Συστήµατα ΙΙ Μάθηµα Ελεύθερης Επιλογής, Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL. Γιαννέλος Γιάννης ΑΜ: Μαρινέλλης Γιώργος ΑΜ:

Ενότητα #05. Πληροφοριακά Συστήματα Μεγάλης Κλίμακας Cloud Computing. Cloud providers. Cloud providers. Amazon Google Microsoft

Java Servlets: Principles and Programming 1/19

Διαδίκτυο των Αντικειμένων - IoT.

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

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

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

Κεφάλαιο 13: : Εφαρμογές νέφους. Καραμαούνας Π. 1

Ανοιχτές Διαδικτυακές Υπηρεσίες και Υποδομές Cloud

Τι είναι η Spring. Η Spring είναι ένα ελεύθερο (open source) περιβάλλον εργασίας για εφαρμογές Java. Μπορεί να περιγραφεί ως:

ΕΠΛ425 : Τεχνολογίες Διαδικτύου Εργαστήρια

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 11: Αρχιτεκτονική Cloud

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

Τι είναι το Cloud; Είναι κάτι διαφορετικό ανάλογα ποιος το βλέπει. Administrator Technical Salesman MarkeHng Boss User

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων)

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Servlet

Αmazon Web Services (AWS)

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος

Παρουσίαση του Έργου SECOVIA: στόχοι και αποτελέσματα

XAMPP Apache MySQL PHP javascript xampp

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΙΑ ΙΚΑΣΙΑ ΜΕΤΑΒΑΣΗΣ ΣΤΟ CLOUD COMPUTING ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ

Υπολογιστική Νέφους: Εργαστήριο 1

Πληροφορίες για το μάθημα

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

cloud computing εφαρμογές νέφους Κεφάλαιο 13

Oλοκληρωμένες λύσεις Πληροφορικής και Τηλεπικοινωνιών στην υπηρεσία της Ναυτιλίας

L. M. Vaquero, L. Rodero Merino, J. Caceres, M. Lindner

Αντικειµενοστρεφής Προγραµµατισµός

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

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

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

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

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα


Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος

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

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

άσκηση Hide UI Elements 7.2 Try and Catch

Social Network : Programming on FACEBOOK

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13

Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python

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

Τα βασικά για Servlet

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Πρόγραμμα Σεμιναρίων Φεβρουαρίου - Ιουλίου

ήσ ς Creative Commons.

Τεχνολογική Υποδομή Πληροφοριακών Συστημάτων

Injection Attacks. Protocol Host FilePath. field1=valuex&field2=valuey. Query String. Web server HTTP GET.

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

Αντικειμενοστρεφής Προγραμματισμός

Διδάσκων: Παναγιώτης Ανδρέου

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

Ασφαλείς Εφαρμογές η-υπογραφών

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Πληροφοριακά Συστήματα

Ταχύτητα, Απλότητα & Αξιοπιστία

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

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

Μεταπτυχιακή Διατριβή

Πρόγραμμα Σεμιναρίων Φεβρουαρίου - Ιουλίου

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

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Σύστημα για on-line δημοπρασίες & πωλήσεις

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

Πτυχιακή εργασία. Ανάπτυξη παιχνιδιού πολλών παικτών

Αντικειμενοστρεφής Προγραμματισμός

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

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

Εργαστήριο 3. Εγκατάσταση LAMP Stack στο AWS

EPL660: Information Retrieval and Search Engines Lab 5

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Αντίγραφα στο σύννεφο

«Αναβαθμισμένη υπηρεσία ασύγχρονης dτηλεκπαίδευσ ης ΠΣΔ:

Κατανεμημένα Συστήματα. Javascript LCR example

Πρόγραμμα Σεμιναρίων Σεπτεμβρίου Δεκεμβρίου

Φιλίππου Θεοδόσιος Εκπαιδευτικός Πληροφορικής

Διαδικτυακές Εφαρμογές Ενότητα 5: Servlets και JSPs

Συλλογή και Επεξεργασία Δεδομένων με Φόρμες

Εφαρµογές διαδικτύου µε PHP

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα.

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

Ανοικτά Δεδομένα. Η εμπειρία του OpenDataCloud

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

2- Μοντέλα, Επίπεδα, Συμπράξεις, ROI, Υπολ/κό νέφος, Πλατφόρμες και Κινητή Διακυβέρνηση ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

Transcript:

Cloud Computing Database with Amazon SimpleDB

Σύνολο από virtual online servers Δέχονται requests από χρήστες Προσφέρουν σειρά από υπηρεσίες Οι χρήστες δεν χρειάζεται να έχουν την γνώση, την εμπειρία και τον έλεγχο της τεχνολογίας που υποστηρίζεται από το cloud. Οι υπηρεσίες του cloud computing μπορούν να γίνουν προσβάσιμες μέσω ενός web browser Ο υπολογισμός είναι απομακρυσμένος(δεν γίνεται τοπικά) Απόκτηση υπολογιστικής ισχύς μέσω απομακρυσμένης σύνδεσης με το δίκτυο(on demand computing) Επέκταση δυνατοτήτων ενός ΙΤ συστήματος (on the fly) Τεράστιος αποθηκευτικός χώρος Supercomputer-level p power Είδη υπηρεσιών που προσφέρει το cloud Software as a service(saas)-api Provided Infrastructure-as-a-Service (IaaS) -API Provided Platform-as-a-Service (PaaS) Είδη cloud computing Public Cloud. Π.χ. Amazon Cloud Computing, GoogleAppEngine, Microsoft Azure. Private Cloud. Δημιουργούνται από ιδιωτικές εταιρείες και παρέχουν υπηρεσίες σε άλλες ιδιωτικές εταιρείες

DATA

Παροχή υποδομής πλατφόρμας για web services στο cloud Δυνατότητα μεγάλης υπολογιστικής ισχύς, αποθήκευσης Παροχή σουίτας από υπηρεσίες IT Με το AWS έχεις την ευελιξία να διαλέξεις ποια προγραμματιστική πλατφόρμα ή μοντέλο μπορεί να επιλύσει τα προβλήματα σου Χωρίς μακροπρόθεσμες δεσμεύσεις Πληρώνω μόνο ότι χρησιμοποιώ Δυνατότητα δημιουργίας cost-effective εφαρμογών για αλληλεπίδραση η με πελάτες

Amazon SimpleDB Amazon Simple Storage Service (Amazon S3) Amazon Relational Database Service (Amazon RDS) Amazon Elastic Compute Cloud (Amazon EC2) Amazon Simple Queue Service (Amazon SQS)

Αποτελεί πυρήνα συναρτήσεων βάσεων δεδομένων για indexing δεδομένων και δημιουργία queries Απελευθέρωση χρηστών από χρόνο-προσφέρει έτοιμες συναρτήσεις και έτοιμη υποδομή για χρήση Αυτόματα ταξινομεί τα δεδομένα και παρέχει API για αποθήκευση και πρόσβαση στην βάση Απαραίτητοι υπολογισμοί εκτελούνται από το (Elastic Cloud)EC2 Πρόσβαση μέσω υπολογιστικού περιβάλλοντος της Amazon (scratchpad, eclipse) Πληρώνεις μόνο ότι χρησιμοποιείς. First 1 GB of data transferred in per month is free $0.100 per GB all data transfer in thereafter First 1 GB of data transferred out per month is free; thereafter: $0.170 per GB first 10 TB / month data transfer out Χρησιμοποιείται από το iphone αλλά και το Android

Παρέχει χώρο για προσωπική αποθήκευση Παροχή απλού web interface όπου μέσω αυτού ο χρήστης μπορεί να έχει πρόσβαση στον αποθηκευτικό του χώρο(bucket) Αποθήκευση και ανάκτηση μεγάλης ποσότητας δεδομένων Δεδομένα κατανεμημένα σε διάφορους servers ανά τον κόσμο. Πρόσβαση οποιαδήποτε στιγμή, από οπουδήποτε στο Web Πρωτόκολλα πρόσβασης δεδομένων: SOAP REST BitTorrent Χρέωση: $0.150 per GB first 50 TB / month of storage used $0.170 per GB first 10 TB / month data transfer out Χρήση από Amazon για να τρέχει το δικό της παγκόσμιο δίκτυο των ιστοσελίδων της.

Λειτουργία S3 Παρουσίαση διαπροσωπείας στον χρήστη για χρήση S3 που περιέχει μια φόρμα με διάφορες λειτουργίες Ο χρήστης δημιουργεί ένα bucket μέσο της διαπροσωπείας. Το αίτημα του χρήστη προωθείται στην Amazon S3 ως ένα SOAP αίτημα. Δημιουργία bucket στην Amazon Χρήστης εντοπίζει ένα αρχείο στον υπολογιστή και το κάνει submit στην σελίδα. Το αρχείο μετατρέπεται σε stream και φορτώνεται στην εφαρμογή του Web Server O Web Server παίρνει το stream και το περνά στον server της Amazon S3 χρησιμοποιώντας SOAP πάνω από HTTP Ο Amazon S3 server αποθηκεύει το stream ως αρχείο σε ένα ασφαλή χώρο αποθήκευσης. Αρχείο συνδέεται με το bucket που ήδη δημιουργήθηκε.

Εφαρμογή ιστού που παρέχει εύκολη δημιουργία, διαχείριση και επέκταση μιας relational database μέσα στο cloud Διαχειρίζεται καθήκοντα διοίκησης βάσης δεδομένων Πρόσβαση σε όλες τις δυνατότητες που παρέχει και μία βάση MySQL H Amazon RDS παρέχει την δυνατότητα εισαγωγής έτοιμης relational MySQL database Αποθήκευση backups κάθε κάποια χρονική περίοδο Υπολογισμός πόρων και χώρου αποθήκευσης μέσω απλής κλήσης από το API Χρέωση: Small DB Instance: 1.7 GB memory: $0.11 per hour Large DB Instance: 7.5 GB memory: $0.44 per hour

Δυνατότητα εκτέλεσης υπολογισμών από απλούς μέχρι πολύ πολύπλοκους χρησιμοποιώντας τους πόρους του cloud Iδανικό για web-scale computing Γρήγορη εκτέλεση μεγάλων και χρονοβόρων εφαρμογών Χρήση παράλληλου προγραμματισμού Χρήστης έχει απόλυτο έλεγχο των διαφόρων υπολογιστικών πόρων που δεσμεύονται Χρήστης πληρώνει μόνο την χωρητικότητα που χρησιμοποιεί: Small Instance (Default) 1.7 GB of memory: -$0.12 per hour

Δημιουργία Amazon Machine Image(AMI) που περιέχει εφαρμογές, βιβλιοθήκες, δεδομένα και συσχετιζόμενα configuration settings Χρήση προκαθορισμένων, προσχεδιασμένων AMIs templates t για να χρησιμοποιηθούν και να τρέξουν αμέσως Φόρτωση του AMI στο Amazon S3 Amazon EC2 παρέχει εργαλεία που κάνουν την αποθήκευση του AMI εύκολη. Επιλογή instance types και λειτουργικού συστήματος που επιθυμούμε. Μπορούμε να ξεκινούμε, σταματούμε και διαχειριζόμαστε όσα instances του AMI χρειαζόμαστε, χρησιμοποιώντας το API και μια ποικιλία από εργαλεία διαχείρισης που παρέχονται από το EC2

Αξιόπιστή και επεκτάσιμη ουρά Προσφέρει αποθήκευση μηνυμάτων που ταξιδεύουν μεταξύ των υπολογιστών Εύκολη μεταφορά δεδομένων μέσω κατανεμημένων υπολογιστών Δεν χρειάζεται ο κάθε υπολογιστής να είναι συνεχώς διαθέσιμος Χρέωση: Requests:$0.01 per 10,000 Amazon SQS Requests Data Transfer:$0.100 per GB tranfer in

Βάση που θα κρατά πληροφορίες για τους φοιτητές της πληροφορικής, τα μαθήματα που προσφέρονται και τους καθηγητές που τα διδάσκουν Η εφαρμογή είναι online Βάση Δεδομένων βασισμένη στην υπηρεσία SimpleDB της Amazon που επιτρέπει τη δημιουργία και διαχείριση βάσεων υλοποιημένων σε cloud computing Domain βάσης Φοιτητές Μαθήματα Καθηγητές Ο χρήστης θα διαχειρίζεται τη βάση μέσω ενός interface (online εφαρμογή) Δυνατότητες χρήστη Δημιουργία domain Ανάκτηση υπάρχων Domains Παρουσίαση των attributes κάποιου Domain Εισαγωγή Δεδομένων σε πίνακα Εκτέλεση queries

Δημιουργία account στα AWS και εγγραφή στο Amazon SimpleDB Εγκατάσταση Tomcat( Servlet Container) Η Amazon προσφέρει ένα API που περιλαμβάνει σειρά από μεθόδους που υλοποιούν όλες τις προσφερόμενες λειτουργίες σε γλώσσα JAVA Μελέτη και χρήση αναγκαίων κλάσεων/μεθόδων από το API Για την υλοποίηση του interface χρησιμοποιήσαμε html φόρμες μέσω των οποίων ο χρήστης θα μπορεί να αλληλεπιδρά με τη βάση Χρήση servlet για κλήση μεθόδων και υλοποίηση όλων των απαιτούμενων λειτουργιών Παρουσίαση αποτελεσμάτων στο χρήστη πάλι μέσω των servlets σε html μορφή

Root folder of application i Contains WEB-INF and html code Classes: Binary αρχεία Lib: Packages και.jar αρχεία Src: Java source code Web.xml: XML αρχείο για χρήση των Servlets

Create Domain-Html Code <form method="post" action="createdomainsample"> <label for="accesskey">enter your Access Key</label> <input type="password" pass id="accesskey" ey name="accesskey"/> <label for="secretkey">enter your Secret Access Key </label> <input type="password" p id="br><br>secretkey" name="secretkey" <label for="name">enter name for Domain</label> <input type="text" id="name" name="name"/> <button type="submit" value="submit Form">Create Domain</button> <input type="reset" value="reset Form"/> <a href="formappearance.html" target="formappearance"><button type="button" value="back" name="back">back </BUTTON></a> </FORM> Create Domain-Java Code import java.io.printwriter; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import com.amazonaws.sdb.*; import com.amazonaws.sdb.model.*; import com.amazonaws.sdb.mock.amazonsimpledbmock; public class CreateDomainSample extends HttpServlet{ @Override public void init(servletconfig config { super.init(config); protected void dopost(httpservletrequest Httprequest, HttpServletResponse response) throws ServletException, IOException { String domainname = Httprequest.getParameter("name"); name); String accesskey = Httprequest.getParameter("AccessKey"); String secretkey = Httprequest.getParameter("SecretKey"); String accesskeyid = accesskey; String secretaccesskey = secretkey; AmazonSimpleDB service = new AmazonSimpleDBClient(accessKeyId, secretaccesskey); CreateDomainRequest request = new CreateDomainRequest(); request.setdomainname(domainname); td i N invokecreatedomain(service, request, response, domainname);

public static void invokecreatedomain(amazonsimpledb ( S p service, CreateDomainRequest request, HttpServletResponse httpresponse, String domainname) { CreateDomainResponse response = service.createdomain(request); if(response!=null){ httpresponse.setcontenttype("text/html"); PrintWriter out= httpresponse.getwriter(); out.println( println("<html>"); <html>); out.println("<head>"); out.println("<title>list Attributes</title>"); out.println("</head>"); out.println("<body>"); out.println("<br>"); out.println("the domain " + domainname + " has been successfully created to the Database"); out.println("</body>"); out.println("</html>"); out.close();

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>createdomainsample</servlet-name> l l <servlet-class>com.amazonaws.sdb.samples.createdomainsample</servlet-class> </servlet> <servlet-mapping> <servlet-name>createdomainsample</servlet-name> <url-pattern>/createdomainsample</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.html </welcome-file> </welcome-file-list> </web-app>

HTML Code <form method="post" action="selectsample"> <label for="name">enter your Query </label> <input type="text" id="name" name="name"/> "/ <input type="submit" value="submit Form"/> <input type="reset" value="reset Form"/> <a href="formappearance" target="formappearance"><button type="button" value="back" name="back">back </BUTTON></a> / </FORM> Java Code public class SelectSample extends HttpServlet{ @Override public void init(servletconfig config) throws ServletException { super.init(config); protected void dopost(httpservletrequest request1, HttpServletResponse response1 { String accesskeyid = ****"; String secretaccesskey = *****"; String query = request1.getparameter("name"); AmazonSimpleDB service = new AmazonSimpleDBClient(accessKeyId, secretaccesskey); SelectRequest request = new SelectRequest(); request.withselectexpression(query); invokeselect(service, request,response1, query);

public static void invokeselect(amazonsimpledb service, SelectRequest request,httpservletresponse httpresponse, String query){ SelectResponse response = service.select(request); httpresponse.setcontenttype("text/html"); PrintWriter out=httpresponse.getwriter(); out.println( println("<html>"); <html>); out.println("<head>"); out.println("<title>query"); out.println("</head>"); out.println("<body>"); out.println ("<FONT align='center'>response for query" + "'" + query + "'</FONT>"); out.println("<br>"); out.println ("======================================"); out.println("<br>"); out.println("<br>"); out.println("<table border='1'>"); out.println( println("<tr>"); int count=1;

if (response.issetselectresult()) { SelectResult selectresult = response.getselectresult(); java.util.list<item> itemlist = selectresult.getitem(); for (Item item : itemlist) { if(count==1) { out.println("<th>item"); java.util.list<attribute> attributelist = item.getattribute(); if(count==1{ java.util.list<attribute> attributelist1=attributelist; for (Attribute attribute : attributelist1) { if (attribute.issetname()) { out.println("<th>" + attribute.getname()); out.println("<tr><td>" + count); for (Attribute attribute : attributelist) { if (attribute.issetvalue()) { out.println( println("<td>" +attribute.getvalue()); out.println("</tr>"); count++; if (selectresult.issetnexttoken()) { //out.println("nexttoken"); //out.println("" + selectresult.getnexttoken()); out.println("</table>"); out.println("</body>"); out.println("</html>"); out.close();

Δεν υπάρχει προς το παρόν ευελιξία για υλοποίηση συνθετών queries Δημιουργία online web application (interface) με τη βάση Προαπαιτεί εξειδικευμένες γνώσεις (servlets, jsps, php, java) Πολυπλοκότητα κώδικα Η σύνδεση και αλληλεπίδραση με τη βάση προϋποθέτει την ύπαρξη σύνδεσης ύδ με το Internet t Δεν συστήνεται για μεγάλους οργανισμούς

Ευκολία για γρήγορη ανάπτυξη μιας online βάσης δεδομένων Plug in για γνωστά IDEs όπως στον eclipse. Χρήση γραφικού περιβάλλοντος Χρήση από άτομα χωρίς εξειδικευμένες γνώσεις σε προγραμματισμό Παροχή ολοκληρωμένου API σε γλώσσες όπως JAVA,PHP,C#,C++ για τροποποίηση κώδικα και ικανοποίηση εξειδικευμένων αναγκών Η εφαρμογή είναι πλήρως επεκτάσιμη αφού φαινομενικά στο cloud υπάρχουν απεριόριστοι πόροι Τεράστια Υπολογιστική Ισχύς Τεράστιος Αποθηκευτικός χώρος Πλήρως αξιόπιστη αφού το cloud εγγυείται ότι τα δεδομένα που θα αποθηκευτούν είναι πλήρως ασφαλισμένα Γίνονται backup σε πολλά server farms Τρέχουν έξυπνοι αλγόριθμοι για προστασία από intruders και unauthorized access Αμελητέο οικονομικό κόστος Η χρέωσή γίνεται βάση του χρόνου που γίνεται χρήση του cloud για επεξεργασία ($0,154 per machine hour) Του χώρου που καταλαμβάνουν τα δεδομένα ($0.100 per GB) Δεν υπάρχει start up cost