I am trying to learn Java because I want to port a C# application to it so it will run on other platforms. I have Eclipse installed and I have used it to create a couple of basic classes from my C# app. What I really want to do is make the application modular by containing the application logic into its own project. Then, create new projects for the different types of front-ends (desktop gui, web-based, etc).
I guess my first question is: Am I thinking about this the right way? Should I make a "core" project, then separate projects for the different types of user interfaces?
Since my application connects to a database, I need to figure out how to work with databases from Java. I would like to have the core handle the database access stuff so that it is transparent to the user interfaces. I have already looked at EclipseLink, but have no idea how to use it or how to install it. None of the documentation or tutorials out there actually explain how to install it or how to use it. All they teach you is how to use annotations on classes, but that's only about 20% of it. You have to do so much other stuff to make this work that everyone just assumes everyone on the planet knows how to do.
So my second question is: How do I get my "core" to handle database access? I am using a PostgreSQL database currently, but I need to also make it work with other database engines/