The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Desktop Java app. vs. JSP app.

I am planning to develop a client/server app. for a department. The database will reside on a server in the same building. The app. will be accessed on LAN for this building only. I want to know whether I should use Java desktop app. installed on all clients or a JSP app.

Which is better in terms of performance?
RK Send private email
Sunday, August 19, 2007
You should write it in QBASIC and offer both desktop and online access.

Seriously, it depends on a number of factors, but the biggest one is - which style do you know the best?

Sunday, August 19, 2007
Doing it in Java is going to add more complexity for the end users - JVM/JRE config, compatibility - and you're also going to have support however many versions released, etc.  If the app is connecting to the db directly - as opposed to a web service/proxy of some sort - you're also going to have to open db permissions pretty wide... not always a good idea or even possible.

With anything web-based, the only versions out there are the ones you're actively providing, the main compatibility issues are the browser's interpretation of js/css, and your database only has to be accessible from the web server.
KC Send private email
Sunday, August 19, 2007
First of all I want to ask are you sure this app will be used only as an internal app on your LAN? If so then:
1. You can use Swing/SWT for client and connect by RMI to server.
2. The better way is to use a RIA-buzzed technology as UI (e.g. Adobe Flex) and do all other-UI things in Java.

If you are not sure (and who can be? ;) then go through a web framework like JSF or stripe. Just do not use JSP for anything more complex than Hello World plz!
Ashkan Send private email
Sunday, August 19, 2007
Id say it depends a lot on how complex the UI needs to be. If there is nothing particularly complex then make it a web app. (For goodness sake don't make it a model I web app though or you will be creating a maintenance nightmare!)

The great advantage of making it a web app is that you won't be spending the rest of your life walking round everyones desk trying to figure out why their client stopped working after they deleted the jars|uninstalled java|etc...
Sunday, August 19, 2007
Yeah, instead you'll be trying to figure out why Firefox version X renders JavaScript in some impossibly subtly different way than IE version Y with SP Z.
Greg Send private email
Monday, August 20, 2007
JSP (web) app, no question.  Today your users are in the same building, tomorrow - who knows?
Wednesday, August 22, 2007
If you really need a thick-client GUI, consider deploying apps via Java WebStart. You'll still have the headache of ensuring every user has the right JRE installed, but web start makes it really easy to roll out new releases, does all your jar signing etc.

If you're set on using JSP, consider using the velocity framework - it separates the business logic from the presentation layer very nicely.
Friday, August 24, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz