Howto win a Helicopter
By paulsen on May 10, 2007
How to win a helicopter @ JavaONE
BT had a booth at JavaONE for their Web21C SDK. The SDK, among other things, allows you to write software that invokes a WebService hosted by BT to place a phone call between 2 parties. You simply need to provide 2 phone numbers and BT calls both parties and connects the two. They provide a limited amount of usage for free, and for a small fee you can use their service more, here's a link to their pricing. The Web21C SDK opens up the door to many possibilities, however, that's outside the scope of this blog.
BT was offering a challenge at their booth: Use their SDK to place a phone call and win a remote controlled helicopter. My son is 5 and would love to crash the helicopter, and it sounded like any easy task for GlassFish + JSFTemplating... so I got to work!
Here's what I had to do:
2) I added the Web21C jar files to my WEB-INF/lib directory of the demo app. They gave me a memory stick with these, but I think you can find them here.
3) I had problems w/ some of their jar files because many of them are already part of GlassFish and were not needed. Also some of the versions may not have been compatible. I ended up turning off classloader delegation by adding this to my sun-web.xml file:
4) I registered my application. BT requires you to register your application. This was a necessary, but the most painful part of the process. It required me to download the Web21C-Certificate-Tool, patch the JDK with the unlimited strength policy files, run their certificate tool, place the generated file in the WEB-INF/classes directory of the demo app, and create / place a security.properties file in the WEB-INF/classes directory that pointed to the generated file.
5) With the environment finally setup, I was ready to write the app! I created the following JSFTemplating page:
6) I created the following handler in a new java file called Web21Handlers.java (see above call.jsf page where the button is invoking this handler):
7) I compiled the app (just typed "ant" on the command line, the demo application already has the build environment setup), started the server and went to http://localhost:8080/demo/call.jsf where I saw:
After typing in the 2 phone numbers and clicking the "Make Call" button... the 2 phones rang!
8) Finally... I showed this to the Web21C people and they gave me a helicopter!
(I'm in the blue Sun shirt. You can also see this on flickr.)
That's how to get a helicopter using JSFTemplating + Web21C + GlassFish at JavaONE.