And there is a lot to talk about ...
- the innovative hardware
- the business model behind it
- the market this device might be able to create
- and a lot of other disruptive changes that come with it
But today I just want to talk about a neat feature that I discovered in Apache-CXF.
In January I was looking for ways to make the mobile device a first-class citizen in a distributed SOA . Right now, there are probably three platforms types that you can consider when it comes to mobile devices and the integration of mobile devices with (SOA) backend systems:
- Native - means you are using a platform SDK (e.g. .Net, Symbian, iPhone SDK) and write applications directly for a given platform.
- JAVA - means you are using the JAVA ME platform. Potentially/Hopefully in combination with an OSGi container.
- Browser - means you are using a browser and implement your application as (AJAX-based) WebApplications (XHTML, CSS, JavaScript (with XmlHttpRequest objects).
Right now, you can develop applications for the iPhone using option 1 and 3. Option 2 is not an option, because there is no JVM for the iPhone (but SUN recently announce that this will change later in the year :)).
Option 3 got a lot of merits, but leaves you with the daunting task to write all of the JavaScript marshaling code yourself :(.
And here is where the miracle happens: The next version of Apache-CXF (2.1) has a feature that allows you to generate JavaScript client-side code for WebServices. Either from an WSDL file or from annotated JAVA source code or dynamically at runtime.
It makes writing WebApplications for the iPhone so much easier.
I have ported some of the CXF demos to the iPhone. The podcast, the presentation and the source code is available on open.iona.com and on www.tritsch.org.
Check it out. Feedback welcome.