After reviewing different ways of displaying data in chart and tabular forms, it was clear that web-based data visualization was more developed than the tools available for java swing. I suppose this isn’t surprising since web-based data visualization has a larger developer base and is used by a larger audience in comparison to desktop based Java applications.
Much of the GUI for my MoneyJar application was developed around a Java Swing user-interface, but now a web-based GUI would appear to be a better fit for several reasons. First, it allows me to use better graphics and data visualization tools. Second, it improves scalability – by making it a web-based application we can reach a larger audience. And finally, from an educational stand-point, it allows me to explore developing for web-based applications. By developing on my own network it would also simulate business and enterprise style intranet applications. Which would be valuable experience and knowledge to have.
While exploring Servlets to handle Ajax requests it was apparent that it was not a nice way to format and present HTML. This is where JSP steps in, allowing us to develop a JSP page in a familiar HTML format but including scriptlets to handle the back-end processing.
Now that I have some idea of the technologies that I will need to learn to get this project online I have ordered a few books to learn about Servlets and JSP – how to use them, and best practices.
A few questions need to be answered, for example, how can I use the existing model and Java as a back-end for the web-based application? Can it be done? Or should I cannibalize parts? Will I have to modify the application to include concurrent processing? How can I make the application secure? Hopefully with more studying I’ll be able to answer these questions.
I have a long way to go, but once I have a few working examples I’ll probably post some code samples online to to document my progress. And once I have gained some proficiency in using these tools I’ll add them to my CV and online profile.