Web app on the desktop

L

Lord Zoltar

Hello,
I'm wondering if anyone here has experience converting web apps into
desktop apps.
We have a small internal application under development, designed as a
web app. It may happen that we won't have a server to deploy to for a
while, but the users would like to use it sooner rather than later.
Is there any tool out there that can create a wrapper for a simple JSP
app that will deploy and install and run on the desktop in very few
clicks?
The app will need access to multiple databases, I don't know if that
would complicate this.
 
O

Owen Jacobson

Hello,
I'm wondering if anyone here has experience converting web apps into
desktop apps.
We have a small internal application under development, designed as a
web app. It may happen that we won't have a server to deploy to for a
while, but the users would like to use it sooner rather than later.
Is there any tool out there that can create a wrapper for a simple JSP
app that will deploy and install and run on the desktop in very few
clicks?
The app will need access to multiple databases, I don't know if that
would complicate this.

Do you trust those users with direct access to the databases?

In order to deploy the app onto their desktops (which isn't hard; a
web container is just another program) the app will need to connect to
the DB. Nothing prevents a user from disassembling the app to pull
out the database access credentials and connecting directly using
those credentials.

The same goes for any other services the webapp uses.

-o
 
L

Lord Zoltar

Do you trust those users with direct access to the databases?

In this specific case: yes! The users ALREADY have the credentials for
read-only accounts to do some queries using SQL dev tools. The app is
designed to require them to log in using credentials they already use
for another system.
In order to deploy the app onto their desktops (which isn't hard; a
web container is just another program) the app will need to connect to
the DB.  Nothing prevents a user from disassembling the app to pull
out the database access credentials and connecting directly using
those credentials.

A good point, but in this case I'm not so worried since the users
already have credentials to log in, and the app will connect using an
account that is read-only, and is restricted only to certain schemas.
The users already have direct access to data in the database. This app
is supposed to make their data faster and easier to navigate and
search. It's a CRUD tool, without the CUD.
 
I

i.dont.need

Owen said:
In order to deploy the app onto their desktops (which isn't hard; a
web container is just another program)


Don't you think that management/support of many web containers,
frameworks and possibly many db instances (if you want to avoid some of
the other issues you bring up) would be a nightmare?

How many desktops are you talking about here? Wouldn't it be a lot
easier to use VMWare to create a virtual web server on one of your
existing machines and deploy as normal? (iirc, you can d/l a tomcat
'appliance' and be set up pronto)
 
L

Lord Zoltar

Don't you think that management/support of many web containers,
frameworks and possibly many db instances (if you want to avoid some of
the other issues you bring up) would be a nightmare?

Why would there be so many web containers? As for db instances, they
are currently on seperate db servers and that will not change. We'll
probably only allow the user to connect to one database at a time, so
it's not going to have so many open connections to manage.
How many desktops are you talking about here? Wouldn't it be a lot
easier to use VMWare to create a virtual web server on one of your
existing machines and deploy as normal? (iirc, you can d/l a tomcat
'appliance' and be set up pronto)

Exactly how many is hard to say. It could be many dozens...
VMWare is an interesting solution, but then the users have to start a
VMWare session and start the server and the app in VMWare. Seems that
would VEEEERY slow to use, but maybe there's a way to speed it up? I
haven't done much with VMWare. There may also be licensing issues.

I thought there might be an existing tool that packages the WebApp, a
container, and a restricted browser (sorta like Mozilla Prism maybe)
into a single executable. I'm sure I've heard of some kind of
technology like this before...
 
A

Ajay

Hello,
I'm wondering if anyone here has experience converting web apps into
desktop apps.
We have a small internal application under development, designed as a
web app. It may happen that we won't have a server to deploy to for a
while, but the users would like to use it sooner rather than later.
Is there any tool out there that can create a wrapper for a simple JSP
app that will deploy and install and run on the desktop in very few
clicks?
The app will need access to multiple databases, I don't know if that
would complicate this.

I personally don't have experience building something like this, but
do have experience using this.

Take a look at Google Gears project (http://gears.google.com).
Google has made google docs available for offline / desktop use.
I recently updated my resume on a train ride. After getting home, and
getting access to internet, google docs synchronized itself with the
web version.

Pretty cool stuff...

Ajay
 
I

i.dont.need

Lord said:
Why would there be so many web containers?

Perhaps I didn't catch his meaning, but I understood Owen J. to be
suggesting that you should bundle the whole web app and install that.
This entails one web container (plus frameworks) per client machine.
That sounds rather frightening to me.

As for db instances, they
are currently on seperate db servers and that will not change.

I guess I wasn't clear here. When Owen J. mentioned the pitfalls of
exposing db credentials, I was inclined to think the problem could be
avoided by going with an embedded db. No one would care about leaked
credentials or connections back to the local machine. Since it is read
only, why not just download snapshots and use them, forget about the
production db altogether, then there is never a security risk to take
(assuming that the file d/l for snapshots doesn't expose anything).

VMWare is an interesting solution, but then the users have to start a
VMWare session and start the server and the app in VMWare.

Apparently communications are not my specialty. When you said "It may
happen that we won't have a server to deploy to for a while" the
immediate response to this is "Why the hell not?". A VMWare server is
free and currently bundles Tomcat so your JSP app should always have a
home. Don't add VMWare to clients, that is just bloat for no good reason
(unless the management of all those web containers mentioned above is
easier).
 
D

Daniele Futtorovic

Also, web apps are usually (less now that JSF is here) written with a
high dependency on the stateless request-response model of the web.
Even if a team resists the stupid hacks that sometimes entails (I've
been asked to "disable the back button")

Out of curiosity, did you do it and, if yes, how did you do it?
 
L

Lord Zoltar

Tomcat is free and easy to deploy. Why wouldn't you have that now, already?

It's more a matter of getting a physical box to deploy to (or upgrade
the box currently designated for such tasks). It will happen
(eventually), but probably not in a time frame we'd like.
I suggest running it *as a web app* "sooner rather than later".  In fact, that
will help it develop better and faster.  Do not try to write it simultaneously
as a web app and a desktop app.  ("It's a tough, durable floor wax, *and* a
delicious dessert topping!")  Running it as a web app is easy and quick, I
don't understand why you haven't already done it.

It currently is being developed ONLY as a web app, as that was the
purpose from the begining. I asked about the web-app-as-a-desktop-app
idea because it looked like it might be easier to convert a web app to
a desktop using a tool - if such a tool existed. It looks like it
doesn't, and the code is clean enough that it would probably be faster
to just re-write the UI in Swing if I really need a dektop app.
Thanks for the advice, everyone.
 
L

Lord Zoltar

Out of curiosity, did you do it and, if yes, how did you do it?

I've seen a couple implementations of this. They add a lot of
complexity and don't work with all browsers.
 
D

Daniele Futtorovic

No. I flat out refuse to even try.

On one project they got their team to try. What an unholy mess.

It's a stupid, wrong-headed, crazy, unnecessary, abusive, ridiculous,
inane, effed-up thing even to ask for.

:) Thanks for that well-deserved effusion. If it only felt half as good
to write it than to read it, then it felt twice as good to read it than
to write it.
 
D

Daniele Futtorovic

No. I flat out refuse to even try.

On one project they got their team to try. What an unholy mess.

It's a stupid, wrong-headed, crazy, unnecessary, abusive, ridiculous,
inane, effed-up thing even to ask for.

:) Thanks for that well-deserved effusion. If it only felt half as good
to write it than to read it, then it felt twice as good to read it than
to write it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,699
Latest member
AnneRosen

Latest Threads

Top