Simon Gilligan's attempt to breathe new life into the neighbourhood video rental store, called applebox has become an unlikely showcase for Web 2.0 technologies.
By eschewing his traditional training in business application languages in favour of using the open source androMDA generator project, he has created a complex online video rental application with a very rich user interface and low-overheads.
Gilligan is opening the first physical applebox video rental store in the Melbourne suburb of Fairfield in August. The key to his business is an online rental application he has built that ties into the store's library, allowing renters to browse and reserve their selection before getting to the store.
He describes the application itself as a distributed warehouse system that can be applied to catalogues across multiple stores, with variable pricing and full content management. Any store that joins applebox is free to manage and promote its own collection to its particular demographics through the front end Web store.
Gilligan says his experience with enterprise applications, particularly with the Progress 4GL environment, sparked his desire to create an online user interface that was rich in functionality but without high overheads in terms of data being loaded into the browser.
What was needed was an Ajax-style approach. After playing around with various tools, Gilligan came across the open source model-driven generator androMDA, and his path became clear. androMDA takes a unified modelling language (UML) model and turns out a complete J2EE architecture, with all the persistence modelled, together with a Web service layer.
Gilligan says the androMDA toolkit gave him the ability to build everything in J2EE, which he says he was by no means an expert in. As everything is driven from the model, each step could be taken iteratively, and could be used to could create Web services also.
"From a development perspective it is a very, very cheap way of creating Web services," Gilligan says. "For a J2EE newbie, it creates a really, really robust J2EE architecture that's vendor independent, and platform neutral. But for me it creates a rigour and a robustness in the whole development process that is very easy to lose in smaller ad hoc developments.
"Part of the model driven approach is that it generates code, but you can also change how it generates code. So if you want to do things outside of the way that they [androMDA] do things, it's all possible."
The applebox online storefront client is comprised entirely of static HTML, which is fully cacheable in the browser, which then makes SOAP XML calls to a service based back end.
The user interface's logic and navigation control is now housed within the browser, and the browser becomes a GUI client that can manage its own state and navigation history. This can significantly improve the user experience. Gilligan says that with the browser able to maintain the GUI state, its easier to create a mode cohesive application experience.
The benefit for applebox is that this simplifies server-side development, as the server is now only concerned with the data response required for the given input.
"I likened this to Zimbra, where Zimbra's HTML client is static HTML also — in most Web developments, this is unheard of," Gilligan says. -The difference is subtle, but completely changes the way the software is developed."