hello I am working on a software product (ie. type of purchase and sell recording software for a shop) build especially for client base
, I mean front end application
and database
should be keep in client machine. I need a feasible solution to provide those package in a one bundle. I am using javafx
for frond end, hibernate
for relational mapping and mysql
(basically opensource like H2, JavaDB) as database.
If not can you suggest me a substitute way.
And if yes, I need those package in one bundle, I mean client don't need to configure database password or other configuration. Can we provide a script
or any kind of batch installation
which can install jre
or jdk
, mysql or any opensouce db
, our software
and configures it automatically (ie. setting up root password). I know Install4j
can done the bundle but I need the automated database configuration
.
I need a some kind of expert opinion.
Thank you.
If you use mysql, installation for you client will be a little bit involved for you and your customer as you will probably need to package the mysql installation package with your app and have your installer invoke the mysql installer.
I'd suggest a lighter weight database than mysql which is written completely in Java. For example h2 as mentioned in your question or hsqldb, both are just a jar with no native portion - this will make distribution and configuration easier. Using Self Contained Application Packaging, the javafx deployment tools can package your app with it's supporting libraries, the hsqldb engine and a jre installation. Hibernate provides all of the database configuration mechanisms you need.