With Oracle’s announcement about the direction of Oracle Lite, Webtogo, and Branch Office, application development teams will be looking for possibly new directions. So, decisions are going to have to be made. Those decisions are:
- Do we keep the JSP/Struts application and run it on another platform like JBoss or Tomcat and just migrate from Oracle Lite to SQLite.
- Rewrite the application in another language and present the software as a thick client application.
- Rewrite the application to target multiple devices
With a new breed of devices (Android, iPhone, BlackBerry, and Windows Mobile), are you planning on keeping your application designed for the laptop only? I am sure some of you are thinking with the G3/G4 networks and extended Wi-Fi connectivity, what is the need for a disconnected database/client application? In the past, the need for the disconnected application was usually due to lack of network connectivity. Today, the requirements have changed. Users/consumers are using these devices more then just the phone feature. Actually, when was the last time a cell phone was actually purchased because of it’s superior phone qualities?
Moving away from the offline model?
Not so fast. We seem to have network connectivity where ever we go now right, so why do we need an application offline? Before I answer this, lets take a look at the classic offline application, the e-mail client. You might say “well, I have web based mail” but web based mail really only serves you 25-50 e-mails at a time so you aren’t really accessing all your mail. Most of the time you are accessing your mail via Outlook or Lotus Notes(10 years of torture for me) in an offline mode. Even on your smartphone, your accessing your mail via offline mode and with some pushing/pulling/polling at given intervals. In fact, the need for offline storage is becoming greater. Think HTML5. HTML5 allows for various client side techniques for storing data in a offline mode. There are even synchronization features, although not as robust as Mobile Server, the features are available for simple synchronization.
Webtogo Application staying on a Web Platform
The trickiest part of staying on the web platform is the deployment and configuration. You could stay with the JSP/Struts application and just migrate to Tomcat or JBoss. The only thing that would require a change would be the database connections and authentication. In most cases, applications using Webtogo just used Webtogo’s internal authentication methods, but that would have to change.
Migrating to Thick Client
A thick client application can be a quick alternative solution to the web platform application and can simplify the deployment and application provisioning. You can still use the same sync and data model as your existing Webtogo application and you could easily apply that to a new thick client application.
Targeting Multiple Devices
Since the sync model can be reused, you can actually apply the sync model to more then one publication meaning the sync model can go to more then one platform. So far, Mobile Server supports sync to Windows, Windows Mobile 6, Blackberry, Android and Linux environments. I have heard rumors that iPhone / iPad support is around the corner but I haven’t heard anything definitely about when they (Oracle) would support deployment to Apple products.
My Experience with Various Platforms
Here is my personal experience with all of these platforms. I have been involved in development with Webtogo, thick client, and smartphone applications. The need for the Webtogo applications almost always has been tied to the need to build a web based application that require an offline component. So, to eliminate some of the development effort the choice is usually to use Webtogo. The biggest issues with the web and Webtogo applications is usually keeping deployments of the application files in sync. Seemed to be an issue with Struts more then the JSP and HTML files, but that is a topic for another time. The thin client and smartphone applications are the ones that you can knock out the quickest. Fast to develop. Easy to test. Easy to deploy and maintain. With HTML5, if you still require a web based application that requires an offline component, HTML5 could be a solution for you. If there is complex synchronization that is still required though, Mobile Server would be the solution that could work along side that application to enable more complex synchronization.
I would like to here from experiences of the Webtogo community and the concerns or excitement about moving towards something new.