The "Cloud" and Setting up a TinyWebDB Web Service

Cloud Computing

from a software user's perspective: You use software that you don't download, and your data lives on a server somewhere. Typically you don't need to "Save" anything. You can get to your data from anywhere.

from a programmer's perspective: You create software then deploy it at Google (App Engine), Amazon (Elastic Computing Cloud) or some other service. You don't need to buy servers (computers) to run your software, you pay the cloud service based on resources used.

1. What is Client-Server software? Who is the client? Who is the server?



2. What cloud software do you use? What cloud tools are used for word processing? What is iCloud? What is Dropbox?



3. How does cloud computing enable more collaboration?



4. Is your information more secure in the cloud or on your computer?



5. Where is all this "cloud" data stored?

http://www.engadget.com/2012/10/17/google-inside-data-centers/

http://www.google.com/about/datacenters/gallery/#/


6. From a programmer's perspective, how does cloud computing spur innovation?


DEMO: show App Engine launcher and appspot, including dashboard of usfwebservice.appspot.com.

In a team of two, create your own TinyWebDB web service. Use a laptop as its easier on Mac/Windows than Linux.

  • Download App Engine for Python for your computer type.  After installing it, run the GoogleAppEngineLauncher by clicking its icon.
  • Download this sample web database code. It is a zip file containing the source code for your custom web database service
  • Unzip the downloaded zip file. It will create a folder named appinventordb. You can rename it if you want.
  • In the GoogleAppEngineLauncher, choose File | Add Existing Application. Browse to set the Path to the appinventordb folder you just unzipped. Then click the Run button. This will launch a test web service that runs on your local machine.
  • You can test the service by opening a browser and entering “localhost:8080″ as the URL. You’ll see the web page interface to your web service, it should look like the default TinyWebDB web service you've used.
  • So far your app is running locally and not yet on the web, and thus it is not yet accessible to an App Inventor app. To get it there, you need to upload it to Google’s App Engine servers.
  • In the GoogleAppEngineLauncher, choose Dashboard. Enter your Google account information and you’ll be taken to an App Engine dashboard in a browser.
  • Choose 'Create an Application'. You’ll need to specify a globally unique name (Application Identifier) for your app. Remember what you enter as you’ll need it later. Provide a name to your app and click Create Application to submit. If all is well, you now have a new, empty app on Google’s servers.
  • Open a text editor on your local computer and open the file app.yaml within the appinventordb folder you unzipped. Modify the first line so that the application name matches the application identifier you set at Google.
  • In GoogleAppEngineLauncher, choose Deploy and follow the steps for deploying your app.
  • Test to see if your app is running on the web. In a browser, enter myapp.appspot.com, only substitute your application identifier for “myapp”. The app should look the same as when you ran it on the local test server. Only now, it’s on the web and you can access it from your App Inventor for Android app.

App Inventor Client Apps

Once you have created your TinyWebDB Web Service at appspot, you can create App Inventor apps that access it. Take a TinyWebDB app you've created, e.g., your shared music app, and do the following:

  • Modify the ServiceURL property from the default http://appinvtinywebdb.appspot.com/ to the URL of your service.
  • Run the app and verify that items are being stored at and retrieved from your web service
Comments