0

I am trying to design software with Java that will have a database running on a network connected to a single offline server system (the server is not necessarily connected to the internet)

The network with the server system is already existing, but I need ideas on how best to achieve a solution.

I am quite familiar with embedded databases using SQLite. However, it appears SQLite is not a good fit for client-server databases. There might be concurrent update operations which I think will lock up an SQLite database.

Now my questions are:

  • What are the steps involved in achieving this goal?
  • How do I know which RDBMS system is best to use in this scenario? I have read about PostgreSQL, Microsoft SQL, Microsoft Access and MySQL. I would love something a bit similar to SQLite.
  • Must the software be web based or can I make it a desktop app? (I am quite comfortable with the latter).
  • The previous software stored its database in a Microsoft Access file located on a shared folder on the server system. How effective is this method? How does it work?
  • How is it possible to write software without worrying about the database end? (using something like "abstraction")

I have seen this and this but they didn't mention anything about RDBMS. I also checked SQLite over a network out because its a bit related to what I want to achieve... but nothing much there. I also saw Use of sqlite on network share which was quite enlightening too... but I need more info.

Community
  • 1
  • 1
spynoble
  • 33
  • 1
  • 9
  • Q1: seems way too broad for Stack Overflow (and what *is* your goal anyway?). Q2: questions for "Which thing is best to use in this scenario?" tend to get closed, but "How can I decide which thing to use?"-type questions might be okay instead. Q3 is a good specific question. Q4 is not a question. Q5 is not a question. (And if you're wondering why I'm not writing an answer, I don't have time right now, which is not to say that someone else won't) – user253751 Mar 25 '15 at 21:40
  • @immibis thanks for reading my question. i have noted your comment. but i thought i made my goals clear at the beginning of the question. i have rephrased Q1,Q4 and Q5. But please is my question that ambiguous?? – spynoble Mar 25 '15 at 22:03
  • What is the server not necessarily connected to? – user253751 Mar 25 '15 at 23:21
  • @immibis... sorry i didnt see that omission. the server is not connected to the internet. it is just linked to a local network with upto 6+ computers. – spynoble Mar 25 '15 at 23:33

1 Answers1

0

What are the steps involved in achieving this goal?

Use JDBC. It can connect to remote servers using TCP

How do I know which RDBMS system is best to use in this scenario?

We can't help you here, but I would use a database server as opposed to a file based database like Access or SQLite.

I would love something a bit similar to SQLite.

SQLite was written using PostgreSQL 6.5 docs.

Must the software be web based or can I make it a desktop app?

It can be a desktop app, made with say Swing or JavaFX

The previous software stored its database in a Microsoft Access file located on a shared folder on the server system. How effective is this method? How does it work?

No comment.

How is it possible to write software without worrying about the database end? (using something like "abstraction")

Use an ORM (like Hibernate) and use ANSI SQL where you can.

Neil McGuigan
  • 46,580
  • 12
  • 123
  • 152