> I have to develop an application that will use a database on
> a local PC. My application will also have to communicate with web
> pages. Is Java the best choice to do it? Is it easy ?
I won't say "best" because that depends on a lot of factors besides the
problem itself. For example, what languages and platforms are you
familiar with? What about the rest of the development team, if any?
That said, Java would work fine for this. It's not very difficult at
all. It's definitely easier to interact with web pages in Java than
most other languages... and it's no harder to communicate with a
database.
> What would be the best database system (Access, Oracle, SQL server,
> MySQL, etc.)to use in terms of security, access, multiusers,
> connection, etc.?
That would be the question of the decade. Here's my take.
1. Access isn't good if security or multi-user access is important at
all. It isn't designed with those considerations in mind.
2. MySQL, as of version 4.0, can be made to work if you do everything
right. Unfortunately, there are just such a large number of quirks out
there, many of which result in forgetting about your referential
integrity constraints without so much as a warning message, that I
wouldn't recommend it except for an expert in MySQL.
Keep in mind also that while MySQL is licensed as an open-source
database (GPL), the governing organization is trying very hard to
interpret the GPL in a way that excludes any commercial use at all
(regardless of distribution of code). I recently inquired, for example,
and discovered that they expect license fees from anyone distributing an
application that uses JDBC without a dependence on any specific driver
and tells a customer that the application works with MySQL. This could
be important to you if you're involved in a commercial effort and want
to avoid lawsuits.
3. MySQL prior to 4.0 is only suitable for very high performance
environments where data integrity doesn't matter.
4. PostgreSQL is a very solid choice for a free database and would work
fine... if you're not deploying on Windows. I wouldn't try to run
PostgreSQL on a production Windows box.
5. Commercial databases are expensive. They do tend to work reliably,
and you at least get a support contract if they don't. I won't try to
judge between SQL Server and Oracle that you mention above, mainly
because I'm not familiar with SQL Server and so can't speak knowledgably
about it.
6. If you intend to use this database only within your application,
don't forget in-process databases -- notably McKoi and hsql -- that
could make your installation life much easier.
> Is the gui difficult to do ? I know java a bit and what I know is that
> we have to use and code panels. Is there an easiest way (like in
> Visual Basic for example)to build them ?
GUIs are not hard in Java, but they require a different approach. You
need to think in terms of logical layout of components, not in terms of
what the screen should look like. There are visual GUI builders out
there, but I find that once you've made the switch to logical layout,
they get in the way more than they help.

Signature
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
Mladen Adamovic - 20 Apr 2004 18:39 GMT
Chris, this message of yours was very fine for this "which database server
to use kind of question", this should go to some FAQ.
> > I have to develop an application that will use a database on
> > a local PC. My application will also have to communicate with web
[quoted text clipped - 67 lines]
> Chris Smith - Lead Software Developer/Technical Trainer
> MindIQ Corporation
Chris Smith - 21 Apr 2004 20:17 GMT
> Chris, this message of yours was very fine for this "which database server
> to use kind of question", this should go to some FAQ.
Actually, opinion statements like that should probably not go in FAQs.
The information changes too quickly and is too subjective. It's best
kept in places where it's obviously dated and the author is available
for further comment.

Signature
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation