Here are some of the issues:
- Non-object oriented (OO) design
- No source control
- No version control
- No defect management
- No mechanism to control enhancements
- MS Access and Excel are binary applications, so there is no clear way to implement source control
- No clear interfaces
- Client interaction directly with Oracle
- On/Off line modes are user controlled
- Can not move database back end without updating all clients
The web based application I have in mind could take form using either a completely server side version using JSF. The other option is to use an embedded database like Java DB in a browser, and submit the final results to a application server. The latter does not have a clearly defined method of updating the application. The idea is based on the demo of Java DB called Java DB-in-a-Browser Demo
The demo is impressive from a number of ways. It shows how to use Java DB, AJAX, Live Connect technology (been around since the days of Netscape and Java integration), applet technologies, and simple HTML. It is truly an enlightening demonstration.
The alternative is to create a rich Swing based application using Java Web Start. These technologies have really matured and combined with the Sun Java System Application Server make a great tool set for any Java developer. The application client using being dispensed from the application server solves a number of problems including simplification of the client. A majority of the business methods are implemented on the server. This leaves the presentation and validation to the client. This combined with Java DB packs a potent punch. It also solves two problems mentioned above: offine use with a mechanism for interaction when a network connection is detected (automatic), and removal of direct interaction with database.
You may believe that I am inclined to use the Swing application client, but I really am impressed with JSF. JSF does require online access to work which may hamper its implementation.
Some technologies to consider:
- Java to JavaScript Communication (Live Connect)
- Apache Derby (IBM Cloudscape, Sun Java DB)
- H2 Database Engine - A Derby/HSQLDB alternative
- Direct Web Remoting This project is sponsored by Tibco
Here are some interesting articles in the same genre:
I ran across this blog post today that might provide a third option: Hybridizing Java
ReplyDeleteI've never used Flex, but it sounds interesting.
I read that article too. I am glad that people are trying to find new solutions to common problems. Bruce is a brilliant mind so it makes for an interesting article.
ReplyDeleteI looked at TimeTracker when I was vetting my options. I decided to write our own in house time management system. TimeTracker covers the more general cases, but does not integrate into our ERP system. Thanks for the suggestion. Great minds sometimes think alike.
ReplyDelete