I am in the planning stage for a Java-based business app, and my present
thinking is that I will have the UI as a thick client delivered via
Java Webstart, and communicating to the database via JDBC, with
Hibernate over the top of that. Pretty simple, which I like.
But now for the problem. The clients are likely to want to expose at
least parts of the app via the Web for /their/ clients to use. Now I can
either do this by writing that part of the system twice, once in Java
and once as a web app using JSP, or I can try to design this thing so
that it can be delivered over the web without compromising data
security. Hence this question.
Obviously, exposing a database to the internet is not a great idea. A
bit like exposing your dangly bits in a pub brawl. So what are my
alternatives here?
Many thanks for any and all suggestions, flames or kicks in the goolies.
Luke
Chris Uppal - 16 May 2006 07:48 GMT
> But now for the problem. The clients are likely to want to expose at
> least parts of the app via the Web for /their/ clients to use.
Just a thought, but if your application is structured with a good separation
between presentation and domain logic, then the web services (or whatever) is
just a different front-end on the same model. I.e. the customer's web-server
(or whatever) is just a different kind of "thick client" -- one which responds
to network requests rather than user input. So there shouldn't be much
unecessary code duplication between the web-service and the GUI app. The
domain logic / model / business layer would be shared code, everthing else
would do different things, and so would require different code anyway.
Alternatively, you might take a look at something like WebCream
http://www.creamtec.com/webcream/
-- chris