Part 1 of this tutorial we concluded with an web application that displays all our instances and their status. In this part we will add some more features to control our instances.
The project and environment from part 1
Tutorial (complete sourcecode at the end):
Display the region endpoints and allow to select different one
We hardcoded our endpoint in the first version, if you run instances across the globe in the various AWS datacentres (US, Ireland, Singapore, Tokyo) we need to switch the endpoint easily.
Lets add one more listbox, that we hide in a ZK popup (we could use a combo listbox, but for the sake of playing with all the available ZK components I use the popup). Same concept add a listbox in the zul and a EC2 region list and a list model with customer renderer in our controller. Continue reading →
Certainly not a big deal to deploy a ZK web application to a Amazon EC2 instance, but I needed a simple application that allows my team to start/stop our EC2 instance that we use for testing and demo without logging into the AWS account or using the Firefox plugin (both giving too many rights and are too complex for some business users).
I created this app to give my users (tester and trainer) a chance to start the servers without logging into AWS. I share this because the are no samples in the SDK file that cover the EC2 instances in detail.
In part 1 of this tutorial we will create a ZK application that displays the status of our instances in a list.
In part 2 we will add the start-stop instance function, in part 3 we tinker with IP addresses and DynDNS domains and in part 4 we let our web application time scheduled (EJB Timer) control the instances automatically.
I was looking for a way to update the DynDNS hosts pointing to my EC2 instances that run only on demand (controlled by an web application). Yes, there are apps and tools to let the server itself update his DynDNS hosts, but I want to do it from a central application. The DynDNS API description you find here, unfortunately there are no samples. But if you familiar with REST calls, shouldn’t be a big issue. For those who to get running quick, here the key code. To experiment, just create a simple Java application with Netbeans (or any other IDE), download the HttpComponents from Apache and add the library files to your project.
I believe it makes no sense to buy a ~ 900.- SGD (3g, GPS), respectively a 500.- SGD (wifi only) device running Android 2.2 without any chance even to update to 2.3, such as the Galaxy Tab, the same time Galaxy is releasing already the new 3.0 based models. So how to find a cheap device that can compete with the Galaxy Tab ?
After buying one Android 10″ Tablet from DHGate.com without problems I decided to look for a second one, a 7″ device. Certainly not easy to find a good device among the many offers on the trading platform, but I was lucky enough to choose this PC-7006 1Ghz device for 223.- U$ (incl. shipping) from the dealer avatar2012:
I ordered the Google Android development phone today. I strongly believe in the open concept of hardware devices like the Pandora (link) or Sun Spot (link) other than iPhone or the MS XBOX as proprietary products forcing you to join commercial membership and developer programs. I evaluate mobile devices in regards of business applications with RIA (aka REA) technology.
You need to join the Android Market Program (25 U$) in order to order the development phone for 399 U$ (shipment and duties to Singapore about 80 U$). The development unit is hardware unlocked, means you can make changes to the underlying OS and SIM-unlocked, to load with any SIM card. The only other source for the phone is German T-Mobile, which offers the Android (SIM-, and hardware-locked) at a cheaper contract-lock-in price.
Google Android (copyright by android.brightstarcorp.com)
Google Groups Beginner (link) and advanced developer (link)
Until the device arrives I will spend some time on getting started and using the SDK with Netbeans plugin.
Remark: Not sure if I also manage to get JavaFX running on the Android, we will see.
Update: Spending some time reading various documents and forums I understand the background. Android is executing Dalvik byte code (wiki-link) and as long JavaFX cannot be compiled as such, it wont run. Guess it is not a impossible task, waiting for someone to do it (rather a Android hardware manufacturers job to trigger it)